summaryrefslogtreecommitdiffstats
path: root/katapult/plugins
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-03 02:45:19 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-03 02:45:19 +0000
commit4e1a5c3eebf50657629e2b4eba13649c2b599598 (patch)
tree7757743b67ed172d113dad73a3daa5b8aa6f871a /katapult/plugins
downloadkatapult-4e1a5c3eebf50657629e2b4eba13649c2b599598.tar.gz
katapult-4e1a5c3eebf50657629e2b4eba13649c2b599598.zip
Added abandoned KDE3 version of katapult
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/katapult@1084407 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'katapult/plugins')
-rw-r--r--katapult/plugins/Makefile.am1
-rw-r--r--katapult/plugins/catalogs/Makefile.am1
-rw-r--r--katapult/plugins/catalogs/amarokcatalog/Makefile.am15
-rw-r--r--katapult/plugins/catalogs/amarokcatalog/actionplaysong.cpp58
-rw-r--r--katapult/plugins/catalogs/amarokcatalog/actionplaysong.h42
-rw-r--r--katapult/plugins/catalogs/amarokcatalog/amarokcatalog.cpp342
-rw-r--r--katapult/plugins/catalogs/amarokcatalog/amarokcatalog.h62
-rw-r--r--katapult/plugins/catalogs/amarokcatalog/coverimage.cpp106
-rw-r--r--katapult/plugins/catalogs/amarokcatalog/coverimage.h54
-rw-r--r--katapult/plugins/catalogs/amarokcatalog/katapult_amarokcatalog.desktop44
-rw-r--r--katapult/plugins/catalogs/amarokcatalog/settings.ui80
-rw-r--r--katapult/plugins/catalogs/amarokcatalog/song.cpp91
-rw-r--r--katapult/plugins/catalogs/amarokcatalog/song.h56
-rw-r--r--katapult/plugins/catalogs/bookmarkcatalog/Makefile.am17
-rw-r--r--katapult/plugins/catalogs/bookmarkcatalog/actionopenbookmark.cpp60
-rw-r--r--katapult/plugins/catalogs/bookmarkcatalog/actionopenbookmark.h43
-rw-r--r--katapult/plugins/catalogs/bookmarkcatalog/bookmark.cpp48
-rw-r--r--katapult/plugins/catalogs/bookmarkcatalog/bookmark.h46
-rw-r--r--katapult/plugins/catalogs/bookmarkcatalog/bookmarkcatalog.cpp212
-rw-r--r--katapult/plugins/catalogs/bookmarkcatalog/bookmarkcatalog.h71
-rw-r--r--katapult/plugins/catalogs/bookmarkcatalog/katapult_bookmarkcatalog.desktop44
-rw-r--r--katapult/plugins/catalogs/bookmarkcatalog/mozillabookmark.cpp51
-rw-r--r--katapult/plugins/catalogs/bookmarkcatalog/mozillabookmark.h46
-rw-r--r--katapult/plugins/catalogs/bookmarkcatalog/settings.ui117
-rw-r--r--katapult/plugins/catalogs/calculatorcatalog/Makefile.am20
-rw-r--r--katapult/plugins/catalogs/calculatorcatalog/actionevalexpr.cpp161
-rw-r--r--katapult/plugins/catalogs/calculatorcatalog/actionevalexpr.h51
-rw-r--r--katapult/plugins/catalogs/calculatorcatalog/calculatorcatalog.cpp360
-rw-r--r--katapult/plugins/catalogs/calculatorcatalog/calculatorcatalog.h122
-rw-r--r--katapult/plugins/catalogs/calculatorcatalog/expression.cpp94
-rw-r--r--katapult/plugins/catalogs/calculatorcatalog/expression.h60
-rw-r--r--katapult/plugins/catalogs/calculatorcatalog/hi128-action-checkmark.pngbin0 -> 11420 bytes
-rw-r--r--katapult/plugins/catalogs/calculatorcatalog/hi128-action-no.pngbin0 -> 11268 bytes
-rw-r--r--katapult/plugins/catalogs/calculatorcatalog/hi128-app-xcalc.pngbin0 -> 10583 bytes
-rw-r--r--katapult/plugins/catalogs/calculatorcatalog/katapult_calculatorcatalog.desktop44
-rw-r--r--katapult/plugins/catalogs/calculatorcatalog/parser.cpp1387
-rw-r--r--katapult/plugins/catalogs/calculatorcatalog/parser.y120
-rw-r--r--katapult/plugins/catalogs/calculatorcatalog/settings.ui219
-rw-r--r--katapult/plugins/catalogs/documentcatalog/Makefile.am16
-rw-r--r--katapult/plugins/catalogs/documentcatalog/actionopendocument.cpp58
-rw-r--r--katapult/plugins/catalogs/documentcatalog/actionopendocument.h41
-rw-r--r--katapult/plugins/catalogs/documentcatalog/directory.cpp36
-rw-r--r--katapult/plugins/catalogs/documentcatalog/directory.h38
-rw-r--r--katapult/plugins/catalogs/documentcatalog/document.cpp86
-rw-r--r--katapult/plugins/catalogs/documentcatalog/document.h52
-rw-r--r--katapult/plugins/catalogs/documentcatalog/documentcatalog.cpp229
-rw-r--r--katapult/plugins/catalogs/documentcatalog/documentcatalog.h71
-rw-r--r--katapult/plugins/catalogs/documentcatalog/katapult_documentcatalog.desktop44
-rw-r--r--katapult/plugins/catalogs/documentcatalog/settings.ui82
-rw-r--r--katapult/plugins/catalogs/execcatalog/Makefile.am20
-rw-r--r--katapult/plugins/catalogs/execcatalog/actionrun.cpp75
-rw-r--r--katapult/plugins/catalogs/execcatalog/actionrun.h51
-rw-r--r--katapult/plugins/catalogs/execcatalog/command.cpp66
-rw-r--r--katapult/plugins/catalogs/execcatalog/command.h59
-rw-r--r--katapult/plugins/catalogs/execcatalog/execcatalog.cpp122
-rw-r--r--katapult/plugins/catalogs/execcatalog/execcatalog.h76
-rw-r--r--katapult/plugins/catalogs/execcatalog/katapult_execcatalog.desktop8
-rw-r--r--katapult/plugins/catalogs/execcatalog/settings.ui65
-rw-r--r--katapult/plugins/catalogs/googlecatalog/Makefile.am20
-rw-r--r--katapult/plugins/catalogs/googlecatalog/actionsearch.cpp83
-rw-r--r--katapult/plugins/catalogs/googlecatalog/actionsearch.h51
-rw-r--r--katapult/plugins/catalogs/googlecatalog/googlecatalog.cpp122
-rw-r--r--katapult/plugins/catalogs/googlecatalog/googlecatalog.h76
-rw-r--r--katapult/plugins/catalogs/googlecatalog/katapult_googlecatalog.desktop8
-rw-r--r--katapult/plugins/catalogs/googlecatalog/query.cpp66
-rw-r--r--katapult/plugins/catalogs/googlecatalog/query.h59
-rw-r--r--katapult/plugins/catalogs/googlecatalog/settings.ui65
-rw-r--r--katapult/plugins/catalogs/programcatalog/Makefile.am15
-rw-r--r--katapult/plugins/catalogs/programcatalog/actionrunprogram.cpp65
-rw-r--r--katapult/plugins/catalogs/programcatalog/actionrunprogram.h44
-rw-r--r--katapult/plugins/catalogs/programcatalog/katapult_programcatalog.desktop43
-rw-r--r--katapult/plugins/catalogs/programcatalog/program.cpp55
-rw-r--r--katapult/plugins/catalogs/programcatalog/program.h48
-rw-r--r--katapult/plugins/catalogs/programcatalog/programcatalog.cpp153
-rw-r--r--katapult/plugins/catalogs/programcatalog/programcatalog.h62
-rw-r--r--katapult/plugins/catalogs/programcatalog/settings.ui101
-rw-r--r--katapult/plugins/catalogs/spellcatalog/Makefile.am19
-rw-r--r--katapult/plugins/catalogs/spellcatalog/actioncopyspelling.cpp80
-rw-r--r--katapult/plugins/catalogs/spellcatalog/actioncopyspelling.h51
-rw-r--r--katapult/plugins/catalogs/spellcatalog/cr128-action-katapultspellcheck.pngbin0 -> 8211 bytes
-rw-r--r--katapult/plugins/catalogs/spellcatalog/crsc-action-katapultspellcheck.svgzbin0 -> 1396 bytes
-rw-r--r--katapult/plugins/catalogs/spellcatalog/katapult_spellcatalog.desktop43
-rw-r--r--katapult/plugins/catalogs/spellcatalog/settings.ui65
-rw-r--r--katapult/plugins/catalogs/spellcatalog/spellcatalog.cpp122
-rw-r--r--katapult/plugins/catalogs/spellcatalog/spellcatalog.h73
-rw-r--r--katapult/plugins/catalogs/spellcatalog/spelling.cpp133
-rw-r--r--katapult/plugins/catalogs/spellcatalog/spelling.h74
-rw-r--r--katapult/plugins/display/Makefile.am1
-rw-r--r--katapult/plugins/display/glassdisplay/Makefile.am15
-rw-r--r--katapult/plugins/display/glassdisplay/doublebg.pngbin0 -> 3040 bytes
-rw-r--r--katapult/plugins/display/glassdisplay/glassdisplay.cpp60
-rw-r--r--katapult/plugins/display/glassdisplay/glassdisplay.h36
-rw-r--r--katapult/plugins/display/glassdisplay/katapult_glassdisplay.desktop42
-rw-r--r--katapult/plugins/display/glassdisplay/qembed_images.h8019
-rw-r--r--katapult/plugins/display/glassdisplay/singlebg.pngbin0 -> 2807 bytes
-rw-r--r--katapult/plugins/display/o2display/Makefile.am15
-rw-r--r--katapult/plugins/display/o2display/doublebg.pngbin0 -> 1618 bytes
-rw-r--r--katapult/plugins/display/o2display/katapult_o2display.desktop14
-rw-r--r--katapult/plugins/display/o2display/o2display.cpp63
-rw-r--r--katapult/plugins/display/o2display/o2display.h36
-rw-r--r--katapult/plugins/display/o2display/qembed_images.h9796
-rw-r--r--katapult/plugins/display/o2display/singlebg.pngbin0 -> 1352 bytes
-rw-r--r--katapult/plugins/display/puredisplay/Makefile.am15
-rw-r--r--katapult/plugins/display/puredisplay/doublebg.pngbin0 -> 3181 bytes
-rw-r--r--katapult/plugins/display/puredisplay/katapult_puredisplay.desktop41
-rw-r--r--katapult/plugins/display/puredisplay/puredisplay.cpp63
-rw-r--r--katapult/plugins/display/puredisplay/puredisplay.h36
-rw-r--r--katapult/plugins/display/puredisplay/qembed_images.h9796
-rw-r--r--katapult/plugins/display/puredisplay/singlebg.pngbin0 -> 2886 bytes
109 files changed, 35484 insertions, 0 deletions
diff --git a/katapult/plugins/Makefile.am b/katapult/plugins/Makefile.am
new file mode 100644
index 0000000..5c96c18
--- /dev/null
+++ b/katapult/plugins/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = catalogs display
diff --git a/katapult/plugins/catalogs/Makefile.am b/katapult/plugins/catalogs/Makefile.am
new file mode 100644
index 0000000..575538f
--- /dev/null
+++ b/katapult/plugins/catalogs/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = programcatalog bookmarkcatalog documentcatalog calculatorcatalog amarokcatalog spellcatalog googlecatalog execcatalog
diff --git a/katapult/plugins/catalogs/amarokcatalog/Makefile.am b/katapult/plugins/catalogs/amarokcatalog/Makefile.am
new file mode 100644
index 0000000..24de402
--- /dev/null
+++ b/katapult/plugins/catalogs/amarokcatalog/Makefile.am
@@ -0,0 +1,15 @@
+# set the include path for X, qt and KDE
+INCLUDES = -I$(top_srcdir)/katapult/common $(all_includes)
+
+# header files
+noinst_HEADERS = coverimage.h song.h amarokcatalog.h actionplaysong.h
+
+# use automoc
+METASOURCES = AUTO
+
+# our plugin
+kde_module_LTLIBRARIES = katapult_amarokcatalog.la
+katapult_amarokcatalog_la_SOURCES = settings.ui amarokcatalog.cpp coverimage.cpp song.cpp actionplaysong.cpp
+katapult_amarokcatalog_la_LDFLAGS = -module $(KDE_RPATH) $(KDE_PLUGIN) $(all_libraries)
+katapult_amarokcatalog_la_LIBADD = $(LIB_QT) $(LIB_KDECORE) -lDCOP $(LIB_KDEUI) $(LIB_KIO) $(top_builddir)/katapult/common/libkatapult.la
+kde_services_DATA = katapult_amarokcatalog.desktop
diff --git a/katapult/plugins/catalogs/amarokcatalog/actionplaysong.cpp b/katapult/plugins/catalogs/amarokcatalog/actionplaysong.cpp
new file mode 100644
index 0000000..43fdc2b
--- /dev/null
+++ b/katapult/plugins/catalogs/amarokcatalog/actionplaysong.cpp
@@ -0,0 +1,58 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Bastian Holst *
+ * bastianholst@gmx.de *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <qpixmap.h>
+#include <qstring.h>
+#include <qcstring.h>
+#include <qdatastream.h>
+#include <kapp.h>
+#include <dcopclient.h>
+#include <klocale.h>
+
+#include <katapultitem.h>
+
+#include "actionplaysong.h"
+#include "song.h"
+
+QPixmap ActionPlaySong::icon(int size) const
+{
+ return KGlobal::iconLoader()->loadIcon("amarok", KIcon::NoGroup, size);
+}
+
+QString ActionPlaySong::text() const
+{
+ return i18n("Play Song");
+}
+
+bool ActionPlaySong::accepts(const KatapultItem *item) const
+{
+ return strcmp(item->className(), "Song") == 0;
+}
+
+void ActionPlaySong::execute(const KatapultItem *item) const
+{
+ const Song *song = (const Song *) item;
+ QByteArray buffer;
+ QDataStream stream(buffer, IO_WriteOnly);
+ stream << song->url();
+ kapp->dcopClient()->send("amarok", "playlist", "playMedia(KURL)", buffer);
+}
diff --git a/katapult/plugins/catalogs/amarokcatalog/actionplaysong.h b/katapult/plugins/catalogs/amarokcatalog/actionplaysong.h
new file mode 100644
index 0000000..bd2f0af
--- /dev/null
+++ b/katapult/plugins/catalogs/amarokcatalog/actionplaysong.h
@@ -0,0 +1,42 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Bastian Holst *
+ * bastianholst@gmx.de *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#ifndef ACTIONPLAYSONG_H
+#define ACTIONPLAYSONG_H
+
+#include "katapultaction.h"
+
+class KatapultItem;
+class QPixmap;
+class QString;
+
+/**
+@author Bastian Holst
+*/
+class ActionPlaySong : public KatapultAction
+{
+public:
+ virtual QPixmap icon(int) const;
+ virtual QString text() const;
+ virtual bool accepts(const KatapultItem *) const;
+ virtual void execute(const KatapultItem *) const;
+};
+
+#endif //ACTIONPLAYSONG_H
diff --git a/katapult/plugins/catalogs/amarokcatalog/amarokcatalog.cpp b/katapult/plugins/catalogs/amarokcatalog/amarokcatalog.cpp
new file mode 100644
index 0000000..f924c6d
--- /dev/null
+++ b/katapult/plugins/catalogs/amarokcatalog/amarokcatalog.cpp
@@ -0,0 +1,342 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Bastian Holst *
+ * bastianholst@gmx.de *
+ * Copyright (C) 2006 by Martin Meredith *
+ * mez@thekatapult.org.uk *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kapplication.h>
+#include <ksycocaentry.h>
+#include <ksycocatype.h>
+#include <knuminput.h>
+#include <kurl.h>
+#include <kapp.h>
+#include <qstring.h>
+#include <qcstring.h>
+#include <qstringlist.h>
+#include <qdatastream.h>
+#include <dcopclient.h>
+#include <qregexp.h>
+
+#include "actionplaysong.h"
+#include "song.h"
+#include "amarokcatalog.h"
+#include "actionregistry.h"
+#include "status.h"
+#include "settings.h"
+
+K_EXPORT_COMPONENT_FACTORY( katapult_amarokcatalog,
+ KGenericFactory<AmarokCatalog>( "katapult_amarokcatalog" ) )
+
+AmarokCatalog::AmarokCatalog(QObject*, const char*, const QStringList&): _result(QString::null)
+{
+ _minQueryLen = 3;
+ ActionRegistry::self()->registerAction(new ActionPlaySong());
+ _gotCollectionStatus = false;
+ _dynamicCollection = false;
+ checkCollectionType();
+
+}
+AmarokCatalog::~AmarokCatalog()
+{
+}
+
+void AmarokCatalog::queryChanged()
+{
+ int newStatus = 0;
+ QString queryString = query();
+
+ if((QString(queryString).remove(':').remove('\"').remove(' ').isEmpty()) || (queryString.length() < _minQueryLen)) {
+ reset();
+ setBestMatch(Match());
+ setStatus(0);
+ } else {
+
+ if ( _gotCollectionStatus)
+ {
+
+ if (!_dynamicCollection)
+ {
+
+ // Stuff for Amarok < 1.4.2
+
+ QStringList queryList;
+ //prepares SQL-queryQRegExp
+ QString sqlQuery(
+ "SELECT artist.name, tags.title, tags.url, images.path, album.name "
+ "FROM tags"
+ "INNER JOIN album ON (tags.album = album.id) "
+ "INNER JOIN artist ON (tags.artist = artist.id) "
+ "LEFT JOIN statistics ON (tags.url = statistics.url) "
+ "LEFT JOIN images ON (artist.name = images.artist AND album.name = images.album) "
+ "WHERE 1=1 "
+ );// AND
+
+ queryList = QStringList::split ( QString(" "), QString(queryString).replace(QChar(':')," ").replace(QChar('\''), " ").replace(QChar('\''), "%") );
+ for(QStringList::Iterator it = queryList.begin(); it != queryList.end(); ++it) {
+ sqlQuery.append(QString(" AND (t.title LIKE '\%%1\%'").arg(*it));
+ sqlQuery.append(QString(" OR a.name LIKE '\%%1\%')").arg(*it));
+ }
+ sqlQuery.append(" ORDER BY a.name, t.title, s.percentage DESC");
+
+ //sending SQL-query to ararok via dcop
+ QByteArray sqlQueryData, replyData;
+ QCString replyType;
+ QDataStream arg(sqlQueryData, IO_WriteOnly);
+ arg << sqlQuery;
+ if (!kapp->dcopClient()->call("amarok", "collection", "query(QString)",
+ sqlQueryData, replyType, replyData)) {
+ newStatus = 0;
+ } else {
+ QDataStream reply(replyData, IO_ReadOnly);
+ if (replyType == "QStringList") {
+ QStringList sqlResult;
+ reply >> sqlResult;
+
+ if(sqlResult.isEmpty()) {
+ newStatus = 0;
+ } else {
+ reset();
+ //Reads information from SQL-Query
+ _result.setArtist(sqlResult[0]);
+ _result.setName(sqlResult[1]);
+ _result.setURL(KURL(sqlResult[2]));
+ _result.setAlbum(sqlResult[4]);
+
+ //_result.setIcon(QString());
+ if ( !sqlResult[3].isEmpty() ) {
+ _result.setIcon(sqlResult[3]);
+ }
+
+ //counts the matched charecters
+ int i = queryString.find( ':' );
+ if ( i != -1 ) {
+ if ( queryString[i+1] != ' ' )
+ queryString.insert(i+1, ' ');
+ if ( queryString[i-1] != ' ' )
+ queryString.insert(i, ' ');
+ }
+ queryList = QStringList::split ( " ", queryString );
+ unsigned int matched = 0;
+ for(QStringList::Iterator it = queryList.begin(); it != queryList.end(); ++it) {
+ if(matched < (_result.text().find(*it, matched, false) + (*it).length()))
+ matched = _result.text().find(*it, matched, false) + (*it).length();
+ }
+ setBestMatch(Match(&_result, 100*queryString.length()/_result.text().length(), matched));
+
+ //Checks if there are multiple results
+ if( !sqlResult[5].isEmpty() )
+ newStatus = S_HasResults | S_Multiple;
+ else
+ newStatus = S_HasResults;
+ }
+ } else {
+ newStatus = 0;
+ }
+ }
+
+ } else { // Dynamic Collection
+
+ // Do same as above here again but with dyn collection stuff
+
+ QStringList queryList;
+ //prepares SQL-queryQRegExp
+ QString sqlQuery("SELECT a.name, t.title, t.deviceid, d.lastmountpoint, t.url, i.path, album.name FROM tags t LEFT JOIN statistics s ON (t.url = s.url AND t.deviceid = s.deviceid) LEFT JOIN artist a ON (t.artist = a.id) LEFT JOIN album ON (t.album = album.id) LEFT JOIN images i ON ( a.name = i.artist AND album.name = i.album) LEFT JOIN devices d ON (t.deviceid = d.id) WHERE ");
+ queryList = QStringList::split ( QString(" "), QString(queryString).replace(QChar(':')," ").replace(QChar('\''), " ").replace(QChar('\''), "%") );
+
+ // Let's build each of these clauses
+ QStringList clauses;
+ for(QStringList::Iterator it = queryList.begin(); it != queryList.end(); ++it) {
+
+ clauses += QString(" (t.title LIKE '\%%1\%'").arg(*it) +
+ QString(" OR a.name LIKE '\%%1\%')").arg(*it);
+ }
+ sqlQuery.append(clauses.join(QString(" AND ")));
+ sqlQuery.append(" ORDER BY a.name, t.title, s.percentage DESC");
+
+ //sending SQL-query to ararok via dcop
+ QByteArray sqlQueryData, replyData;
+ QCString replyType;
+ QDataStream arg(sqlQueryData, IO_WriteOnly);
+ arg << sqlQuery;
+ if (!kapp->dcopClient()->call("amarok", "collection", "query(QString)",
+ sqlQueryData, replyType, replyData)) {
+ newStatus = 0;
+ } else {
+ QDataStream reply(replyData, IO_ReadOnly);
+ if (replyType == "QStringList") {
+ QStringList sqlResult;
+ reply >> sqlResult;
+
+ if(sqlResult.isEmpty()) {
+ newStatus = 0;
+ } else {
+ reset();
+ //Reads information from SQL-Query
+ _result.setArtist(sqlResult[0]);
+ _result.setName(sqlResult[1]);
+ if (sqlResult[2]!="-1") {
+ KURL absolutePath;
+ absolutePath.setPath( sqlResult[3] );
+ absolutePath.addPath( sqlResult[4] );
+ absolutePath.cleanPath();
+
+ _result.setURL( absolutePath );
+ } else {
+ KURL absolutePath;
+ absolutePath.setPath( "/" );
+ absolutePath.addPath( sqlResult[4] );
+ absolutePath.cleanPath();
+
+ _result.setURL( absolutePath );
+ }
+
+ _result.setAlbum(sqlResult[6]);
+
+ //_result.setIcon(QString());
+ if ( !sqlResult[3].isEmpty() ) {
+ _result.setIcon(sqlResult[5]);
+ }
+
+ //counts the matched charecters
+ int i = queryString.find( ':' );
+ if ( i != -1 ) {
+ if ( queryString[i+1] != ' ' )
+ queryString.insert(i+1, ' ');
+ if ( queryString[i-1] != ' ' )
+ queryString.insert(i, ' ');
+ }
+ queryList = QStringList::split ( " ", queryString );
+ unsigned int matched = 0;
+ for(QStringList::Iterator it = queryList.begin(); it != queryList.end(); ++it) {
+ if(matched < (_result.text().find(*it, matched, false) + (*it).length()))
+ matched = _result.text().find(*it, matched, false) + (*it).length();
+ }
+ setBestMatch(Match(&_result, 100*queryString.length()/_result.text().length(), matched));
+
+ //Checks if there are multiple results
+ if( !sqlResult[7].isEmpty() )
+ newStatus = S_HasResults | S_Multiple;
+ else
+ newStatus = S_HasResults;
+ }
+ } else {
+ newStatus = 0;
+ }
+ }
+
+
+ } //end of >1.4.2 section
+ setStatus(newStatus);
+
+ } else { //We haven't got the collection status
+
+ checkCollectionType();
+ reset();
+ setBestMatch(Match());
+ setStatus(0);
+ }
+
+
+ } //dont go after this while fixing
+
+}
+
+void AmarokCatalog::reset()
+{
+ _result.setName(QString::null);
+ _result.setArtist(QString::null);
+ _result.setAlbum(QString::null);
+ _result.setIcon(QString::null);
+}
+
+void AmarokCatalog::checkCollectionType()
+{
+ QString sqlQuery("SELECT COUNT(*) FROM admin WHERE noption = 'Database Devices Version'");
+
+ QByteArray sqlQueryData, replyData;
+ QCString replyType;
+ QDataStream arg(sqlQueryData, IO_WriteOnly);
+ arg << sqlQuery;
+ if (!kapp->dcopClient()->call("amarok", "collection", "query(QString)", sqlQueryData, replyType, replyData))
+ {
+ _gotCollectionStatus = false;
+
+ }
+ else
+ {
+ QDataStream reply(replyData, IO_ReadOnly);
+ if (replyType == "QStringList")
+ {
+ QStringList sqlResult;
+ reply >> sqlResult;
+
+ if (sqlResult[0] == "1")
+ {
+ _dynamicCollection = true;
+
+ }
+ else
+ {
+ _dynamicCollection = false;
+
+ }
+ _gotCollectionStatus = true;
+ }
+ else
+ {
+ _gotCollectionStatus = false;
+ }
+ }
+}
+
+
+/*
+void AmarokCatalog::initialize()
+{
+}
+*/
+
+unsigned int AmarokCatalog::minQueryLen() const
+{
+ return _minQueryLen;
+}
+
+QWidget * AmarokCatalog::configure()
+{
+ AmarokCatalogSettings *settings = new AmarokCatalogSettings();
+
+ settings->minQueryLen->setValue(_minQueryLen);
+ connect(settings->minQueryLen, SIGNAL(valueChanged(int)), this, SLOT(minQueryLenChanged(int)));
+ return settings;
+}
+
+void AmarokCatalog::minQueryLenChanged(int _minQueryLen)
+{
+ this->_minQueryLen = _minQueryLen;
+}
+
+void AmarokCatalog::readSettings(KConfigBase *config)
+{
+ _minQueryLen = config->readUnsignedNumEntry("MinQueryLen", 3);
+}
+
+void AmarokCatalog::writeSettings(KConfigBase *config)
+{
+ config->writeEntry("MinQueryLen", _minQueryLen);
+}
diff --git a/katapult/plugins/catalogs/amarokcatalog/amarokcatalog.h b/katapult/plugins/catalogs/amarokcatalog/amarokcatalog.h
new file mode 100644
index 0000000..bd735a3
--- /dev/null
+++ b/katapult/plugins/catalogs/amarokcatalog/amarokcatalog.h
@@ -0,0 +1,62 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Bastian Holst *
+ * bastianholst@gmx.de *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef AMAROKCATALOG_H
+#define AMAROKCATALOG_H
+
+#include <katapultcatalog.h>
+#include <kgenericfactory.h>
+#include <kconfigbase.h>
+#include "song.h"
+
+class QWidget;
+class QString;
+
+/**
+@author Bastian Holst
+*/
+class AmarokCatalog : public KatapultCatalog
+{
+ Q_OBJECT
+public:
+ AmarokCatalog(QObject*, const char*, const QStringList&);
+ virtual ~AmarokCatalog();
+
+ unsigned int minQueryLen() const;
+ void readSettings(KConfigBase *);
+ void writeSettings(KConfigBase *);
+ QWidget * configure();
+ //virtual void initialize();
+
+public slots:
+ void minQueryLenChanged(int);
+
+protected:
+ void queryChanged();
+ void reset();
+ void checkCollectionType();
+
+private:
+ unsigned int _minQueryLen;
+ bool _dynamicCollection;
+ bool _gotCollectionStatus;
+ Song _result;
+};
+
+#endif //AMAROkCATALOG_H
diff --git a/katapult/plugins/catalogs/amarokcatalog/coverimage.cpp b/katapult/plugins/catalogs/amarokcatalog/coverimage.cpp
new file mode 100644
index 0000000..4ea3f24
--- /dev/null
+++ b/katapult/plugins/catalogs/amarokcatalog/coverimage.cpp
@@ -0,0 +1,106 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Bastian Holst *
+ * bastianholst@gmx.de *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kmdcodec.h>
+#include <qimage.h>
+#include <qdir.h>
+
+#include "coverimage.h"
+
+CoverImage::CoverImage()
+{
+ setArtist(QString());
+ setAlbum(QString());
+ setURL(QString());
+
+ _coverfolder = QDir::homeDirPath();
+ _coverfolder.append("/.kde/share/apps/amarok/albumcovers/");
+ _largefolder = QString(_coverfolder).append("large/");
+ _cachefolder = QString(_coverfolder).append("cache/");
+
+ QDir foldertest;
+ foldertest.setPath(_coverfolder);
+ if ( !foldertest.exists() )
+ foldertest.mkdir(_coverfolder);
+ if ( !foldertest.exists(_largefolder) )
+ foldertest.mkdir(_largefolder);
+ if ( !foldertest.exists(_cachefolder) )
+ foldertest.mkdir(_cachefolder);
+}
+
+QImage CoverImage::load(int size) const
+{
+ QString imagepath(_cachefolder);
+ KMD5 md5sum(artist().lower().utf8()+album().lower().utf8());
+ imagepath.append(QString::number ( size )).append("@").append(md5sum.hexDigest());
+ QImage image( imagepath );
+ if ( image.isNull() )
+ {
+ if ( !url().isEmpty() ) {
+ image.load(url());
+ } else {
+ imagepath = _largefolder;
+ imagepath.append(md5sum.hexDigest());
+ image.load( imagepath );
+ }
+
+ if ( !image.isNull() ) {
+ QString savepath(_cachefolder);
+ savepath.append(QString::number ( size )).append("@").append(md5sum.hexDigest());
+ image = image.smoothScale(size, size, QImage::ScaleMin);
+ if ( !url().isEmpty() ) {
+ image.save( savepath, QImage::imageFormat ( url() ));
+ } else {
+ image.save( savepath, QImage::imageFormat ( imagepath ));
+ }
+ }
+ }
+ return image;
+}
+
+QString CoverImage::artist() const
+{
+ return _artist;
+}
+
+QString CoverImage::album() const
+{
+ return _album;
+}
+
+QString CoverImage::url() const
+{
+ return _url;
+}
+
+void CoverImage::setArtist(const QString& artist)
+{
+ _artist = artist;
+}
+
+void CoverImage::setAlbum(const QString& album)
+{
+ _album = album;
+}
+
+void CoverImage::setURL(const QString& url)
+{
+ _url = url;
+}
diff --git a/katapult/plugins/catalogs/amarokcatalog/coverimage.h b/katapult/plugins/catalogs/amarokcatalog/coverimage.h
new file mode 100644
index 0000000..c7982c3
--- /dev/null
+++ b/katapult/plugins/catalogs/amarokcatalog/coverimage.h
@@ -0,0 +1,54 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Bastian Holst *
+ * bastianholst@gmx.de *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef COVERIMAGE_H
+#define COVERIMAGE_H
+
+#include<qstring.h>
+#include<qimage.h>
+
+/**
+@author Bastian Holst
+*/
+class CoverImage
+{
+public:
+ CoverImage();
+
+ QImage load(int) const;
+
+ virtual QString artist() const;
+ virtual QString album() const;
+ virtual QString url() const;
+
+ void setArtist(const QString&);
+ void setAlbum(const QString&);
+ void setURL(const QString&);
+private:
+ QString _artist;
+ QString _album;
+ QString _url;
+
+ QString _coverfolder;
+ QString _largefolder;
+ QString _cachefolder;
+};
+
+#endif // COVERIMAGE_H
+
diff --git a/katapult/plugins/catalogs/amarokcatalog/katapult_amarokcatalog.desktop b/katapult/plugins/catalogs/amarokcatalog/katapult_amarokcatalog.desktop
new file mode 100644
index 0000000..deceddf
--- /dev/null
+++ b/katapult/plugins/catalogs/amarokcatalog/katapult_amarokcatalog.desktop
@@ -0,0 +1,44 @@
+[Desktop Entry]
+Name=Amarok Catalog
+Name[ar]=مستعرض ( Catalog ) Amarok
+Name[bg]=Каталог на Amarok
+Name[br]=Katalog Amarok
+Name[da]=Katalogisér Amarok
+Name[de]=amaroK-Katalog
+Name[el]=Κατάλογος Amarok
+Name[es]=Catálogo Amarok
+Name[et]=Amaroki kataloog
+Name[fr]=Catalogue Amarok
+Name[ga]=Catalóg Amarok
+Name[gl]=Catálogo de Amarok
+Name[it]=Catalogo Amarok
+Name[ja]=Amarok カタログ
+Name[nb]=Amarok-katalog
+Name[nl]=Amarok-catalogus
+Name[pt]=Catálogo do Amarok
+Name[pt_BR]=Catálogo do Amarok
+Name[sv]=Katalogisera Amarok
+Name[tr]=Amarok Kataloğu
+Name[uk]=Каталог Amarok
+Comment=Catalogs your KDE programs for easy launching through Katapult
+Comment[ar]=يستعرض برامجك كي دي أي ( KDE ) كي تستطيع اقلاعها بسهولة مستخدما Katapult
+Comment[bg]=Каталогизира с Katapult програмите в KDE за лесно стартиране
+Comment[da]=Katalogiserer dine KDE-programmer for nem start via Katapult
+Comment[de]=Katalogisiert Ihre KDE-Programme, um sie bequem mit Katapult zu starten
+Comment[el]=Δημιουργεί κατάλογο των προγραμμάτων σας του KDE για την εύκολη εκτέλεσή τους μέσω του Katapult
+Comment[es]=Cataloga sus programas de KDE para iniciarlos con facilidad a través de Katapult
+Comment[et]=Kataloogib sinu KDE programmid hõlpsaks käivitamiseks Katapultiga
+Comment[fr]=Cataloguer vos programmes KDE pour un lancement facile via Katapult
+Comment[gl]=Cataloga os seus programas de KDE para seren iniciados mediante Katapult
+Comment[it]=Cataloga in tuoi programmi KDE per avviarli facilmente attraverso Katapult
+Comment[ja]=Katapult から簡単に起動できるように KDE のプログラムをカタログ化
+Comment[nb]=Katalogiserer KDE-programmene for lettvint oppstart med Katapult
+Comment[nl]=Catalogiseert uw KDE-programma's voor eenvoudige opstart via Katapult
+Comment[pt]=Cataloga os seus programas do KDE para lançá-los facilmente através do Katapult
+Comment[pt_BR]=Cataloga os seus programas do KDE para lançá-los facilmente através do Katapult
+Comment[sv]=Katalogiserar dina KDE-program för enkel start via Katapult
+Comment[uk]=Робить каталог з програм KDE для легкого запуску через Катапульту
+ServiceTypes=Katapult/Catalog
+Type=Service
+X-KDE-Library=katapult_amarokcatalog
+X-Katapult-ID=Amarok Catalog
diff --git a/katapult/plugins/catalogs/amarokcatalog/settings.ui b/katapult/plugins/catalogs/amarokcatalog/settings.ui
new file mode 100644
index 0000000..70bb3ab
--- /dev/null
+++ b/katapult/plugins/catalogs/amarokcatalog/settings.ui
@@ -0,0 +1,80 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>AmarokCatalogSettings</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>AmarokCatalogSettings</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>376</width>
+ <height>519</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Settings</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout1</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Number of characters before searching:</string>
+ </property>
+ </widget>
+ <widget class="KIntSpinBox">
+ <property name="name">
+ <cstring>minQueryLen</cstring>
+ </property>
+ <property name="maxValue">
+ <number>10</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>3</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Katapult will not search for programs until you have typed at least this many characters in the Katapult launcher.</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>370</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+</widget>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>knuminput.h</includehint>
+</includehints>
+</UI>
diff --git a/katapult/plugins/catalogs/amarokcatalog/song.cpp b/katapult/plugins/catalogs/amarokcatalog/song.cpp
new file mode 100644
index 0000000..78b69fb
--- /dev/null
+++ b/katapult/plugins/catalogs/amarokcatalog/song.cpp
@@ -0,0 +1,91 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Bastian Holst *
+ * bastianholst@gmx.de *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <kurl.h>
+#include <qpixmap.h>
+#include <qimage.h>
+#include <qstring.h>
+#include <amarokcatalog.h>
+
+#include "song.h"
+
+Song::Song(const QString&)
+ : KatapultItem()
+{
+ setName(QString());
+ setArtist(QString());
+ setURL(KURL());
+ setIcon(QString());
+ setAlbum(QString::null);
+}
+
+void Song::setArtist(const QString& artist)
+{
+ _artist = artist;
+ cover.setArtist(artist);
+}
+
+void Song::setName(const QString& name)
+{
+ _name = name;
+}
+
+void Song::setAlbum(const QString& album)
+{
+ cover.setAlbum(album);
+}
+
+void Song::setURL(const KURL url)
+{
+ _url = url;
+}
+
+void Song::setIcon(const QString icon)
+{
+ cover.setURL(icon);
+}
+
+QPixmap Song::icon(int size) const
+{
+ QImage image = cover.load(size);
+ if ( image.isNull() )
+ return KGlobal::iconLoader()->loadIcon("multimedia", KIcon::NoGroup, size);
+ return QPixmap(image);
+}
+
+QString Song::text() const
+{
+ QString text;
+ if( !_artist.isEmpty() ) {
+ text.append(_artist);
+ text.append(": ");
+ }
+ text.append(_name);
+ return text;
+}
+
+KURL Song::url() const
+{
+ return _url;
+}
+
+#include "song.moc"
diff --git a/katapult/plugins/catalogs/amarokcatalog/song.h b/katapult/plugins/catalogs/amarokcatalog/song.h
new file mode 100644
index 0000000..90e4819
--- /dev/null
+++ b/katapult/plugins/catalogs/amarokcatalog/song.h
@@ -0,0 +1,56 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Bastian Holst *
+ * bastianholst@gmx.de *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef SONG_H
+#define SONG_H
+
+#include "katapultitem.h"
+#include "coverimage.h"
+#include <kurl.h>
+#include <qstring.h>
+#include <qpixmap.h>
+
+/**
+@author Bastian Holst
+*/
+class Song : public KatapultItem
+{
+ Q_OBJECT
+public:
+ Song(const QString&);
+
+ virtual QPixmap icon(int) const;
+ virtual QString text() const;
+ virtual KURL url() const;
+
+ void setArtist(const QString&);
+ void setName(const QString&);
+ void setURL(const KURL);
+ void setIcon(const QString);
+ void setAlbum(const QString&);
+
+protected:
+ QString _artist;
+ QString _name;
+ KURL _url;
+
+ CoverImage cover;
+};
+
+#endif //SONG_H
diff --git a/katapult/plugins/catalogs/bookmarkcatalog/Makefile.am b/katapult/plugins/catalogs/bookmarkcatalog/Makefile.am
new file mode 100644
index 0000000..ef289e3
--- /dev/null
+++ b/katapult/plugins/catalogs/bookmarkcatalog/Makefile.am
@@ -0,0 +1,17 @@
+# set the include path for X, qt and KDE
+INCLUDES = -I$(top_srcdir)/katapult/common $(all_includes)
+
+# header files
+noinst_HEADERS = bookmarkcatalog.h bookmark.h actionopenbookmark.h \
+ mozillabookmark.h
+
+# use automoc
+METASOURCES = AUTO
+
+# our plugin
+kde_module_LTLIBRARIES = katapult_bookmarkcatalog.la
+katapult_bookmarkcatalog_la_SOURCES = settings.ui bookmarkcatalog.cpp \
+ bookmark.cpp actionopenbookmark.cpp mozillabookmark.cpp
+katapult_bookmarkcatalog_la_LDFLAGS = -module $(KDE_RPATH) $(KDE_PLUGIN) $(all_libraries)
+katapult_bookmarkcatalog_la_LIBADD = $(LIB_QT) $(LIB_KDECORE) $(LIB_KDEUI) $(LIB_KIO) $(top_builddir)/katapult/common/libkatapult.la
+kde_services_DATA = katapult_bookmarkcatalog.desktop
diff --git a/katapult/plugins/catalogs/bookmarkcatalog/actionopenbookmark.cpp b/katapult/plugins/catalogs/bookmarkcatalog/actionopenbookmark.cpp
new file mode 100644
index 0000000..bd31782
--- /dev/null
+++ b/katapult/plugins/catalogs/bookmarkcatalog/actionopenbookmark.cpp
@@ -0,0 +1,60 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kbookmark.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <krun.h>
+#include <kurl.h>
+#include <klocale.h>
+
+#include <qstring.h>
+#include <qpixmap.h>
+
+#include "actionopenbookmark.h"
+#include "katapultitem.h"
+#include "bookmark.h"
+#include "mozillabookmark.h"
+
+QPixmap ActionOpenBookmark::icon(int size) const
+{
+ return KGlobal::iconLoader()->loadIcon("fileopen", KIcon::NoGroup, size);
+}
+
+QString ActionOpenBookmark::text() const
+{
+ return i18n("Open Bookmark");
+}
+
+void ActionOpenBookmark::execute(const KatapultItem *item) const
+{
+ if(strcmp(item->className(), "Bookmark") == 0) {
+ const Bookmark *bookmark = (const Bookmark *) item;
+ new KRun(bookmark->bookmark().url());
+ } else if(strcmp(item->className(), "MozillaBookmark") == 0) {
+ const MozillaBookmark *bookmark = (const MozillaBookmark *) item;
+ new KRun(bookmark->url());
+ }
+}
+
+bool ActionOpenBookmark::accepts(const KatapultItem *item) const
+{
+ return strcmp(item->className(), "Bookmark") == 0 || strcmp(item->className(), "MozillaBookmark") == 0;
+}
diff --git a/katapult/plugins/catalogs/bookmarkcatalog/actionopenbookmark.h b/katapult/plugins/catalogs/bookmarkcatalog/actionopenbookmark.h
new file mode 100644
index 0000000..9068753
--- /dev/null
+++ b/katapult/plugins/catalogs/bookmarkcatalog/actionopenbookmark.h
@@ -0,0 +1,43 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef ACTIONOPENBOOKMARK_H
+#define ACTIONOPENBOOKMARK_H
+
+#include <katapultaction.h>
+
+class KatapultItem;
+class QPixmap;
+class QString;
+
+/**
+@author Joe Ferris
+*/
+class ActionOpenBookmark : public KatapultAction
+{
+
+public:
+ virtual QPixmap icon(int) const;
+ virtual QString text() const;
+ virtual void execute(const KatapultItem *) const;
+ virtual bool accepts(const KatapultItem *) const;
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/bookmarkcatalog/bookmark.cpp b/katapult/plugins/catalogs/bookmarkcatalog/bookmark.cpp
new file mode 100644
index 0000000..e5d65db
--- /dev/null
+++ b/katapult/plugins/catalogs/bookmarkcatalog/bookmark.cpp
@@ -0,0 +1,48 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kbookmark.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+
+#include "bookmark.h"
+
+Bookmark::Bookmark(KBookmark _bookmark)
+ : KatapultItem()
+{
+ this->_bookmark = _bookmark;
+}
+
+QPixmap Bookmark::icon(int size) const
+{
+ return KGlobal::iconLoader()->loadIcon(_bookmark.icon(), KIcon::NoGroup, size);
+}
+
+KBookmark Bookmark::bookmark() const
+{
+ return _bookmark;
+}
+
+QString Bookmark::text() const
+{
+ return _bookmark.text();
+}
+
+#include "bookmark.moc"
diff --git a/katapult/plugins/catalogs/bookmarkcatalog/bookmark.h b/katapult/plugins/catalogs/bookmarkcatalog/bookmark.h
new file mode 100644
index 0000000..fba7fec
--- /dev/null
+++ b/katapult/plugins/catalogs/bookmarkcatalog/bookmark.h
@@ -0,0 +1,46 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef BOOKMARK_H
+#define BOOKMARK_H
+
+#include <kbookmark.h>
+
+#include <katapultitem.h>
+
+/**
+@author Joe Ferris
+*/
+class Bookmark : public KatapultItem
+{
+ Q_OBJECT
+public:
+ Bookmark(KBookmark);
+
+ virtual QPixmap icon(int) const;
+ virtual QString text() const;
+
+ KBookmark bookmark() const;
+
+private:
+ KBookmark _bookmark;
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/bookmarkcatalog/bookmarkcatalog.cpp b/katapult/plugins/catalogs/bookmarkcatalog/bookmarkcatalog.cpp
new file mode 100644
index 0000000..e70d65f
--- /dev/null
+++ b/katapult/plugins/catalogs/bookmarkcatalog/bookmarkcatalog.cpp
@@ -0,0 +1,212 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kservicegroup.h>
+#include <ksycocaentry.h>
+#include <ksycocatype.h>
+#include <kapplication.h>
+#include <kbookmarkmanager.h>
+#include <kbookmark.h>
+#include <knuminput.h>
+#include <kurlrequester.h>
+
+#include <qstring.h>
+#include <qradiobutton.h>
+#include <qbuttongroup.h>
+#include <qdir.h>
+#include <qregexp.h>
+#include <qfile.h>
+
+#include "bookmarkcatalog.h"
+#include "bookmark.h"
+#include "mozillabookmark.h"
+#include "settings.h"
+#include "actionregistry.h"
+#include "actionopenbookmark.h"
+
+K_EXPORT_COMPONENT_FACTORY( katapult_bookmarkcatalog,
+ KGenericFactory<BookmarkCatalog>( "katapult_bookmarkcatalog" ) )
+
+BookmarkCatalog::BookmarkCatalog(QObject *, const char *, const QStringList&)
+ : CachedCatalog()
+{
+ manager = KBookmarkManager::userBookmarksManager();
+ _minQueryLen = 1;
+ ActionRegistry::self()->registerAction(new ActionOpenBookmark());
+}
+
+
+BookmarkCatalog::~BookmarkCatalog()
+{
+}
+
+void BookmarkCatalog::initialize()
+{
+ if(manager != 0)
+ cacheBookmarkList(manager->root());
+ if(_mozEnabled)
+ cacheMozillaBookmarks();
+}
+
+void BookmarkCatalog::cacheBookmarkList(KBookmarkGroup group)
+{
+ KBookmark bookmark = group.first();
+ while(!bookmark.isNull()) {
+ if (bookmark.isGroup()) {
+ cacheBookmarkList(bookmark.toGroup());
+ } else {
+ addItem(new Bookmark(bookmark));
+ }
+ bookmark = group.next(bookmark);
+ }
+}
+
+void BookmarkCatalog::cacheMozillaBookmarks()
+{
+ if(_mozAuto)
+ _mozFile = detectMozillaFile();
+
+ if(_mozFile.isEmpty())
+ return;
+
+ QFile bmFile(_mozFile);
+ if(!bmFile.open(IO_ReadOnly))
+ return;
+
+ QString contents = bmFile.readAll();
+ QRegExp rx("<A HREF=\"([^\"]+)\" [^>]+>([^<]+)</A>");
+ int pos = 0;
+ while(pos > -1) {
+ pos = rx.search(contents, pos);
+ if(pos > -1) {
+ addItem(new MozillaBookmark(rx.cap(1), rx.cap(2), QPixmap()));
+ pos += rx.matchedLength();
+ }
+ }
+}
+
+QString BookmarkCatalog::detectMozillaFile()
+{
+ QStringList testDirs;
+ testDirs << ".firefox" << ".mozilla" << ".phoenix" << ".netscape";
+ QDir home = QDir::home();
+ for(QStringList::Iterator it = testDirs.begin(); it != testDirs.end(); ++it) {
+ QString testDir = *it;
+ if(home.exists(testDir)) {
+ QDir mozDir = QDir(home.path()+"/"+testDir).canonicalPath();
+ if(mozDir.dirName() != testDir && testDirs.contains(mozDir.dirName()))
+ continue;
+ QString path = searchMozDir(mozDir.path());
+ if(!path.isEmpty())
+ return path;
+ }
+ }
+
+ return "";
+}
+
+QString BookmarkCatalog::searchMozDir(QString path)
+{
+ QDir dir(path);
+ if(dir.exists("bookmarks.html")) {
+ return path+"/bookmarks.html";
+ }
+ QStringList entries = dir.entryList(QDir::Dirs | QDir::NoSymLinks);
+ for(QStringList::Iterator it = entries.begin(); it != entries.end(); ++it) {
+ if(*it != "." && *it != ".."){
+ QString result = searchMozDir(path + "/" + *it);
+ if(!result.isEmpty())
+ return result;
+ }
+ }
+ return QString::null;
+}
+
+unsigned int BookmarkCatalog::minQueryLen() const
+{
+ return _minQueryLen;
+}
+
+void BookmarkCatalog::readSettings(KConfigBase *config)
+{
+ _minQueryLen = config->readUnsignedNumEntry("MinQueryLen", 3);
+ _mozEnabled = config->readBoolEntry("MozEnabled", TRUE);
+ _mozAuto = config->readBoolEntry("MozAuto", TRUE);
+ _mozFile = config->readEntry("MozFile", "");
+}
+
+void BookmarkCatalog::writeSettings(KConfigBase *config)
+{
+ config->writeEntry("MinQueryLen", _minQueryLen);
+ config->writeEntry("MozEnabled", _mozEnabled);
+ config->writeEntry("MozAuto", _mozAuto);
+ config->writeEntry("MozFile", _mozFile);
+}
+
+QWidget * BookmarkCatalog::configure()
+{
+ settings = new BookmarkCatalogSettings();
+
+ settings->minQueryLen->setValue(_minQueryLen);
+ connect(settings->minQueryLen, SIGNAL(valueChanged(int)), this, SLOT(minQueryLenChanged(int)));
+
+ settings->mozEnabled->setChecked(_mozEnabled);
+ connect(settings->mozEnabled, SIGNAL(toggled(bool)), this, SLOT(toggleMozEnabled(bool)));
+
+ settings->mozAuto->setChecked(_mozAuto);
+ connect(settings->mozAuto, SIGNAL(toggled(bool)), this, SLOT(toggleMozAuto(bool)));
+
+ settings->mozManual->setChecked(!_mozAuto);
+
+ settings->mozFile->setURL(_mozFile);
+ connect(settings->mozFile, SIGNAL(urlSelected(const QString &)), this, SLOT(changeMozFile(const QString &)));
+
+ settings->mozAuto->setEnabled(_mozEnabled);
+ settings->mozManual->setEnabled(_mozEnabled);
+ settings->mozFile->setEnabled(_mozEnabled && !_mozAuto);
+
+ return settings;
+}
+
+void BookmarkCatalog::minQueryLenChanged(int _minQueryLen)
+{
+ this->_minQueryLen = _minQueryLen;
+}
+
+void BookmarkCatalog::toggleMozEnabled(bool _mozEnabled)
+{
+ this->_mozEnabled = _mozEnabled;
+ settings->mozAuto->setEnabled(_mozEnabled);
+ settings->mozManual->setEnabled(_mozEnabled);
+ settings->mozFile->setEnabled(_mozEnabled && !_mozAuto);
+}
+
+void BookmarkCatalog::toggleMozAuto(bool _mozAuto)
+{
+ this->_mozAuto = _mozAuto;
+ settings->mozFile->setEnabled(!_mozAuto);
+}
+
+void BookmarkCatalog::changeMozFile(const QString & _mozFile)
+{
+ this->_mozFile = _mozFile;
+}
+
+#include "bookmarkcatalog.moc"
diff --git a/katapult/plugins/catalogs/bookmarkcatalog/bookmarkcatalog.h b/katapult/plugins/catalogs/bookmarkcatalog/bookmarkcatalog.h
new file mode 100644
index 0000000..b0e5736
--- /dev/null
+++ b/katapult/plugins/catalogs/bookmarkcatalog/bookmarkcatalog.h
@@ -0,0 +1,71 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef PROGRAMCATALOG_H
+#define PROGRAMCATALOG_H
+
+#include <kgenericfactory.h>
+
+#include <qptrlist.h>
+
+#include "cachedcatalog.h"
+
+class QWidget;
+class QString;
+class KBookmarkManager;
+class KBookmarkGroup;
+class BookmarkCatalogSettings;
+
+/**
+@author Joe Ferris
+*/
+class BookmarkCatalog : public CachedCatalog
+{
+ Q_OBJECT
+public:
+ BookmarkCatalog(QObject *, const char *, const QStringList&);
+ virtual ~BookmarkCatalog();
+
+ virtual void initialize();
+ virtual void readSettings(KConfigBase *);
+ virtual void writeSettings(KConfigBase *);
+ virtual unsigned int minQueryLen() const;
+ virtual QWidget * configure();
+
+public slots:
+ void minQueryLenChanged(int);
+ void toggleMozEnabled(bool);
+ void toggleMozAuto(bool);
+ void changeMozFile(const QString &);
+ QString searchMozDir(QString);
+
+private:
+ void cacheBookmarkList(KBookmarkGroup);
+ void cacheMozillaBookmarks();
+ QString detectMozillaFile();
+
+ KBookmarkManager *manager;
+ int _minQueryLen;
+ bool _mozEnabled;
+ bool _mozAuto;
+ QString _mozFile;
+ BookmarkCatalogSettings *settings;
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/bookmarkcatalog/katapult_bookmarkcatalog.desktop b/katapult/plugins/catalogs/bookmarkcatalog/katapult_bookmarkcatalog.desktop
new file mode 100644
index 0000000..bea99f0
--- /dev/null
+++ b/katapult/plugins/catalogs/bookmarkcatalog/katapult_bookmarkcatalog.desktop
@@ -0,0 +1,44 @@
+[Desktop Entry]
+Name=Bookmark Catalog
+Name[ar]=مستغرض علامات المواقع ( Bookmark Catalog )
+Name[bg]=Каталог с отметки
+Name[br]=Katalog sined
+Name[da]=Katalogisér bogmærker
+Name[de]=Lesezeichen-Katalog
+Name[el]=Κατάλογος σελιδοδεικτών
+Name[es]=Catálogo de marcadores
+Name[et]=Järjehoidjakataloog
+Name[fr]=Catalogue de signets
+Name[ga]=Catalóg Leabharmharcanna
+Name[gl]=Catálogo de Favoritos
+Name[it]=Catologo segnalibri
+Name[ja]=ブックマークカタログ
+Name[nb]=Bokmerke-katalog
+Name[nl]=Bladwijzercatalogus
+Name[pt]=Catálogo de Favoritos
+Name[pt_BR]=Catálogo de Favoritos
+Name[sv]=Katalogisera bokmärken
+Name[tr]=Yer imi Kataloğu
+Name[uk]=Каталог закладок
+Comment=Catalogs your KDE bookmarks for easy launching through Katapult
+Comment[ar]=يستعرض علامات مواقعك كي دي أي ( KDE ) كي تستطيع اقلاعها عن طريق Katapult
+Comment[bg]=Каталогизира с Katapult отметките на KDE за лесно стартиране
+Comment[da]=Katalogiserer dine KDE-bogmærker for nem start via Katapult
+Comment[de]=Katalogisiert Ihre KDE-Lesezeichen, um sie bequem mit Katapult aufzurufen
+Comment[el]=Δημιουργεί κατάλογο με τους σελιδοδείκτες σας του KDE για την εύκολη εκτέλεσή τους μέσω του Katapult
+Comment[es]=Cataloga sus marcadores de KDE para iniciarlos con facilidad a través de Katapult
+Comment[et]=Kataloogib sinu KDE järjehoidjad hõlpsaks käivitamiseks Katapultiga
+Comment[fr]=Cataloguer vos signets KDE pour un lancement facile via Katapult
+Comment[gl]=Cataloga os seus favoritos de KDE para seren iniciados mediante Katapult
+Comment[it]=Cataloga i tuoi segnalibri di KDE per aprirli facilmente attraverso Katapult
+Comment[ja]=Katapult から簡単に開けるように KDE のブックマークをカタログ化
+Comment[nb]=Katalogiserer KDE-bokmerkene for lettvint oppstart med Katapult
+Comment[nl]=Catalogiseert uw KDE-bladwijzers voor eenvoudige opstart via Katapult
+Comment[pt]=Cataloga os seus favoritos do KDE para lançá-los facilmente através do Katapult
+Comment[pt_BR]=Cataloga os seus favoritos do KDE para lançá-los facilmente através do Katapult
+Comment[sv]=Katalogiserar dina KDE-bokmärken för enkel start via Katapult
+Comment[uk]=Робить каталог закладок KDE для легкого запуску через Катапульту
+ServiceTypes=Katapult/Catalog
+Type=Service
+X-KDE-Library=katapult_bookmarkcatalog
+X-Katapult-ID=Bookmark Catalog
diff --git a/katapult/plugins/catalogs/bookmarkcatalog/mozillabookmark.cpp b/katapult/plugins/catalogs/bookmarkcatalog/mozillabookmark.cpp
new file mode 100644
index 0000000..eb55751
--- /dev/null
+++ b/katapult/plugins/catalogs/bookmarkcatalog/mozillabookmark.cpp
@@ -0,0 +1,51 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kiconloader.h>
+#include <kglobal.h>
+
+#include <qpixmap.h>
+
+#include "mozillabookmark.h"
+
+MozillaBookmark::MozillaBookmark(QString _url, QString _title, QPixmap _icon)
+ : KatapultItem()
+{
+ this->_url = _url;
+ this->_icon = _icon;
+ this->_title = _title;
+}
+
+QPixmap MozillaBookmark::icon(int size) const
+{
+ return KGlobal::iconLoader()->loadIcon("bookmark", KIcon::NoGroup, size);
+}
+
+QString MozillaBookmark::url() const
+{
+ return _url;
+}
+
+QString MozillaBookmark::text() const
+{
+ return _title;
+}
+
+#include "mozillabookmark.moc"
diff --git a/katapult/plugins/catalogs/bookmarkcatalog/mozillabookmark.h b/katapult/plugins/catalogs/bookmarkcatalog/mozillabookmark.h
new file mode 100644
index 0000000..f1e25fb
--- /dev/null
+++ b/katapult/plugins/catalogs/bookmarkcatalog/mozillabookmark.h
@@ -0,0 +1,46 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef MOZILLABOOKMARK_H
+#define MOZILLABOOKMARK_H
+
+#include <qpixmap.h>
+
+#include "katapultitem.h"
+
+/**
+@author Joe Ferris
+*/
+class MozillaBookmark : public KatapultItem
+{
+ Q_OBJECT
+public:
+ MozillaBookmark(QString, QString, QPixmap);
+
+ virtual QPixmap icon(int) const;
+ virtual QString text() const;
+
+ QString url() const;
+
+private:
+ QString _url, _title;
+ QPixmap _icon;
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/bookmarkcatalog/settings.ui b/katapult/plugins/catalogs/bookmarkcatalog/settings.ui
new file mode 100644
index 0000000..7a8121d
--- /dev/null
+++ b/katapult/plugins/catalogs/bookmarkcatalog/settings.ui
@@ -0,0 +1,117 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>BookmarkCatalogSettings</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>BookmarkCatalogSettings</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>401</width>
+ <height>280</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Settings</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout1</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Number of characters before searching:</string>
+ </property>
+ </widget>
+ <widget class="KIntSpinBox">
+ <property name="name">
+ <cstring>minQueryLen</cstring>
+ </property>
+ <property name="maxValue">
+ <number>10</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Katapult will not search for programs until you have typed at least this many characters in the Katapult launcher.</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QButtonGroup">
+ <property name="name">
+ <cstring>mozEnabled</cstring>
+ </property>
+ <property name="title">
+ <string>Import Mozilla bookmarks</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>mozAuto</cstring>
+ </property>
+ <property name="text">
+ <string>Automatically detect bookmark file</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>mozManual</cstring>
+ </property>
+ <property name="text">
+ <string>Use the following file:</string>
+ </property>
+ </widget>
+ <widget class="KURLRequester">
+ <property name="name">
+ <cstring>mozFile</cstring>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>100</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+</widget>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>knuminput.h</includehint>
+ <includehint>kurlrequester.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/katapult/plugins/catalogs/calculatorcatalog/Makefile.am b/katapult/plugins/catalogs/calculatorcatalog/Makefile.am
new file mode 100644
index 0000000..c0753c2
--- /dev/null
+++ b/katapult/plugins/catalogs/calculatorcatalog/Makefile.am
@@ -0,0 +1,20 @@
+# Copyright (C) 2005 Tobi Vollebregt
+
+# set the include path for X, qt and KDE
+INCLUDES = -I$(top_srcdir)/katapult/common $(all_includes)
+
+# header files
+noinst_HEADERS = calculatorcatalog.h expression.h actionevalexpr.h
+
+# use automoc
+METASOURCES = AUTO
+
+# install xcalc icon
+KDE_ICON = xcalc checkmark no
+
+# our plugin
+kde_module_LTLIBRARIES = katapult_calculatorcatalog.la
+katapult_calculatorcatalog_la_SOURCES = settings.ui calculatorcatalog.cpp expression.cpp actionevalexpr.cpp parser.cpp
+katapult_calculatorcatalog_la_LDFLAGS = -module $(KDE_RPATH) $(KDE_PLUGIN) $(all_libraries)
+katapult_calculatorcatalog_la_LIBADD = $(LIB_QT) $(LIB_KDECORE) $(LIB_KDEUI) $(LIB_KIO) $(top_builddir)/katapult/common/libkatapult.la
+kde_services_DATA = katapult_calculatorcatalog.desktop
diff --git a/katapult/plugins/catalogs/calculatorcatalog/actionevalexpr.cpp b/katapult/plugins/catalogs/calculatorcatalog/actionevalexpr.cpp
new file mode 100644
index 0000000..2a786f9
--- /dev/null
+++ b/katapult/plugins/catalogs/calculatorcatalog/actionevalexpr.cpp
@@ -0,0 +1,161 @@
+/***************************************************************************
+ * Copyright (C) 2005 Tobi Vollebregt *
+ * tobivollebregt@gmail.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kapplication.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <krun.h>
+#include <kurl.h>
+#include <klocale.h>
+
+#include <qclipboard.h>
+
+#include "calculatorcatalog.h"
+#include "expression.h"
+#include "katapultitem.h"
+#include "actionevalexpr.h"
+
+
+// Conditional compilation to not bloat the lib if
+// KDE already has the following functions.
+// Prevents a deprecated function warning too.
+
+#if !KDE_IS_VERSION(3, 5, 0)
+
+// Copied some code from KDE 3.5 to make it compile on 3.4.
+
+// insert (thousands)-"separator"s into the non-fractional part of str
+static void _insertSeparator(QString &str, const QString &separator, const QString &decimalSymbol)
+{
+ // leave fractional part untouched
+ QString mainPart = str.section(decimalSymbol, 0, 0);
+ QString fracPart = str.section(decimalSymbol, 1, 1, QString::SectionIncludeLeadingSep);
+ if (fracPart==decimalSymbol) fracPart=QString();
+ for (int pos = mainPart.length() - 3; pos > 0; pos -= 3)
+ mainPart.insert(pos, separator);
+ str = mainPart + fracPart;
+}
+
+// This was KLocale::formatNumber(const QString&, bool, int)
+
+static QString formatNumber(const QString &numStr)
+{
+ QString tmpString = numStr;
+
+ // Skip the sign (for now)
+ bool neg = (tmpString[0] == '-');
+ if (neg || tmpString[0] == '+') tmpString.remove(0, 1);
+
+ // Split off exponential part (including 'e'-symbol)
+ QString mantString = tmpString.section('e', 0, 0, QString::SectionCaseInsensitiveSeps);
+ QString expString = tmpString.section('e', 1, 1, QString::SectionCaseInsensitiveSeps | QString::SectionIncludeLeadingSep);
+ if (expString.length()==1) expString=QString();
+
+ // Replace dot with locale decimal separator
+ mantString.replace(QChar('.'), KGlobal::locale()->decimalSymbol());
+
+ // Insert the thousand separators
+ _insertSeparator(mantString, KGlobal::locale()->thousandsSeparator(), KGlobal::locale()->decimalSymbol());
+
+ // How can we know where we should put the sign?
+ mantString.prepend(neg?KGlobal::locale()->negativeSign():KGlobal::locale()->positiveSign());
+
+ return mantString + expString;
+}
+
+#else
+// KDE_VERSION >= 3.5.0
+
+static QString formatNumber(const QString& numStr)
+{
+ return KGlobal::locale()->formatNumber(numStr, false, 0);
+}
+
+#endif
+
+
+ActionEvaluateExpression::ActionEvaluateExpression()
+ : KatapultAction(), _expr(0)
+{
+}
+
+ActionEvaluateExpression::~ActionEvaluateExpression()
+{
+}
+
+QString ActionEvaluateExpression::text() const
+{
+ if (_expr->parseError()) {
+ return i18n("Evaluate Expression");
+ } else {
+ // Format result.
+ int digits = _expr->catalog()->fracDigits();
+ QChar f = _expr->catalog()->scientific() ? 'g' : 'f';
+ QString num = QString::number(_expr->result(), f, digits);
+ // Strip trailing zeroes.
+ if (f == 'f' && digits != 0) {
+ while (num.endsWith("0")) {
+ num = num.left(num.length() - 1);
+ }
+ if (num.endsWith(".")) {
+ num = num.left(num.length() - 1);
+ }
+ }
+ // Localize (choose right implementation based on KDE version, see above).
+ return formatNumber(num);
+ }
+}
+
+QPixmap ActionEvaluateExpression::icon(int size) const
+{
+ return KGlobal::iconLoader()->loadIcon("xcalc", KIcon::NoGroup, size);
+}
+
+bool ActionEvaluateExpression::accepts(const KatapultItem* item) const
+{
+ bool accept = strcmp(item->className(), "Expression") == 0;
+ if (accept) {
+ _expr = (const Expression*)item;
+ }
+ return accept;
+}
+
+void ActionEvaluateExpression::execute(const KatapultItem* item) const
+{
+ if (strcmp(item->className(), "Expression") == 0) {
+ _expr = (const Expression*)item;
+
+ //evaluate expression with assignments enabled
+ _expr->evaluate(true);
+
+ // Copy calculation and result into clipboard (unless there's a parse error).
+ if (!_expr->parseError()) {
+ QClipboard *cb = QApplication::clipboard();
+ QString s = _expr->catalog()->formatString();
+ s.replace("%1", _expr->text());
+ s.replace("%2", text());
+ cb->setText(s, QClipboard::Clipboard);
+ cb->setText(s, QClipboard::Selection);
+ }
+ }
+}
diff --git a/katapult/plugins/catalogs/calculatorcatalog/actionevalexpr.h b/katapult/plugins/catalogs/calculatorcatalog/actionevalexpr.h
new file mode 100644
index 0000000..6cf23bf
--- /dev/null
+++ b/katapult/plugins/catalogs/calculatorcatalog/actionevalexpr.h
@@ -0,0 +1,51 @@
+/***************************************************************************
+ * Copyright (C) 2005 Tobi Vollebregt *
+ * tobivollebregt@gmail.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef ACTIONEVALEXPR_H
+#define ACTIONEVALEXPR_H
+
+#include "katapultaction.h"
+
+class KatapultItem;
+class Expression;
+
+/**
+@author Tobi Vollebregt
+*/
+class ActionEvaluateExpression : public KatapultAction
+{
+ public:
+ ActionEvaluateExpression();
+ ~ActionEvaluateExpression();
+
+ virtual void execute(const KatapultItem*) const;
+ virtual bool accepts(const KatapultItem*) const;
+ virtual QString text() const;
+ virtual QPixmap icon(int) const;
+
+ private:
+ //_expr needs to be mutable because accepts() is const.
+ mutable const Expression* _expr;
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/calculatorcatalog/calculatorcatalog.cpp b/katapult/plugins/catalogs/calculatorcatalog/calculatorcatalog.cpp
new file mode 100644
index 0000000..c3c5f6d
--- /dev/null
+++ b/katapult/plugins/catalogs/calculatorcatalog/calculatorcatalog.cpp
@@ -0,0 +1,360 @@
+/***************************************************************************
+ * Copyright (C) 2005 Tobi Vollebregt *
+ * tobivollebregt@gmail.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kservicegroup.h>
+#include <ksycocaentry.h>
+#include <ksycocatype.h>
+#include <kapplication.h>
+#include <knuminput.h>
+#include <kcombobox.h>
+
+#include <qcheckbox.h>
+#include <qbuttongroup.h>
+#include <qradiobutton.h>
+#include <qregexp.h>
+
+#include <math.h>
+
+#include "settings.h"
+#include "calculatorcatalog.h"
+#include "expression.h"
+#include "actionregistry.h"
+#include "actionevalexpr.h"
+#include "status.h"
+
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
+#ifndef M_E
+#define M_E 2.7182818284590452354
+#endif
+
+
+static double frac(double x)
+{
+ double nowhere;
+ return modf(x, &nowhere);
+}
+
+
+static double deg_sin(double x) { return sin(x * (M_PI / 180.0)); }
+static double deg_cos(double x) { return cos(x * (M_PI / 180.0)); }
+static double deg_tan(double x) { return tan(x * (M_PI / 180.0)); }
+static double deg_asin(double x) { return asin(x) * (180.0 / M_PI); }
+static double deg_acos(double x) { return acos(x) * (180.0 / M_PI); }
+static double deg_atan(double x) { return atan(x) * (180.0 / M_PI); }
+static double deg_sinh(double x) { return sinh(x * (M_PI / 180.0)); }
+static double deg_cosh(double x) { return cosh(x * (M_PI / 180.0)); }
+static double deg_tanh(double x) { return tanh(x * (M_PI / 180.0)); }
+static double deg_asinh(double x) { return asinh(x) * (180.0 / M_PI); }
+static double deg_acosh(double x) { return acosh(x) * (180.0 / M_PI); }
+static double deg_atanh(double x) { return atanh(x) * (180.0 / M_PI); }
+
+
+const CalculatorCatalog::Function CalculatorCatalog::radiansFunctionTable[] =
+{
+ { "sin", 3, sin },
+ { "cos", 3, cos },
+ { "tan", 3, tan },
+ { "asin", 4, asin },
+ { "acos", 4, acos },
+ { "atan", 4, atan },
+ { "sinh", 4, sinh },
+ { "cosh", 4, cosh },
+ { "tanh", 4, tanh },
+ { "asinh", 5, asinh },
+ { "acosh", 5, acosh },
+ { "atanh", 5, atanh },
+ { "sqrt", 4, sqrt },
+ { "log", 3, log10 },
+ { "ln", 2, log },
+ { "exp", 3, exp },
+ { "abs", 3, fabs },
+ { "frac", 4, frac },
+ { "round", 5, round },
+ { "int", 3, trunc },
+ { 0, 0, 0 }
+};
+
+const CalculatorCatalog::Function CalculatorCatalog::degreesFunctionTable[] =
+{
+ { "sin", 3, deg_sin },
+ { "cos", 3, deg_cos },
+ { "tan", 3, deg_tan },
+ { "asin", 4, deg_asin },
+ { "acos", 4, deg_acos },
+ { "atan", 4, deg_atan },
+ { "sinh", 4, deg_sinh },
+ { "cosh", 4, deg_cosh },
+ { "tanh", 4, deg_tanh },
+ { "asinh", 5, deg_asinh },
+ { "acosh", 5, deg_acosh },
+ { "atanh", 5, deg_atanh },
+ { "sqrt", 4, sqrt },
+ { "log", 3, log10 },
+ { "ln", 2, log },
+ { "exp", 3, exp },
+ { "abs", 3, fabs },
+ { "frac", 4, frac },
+ { "round", 5, round },
+ { "int", 3, trunc },
+ { 0, 0, 0 }
+};
+
+
+K_EXPORT_COMPONENT_FACTORY( katapult_calculatorcatalog,
+ KGenericFactory<CalculatorCatalog>( "katapult_calculatorcatalog" ) )
+
+CalculatorCatalog::CalculatorCatalog(QObject*, const char*, const QStringList&): _result(this, QString::null)
+{
+ ActionRegistry::self()->registerAction(new ActionEvaluateExpression());
+
+ setVar(getVarID("pi"), M_PI);
+ setVar(getVarID("e"), M_E);
+}
+
+CalculatorCatalog::~CalculatorCatalog()
+{
+}
+
+void CalculatorCatalog::queryChanged()
+{
+ int newStatus = 0;
+ QString cmd = query();
+
+ if (cmd.isEmpty()) {
+ reset();
+ setBestMatch(Match());
+ } else {
+ if (accepts(cmd)) {
+ int i, origLength = cmd.length(), length = origLength;
+ //autocomplete functions
+ cmd = cmd.lower();
+ for (i = length - 1; i >= 0 && cmd[i].isLetter(); --i) { }
+ if (i != length - 1) {
+ QString start = cmd.mid(i + 1);
+ int lengthOfShortest = 9999, shortest = -1;
+ for (int j = 0; radiansFunctionTable[j].name; ++j) {
+ if (QString(radiansFunctionTable[j].name).startsWith(start)) {
+ if (radiansFunctionTable[j].length < lengthOfShortest) {
+ lengthOfShortest = radiansFunctionTable[j].length;
+ shortest = j;
+ }
+ }
+ }
+ if (shortest != -1) {
+ cmd = cmd.left(i + 1).append(radiansFunctionTable[shortest].name).append("(");
+ length = cmd.length();
+ }
+ }
+ //fix parse errors at end of expression,
+ //ie. close open parentheses, convert operators into NOPs
+ for (i = length - 1; i >= 0 && (cmd[i] == '(' || cmd[i] == ' '); --i) { }
+ if (i < 0 || cmd[i] == '+' || cmd[i] == '-') {
+ cmd.append("0");
+ ++length;
+ } else if (cmd[i] == '*' || cmd[i] == '/' || cmd[i] == '^') {
+ cmd.append("1");
+ ++length;
+ } else if (cmd[i].isLetter() && (i < length - 1 && cmd[i + 1] == '(')) {
+ //just add a 0 if it's a function: we don't bother to backpropagate
+ //through the parse tree (if it existed at all) to figure out a NOP value
+ //for this particular (chain of) function(s).
+ cmd.append("0");
+ ++length;
+ }
+ int openParen = 0;
+ //use cmd.length() here, it may be > than length.
+ for (i = 0; i < length; ++i) {
+ if (cmd[i] == '(') ++openParen;
+ if (cmd[i] == ')') --openParen;
+ }
+ if (openParen > 0) {
+ char* closeParen = new char[openParen + 1];
+ memset(closeParen, ')', openParen);
+ closeParen[openParen] = 0;
+ cmd.append(closeParen);
+ delete[] closeParen;
+ }
+ _result.setText(cmd);
+ setBestMatch(Match(&_result, _result.parseError() ? 10 : 100, origLength));
+ //set status.
+ //add S_Multiple to make sure katapult doesn't auto-exec and close the window
+ //add S_Active to make sure katapult doesn't start the hideTimer or clearTimer
+ newStatus = S_HasResults | S_Multiple | S_Active;
+ } else {
+ newStatus = 0;
+ }
+ }
+ setStatus(newStatus);
+}
+
+void CalculatorCatalog::reset()
+{
+ _result.setText(QString::null);
+}
+
+bool CalculatorCatalog::accepts(const QString& str) const
+{
+ //Heuristic to determine whether the string is an expression or not.
+ //Accept anything containing [()+\\-/*^=.,0-9].
+ return QRegExp("[()+\\-/*^=.,0-9]").search(str) >= 0;
+}
+
+int CalculatorCatalog::getVarID(const char* name)
+{
+ VarNameToIdMap::iterator it = varNameToId.find(QString(name));
+ if (it == varNameToId.end()) {
+ _pendingVarName = QString(name);
+ return -1;
+ }
+ return *it;
+}
+
+double CalculatorCatalog::getVar(int id) const
+{
+ return varIdToValue[id];
+}
+
+double CalculatorCatalog::setVar(int id, double value)
+{
+ if (id == -1) {
+ id = varIdToValue.count();
+ varNameToId.insert(_pendingVarName, id);
+ varIdToValue.push_back(value);
+ } else {
+ varIdToValue[id] = value;
+ }
+ return value;
+}
+
+/*
+void CalculatorCatalog::initialize()
+{
+}
+*/
+
+void CalculatorCatalog::readSettings(KConfigBase* config)
+{
+ _fracDigits = config->readUnsignedNumEntry("FracDigits", 2);
+ _bScientific = config->readBoolEntry("Scientific", false);
+ _bDegrees = config->readBoolEntry("Degrees", false);
+ _bClipboard = config->readBoolEntry("Clipboard", true);
+ _formatString = config->readEntry("FormatString", "%1 = %2");
+}
+
+void CalculatorCatalog::writeSettings(KConfigBase* config)
+{
+ config->writeEntry("FracDigits", fracDigits());
+ config->writeEntry("Scientific", scientific());
+ config->writeEntry("Degrees", degrees());
+ config->writeEntry("Clipboard", clipboard());
+ config->writeEntry("FormatString", formatString());
+}
+
+QWidget * CalculatorCatalog::configure()
+{
+ CalculatorCatalogSettings* settings = new CalculatorCatalogSettings();
+
+ settings->fracDigits->setValue(_fracDigits);
+ connect(settings->fracDigits, SIGNAL(valueChanged(int)), this, SLOT(fracDigitsChanged(int)));
+
+ settings->normal->setChecked(!scientific());
+ settings->scientific->setChecked(scientific());
+ connect(settings->scientific, SIGNAL(toggled(bool)), this, SLOT(scientificChanged(bool)));
+
+ settings->radians->setChecked(!degrees());
+ settings->degrees->setChecked(degrees());
+ connect(settings->degrees, SIGNAL(toggled(bool)), this, SLOT(degreesChanged(bool)));
+
+ settings->clipboard->setChecked(clipboard());
+ connect(settings->clipboard, SIGNAL(toggled(bool)), this, SLOT(clipboardChanged(bool)));
+
+ settings->formatString->setText(formatString());
+ connect(settings->formatString, SIGNAL(textChanged(const QString&)), this, SLOT(formatStringChanged(const QString&)));
+
+ return settings;
+}
+
+void CalculatorCatalog::fracDigitsChanged(int n)
+{
+ _fracDigits = n;
+}
+
+int CalculatorCatalog::fracDigits() const
+{
+ return _fracDigits;
+}
+
+void CalculatorCatalog::scientificChanged(bool en)
+{
+ _bScientific = en;
+}
+
+bool CalculatorCatalog::scientific() const
+{
+ return _bScientific;
+}
+
+void CalculatorCatalog::degreesChanged(bool en)
+{
+ _bDegrees = en;
+}
+
+bool CalculatorCatalog::degrees() const
+{
+ return _bDegrees;
+}
+
+void CalculatorCatalog::formatStringChanged(const QString& fmt)
+{
+ _formatString = fmt;
+}
+
+QString CalculatorCatalog::formatString() const
+{
+ return _formatString;
+}
+
+void CalculatorCatalog::clipboardChanged(bool en)
+{
+ _bClipboard = en;
+}
+
+bool CalculatorCatalog::clipboard() const
+{
+ return _bClipboard;
+}
+
+const CalculatorCatalog::Function* CalculatorCatalog::functionTable() const
+{
+ if (degrees()) {
+ return degreesFunctionTable;
+ } else {
+ return radiansFunctionTable;
+ }
+}
+
+#include "calculatorcatalog.moc"
diff --git a/katapult/plugins/catalogs/calculatorcatalog/calculatorcatalog.h b/katapult/plugins/catalogs/calculatorcatalog/calculatorcatalog.h
new file mode 100644
index 0000000..88f03cc
--- /dev/null
+++ b/katapult/plugins/catalogs/calculatorcatalog/calculatorcatalog.h
@@ -0,0 +1,122 @@
+/***************************************************************************
+ * Copyright (C) 2005 Tobi Vollebregt *
+ * tobivollebregt@gmail.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef CALCULATORCATALOG_H
+#define CALCULATORCATALOG_H
+
+#include <kgenericfactory.h>
+
+#include <qmap.h>
+#include <qptrlist.h>
+#include <qstring.h>
+#include <qvaluevector.h>
+
+#include "expression.h"
+#include "katapultcatalog.h"
+
+class QWidget;
+
+typedef double (*FunPtr)(double);
+
+/**
+@author Tobi Vollebregt
+ */
+class CalculatorCatalog : public KatapultCatalog
+{
+ Q_OBJECT
+
+ public:
+
+ struct ParserControl {
+ const char* expression;
+ CalculatorCatalog* catalog;
+ bool assignments; //are assignments enabled?
+ double result;
+ };
+
+ struct Function {
+ const char* name;
+ int length;
+ FunPtr fptr;
+ };
+
+ CalculatorCatalog(QObject*, const char*, const QStringList&);
+ virtual ~CalculatorCatalog();
+
+ //virtual void initialize();
+ virtual void readSettings(KConfigBase*);
+ virtual void writeSettings(KConfigBase*);
+ virtual QWidget* configure();
+
+ int getVarID(const char*);
+ double getVar(int) const;
+ double setVar(int, double);
+
+ int fracDigits() const;
+ bool scientific() const;
+ bool degrees() const;
+ bool clipboard() const;
+ QString formatString() const;
+ const Function* functionTable() const;
+
+ protected:
+
+ virtual void queryChanged();
+
+ private:
+
+ typedef QMap<QString, int> VarNameToIdMap;
+ typedef QValueVector<double> VarIdToValueVector;
+
+ static const Function radiansFunctionTable[];
+ static const Function degreesFunctionTable[];
+
+ void reset();
+ bool accepts(const QString&) const;
+
+ Expression _result; // The one result (there's always one).
+
+ VarNameToIdMap varNameToId; // Maps strings to IDs.
+ VarIdToValueVector varIdToValue; // Maps IDs to values.
+ QString _pendingVarName; // Pending while rest of assignment is parsed.
+
+ int _fracDigits; // Number of fractional digits.
+ bool _bScientific; // Normal or scientific mode?
+ bool _bDegrees; // Radians or degrees?
+ bool _bClipboard; // Copy to clipboard?
+ QString _formatString; // for clipboard copy
+
+ private slots:
+
+ void fracDigitsChanged(int);
+ void scientificChanged(bool);
+ void degreesChanged(bool);
+ void clipboardChanged(bool);
+ void formatStringChanged(const QString&);
+
+};
+
+
+/* from parser.y / parser.cpp: */
+int yyparse(CalculatorCatalog::ParserControl*);
+
+#endif
diff --git a/katapult/plugins/catalogs/calculatorcatalog/expression.cpp b/katapult/plugins/catalogs/calculatorcatalog/expression.cpp
new file mode 100644
index 0000000..37e80bc
--- /dev/null
+++ b/katapult/plugins/catalogs/calculatorcatalog/expression.cpp
@@ -0,0 +1,94 @@
+/***************************************************************************
+ * Copyright (C) 2005 Tobi Vollebregt *
+ * tobivollebregt@gmail.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kservice.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+
+#include "calculatorcatalog.h"
+#include "expression.h"
+
+
+Expression::Expression(CalculatorCatalog* catalog, const QString& text): KatapultItem(), _catalog(catalog), _text(text)
+{
+ evaluate();
+}
+
+QPixmap Expression::icon(int size) const
+{
+ const char* icon = "checkmark";
+ if (_parseError) {
+ icon = "no";
+ }
+ return KGlobal::iconLoader()->loadIcon(icon, KIcon::NoGroup, size);
+}
+
+QString Expression::text() const
+{
+ return _text;
+}
+
+void Expression::setText(const QString& text)
+{
+ _text = text;
+ evaluate();
+}
+
+double Expression::result() const
+{
+ return _result;
+}
+
+bool Expression::parseError() const
+{
+ return _parseError;
+}
+
+CalculatorCatalog* Expression::catalog() const
+{
+ return _catalog;
+}
+
+void Expression::evaluate(bool assignments) const
+{
+ if (!_text.isEmpty()) {
+ QString t = _text;
+ CalculatorCatalog::ParserControl cntrl;
+ cntrl.expression = t.replace(',', '.').ascii();
+ cntrl.catalog = _catalog;
+ cntrl.assignments = assignments;
+ if (yyparse(&cntrl) == 0) {
+ _result = cntrl.result;
+ _parseError = false;
+ if (assignments) {
+ _catalog->setVar(_catalog->getVarID("ans"), _result);
+ }
+ } else {
+ _parseError = true;
+ }
+ } else {
+ _parseError = true;
+ }
+}
+
+#include "expression.moc"
diff --git a/katapult/plugins/catalogs/calculatorcatalog/expression.h b/katapult/plugins/catalogs/calculatorcatalog/expression.h
new file mode 100644
index 0000000..6d736f9
--- /dev/null
+++ b/katapult/plugins/catalogs/calculatorcatalog/expression.h
@@ -0,0 +1,60 @@
+/***************************************************************************
+ * Copyright (C) 2005 Tobi Vollebregt *
+ * tobivollebregt@gmail.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef EXPRESSION_H
+#define EXPRESSION_H
+
+#include <katapultitem.h>
+
+class CalculatorCatalog;
+
+/**
+@author Tobi Vollebregt
+*/
+class Expression : public KatapultItem
+{
+ Q_OBJECT
+ public:
+ Expression(CalculatorCatalog*, const QString&);
+
+ virtual QPixmap icon(int) const;
+ virtual QString text() const;
+
+ void setText(const QString&);
+ double result() const;
+ bool parseError() const;
+
+ //evaluate() must be const, or ActionEvaluateExpression::execute() can't call it.
+ //It makes sense because evaluate() does _not_ change the expression,
+ //it just calculates the result and remembers that.
+ void evaluate(bool assignments = false) const;
+
+ CalculatorCatalog* catalog() const;
+
+ private:
+ CalculatorCatalog* const _catalog;
+ QString _text;
+ mutable double _result;
+ mutable bool _parseError;
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/calculatorcatalog/hi128-action-checkmark.png b/katapult/plugins/catalogs/calculatorcatalog/hi128-action-checkmark.png
new file mode 100644
index 0000000..9854f79
--- /dev/null
+++ b/katapult/plugins/catalogs/calculatorcatalog/hi128-action-checkmark.png
Binary files differ
diff --git a/katapult/plugins/catalogs/calculatorcatalog/hi128-action-no.png b/katapult/plugins/catalogs/calculatorcatalog/hi128-action-no.png
new file mode 100644
index 0000000..dae60fe
--- /dev/null
+++ b/katapult/plugins/catalogs/calculatorcatalog/hi128-action-no.png
Binary files differ
diff --git a/katapult/plugins/catalogs/calculatorcatalog/hi128-app-xcalc.png b/katapult/plugins/catalogs/calculatorcatalog/hi128-app-xcalc.png
new file mode 100644
index 0000000..9330ae7
--- /dev/null
+++ b/katapult/plugins/catalogs/calculatorcatalog/hi128-app-xcalc.png
Binary files differ
diff --git a/katapult/plugins/catalogs/calculatorcatalog/katapult_calculatorcatalog.desktop b/katapult/plugins/catalogs/calculatorcatalog/katapult_calculatorcatalog.desktop
new file mode 100644
index 0000000..c528b32
--- /dev/null
+++ b/katapult/plugins/catalogs/calculatorcatalog/katapult_calculatorcatalog.desktop
@@ -0,0 +1,44 @@
+# Copyright (C) 2005 Tobi Vollebregt
+[Desktop Entry]
+Name=Calculator Catalog
+Name[ar]=مستعرض الآلة الحاسبة ( Calculator Catalog )
+Name[bg]=Каталог на калкулатора
+Name[br]=Katalog jederez
+Name[da]=Katalogisér beregninger
+Name[de]=Rechner-Katalog
+Name[el]=Κατάλογος υπολογισμών
+Name[es]=Catalogador de calculadora
+Name[et]=Kalkulaatorikataloog
+Name[fr]=Catalogue calculatrice
+Name[gl]=Catálogo de Calculadora
+Name[it]=Catalogo calcolatrice
+Name[ja]=計算機カタログ
+Name[nb]=Kalkulatorkatalog
+Name[nl]=Rekenmachinecatalogus
+Name[pt]=Catálogo da Calculadora
+Name[pt_BR]=Catálogo da Calculadora
+Name[sv]=Katalogisera beräkningar
+Name[tr]=Hesap Makinesi Kataloğu
+Name[uk]=Каталог калькулятора
+Comment=Catalogs the set of real numbers for easy calculation through katapult.
+Comment[ar]=يستعرض مجموعة ارقامك الحقيقية لعملية الحساب عن طريق katapult.
+Comment[bg]=Каталогизира с Katapult набора от числа с цел лесно пресмятане.
+Comment[da]=Katalogiserer mængden af reelle tal for nem beregning via Katapult.
+Comment[de]=Katalogisiert den Satz reeller Zahlen für einfaches Rechnen mit Katapult
+Comment[el]=Δημιουργεί κατάλογο με πραγματικούς αριθμούς για εύκολους υπολογισμούς μέσω του katapult.
+Comment[es]=Cataloga un conjunto de números reales para realizar con facilidad cálculos a través de katapult.
+Comment[et]=Kataloogib reaalarvud hõlpsaks arvutamiseks Katapulti abil.
+Comment[fr]=Cataloguer un ensemble de valeurs pour un calcul facile via Katapult
+Comment[gl]=Cataloga os números reais para seren calculados mediante katapult.
+Comment[it]=Cataloga l'insieme dei numeri reali per effettuare calcoli facilmente attraverso Katapult.
+Comment[ja]=Katapult から簡単に計算できるように実数のセットをカタログ化
+Comment[nb]=Katalogiserer mengden av reelle tall for enkel beregning via Katapult.
+Comment[nl]=Catalogiseert een set echte getallen voor eenvoudige berekening via katapult.
+Comment[pt]=Cataloga o conjunto de números reais para um cálculo simples através do Katapult.
+Comment[pt_BR]=Cataloga o conjunto de números reais para um cálculo simples através do Katapult.
+Comment[sv]=Katalogiserar mängden reella tal för enkel beräkning via Katapult.
+Comment[uk]=Робить каталог простих чисел для легких підрахунків через Катапульту.
+ServiceTypes=Katapult/Catalog
+Type=Service
+X-KDE-Library=katapult_calculatorcatalog
+X-Katapult-ID=Calculator Catalog
diff --git a/katapult/plugins/catalogs/calculatorcatalog/parser.cpp b/katapult/plugins/catalogs/calculatorcatalog/parser.cpp
new file mode 100644
index 0000000..995cbb2
--- /dev/null
+++ b/katapult/plugins/catalogs/calculatorcatalog/parser.cpp
@@ -0,0 +1,1387 @@
+/* A Bison parser, made by GNU Bison 2.0. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Written by Richard Stallman by simplifying the original so called
+ ``semantic'' parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
+
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
+#define YYPURE 1
+
+/* Using locations. */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ NUM = 258,
+ FUN = 259,
+ VAR = 260,
+ NEG = 261
+ };
+#endif
+#define NUM 258
+#define FUN 259
+#define VAR 260
+#define NEG 261
+
+
+
+
+/* Copy the first part of user declarations. */
+#line 5 "plugins/catalogs/calculatorcatalog/parser.y"
+
+#define YYLEX_PARAM parsercontrol
+
+#include <math.h>
+#include <stdio.h>
+#include "calculatorcatalog.h"
+
+//void yyerror(char const *);
+#define yyerror(a,b)
+
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+#line 22 "plugins/catalogs/calculatorcatalog/parser.y"
+typedef union YYSTYPE {
+ double val; /* For returning numbers. */
+ FunPtr fptr; /* For returning function pointers. */
+ int id; /* For returning variables. */
+} YYSTYPE;
+/* Line 190 of yacc.c. */
+#line 105 "plugins/catalogs/calculatorcatalog/parser.cpp"
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations. */
+#line 39 "plugins/catalogs/calculatorcatalog/parser.y"
+
+static int yylex(YYSTYPE* lvalp, CalculatorCatalog::ParserControl* parsercontrol);
+
+
+/* Line 213 of yacc.c. */
+#line 120 "plugins/catalogs/calculatorcatalog/parser.cpp"
+
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+# ifndef YYFREE
+# define YYFREE free
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# endif
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# else
+# define YYSTACK_ALLOC alloca
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+ && (! defined (__cplusplus) \
+ || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ short int yyss;
+ YYSTYPE yyvs;
+ };
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined (__GNUC__) && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ register YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (0)
+# endif
+# endif
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack, Stack, yysize); \
+ Stack = &yyptr->Stack; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
+
+#endif
+
+#if defined (__STDC__) || defined (__cplusplus)
+ typedef signed char yysigned_char;
+#else
+ typedef short int yysigned_char;
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 13
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 47
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 15
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 3
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 13
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 28
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 261
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const unsigned char yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 13, 14, 9, 8, 2, 7, 2, 10, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 6, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 12, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 11
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const unsigned char yyprhs[] =
+{
+ 0, 0, 3, 5, 9, 11, 15, 19, 23, 27,
+ 30, 34, 38, 43
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+ 16, 0, -1, 17, -1, 5, 6, 17, -1, 3,
+ -1, 17, 8, 17, -1, 17, 7, 17, -1, 17,
+ 9, 17, -1, 17, 10, 17, -1, 7, 17, -1,
+ 17, 12, 17, -1, 13, 17, 14, -1, 4, 13,
+ 17, 14, -1, 5, -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const unsigned char yyrline[] =
+{
+ 0, 45, 45, 46, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "NUM", "FUN", "VAR", "'='", "'-'", "'+'",
+ "'*'", "'/'", "NEG", "'^'", "'('", "')'", "$accept", "line", "exp", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const unsigned short int yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 61, 45, 43, 42,
+ 47, 261, 94, 40, 41
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const unsigned char yyr1[] =
+{
+ 0, 15, 16, 16, 17, 17, 17, 17, 17, 17,
+ 17, 17, 17, 17
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const unsigned char yyr2[] =
+{
+ 0, 2, 1, 3, 1, 3, 3, 3, 3, 2,
+ 3, 3, 4, 1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
+static const unsigned char yydefact[] =
+{
+ 0, 4, 0, 13, 0, 0, 0, 2, 0, 0,
+ 13, 9, 0, 1, 0, 0, 0, 0, 0, 0,
+ 3, 11, 6, 5, 7, 8, 10, 12
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yysigned_char yydefgoto[] =
+{
+ -1, 6, 7
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -12
+static const yysigned_char yypact[] =
+{
+ 12, -12, -11, 2, 17, 17, 3, 35, 17, 17,
+ -12, 6, 19, -12, 17, 17, 17, 17, 17, 27,
+ 35, -12, -3, -3, 6, 6, 6, -12
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const yysigned_char yypgoto[] =
+{
+ -12, -12, -4
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -1
+static const unsigned char yytable[] =
+{
+ 11, 12, 8, 13, 19, 20, 16, 17, 9, 18,
+ 22, 23, 24, 25, 26, 1, 2, 3, 18, 4,
+ 1, 2, 10, 0, 4, 5, 14, 15, 16, 17,
+ 5, 18, 0, 21, 14, 15, 16, 17, 0, 18,
+ 0, 27, 14, 15, 16, 17, 0, 18
+};
+
+static const yysigned_char yycheck[] =
+{
+ 4, 5, 13, 0, 8, 9, 9, 10, 6, 12,
+ 14, 15, 16, 17, 18, 3, 4, 5, 12, 7,
+ 3, 4, 5, -1, 7, 13, 7, 8, 9, 10,
+ 13, 12, -1, 14, 7, 8, 9, 10, -1, 12,
+ -1, 14, 7, 8, 9, 10, -1, 12
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const unsigned char yystos[] =
+{
+ 0, 3, 4, 5, 7, 13, 16, 17, 13, 6,
+ 5, 17, 17, 0, 7, 8, 9, 10, 12, 17,
+ 17, 14, 17, 17, 17, 17, 17, 14
+};
+
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
+#endif
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. */
+
+#define YYFAIL goto yyerrlab
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY && yylen == 1) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
+ YYPOPSTACK; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror (parsercontrol, "syntax error: cannot back up");\
+ YYERROR; \
+ } \
+while (0)
+
+
+#define YYTERROR 1
+#define YYERRCODE 256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+ If N is 0, then set CURRENT to the empty location which ends
+ the previous symbol: RHS[0] (always defined). */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ do \
+ if (N) \
+ { \
+ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
+ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
+ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
+ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
+ } \
+ else \
+ { \
+ (Current).first_line = (Current).last_line = \
+ YYRHSLOC (Rhs, 0).last_line; \
+ (Current).first_column = (Current).last_column = \
+ YYRHSLOC (Rhs, 0).last_column; \
+ } \
+ while (0)
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+ This macro was not mandated originally: define only if we know
+ we won't break user code: when these are the locations we know. */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+# define YY_LOCATION_PRINT(File, Loc) \
+ fprintf (File, "%d.%d-%d.%d", \
+ (Loc).first_line, (Loc).first_column, \
+ (Loc).last_line, (Loc).last_column)
+# else
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments. */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (&yylval, YYLEX_PARAM)
+#else
+# define YYLEX yylex (&yylval)
+#endif
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yysymprint (stderr, \
+ Type, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short int *bottom, short int *top)
+#else
+static void
+yy_stack_print (bottom, top)
+ short int *bottom;
+ short int *top;
+#endif
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (/* Nothing. */; bottom <= top; ++bottom)
+ YYFPRINTF (stderr, " %d", *bottom);
+ YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+ int yyrule;
+#endif
+{
+ int yyi;
+ unsigned int yylno = yyrline[yyrule];
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+ yyrule - 1, yylno);
+ /* Print the symbols being reduced, and their result. */
+ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+ YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+ YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (Rule); \
+} while (0)
+
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
+
+ Do not make this value too large; the results are undefined if
+ SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+# if defined (__GLIBC__) && defined (_STRING_H)
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+static YYSIZE_T
+# if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+# else
+yystrlen (yystr)
+ const char *yystr;
+# endif
+{
+ register const char *yys = yystr;
+
+ while (*yys++ != '\0')
+ continue;
+
+ return yys - yystr - 1;
+}
+# endif
+# endif
+
+# ifndef yystpcpy
+# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+static char *
+# if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+# else
+yystpcpy (yydest, yysrc)
+ char *yydest;
+ const char *yysrc;
+# endif
+{
+ register char *yyd = yydest;
+ register const char *yys = yysrc;
+
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+
+ return yyd - 1;
+}
+# endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
+
+
+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ if (yytype < YYNTOKENS)
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+
+# ifdef YYPRINT
+ if (yytype < YYNTOKENS)
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+ switch (yytype)
+ {
+ default:
+ break;
+ }
+ YYFPRINTF (yyoutput, ")");
+}
+
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+ const char *yymsg;
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ if (!yymsg)
+ yymsg = "Deleting";
+ YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+ switch (yytype)
+ {
+
+ default:
+ break;
+ }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes. */
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (CalculatorCatalog::ParserControl* parsercontrol);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+ void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (CalculatorCatalog::ParserControl* parsercontrol)
+#else
+int
+yyparse (parsercontrol)
+ CalculatorCatalog::ParserControl* parsercontrol;
+#endif
+#endif
+{
+ /* The look-ahead symbol. */
+int yychar;
+
+/* The semantic value of the look-ahead symbol. */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far. */
+int yynerrs;
+
+ register int yystate;
+ register int yyn;
+ int yyresult;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+ /* Look-ahead token as an internal (translated) token number. */
+ int yytoken = 0;
+
+ /* Three stacks and their tools:
+ `yyss': related to states,
+ `yyvs': related to semantic values,
+ `yyls': related to locations.
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ short int yyssa[YYINITDEPTH];
+ short int *yyss = yyssa;
+ register short int *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ register YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK (yyvsp--, yyssp--)
+
+ YYSIZE_T yystacksize = YYINITDEPTH;
+
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
+ /* When reducing, the number of symbols on the RHS of the reduced
+ rule. */
+ int yylen;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yystate = 0;
+ yyerrstatus = 0;
+ yynerrs = 0;
+ yychar = YYEMPTY; /* Cause a token to be read. */
+
+ /* Initialize stack pointers.
+ Waste one element of value and location stack
+ so that they stay on the same level as the state stack.
+ The wasted elements are never initialized. */
+
+ yyssp = yyss;
+ yyvsp = yyvs;
+
+
+ yyvsp[0] = yylval;
+
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. so pushing a state here evens the stacks.
+ */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ short int *yyss1 = yyss;
+
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow ("parser stack overflow",
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyoverflowlab;
+# else
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyoverflowlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ short int *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyoverflowlab;
+ YYSTACK_RELOCATE (yyss);
+ YYSTACK_RELOCATE (yyvs);
+
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+ goto yybackup;
+
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
+
+/* Do appropriate processing given the current state. */
+/* Read a look-ahead token if we need one and don't already have one. */
+/* yyresume: */
+
+ /* First try to decide what to do without reference to look-ahead token. */
+
+ yyn = yypact[yystate];
+ if (yyn == YYPACT_NINF)
+ goto yydefault;
+
+ /* Not known => get a look-ahead token if don't already have one. */
+
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = YYLEX;
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+ YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+ }
+
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ /* Shift the look-ahead token. */
+ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+ /* Discard the token being shifted unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
+
+ *++yyvsp = yylval;
+
+
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ `$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+ case 2:
+#line 45 "plugins/catalogs/calculatorcatalog/parser.y"
+ { parsercontrol->result = (yyvsp[0].val); ;}
+ break;
+
+ case 3:
+#line 46 "plugins/catalogs/calculatorcatalog/parser.y"
+ { if (parsercontrol->assignments) parsercontrol->catalog->setVar((yyvsp[-2].id), (yyvsp[0].val)); ;}
+ break;
+
+ case 4:
+#line 49 "plugins/catalogs/calculatorcatalog/parser.y"
+ { (yyval.val) = (yyvsp[0].val); ;}
+ break;
+
+ case 5:
+#line 50 "plugins/catalogs/calculatorcatalog/parser.y"
+ { (yyval.val) = (yyvsp[-2].val) + (yyvsp[0].val); ;}
+ break;
+
+ case 6:
+#line 51 "plugins/catalogs/calculatorcatalog/parser.y"
+ { (yyval.val) = (yyvsp[-2].val) - (yyvsp[0].val); ;}
+ break;
+
+ case 7:
+#line 52 "plugins/catalogs/calculatorcatalog/parser.y"
+ { (yyval.val) = (yyvsp[-2].val) * (yyvsp[0].val); ;}
+ break;
+
+ case 8:
+#line 53 "plugins/catalogs/calculatorcatalog/parser.y"
+ { (yyval.val) = (yyvsp[-2].val) / (yyvsp[0].val); ;}
+ break;
+
+ case 9:
+#line 54 "plugins/catalogs/calculatorcatalog/parser.y"
+ { (yyval.val) = -(yyvsp[0].val); ;}
+ break;
+
+ case 10:
+#line 55 "plugins/catalogs/calculatorcatalog/parser.y"
+ { (yyval.val) = pow((yyvsp[-2].val), (yyvsp[0].val)); ;}
+ break;
+
+ case 11:
+#line 56 "plugins/catalogs/calculatorcatalog/parser.y"
+ { (yyval.val) = (yyvsp[-1].val); ;}
+ break;
+
+ case 12:
+#line 57 "plugins/catalogs/calculatorcatalog/parser.y"
+ { (yyval.val) = (*(yyvsp[-3].fptr))((yyvsp[-1].val)); ;}
+ break;
+
+ case 13:
+#line 58 "plugins/catalogs/calculatorcatalog/parser.y"
+ { if ((yyvsp[0].id) == -1) {yyerror(parsercontrol, "undeclared variable"); YYABORT;} (yyval.val) = parsercontrol->catalog->getVar((yyvsp[0].id)); ;}
+ break;
+
+
+ }
+
+/* Line 1037 of yacc.c. */
+#line 1098 "plugins/catalogs/calculatorcatalog/parser.cpp"
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+
+
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+
+ /* Now `shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+#if YYERROR_VERBOSE
+ yyn = yypact[yystate];
+
+ if (YYPACT_NINF < yyn && yyn < YYLAST)
+ {
+ YYSIZE_T yysize = 0;
+ int yytype = YYTRANSLATE (yychar);
+ const char* yyprefix;
+ char *yymsg;
+ int yyx;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 0;
+
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
+ yycount += 1;
+ if (yycount == 5)
+ {
+ yysize = 0;
+ break;
+ }
+ }
+ yysize += (sizeof ("syntax error, unexpected ")
+ + yystrlen (yytname[yytype]));
+ yymsg = (char *) YYSTACK_ALLOC (yysize);
+ if (yymsg != 0)
+ {
+ char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+ yyp = yystpcpy (yyp, yytname[yytype]);
+
+ if (yycount < 5)
+ {
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yyp = yystpcpy (yyp, yyprefix);
+ yyp = yystpcpy (yyp, yytname[yyx]);
+ yyprefix = " or ";
+ }
+ }
+ yyerror (parsercontrol, yymsg);
+ YYSTACK_FREE (yymsg);
+ }
+ else
+ yyerror (parsercontrol, "syntax error; also virtual memory exhausted");
+ }
+ else
+#endif /* YYERROR_VERBOSE */
+ yyerror (parsercontrol, "syntax error");
+ }
+
+
+
+ if (yyerrstatus == 3)
+ {
+ /* If just tried and failed to reuse look-ahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* If at end of input, pop the error token,
+ then the rest of the stack, then return failure. */
+ if (yychar == YYEOF)
+ for (;;)
+ {
+
+ YYPOPSTACK;
+ if (yyssp == yyss)
+ YYABORT;
+ yydestruct ("Error: popping",
+ yystos[*yyssp], yyvsp);
+ }
+ }
+ else
+ {
+ yydestruct ("Error: discarding", yytoken, &yylval);
+ yychar = YYEMPTY;
+ }
+ }
+
+ /* Else will try to reuse look-ahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+#ifdef __GNUC__
+ /* Pacify GCC when the user code never invokes YYERROR and the label
+ yyerrorlab therefore never appears in user code. */
+ if (0)
+ goto yyerrorlab;
+#endif
+
+yyvsp -= yylen;
+ yyssp -= yylen;
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (yyn != YYPACT_NINF)
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+
+ yydestruct ("Error: popping", yystos[yystate], yyvsp);
+ YYPOPSTACK;
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ *++yyvsp = yylval;
+
+
+ /* Shift the error token. */
+ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yydestruct ("Error: discarding lookahead",
+ yytoken, &yylval);
+ yychar = YYEMPTY;
+ yyresult = 1;
+ goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here. |
+`----------------------------------------------*/
+yyoverflowlab:
+ yyerror (parsercontrol, "parser stack overflow");
+ yyresult = 2;
+ /* Fall through. */
+#endif
+
+yyreturn:
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+ return yyresult;
+}
+
+
+#line 61 "plugins/catalogs/calculatorcatalog/parser.y"
+
+
+/* The lexical analyzer returns a double floating point
+number on the stack and the token NUM, or the numeric code
+of the character read if not a number. It skips all blanks
+and tabs, and returns 0 for end-of-input. */
+
+#include <ctype.h>
+#include <string.h>
+
+#define exp (parsercontrol->expression)
+
+static int yylex(YYSTYPE* lvalp, CalculatorCatalog::ParserControl* parsercontrol)
+{
+ int c;
+
+ /* Skip white space. */
+ while ((c = *(exp++)) == ' ') {
+ }
+ /* Return end-of-input. */
+ if (c == EOF) {
+ return 0;
+ }
+ /* Process numbers. */
+ if (c == '.' || isdigit(c)) {
+ char *endptr = 0;
+ lvalp->val = strtod(exp - 1, &endptr);
+ exp = endptr;
+ return NUM;
+ }
+ /* Process IDs. */
+ if (isalpha(c)) {
+ int length = 0;
+ char f[128];
+
+ --exp;
+ do {
+ f[length] = tolower(c);
+ ++length;
+ } while ((c = exp[length]) != 0 && isalpha(c));
+ f[length] = 0;
+
+ /* Process functions. */
+ const CalculatorCatalog::Function* const functions = parsercontrol->catalog->functionTable();
+ for (int i = 0; functions[i].name; ++i) {
+ if (length == functions[i].length && strcmp(f, functions[i].name) == 0) {
+ lvalp->fptr = functions[i].fptr;
+ exp += length;
+ return FUN;
+ }
+ }
+
+ /* Process variables. */
+ lvalp->id = parsercontrol->catalog->getVarID(f);
+ exp += length;
+ return VAR;
+ }
+ /* Return a single char. */
+ return c;
+}
+
+
diff --git a/katapult/plugins/catalogs/calculatorcatalog/parser.y b/katapult/plugins/catalogs/calculatorcatalog/parser.y
new file mode 100644
index 0000000..b614a70
--- /dev/null
+++ b/katapult/plugins/catalogs/calculatorcatalog/parser.y
@@ -0,0 +1,120 @@
+/* Author: Tobi Vollebregt */
+
+/* Infix notation calculator. */
+
+%{
+#define YYLEX_PARAM parsercontrol
+
+#include <math.h>
+#include <stdio.h>
+#include "calculatorcatalog.h"
+
+//void yyerror(char const *);
+#define yyerror(a,b)
+%}
+
+/* Be a reentrant parser. */
+%pure_parser
+
+%parse-param {CalculatorCatalog::ParserControl* parsercontrol}
+
+/* Bison declarations. */
+%union {
+ double val; /* For returning numbers. */
+ FunPtr fptr; /* For returning function pointers. */
+ int id; /* For returning variables. */
+}
+
+%token <val> NUM /* Simple double precision number. */
+%token <fptr> FUN /* Function. */
+%token <id> VAR /* Variable. */
+%type <val> exp
+
+%right '=' /* assignment */
+%left '-' '+'
+%left '*' '/'
+%left NEG /* negation--unary minus */
+%right '^' /* exponentiation */
+
+%{
+static int yylex(YYSTYPE* lvalp, CalculatorCatalog::ParserControl* parsercontrol);
+%}
+
+%% /* The grammar follows. */
+
+line: exp { parsercontrol->result = $1; }
+| VAR '=' exp { if (parsercontrol->assignments) parsercontrol->catalog->setVar($1, $3); }
+;
+
+exp: NUM { $$ = $1; }
+| exp '+' exp { $$ = $1 + $3; }
+| exp '-' exp { $$ = $1 - $3; }
+| exp '*' exp { $$ = $1 * $3; }
+| exp '/' exp { $$ = $1 / $3; }
+| '-' exp %prec NEG { $$ = -$2; }
+| exp '^' exp { $$ = pow($1, $3); }
+| '(' exp ')' { $$ = $2; }
+| FUN '(' exp ')' { $$ = (*$1)($3); }
+| VAR { if ($1 == -1) {yyerror(parsercontrol, "undeclared variable"); YYABORT;} $$ = parsercontrol->catalog->getVar($1); }
+;
+
+%%
+
+/* The lexical analyzer returns a double floating point
+number on the stack and the token NUM, or the numeric code
+of the character read if not a number. It skips all blanks
+and tabs, and returns 0 for end-of-input. */
+
+#include <ctype.h>
+#include <string.h>
+
+#define exp (parsercontrol->expression)
+
+static int yylex(YYSTYPE* lvalp, CalculatorCatalog::ParserControl* parsercontrol)
+{
+ int c;
+
+ /* Skip white space. */
+ while ((c = *(exp++)) == ' ') {
+ }
+ /* Return end-of-input. */
+ if (c == EOF) {
+ return 0;
+ }
+ /* Process numbers. */
+ if (c == '.' || isdigit(c)) {
+ char *endptr = 0;
+ lvalp->val = strtod(exp - 1, &endptr);
+ exp = endptr;
+ return NUM;
+ }
+ /* Process IDs. */
+ if (isalpha(c)) {
+ int length = 0;
+ char f[128];
+
+ --exp;
+ do {
+ f[length] = tolower(c);
+ ++length;
+ } while ((c = exp[length]) != 0 && isalpha(c));
+ f[length] = 0;
+
+ /* Process functions. */
+ const CalculatorCatalog::Function* const functions = parsercontrol->catalog->functionTable();
+ for (int i = 0; functions[i].name; ++i) {
+ if (length == functions[i].length && strcmp(f, functions[i].name) == 0) {
+ lvalp->fptr = functions[i].fptr;
+ exp += length;
+ return FUN;
+ }
+ }
+
+ /* Process variables. */
+ lvalp->id = parsercontrol->catalog->getVarID(f);
+ exp += length;
+ return VAR;
+ }
+ /* Return a single char. */
+ return c;
+}
diff --git a/katapult/plugins/catalogs/calculatorcatalog/settings.ui b/katapult/plugins/catalogs/calculatorcatalog/settings.ui
new file mode 100644
index 0000000..67c0faa
--- /dev/null
+++ b/katapult/plugins/catalogs/calculatorcatalog/settings.ui
@@ -0,0 +1,219 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>CalculatorCatalogSettings</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>CalculatorCatalogSettings</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>336</width>
+ <height>299</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Settings</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout13</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Number of fractional digits:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>fracDigits</cstring>
+ </property>
+ </widget>
+ <widget class="KIntSpinBox">
+ <property name="name">
+ <cstring>fracDigits</cstring>
+ </property>
+ <property name="maxValue">
+ <number>10</number>
+ </property>
+ <property name="minValue">
+ <number>0</number>
+ </property>
+ <property name="lineStep">
+ <number>1</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Katapult will show this number of fractional digits.</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout6</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QButtonGroup">
+ <property name="name">
+ <cstring>buttonGroup2</cstring>
+ </property>
+ <property name="title">
+ <string></string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>normal</cstring>
+ </property>
+ <property name="text">
+ <string>Normal</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>In normal mode, katapult will never show an exponent on a number.</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>scientific</cstring>
+ </property>
+ <property name="text">
+ <string>Scientific</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>In scientific mode, katapult will show an exponent on very large or very small numbers.</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="QButtonGroup">
+ <property name="name">
+ <cstring>buttonGroup3</cstring>
+ </property>
+ <property name="title">
+ <string></string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>radians</cstring>
+ </property>
+ <property name="text">
+ <string>Radians</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Trigonometric functions expect and return angles in radians (2 pi radians is a full circle).</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>degrees</cstring>
+ </property>
+ <property name="text">
+ <string>Degrees</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Trigonometric functions expect and return angles in degrees (360 degrees is a full circle).</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QButtonGroup">
+ <property name="name">
+ <cstring>clipboard</cstring>
+ </property>
+ <property name="title">
+ <string>Copy to clipboard on execute</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>katapult can copy the expression or the result of the expression to the clipboard if you press the key assigned to "execute action" (by default, this is Enter).</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout8</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel1_2</cstring>
+ </property>
+ <property name="text">
+ <string>Copied text:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>formatString</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit">
+ <property name="name">
+ <cstring>formatString</cstring>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel1_3</cstring>
+ </property>
+ <property name="text">
+ <string>&lt;i&gt;Hint:&lt;/i&gt; %1 is replaced by the expression, %2 is replaced by the result</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+</widget>
+<tabstops>
+ <tabstop>fracDigits</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>knuminput.h</includehint>
+</includehints>
+</UI>
diff --git a/katapult/plugins/catalogs/documentcatalog/Makefile.am b/katapult/plugins/catalogs/documentcatalog/Makefile.am
new file mode 100644
index 0000000..ddcad1a
--- /dev/null
+++ b/katapult/plugins/catalogs/documentcatalog/Makefile.am
@@ -0,0 +1,16 @@
+# set the include path for X, qt and KDE
+INCLUDES = -I$(top_srcdir)/katapult/common $(all_includes)
+
+# header files
+noinst_HEADERS = documentcatalog.h directory.h document.h actionopendocument.h
+
+# use automoc
+METASOURCES = AUTO
+
+# our plugin
+kde_module_LTLIBRARIES = katapult_documentcatalog.la
+katapult_documentcatalog_la_SOURCES = settings.ui documentcatalog.cpp \
+ directory.cpp document.cpp actionopendocument.cpp
+katapult_documentcatalog_la_LDFLAGS = -module $(KDE_RPATH) $(KDE_PLUGIN) $(all_libraries)
+katapult_documentcatalog_la_LIBADD = $(LIB_QT) $(LIB_KDECORE) $(LIB_KDEUI) $(LIB_KIO) $(top_builddir)/katapult/common/libkatapult.la
+kde_services_DATA = katapult_documentcatalog.desktop
diff --git a/katapult/plugins/catalogs/documentcatalog/actionopendocument.cpp b/katapult/plugins/catalogs/documentcatalog/actionopendocument.cpp
new file mode 100644
index 0000000..70f91a7
--- /dev/null
+++ b/katapult/plugins/catalogs/documentcatalog/actionopendocument.cpp
@@ -0,0 +1,58 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <krun.h>
+#include <klocale.h>
+
+#include "actionopendocument.h"
+#include "document.h"
+#include "directory.h"
+
+ActionOpenDocument::ActionOpenDocument()
+ : KatapultAction()
+{
+}
+
+bool ActionOpenDocument::accepts(const KatapultItem* item) const
+{
+ return strcmp(item->className(), "Document") == 0 || strcmp(item->className(), "Directory") == 0;
+}
+
+QPixmap ActionOpenDocument::icon(int size) const
+{
+ return KGlobal::iconLoader()->loadIcon("fileopen", KIcon::NoGroup, size);
+}
+
+QString ActionOpenDocument::text() const
+{
+ return i18n("Open");
+}
+
+void ActionOpenDocument::execute(const KatapultItem* item) const
+{
+ if(strcmp(item->className(), "Document") == 0 || strcmp(item->className(), "Directory") == 0) {
+ const Document *document = (const Document *) item;
+ qDebug("%s", QString("Running: %1").arg(document->path()).latin1());
+ new KRun(document->path());
+ }
+}
+
diff --git a/katapult/plugins/catalogs/documentcatalog/actionopendocument.h b/katapult/plugins/catalogs/documentcatalog/actionopendocument.h
new file mode 100644
index 0000000..c6a8bf7
--- /dev/null
+++ b/katapult/plugins/catalogs/documentcatalog/actionopendocument.h
@@ -0,0 +1,41 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef ACTIONOPENDOCUMENT_H
+#define ACTIONOPENDOCUMENT_H
+
+#include <katapultaction.h>
+
+/**
+@author Joe Ferris
+*/
+class ActionOpenDocument : public KatapultAction
+{
+
+public:
+ ActionOpenDocument();
+
+ virtual bool accepts(const KatapultItem*) const;
+ virtual QPixmap icon(int) const;
+ virtual QString text() const;
+ virtual void execute(const KatapultItem*) const;
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/documentcatalog/directory.cpp b/katapult/plugins/catalogs/documentcatalog/directory.cpp
new file mode 100644
index 0000000..3d3bc54
--- /dev/null
+++ b/katapult/plugins/catalogs/documentcatalog/directory.cpp
@@ -0,0 +1,36 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kglobal.h>
+#include <kiconloader.h>
+
+#include "directory.h"
+
+Directory::Directory(QString _path, QString _absPath)
+ : Document(_path, _absPath, false)
+{
+}
+
+QPixmap Directory::icon(int size) const
+{
+ return KGlobal::iconLoader()->loadIcon("folder", KIcon::NoGroup, size);
+}
+
+#include "directory.moc"
diff --git a/katapult/plugins/catalogs/documentcatalog/directory.h b/katapult/plugins/catalogs/documentcatalog/directory.h
new file mode 100644
index 0000000..2f37f20
--- /dev/null
+++ b/katapult/plugins/catalogs/documentcatalog/directory.h
@@ -0,0 +1,38 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef DIRECTORY_H
+#define DIRECTORY_H
+
+#include "document.h"
+
+/**
+@author Joe Ferris
+*/
+class Directory : public Document
+{
+Q_OBJECT
+public:
+ Directory(QString, QString);
+
+ virtual QPixmap icon(int) const;
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/documentcatalog/document.cpp b/katapult/plugins/catalogs/documentcatalog/document.cpp
new file mode 100644
index 0000000..96024cc
--- /dev/null
+++ b/katapult/plugins/catalogs/documentcatalog/document.cpp
@@ -0,0 +1,86 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <qfileinfo.h>
+#include <kmimetype.h>
+#include <kiconloader.h>
+#include <kio/previewjob.h>
+
+#include "document.h"
+
+Document::Document(QString _path, QString _absPath, bool _showPreview)
+ : KatapultItem()
+{
+ this->_path = _path;
+ this->_absPath = _absPath;
+ this->_gotpix = false;
+ this->_showPreview=_showPreview;
+
+ QFileInfo file(_absPath);
+ _name = file.fileName();
+}
+
+Document::~Document()
+{
+}
+
+QPixmap Document::icon(int size) const
+{
+ KURL u;
+ KIO::PreviewJob *doc;
+ u.setPath(_absPath);
+ if (this->_showPreview)
+ {
+
+ doc=KIO::filePreview(u,size);
+ connect(doc, SIGNAL(gotPreview(const KFileItem*, const QPixmap&)),
+ SLOT(gotPreview(const KFileItem*, const QPixmap&)));
+
+ if(this->_gotpix)return this->_pix;
+ return KMimeType::pixmapForURL(u,0, KIcon::NoGroup, size, KIcon::DefaultState, 0L);
+ }
+ else
+ {
+ return KMimeType::pixmapForURL(u,0, KIcon::NoGroup, size, KIcon::DefaultState, 0L);
+ }
+}
+
+void Document::gotPreview(const KFileItem *item, const QPixmap& pixmap )
+{
+ this->_pix = pixmap; this->_gotpix=true;
+ emit itemChanged();
+}
+
+QString Document::text() const
+{
+ return _path;
+}
+
+QString Document::path() const
+{
+ return _absPath;
+}
+
+QString Document::name() const
+{
+ return _name;
+}
+
+#include "document.moc"
diff --git a/katapult/plugins/catalogs/documentcatalog/document.h b/katapult/plugins/catalogs/documentcatalog/document.h
new file mode 100644
index 0000000..6d09d99
--- /dev/null
+++ b/katapult/plugins/catalogs/documentcatalog/document.h
@@ -0,0 +1,52 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef DOCUMENT_H
+#define DOCUMENT_H
+
+#include <katapultitem.h>
+#include <kfileitem.h>
+
+/**
+@author Joe Ferris
+*/
+class Document : public KatapultItem
+{
+ Q_OBJECT
+public:
+ Document(QString, QString, bool);
+ virtual ~Document();
+
+ virtual QPixmap icon(int) const;
+ virtual QString text() const;
+
+ QString path() const;
+ QString name() const;
+
+public slots:
+ void gotPreview(const KFileItem*,const QPixmap& );
+
+private:
+ QString _path, _absPath, _name;
+ QPixmap _pix;
+ bool _gotpix;
+ bool _showPreview;
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/documentcatalog/documentcatalog.cpp b/katapult/plugins/catalogs/documentcatalog/documentcatalog.cpp
new file mode 100644
index 0000000..883ac23
--- /dev/null
+++ b/katapult/plugins/catalogs/documentcatalog/documentcatalog.cpp
@@ -0,0 +1,229 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This document is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This document is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this document; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kservicegroup.h>
+#include <ksycocaentry.h>
+#include <ksycocatype.h>
+#include <kapplication.h>
+#include <knuminput.h>
+#include <kcombobox.h>
+
+#include <qcheckbox.h>
+
+#include <actionregistry.h>
+
+#include "settings.h"
+#include "documentcatalog.h"
+#include "document.h"
+#include "directory.h"
+#include "status.h"
+#include "match.h"
+#include "actionopendocument.h"
+
+K_EXPORT_COMPONENT_FACTORY( katapult_documentcatalog,
+ KGenericFactory<DocumentCatalog>( "katapult_documentcatalog" ) )
+
+DocumentCatalog::DocumentCatalog(QObject *, const char *, const QStringList&)
+ : KatapultCatalog()
+{
+ _minQueryLen = 1;
+ currentPath = "";
+ currentDirDoc = 0;
+ queryMatched = 0;
+ filesListed = FALSE;
+ files.setAutoDelete(TRUE);
+ ActionRegistry::self()->registerAction(new ActionOpenDocument());
+}
+
+DocumentCatalog::~DocumentCatalog()
+{
+}
+
+void DocumentCatalog::initialize()
+{
+ dir = QDir::home();
+ refreshFolders();
+ refreshFiles();
+}
+
+void DocumentCatalog::refreshFolders()
+{
+ folders.clear();
+ files.clear();
+ currentDirDoc = 0;
+ filesListed = FALSE;
+ QStringList folderNames = dir.entryList(QDir::Dirs);
+ for(QStringList::Iterator it = folderNames.begin(); it != folderNames.end(); ++it) {
+ QString dirname = *it;
+ if(!dirname.startsWith("."))
+ folders.append(dirname);
+ }
+}
+
+void DocumentCatalog::refreshFiles()
+{
+ const QFileInfoList *fileList = dir.entryInfoList();
+ Directory *item = new Directory(currentPath, dir.absPath());
+ currentDirDoc = item;
+ files.append(item);
+
+ for(QPtrListStdIterator<QFileInfo> it = fileList->begin(); it != fileList->end(); ++it) {
+ const QFileInfo *file = *it;
+ if(!file->fileName().startsWith(".")) {
+ if(file->isDir())
+ files.append(new Directory(currentPath+file->fileName(), file->absFilePath()));
+ else
+ files.append(new Document(currentPath+file->fileName(), file->absFilePath(), _showPreview));
+ }
+ }
+ filesListed = TRUE;
+}
+
+void DocumentCatalog::queryChanged()
+{
+ int newStatus = 0;
+ if(query() == "")
+ {
+ // reset query
+ dir = QDir::home();
+ currentPath = "";
+ queryMatched = 0;
+ refreshFolders();
+ } else {
+ if(query().length() >= minQueryLen())
+ {
+ QString path = query().lower().remove(0, queryMatched);
+
+ int index;
+ while((index = path.find('/')) != -1) {
+ QString folderQuery = path.left(index);
+ QString guess = QString::null;
+
+ for(QStringList::Iterator it = folders.begin(); it != folders.end(); ++it) {
+ QString folderName = *it;
+ if(folderName.lower().startsWith(folderQuery) && (guess.isNull() || folderName.length() < guess.length()))
+ guess = folderName;
+ }
+
+ if(guess == QString::null) {
+ path = QString::null;
+ break;
+ }
+
+ if(!dir.cd(guess)) {
+ path = QString::null;
+ break;
+ }
+ refreshFolders();
+
+ queryMatched += folderQuery.length() + 1;
+ currentPath += guess + "/";
+ path = path.remove(0, index+1);
+ }
+
+ Match newBestMatch;
+
+ if(path.isNull()) {
+ files.clear();
+ } else {
+ if(!filesListed) {
+ refreshFiles();
+ }
+ if(!path.isEmpty()) {
+ if(currentDirDoc != 0) {
+ files.removeRef(currentDirDoc);
+ currentDirDoc = 0;
+ }
+ QPtrListIterator<Document> it(files);
+ Document *document;
+ while((document = it.current()) != 0) {
+ ++it;
+ if(document->name().lower().startsWith(path)) {
+ int rank = 100*query().length()/document->text().length();
+ if(newBestMatch.isNull() || rank > newBestMatch.rank())
+ newBestMatch = Match(document, rank, currentPath.length() + path.length());
+ } else {
+ files.removeRef(document);
+ }
+ }
+ }
+ }
+
+ if(currentDirDoc != 0 && path.isEmpty())
+ newBestMatch = Match(currentDirDoc, 100, currentPath.length());
+
+ newStatus |= S_Active;
+ if(files.count() > 0)
+ {
+ newStatus |= S_HasResults;
+ if(files.count() > 1 || files.at(0)->className() == "Directory")
+ newStatus |= S_Multiple;
+ } else
+ newStatus |= S_NoResults;
+
+ setBestMatch(newBestMatch);
+ } else {
+ setBestMatch(Match());
+ }
+ }
+ setStatus(newStatus);
+}
+
+unsigned int DocumentCatalog::minQueryLen() const
+{
+ return _minQueryLen;
+}
+
+void DocumentCatalog::readSettings(KConfigBase *config)
+{
+ _minQueryLen = config->readUnsignedNumEntry("MinQueryLen", 1);
+ _showPreview = config->readBoolEntry("showPreview", FALSE);
+}
+
+void DocumentCatalog::writeSettings(KConfigBase *config)
+{
+ config->writeEntry("MinQueryLen", _minQueryLen);
+ config->writeEntry("showPreview", _showPreview);
+}
+
+QWidget * DocumentCatalog::configure()
+{
+ DocumentCatalogSettings *settings = new DocumentCatalogSettings();
+
+ settings->minQueryLen->setValue(_minQueryLen);
+ connect(settings->minQueryLen, SIGNAL(valueChanged(int)), this, SLOT(minQueryLenChanged(int)));
+
+ settings->showPreview->setChecked(_showPreview);
+ connect(settings->showPreview, SIGNAL(toggled(bool)), this, SLOT(toggleshowPreview(bool)));
+
+ return settings;
+}
+
+void DocumentCatalog::minQueryLenChanged(int _minQueryLen)
+{
+ this->_minQueryLen = _minQueryLen;
+}
+
+void DocumentCatalog::toggleshowPreview(bool _showPreview)
+{
+ this->_showPreview = _showPreview;
+
+}
+#include "documentcatalog.moc"
diff --git a/katapult/plugins/catalogs/documentcatalog/documentcatalog.h b/katapult/plugins/catalogs/documentcatalog/documentcatalog.h
new file mode 100644
index 0000000..e153729
--- /dev/null
+++ b/katapult/plugins/catalogs/documentcatalog/documentcatalog.h
@@ -0,0 +1,71 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This document is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This document is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this document; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef DOCUMENTCATALOG_H
+#define DOCUMENTCATALOG_H
+
+#include <kgenericfactory.h>
+
+#include <qstring.h>
+#include <qstringlist.h>
+#include <qptrlist.h>
+#include <qdir.h>
+
+#include "katapultcatalog.h"
+
+class QWidget;
+class Document;
+
+/**
+@author Joe Ferris
+*/
+class DocumentCatalog : public KatapultCatalog
+{
+ Q_OBJECT
+public:
+ DocumentCatalog(QObject *, const char *, const QStringList&);
+ virtual ~DocumentCatalog();
+
+ virtual void initialize();
+ virtual void queryChanged();
+ virtual void readSettings(KConfigBase *);
+ virtual void writeSettings(KConfigBase *);
+ virtual unsigned int minQueryLen() const;
+ virtual QWidget * configure();
+
+public slots:
+ void minQueryLenChanged(int);
+ void toggleshowPreview(bool);
+
+private:
+ void refreshFolders();
+ void refreshFiles();
+
+ QPtrList<Document> files;
+ Document *currentDirDoc;
+ QStringList folders;
+ QString currentPath;
+ QDir dir;
+ bool filesListed;
+ int _minQueryLen;
+ int queryMatched;
+ bool _showPreview;
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/documentcatalog/katapult_documentcatalog.desktop b/katapult/plugins/catalogs/documentcatalog/katapult_documentcatalog.desktop
new file mode 100644
index 0000000..451e52e
--- /dev/null
+++ b/katapult/plugins/catalogs/documentcatalog/katapult_documentcatalog.desktop
@@ -0,0 +1,44 @@
+[Desktop Entry]
+Name=Document Catalog
+Name[ar]=مستعرض المستندات ( Document Catalog)
+Name[bg]=Каталог с документи
+Name[br]=Katalog teul
+Name[da]=Katalogisér dokument
+Name[de]=Dokumenten-Katalog
+Name[el]=Κατάλογος εγγράφων
+Name[es]=Catalogador de documentos
+Name[et]=Dokumendikataloog
+Name[fr]=Catalogue des documents
+Name[ga]=Catalóg Cáipéisí
+Name[gl]=Catálogo de Documentos
+Name[it]=Catalogo documenti
+Name[ja]=ドキュメントカタログ
+Name[nb]=Dokumentkatalog
+Name[nl]=Documentcatalogus
+Name[pt]=Catálogo de Documentos
+Name[pt_BR]=Catálogo de Documentos
+Name[sv]=Katalogisera dokument
+Name[tr]=Belge Kataloğu
+Name[uk]=Каталог документів
+Comment=Catalogs your documents for easy launching through Katapult
+Comment[ar]=يستعرض مستنداتك كي تستطيع اقلاعها بسهولة عن طريق Katapult
+Comment[bg]=Каталогизира с Katapult документите с цел лесно стартиране
+Comment[da]=Katalogiserer dine dokumenter for nem start via Katapult
+Comment[de]=Katalogisiert Ihre Dokumente, um sie bequem mit Katapult aufzurufen
+Comment[el]=Δημιουργεί κατάλογο των εγγράφων σας για την εύκολη εκτέλεσή τους μέσω του Katapult
+Comment[es]=Cataloga sus documentos para iniciarlos con facilidad a través de Katapult
+Comment[et]=Kataloogib sinu dokumendid hõlpsaks käivitamiseks Katapultiga
+Comment[fr]=Cataloguer vos documents pour une ouverture facile via Katapult
+Comment[gl]=Cataloga os seus documentos para seren iniciados mediante Katapult
+Comment[it]=Cataloga i tuoi documenti per aprirli facilmente attraverso Katapult
+Comment[ja]=Katapult から簡単に開けるようにドキュメントをカタログ化
+Comment[nb]=Katalogiserer dine dokumenter for lett oppstart via Katapult
+Comment[nl]=Catalogiseert uw documenten voor eenvoudige opstart via Katapult
+Comment[pt]=Cataloga os seus documentos para lançá-los facilmente através do Katapult
+Comment[pt_BR]=Cataloga os seus documentos para lançá-los facilmente através do Katapult
+Comment[sv]=Katalogiserar dina dokument för enkel start via Katapult
+Comment[uk]=Робить каталог документів для простого запуску через Катапульту
+ServiceTypes=Katapult/Catalog
+Type=Service
+X-KDE-Library=katapult_documentcatalog
+X-Katapult-ID=Document Catalog
diff --git a/katapult/plugins/catalogs/documentcatalog/settings.ui b/katapult/plugins/catalogs/documentcatalog/settings.ui
new file mode 100644
index 0000000..9f11cb9
--- /dev/null
+++ b/katapult/plugins/catalogs/documentcatalog/settings.ui
@@ -0,0 +1,82 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>DocumentCatalogSettings</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>DocumentCatalogSettings</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>376</width>
+ <height>519</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Settings</string>
+ </property>
+ <vbox>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout1</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Number of characters before searching:</string>
+ </property>
+ </widget>
+ <widget class="KIntSpinBox">
+ <property name="name">
+ <cstring>minQueryLen</cstring>
+ </property>
+ <property name="maxValue">
+ <number>10</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Katapult will not search for programs until you have typed at least this many characters in the Katapult launcher.</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>showPreview</cstring>
+ </property>
+ <property name="text">
+ <string>Show Preview for Documents?</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>410</height>
+ </size>
+ </property>
+ </spacer>
+</vbox>
+</widget>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>knuminput.h</includehint>
+</includehints>
+</UI>
diff --git a/katapult/plugins/catalogs/execcatalog/Makefile.am b/katapult/plugins/catalogs/execcatalog/Makefile.am
new file mode 100644
index 0000000..ffc4753
--- /dev/null
+++ b/katapult/plugins/catalogs/execcatalog/Makefile.am
@@ -0,0 +1,20 @@
+# Copyright (C) 2007 Martin Meredith
+# Copyright (C) 2006 Jonathan Riddell
+
+# set the include path for X, qt and KDE
+INCLUDES = -I$(top_srcdir)/katapult/common $(all_includes)
+
+# header files
+noinst_HEADERS = actionrun.h execcatalog.h command.h
+
+# use automoc
+METASOURCES = AUTO
+
+KDE_ICON = AUTO
+
+# our plugin
+kde_module_LTLIBRARIES = katapult_execcatalog.la
+katapult_execcatalog_la_SOURCES = settings.ui execcatalog.cpp command.cpp actionrun.cpp
+katapult_execcatalog_la_LDFLAGS = -module $(KDE_RPATH) $(KDE_PLUGIN) $(all_libraries)
+katapult_execcatalog_la_LIBADD = $(LIB_QT) $(LIB_KDECORE) $(LIB_KDEUI) $(LIB_KIO) $(top_builddir)/katapult/common/libkatapult.la
+kde_services_DATA = katapult_execcatalog.desktop
diff --git a/katapult/plugins/catalogs/execcatalog/actionrun.cpp b/katapult/plugins/catalogs/execcatalog/actionrun.cpp
new file mode 100644
index 0000000..a1e5e7b
--- /dev/null
+++ b/katapult/plugins/catalogs/execcatalog/actionrun.cpp
@@ -0,0 +1,75 @@
+/***************************************************************************
+ * Copyright (C) 2007 Martin Meredith *
+ * mez@ubuntu.com *
+ * *
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kapplication.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <klocale.h>
+#include <krun.h>
+
+#include "execcatalog.h"
+#include "command.h"
+#include "katapultitem.h"
+#include "actionrun.h"
+
+ActionRun::ActionRun()
+ : KatapultAction(), _command(0)
+{
+}
+
+ActionRun::~ActionRun()
+{
+}
+
+QString ActionRun::text() const
+{
+ return i18n("Execute");
+}
+
+QPixmap ActionRun::icon(int size) const
+{
+ return KGlobal::iconLoader()->loadIcon("exec", KIcon::NoGroup, size);
+}
+
+bool ActionRun::accepts(const KatapultItem* item) const
+{
+ bool accept = strcmp(item->className(), "Command") == 0;
+ if (accept) {
+ _command = (const Command*)item;
+ }
+ return accept;
+}
+
+void ActionRun::execute(const KatapultItem* item) const
+{
+ if (strcmp(item->className(), "Command") == 0) {
+ _command = (const Command*)item;
+
+ KRun::runCommand(_command->text().mid(_command->catalog()->triggerWordLength() + 1));
+
+
+ }
+}
diff --git a/katapult/plugins/catalogs/execcatalog/actionrun.h b/katapult/plugins/catalogs/execcatalog/actionrun.h
new file mode 100644
index 0000000..d81f103
--- /dev/null
+++ b/katapult/plugins/catalogs/execcatalog/actionrun.h
@@ -0,0 +1,51 @@
+/***************************************************************************
+ * Copyright (C) 2007 Martin Meredith *
+ * mez@ubuntu.com *
+ * *
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef ACTIONRUN_H
+#define ACTIONRUN_H
+
+#include "katapultaction.h"
+
+class KatapultItem;
+class Command;
+
+class ActionRun : public KatapultAction
+{
+ public:
+ ActionRun();
+ ~ActionRun();
+
+ virtual void execute(const KatapultItem*) const;
+ virtual bool accepts(const KatapultItem*) const;
+ virtual QString text() const;
+ virtual QPixmap icon(int) const;
+
+ private:
+ //_expr needs to be mutable because accepts() is const.
+ mutable const Command* _command;
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/execcatalog/command.cpp b/katapult/plugins/catalogs/execcatalog/command.cpp
new file mode 100644
index 0000000..0057bf8
--- /dev/null
+++ b/katapult/plugins/catalogs/execcatalog/command.cpp
@@ -0,0 +1,66 @@
+/***************************************************************************
+ * Copyright (C) 2007 Martin Meredith *
+ * mez@ubuntu.com *
+ * *
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kservice.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <kapplication.h>
+
+#include <qclipboard.h>
+
+#include "execcatalog.h"
+#include "command.h"
+
+
+Command::Command(ExecCatalog* catalog, const QString& text): KatapultItem(), _catalog(catalog), _text(text)
+{
+}
+
+Command::~Command() {
+}
+
+QPixmap Command::icon(int size) const
+{
+ return KGlobal::iconLoader()->loadIcon("konsole", KIcon::NoGroup, size);
+}
+
+QString Command::text() const
+{
+ return _text;
+}
+
+void Command::setText(const QString& text)
+{
+ _text = text;
+}
+
+ExecCatalog* Command::catalog() const
+{
+ return _catalog;
+}
+
+
+#include "command.moc"
diff --git a/katapult/plugins/catalogs/execcatalog/command.h b/katapult/plugins/catalogs/execcatalog/command.h
new file mode 100644
index 0000000..7e649bf
--- /dev/null
+++ b/katapult/plugins/catalogs/execcatalog/command.h
@@ -0,0 +1,59 @@
+/***************************************************************************
+ * Copyright (C) 2007 Martin Meredith *
+ * mez@ubuntu.com *
+ * *
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef COMMAND_H
+#define COMMAND_H
+
+#include <kspell.h>
+
+#include <katapultitem.h>
+
+class ExecCatalog;
+
+/**
+@author Tobi Vollebregt
+*/
+class Command : public KatapultItem
+{
+ Q_OBJECT
+ public:
+ Command(ExecCatalog*, const QString&);
+ ~Command();
+
+ virtual QPixmap icon(int) const;
+ virtual QString text() const;
+
+ void setText(const QString&);
+
+ ExecCatalog* catalog() const;
+
+ private:
+ ExecCatalog* const _catalog;
+ QString _text;
+
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/execcatalog/execcatalog.cpp b/katapult/plugins/catalogs/execcatalog/execcatalog.cpp
new file mode 100644
index 0000000..177df77
--- /dev/null
+++ b/katapult/plugins/catalogs/execcatalog/execcatalog.cpp
@@ -0,0 +1,122 @@
+/***************************************************************************
+ * Copyright (C) 2007 Martin Meredith *
+ * mez@ubuntu.com *
+ * *
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kservicegroup.h>
+#include <ksycocaentry.h>
+#include <ksycocatype.h>
+#include <kapplication.h>
+
+#include <qlineedit.h>
+#include <qlabel.h>
+
+#include "settings.h"
+#include "execcatalog.h"
+#include "actionregistry.h"
+#include "actionrun.h"
+#include "status.h"
+
+K_EXPORT_COMPONENT_FACTORY( katapult_execcatalog,
+ KGenericFactory<ExecCatalog>( "katapult_execcatalog" ) )
+
+ExecCatalog::ExecCatalog(QObject*, const char*, const QStringList&): _result(this, QString::null)
+{
+ ActionRegistry::self()->registerAction(new ActionRun());
+}
+
+ExecCatalog::~ExecCatalog()
+{
+}
+
+void ExecCatalog::queryChanged()
+{
+ int newStatus = 0;
+ QString cmd = query();
+ int origLength = cmd.length();
+
+ if (cmd.isEmpty()) {
+ reset();
+ setBestMatch(Match());
+ } else {
+ if (accepts(cmd)) {
+ _result.setText(cmd);
+
+ setBestMatch(Match(&_result, 100, origLength));
+ //set status.
+ //add S_Multiple to make sure katapult doesn't auto-exec and close the window
+ //add S_Active to make sure katapult doesn't start the hideTimer or clearTimer
+ newStatus = S_HasResults | S_Multiple | S_Active;
+ } else {
+ newStatus = 0;
+ }
+ }
+ setStatus(newStatus);
+}
+
+bool ExecCatalog::accepts(const QString& str) const
+{
+ //accept if we begin with the triggerWord
+ int length = _triggerWord.length();
+ return str.left(length + 1) == _triggerWord + " ";
+}
+
+void ExecCatalog::readSettings(KConfigBase* config)
+{
+ _triggerWord = config->readEntry("TriggerWord", i18n("Should be short, easy and quick to type", "exec"));
+}
+
+void ExecCatalog::writeSettings(KConfigBase* config)
+{
+ config->writeEntry("TriggerWord", _triggerWord);
+}
+
+QWidget * ExecCatalog::configure()
+{
+ ExecCatalogSettings* settings = new ExecCatalogSettings();
+
+ settings->triggerWordLE->setText(_triggerWord);
+ connect(settings->triggerWordLE, SIGNAL(textChanged(const QString&)), this, SLOT(triggerWordChanged(const QString&)));
+
+ settings->introLabel->setText(i18n("Use with \"%1 exec query\"").arg(_triggerWord));
+
+ return settings;
+}
+
+void ExecCatalog::triggerWordChanged(const QString& triggerWord)
+{
+ _triggerWord = QString(triggerWord);
+}
+
+int ExecCatalog::triggerWordLength()
+{
+ return _triggerWord.length();
+}
+
+void ExecCatalog::reset()
+{
+ _result.setText(QString::null);
+}
+
+#include "execcatalog.moc"
diff --git a/katapult/plugins/catalogs/execcatalog/execcatalog.h b/katapult/plugins/catalogs/execcatalog/execcatalog.h
new file mode 100644
index 0000000..df550ee
--- /dev/null
+++ b/katapult/plugins/catalogs/execcatalog/execcatalog.h
@@ -0,0 +1,76 @@
+/***************************************************************************
+ * Copyright (C) 2007 Martin Meredith *
+ * mez@ubuntu.com *
+ * *
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 Tobi Vollebregt *
+ * tobivollebregt@gmail.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef EXECCATALOG_H
+#define EXECCATALOG_H
+
+#include <kgenericfactory.h>
+
+#include <qstring.h>
+
+#include "command.h"
+#include "katapultcatalog.h"
+
+class QWidget;
+
+/**
+@author Jonathan Riddell
+ */
+class ExecCatalog : public KatapultCatalog
+{
+ Q_OBJECT
+
+ public:
+
+ ExecCatalog(QObject*, const char*, const QStringList&);
+ virtual ~ExecCatalog();
+
+ virtual void readSettings(KConfigBase*);
+ virtual void writeSettings(KConfigBase*);
+ virtual QWidget* configure();
+ int triggerWordLength();
+
+ protected:
+
+ virtual void queryChanged();
+
+ private:
+ bool accepts(const QString&) const;
+
+ QString _triggerWord;
+
+ Command _result; // The one result (there's always one).
+
+ void reset();
+
+ protected slots:
+ void triggerWordChanged(const QString& triggerWord);
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/execcatalog/katapult_execcatalog.desktop b/katapult/plugins/catalogs/execcatalog/katapult_execcatalog.desktop
new file mode 100644
index 0000000..d1fbe93
--- /dev/null
+++ b/katapult/plugins/catalogs/execcatalog/katapult_execcatalog.desktop
@@ -0,0 +1,8 @@
+# Copyright (C) 2007 Martin Meredith
+[Desktop Entry]
+Name=Execution Catalog
+Comment=Execute commands
+ServiceTypes=Katapult/Catalog
+Type=Service
+X-KDE-Library=katapult_execcatalog
+X-Katapult-ID=Execution Catalog
diff --git a/katapult/plugins/catalogs/execcatalog/settings.ui b/katapult/plugins/catalogs/execcatalog/settings.ui
new file mode 100644
index 0000000..6186013
--- /dev/null
+++ b/katapult/plugins/catalogs/execcatalog/settings.ui
@@ -0,0 +1,65 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>ExecCatalogSettings</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>ExecCatalogSettings</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>356</width>
+ <height>265</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Settings</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>triggerWordLE</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>triggerWordLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Trigger Word:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>introLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Use with: "run command"</string>
+ </property>
+ </widget>
+ <spacer row="2" column="1">
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>150</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+</widget>
+<tabstops>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/katapult/plugins/catalogs/googlecatalog/Makefile.am b/katapult/plugins/catalogs/googlecatalog/Makefile.am
new file mode 100644
index 0000000..a632da7
--- /dev/null
+++ b/katapult/plugins/catalogs/googlecatalog/Makefile.am
@@ -0,0 +1,20 @@
+# Copyright (C) 2007 Martin Meredith
+# Copyright (C) 2006 Jonathan Riddell
+
+# set the include path for X, qt and KDE
+INCLUDES = -I$(top_srcdir)/katapult/common $(all_includes)
+
+# header files
+noinst_HEADERS = actionsearch.h googlecatalog.h query.h
+
+# use automoc
+METASOURCES = AUTO
+
+KDE_ICON = AUTO
+
+# our plugin
+kde_module_LTLIBRARIES = katapult_googlecatalog.la
+katapult_googlecatalog_la_SOURCES = settings.ui googlecatalog.cpp query.cpp actionsearch.cpp
+katapult_googlecatalog_la_LDFLAGS = -module $(KDE_RPATH) $(KDE_PLUGIN) $(all_libraries)
+katapult_googlecatalog_la_LIBADD = $(LIB_QT) $(LIB_KDECORE) $(LIB_KDEUI) $(LIB_KIO) $(top_builddir)/katapult/common/libkatapult.la
+kde_services_DATA = katapult_googlecatalog.desktop
diff --git a/katapult/plugins/catalogs/googlecatalog/actionsearch.cpp b/katapult/plugins/catalogs/googlecatalog/actionsearch.cpp
new file mode 100644
index 0000000..b9af97e
--- /dev/null
+++ b/katapult/plugins/catalogs/googlecatalog/actionsearch.cpp
@@ -0,0 +1,83 @@
+/***************************************************************************
+ * Copyright (C) 2007 Martin Meredith *
+ * mez@ubuntu.com *
+ * *
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kapplication.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <klocale.h>
+#include <kurl.h>
+#include <krun.h>
+
+#include "googlecatalog.h"
+#include "query.h"
+#include "katapultitem.h"
+#include "actionsearch.h"
+
+ActionSearch::ActionSearch()
+ : KatapultAction(), _searchquery(0)
+{
+}
+
+ActionSearch::~ActionSearch()
+{
+}
+
+QString ActionSearch::text() const
+{
+ return i18n("Search Google");
+}
+
+QPixmap ActionSearch::icon(int size) const
+{
+ return KGlobal::iconLoader()->loadIcon("viewmag", KIcon::NoGroup, size);
+}
+
+bool ActionSearch::accepts(const KatapultItem* item) const
+{
+ bool accept = strcmp(item->className(), "SearchQuery") == 0;
+ if (accept) {
+ _searchquery = (const SearchQuery*)item;
+ }
+ return accept;
+}
+
+void ActionSearch::execute(const KatapultItem* item) const
+{
+ if (strcmp(item->className(), "SearchQuery") == 0) {
+ _searchquery = (const SearchQuery*)item;
+
+ KURL _gotourl;
+ _gotourl.setProtocol("http");
+ _gotourl.setHost("www.google.com");
+ _gotourl.setPath("/search");
+ _gotourl.addQueryItem("q", _searchquery->text().mid(_searchquery->catalog()->triggerWordLength() + 1));
+ _gotourl.addQueryItem("ie", "UTF-8");
+ _gotourl.addQueryItem("oe", "UTF-8");
+ new KRun(_gotourl);
+
+
+ }
+}
diff --git a/katapult/plugins/catalogs/googlecatalog/actionsearch.h b/katapult/plugins/catalogs/googlecatalog/actionsearch.h
new file mode 100644
index 0000000..c35b394
--- /dev/null
+++ b/katapult/plugins/catalogs/googlecatalog/actionsearch.h
@@ -0,0 +1,51 @@
+/***************************************************************************
+ * Copyright (C) 2007 Martin Meredith *
+ * mez@ubuntu.com *
+ * *
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef ACTIONSEARCH_H
+#define ACTIONSEARCH_H
+
+#include "katapultaction.h"
+
+class KatapultItem;
+class SearchQuery;
+
+class ActionSearch : public KatapultAction
+{
+ public:
+ ActionSearch();
+ ~ActionSearch();
+
+ virtual void execute(const KatapultItem*) const;
+ virtual bool accepts(const KatapultItem*) const;
+ virtual QString text() const;
+ virtual QPixmap icon(int) const;
+
+ private:
+ //_expr needs to be mutable because accepts() is const.
+ mutable const SearchQuery* _searchquery;
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/googlecatalog/googlecatalog.cpp b/katapult/plugins/catalogs/googlecatalog/googlecatalog.cpp
new file mode 100644
index 0000000..a180a30
--- /dev/null
+++ b/katapult/plugins/catalogs/googlecatalog/googlecatalog.cpp
@@ -0,0 +1,122 @@
+/***************************************************************************
+ * Copyright (C) 2007 Martin Meredith *
+ * mez@ubuntu.com *
+ * *
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kservicegroup.h>
+#include <ksycocaentry.h>
+#include <ksycocatype.h>
+#include <kapplication.h>
+
+#include <qlineedit.h>
+#include <qlabel.h>
+
+#include "settings.h"
+#include "googlecatalog.h"
+#include "actionregistry.h"
+#include "actionsearch.h"
+#include "status.h"
+
+K_EXPORT_COMPONENT_FACTORY( katapult_googlecatalog,
+ KGenericFactory<GoogleCatalog>( "katapult_googlecatalog" ) )
+
+GoogleCatalog::GoogleCatalog(QObject*, const char*, const QStringList&): _result(this, QString::null)
+{
+ ActionRegistry::self()->registerAction(new ActionSearch());
+}
+
+GoogleCatalog::~GoogleCatalog()
+{
+}
+
+void GoogleCatalog::queryChanged()
+{
+ int newStatus = 0;
+ QString cmd = query();
+ int origLength = cmd.length();
+
+ if (cmd.isEmpty()) {
+ reset();
+ setBestMatch(Match());
+ } else {
+ if (accepts(cmd)) {
+ _result.setText(cmd);
+
+ setBestMatch(Match(&_result, 100, origLength));
+ //set status.
+ //add S_Multiple to make sure katapult doesn't auto-exec and close the window
+ //add S_Active to make sure katapult doesn't start the hideTimer or clearTimer
+ newStatus = S_HasResults | S_Multiple | S_Active;
+ } else {
+ newStatus = 0;
+ }
+ }
+ setStatus(newStatus);
+}
+
+bool GoogleCatalog::accepts(const QString& str) const
+{
+ //accept if we begin with the triggerWord
+ int length = _triggerWord.length();
+ return str.left(length + 1) == _triggerWord + " ";
+}
+
+void GoogleCatalog::readSettings(KConfigBase* config)
+{
+ _triggerWord = config->readEntry("TriggerWord", i18n("Should be short, easy and quick to type", "google"));
+}
+
+void GoogleCatalog::writeSettings(KConfigBase* config)
+{
+ config->writeEntry("TriggerWord", _triggerWord);
+}
+
+QWidget * GoogleCatalog::configure()
+{
+ GoogleCatalogSettings* settings = new GoogleCatalogSettings();
+
+ settings->triggerWordLE->setText(_triggerWord);
+ connect(settings->triggerWordLE, SIGNAL(textChanged(const QString&)), this, SLOT(triggerWordChanged(const QString&)));
+
+ settings->introLabel->setText(i18n("Use with \"%1 search query\"").arg(_triggerWord));
+
+ return settings;
+}
+
+void GoogleCatalog::triggerWordChanged(const QString& triggerWord)
+{
+ _triggerWord = QString(triggerWord);
+}
+
+int GoogleCatalog::triggerWordLength()
+{
+ return _triggerWord.length();
+}
+
+void GoogleCatalog::reset()
+{
+ _result.setText(QString::null);
+}
+
+#include "googlecatalog.moc"
diff --git a/katapult/plugins/catalogs/googlecatalog/googlecatalog.h b/katapult/plugins/catalogs/googlecatalog/googlecatalog.h
new file mode 100644
index 0000000..3dfd342
--- /dev/null
+++ b/katapult/plugins/catalogs/googlecatalog/googlecatalog.h
@@ -0,0 +1,76 @@
+/***************************************************************************
+ * Copyright (C) 2007 Martin Meredith *
+ * mez@ubuntu.com *
+ * *
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 Tobi Vollebregt *
+ * tobivollebregt@gmail.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef GOOGLECATALOG_H
+#define GOOGLECATALOG_H
+
+#include <kgenericfactory.h>
+
+#include <qstring.h>
+
+#include "query.h"
+#include "katapultcatalog.h"
+
+class QWidget;
+
+/**
+@author Jonathan Riddell
+ */
+class GoogleCatalog : public KatapultCatalog
+{
+ Q_OBJECT
+
+ public:
+
+ GoogleCatalog(QObject*, const char*, const QStringList&);
+ virtual ~GoogleCatalog();
+
+ virtual void readSettings(KConfigBase*);
+ virtual void writeSettings(KConfigBase*);
+ virtual QWidget* configure();
+ int triggerWordLength();
+
+ protected:
+
+ virtual void queryChanged();
+
+ private:
+ bool accepts(const QString&) const;
+
+ QString _triggerWord;
+
+ SearchQuery _result; // The one result (there's always one).
+
+ void reset();
+
+ protected slots:
+ void triggerWordChanged(const QString& triggerWord);
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/googlecatalog/katapult_googlecatalog.desktop b/katapult/plugins/catalogs/googlecatalog/katapult_googlecatalog.desktop
new file mode 100644
index 0000000..d7cc211
--- /dev/null
+++ b/katapult/plugins/catalogs/googlecatalog/katapult_googlecatalog.desktop
@@ -0,0 +1,8 @@
+# Copyright (C) 2007 Martin Meredith
+[Desktop Entry]
+Name=Google Catalog
+Comment=Search Google
+ServiceTypes=Katapult/Catalog
+Type=Service
+X-KDE-Library=katapult_googlecatalog
+X-Katapult-ID=Google Catalog
diff --git a/katapult/plugins/catalogs/googlecatalog/query.cpp b/katapult/plugins/catalogs/googlecatalog/query.cpp
new file mode 100644
index 0000000..c97f00e
--- /dev/null
+++ b/katapult/plugins/catalogs/googlecatalog/query.cpp
@@ -0,0 +1,66 @@
+/***************************************************************************
+ * Copyright (C) 2007 Martin Meredith *
+ * mez@ubuntu.com *
+ * *
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kservice.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <kapplication.h>
+
+#include <qclipboard.h>
+
+#include "googlecatalog.h"
+#include "query.h"
+
+
+SearchQuery::SearchQuery(GoogleCatalog* catalog, const QString& text): KatapultItem(), _catalog(catalog), _text(text)
+{
+}
+
+SearchQuery::~SearchQuery() {
+}
+
+QPixmap SearchQuery::icon(int size) const
+{
+ return KGlobal::iconLoader()->loadIcon("help", KIcon::NoGroup, size);
+}
+
+QString SearchQuery::text() const
+{
+ return _text;
+}
+
+void SearchQuery::setText(const QString& text)
+{
+ _text = text;
+}
+
+GoogleCatalog* SearchQuery::catalog() const
+{
+ return _catalog;
+}
+
+
+#include "query.moc"
diff --git a/katapult/plugins/catalogs/googlecatalog/query.h b/katapult/plugins/catalogs/googlecatalog/query.h
new file mode 100644
index 0000000..6759f13
--- /dev/null
+++ b/katapult/plugins/catalogs/googlecatalog/query.h
@@ -0,0 +1,59 @@
+/***************************************************************************
+ * Copyright (C) 2007 Martin Meredith *
+ * mez@ubuntu.com *
+ * *
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef QUERY_H
+#define QUERY_H
+
+#include <kspell.h>
+
+#include <katapultitem.h>
+
+class GoogleCatalog;
+
+/**
+@author Tobi Vollebregt
+*/
+class SearchQuery : public KatapultItem
+{
+ Q_OBJECT
+ public:
+ SearchQuery(GoogleCatalog*, const QString&);
+ ~SearchQuery();
+
+ virtual QPixmap icon(int) const;
+ virtual QString text() const;
+
+ void setText(const QString&);
+
+ GoogleCatalog* catalog() const;
+
+ private:
+ GoogleCatalog* const _catalog;
+ QString _text;
+
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/googlecatalog/settings.ui b/katapult/plugins/catalogs/googlecatalog/settings.ui
new file mode 100644
index 0000000..5549c3b
--- /dev/null
+++ b/katapult/plugins/catalogs/googlecatalog/settings.ui
@@ -0,0 +1,65 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>GoogleCatalogSettings</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>GoogleCatalogSettings</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>356</width>
+ <height>265</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Settings</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>triggerWordLE</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>triggerWordLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Trigger Word:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>introLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Use with: "google Search Query"</string>
+ </property>
+ </widget>
+ <spacer row="2" column="1">
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>150</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+</widget>
+<tabstops>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/katapult/plugins/catalogs/programcatalog/Makefile.am b/katapult/plugins/catalogs/programcatalog/Makefile.am
new file mode 100644
index 0000000..1e0fdf6
--- /dev/null
+++ b/katapult/plugins/catalogs/programcatalog/Makefile.am
@@ -0,0 +1,15 @@
+# set the include path for X, qt and KDE
+INCLUDES = -I$(top_srcdir)/katapult/common $(all_includes)
+
+# header files
+noinst_HEADERS = programcatalog.h program.h actionrunprogram.h
+
+# our plugin
+kde_module_LTLIBRARIES = katapult_programcatalog.la
+katapult_programcatalog_la_SOURCES = settings.ui programcatalog.cpp program.cpp actionrunprogram.cpp
+katapult_programcatalog_la_LDFLAGS = -module $(KDE_RPATH) $(KDE_PLUGIN) $(all_libraries)
+katapult_programcatalog_la_LIBADD = $(LIB_QT) $(LIB_KDECORE) $(LIB_KDEUI) $(LIB_KIO) $(top_builddir)/katapult/common/libkatapult.la
+kde_services_DATA = katapult_programcatalog.desktop
+
+# use automoc
+METASOURCES = AUTO
diff --git a/katapult/plugins/catalogs/programcatalog/actionrunprogram.cpp b/katapult/plugins/catalogs/programcatalog/actionrunprogram.cpp
new file mode 100644
index 0000000..97ca084
--- /dev/null
+++ b/katapult/plugins/catalogs/programcatalog/actionrunprogram.cpp
@@ -0,0 +1,65 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <krun.h>
+#include <kurl.h>
+#include <klocale.h>
+
+#include "program.h"
+#include "katapultitem.h"
+#include "actionrunprogram.h"
+
+ActionRunProgram::ActionRunProgram()
+ : KatapultAction()
+{
+}
+
+
+ActionRunProgram::~ActionRunProgram()
+{
+}
+
+QString ActionRunProgram::text() const
+{
+ return i18n("Run Program");
+}
+
+QPixmap ActionRunProgram::icon(int size) const
+{
+ return KGlobal::iconLoader()->loadIcon("exec", KIcon::NoGroup, size);
+}
+
+void ActionRunProgram::execute(const KatapultItem *item) const
+{
+ if(strcmp(item->className(), "Program") == 0) {
+ const Program *program = (const Program *) item;
+ KService *service = program->service();
+ if(service != 0)
+ KRun::run(*service, KURL::List());
+ //TODO: report error running program
+ }
+}
+
+bool ActionRunProgram::accepts(const KatapultItem *item) const
+{
+ return strcmp(item->className(), "Program") == 0;
+}
diff --git a/katapult/plugins/catalogs/programcatalog/actionrunprogram.h b/katapult/plugins/catalogs/programcatalog/actionrunprogram.h
new file mode 100644
index 0000000..1ee2e30
--- /dev/null
+++ b/katapult/plugins/catalogs/programcatalog/actionrunprogram.h
@@ -0,0 +1,44 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef ACTIONRUNPROGRAM_H
+#define ACTIONRUNPROGRAM_H
+
+#include "katapultaction.h"
+
+class KatapultItem;
+
+/**
+@author Joe Ferris
+*/
+class ActionRunProgram : public KatapultAction
+{
+
+public:
+ ActionRunProgram();
+ ~ActionRunProgram();
+
+ virtual void execute(const KatapultItem *) const;
+ virtual bool accepts(const KatapultItem *) const;
+ virtual QString text() const;
+ virtual QPixmap icon(int) const;
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/programcatalog/katapult_programcatalog.desktop b/katapult/plugins/catalogs/programcatalog/katapult_programcatalog.desktop
new file mode 100644
index 0000000..cf45514
--- /dev/null
+++ b/katapult/plugins/catalogs/programcatalog/katapult_programcatalog.desktop
@@ -0,0 +1,43 @@
+[Desktop Entry]
+Name=Program Catalog
+Name[ar]=مستعرض البرامج ( Program Catalog )
+Name[bg]=Каталог с програми
+Name[br]=Katalog program
+Name[da]=Katalogisér program
+Name[de]=Programm-Katalog
+Name[el]=Κατάλογος προγραμμάτων
+Name[es]=Catalogador de programas
+Name[et]=Programmikataloog
+Name[fr]=Catalogue des programmes
+Name[gl]=Catálogo de Programas
+Name[it]=Catalogo programmi
+Name[ja]=プログラムカタログ
+Name[nb]=Programkatalog
+Name[nl]=Programmacatalogus
+Name[pt]=Catálogo do Programa
+Name[pt_BR]=Catálogo de Programa
+Name[sv]=Katalogisera program
+Name[tr]=Program Kataloğu
+Name[uk]=Каталог програм
+Comment=Catalogs your KDE programs for easy launching through Katapult
+Comment[ar]=يستعرض برامجك كي دي أي ( KDE ) كي تستطيع اقلاعها بسهولة مستخدما Katapult
+Comment[bg]=Каталогизира с Katapult програмите в KDE за лесно стартиране
+Comment[da]=Katalogiserer dine KDE-programmer for nem start via Katapult
+Comment[de]=Katalogisiert Ihre KDE-Programme, um sie bequem mit Katapult zu starten
+Comment[el]=Δημιουργεί κατάλογο των προγραμμάτων σας του KDE για την εύκολη εκτέλεσή τους μέσω του Katapult
+Comment[es]=Cataloga sus programas de KDE para iniciarlos con facilidad a través de Katapult
+Comment[et]=Kataloogib sinu KDE programmid hõlpsaks käivitamiseks Katapultiga
+Comment[fr]=Cataloguer vos programmes KDE pour un lancement facile via Katapult
+Comment[gl]=Cataloga os seus programas de KDE para seren iniciados mediante Katapult
+Comment[it]=Cataloga in tuoi programmi KDE per avviarli facilmente attraverso Katapult
+Comment[ja]=Katapult から簡単に起動できるように KDE のプログラムをカタログ化
+Comment[nb]=Katalogiserer KDE-programmene for lettvint oppstart med Katapult
+Comment[nl]=Catalogiseert uw KDE-programma's voor eenvoudige opstart via Katapult
+Comment[pt]=Cataloga os seus programas do KDE para lançá-los facilmente através do Katapult
+Comment[pt_BR]=Cataloga os seus programas do KDE para lançá-los facilmente através do Katapult
+Comment[sv]=Katalogiserar dina KDE-program för enkel start via Katapult
+Comment[uk]=Робить каталог з програм KDE для легкого запуску через Катапульту
+ServiceTypes=Katapult/Catalog
+Type=Service
+X-KDE-Library=katapult_programcatalog
+X-Katapult-ID=Program Catalog
diff --git a/katapult/plugins/catalogs/programcatalog/program.cpp b/katapult/plugins/catalogs/programcatalog/program.cpp
new file mode 100644
index 0000000..dad529d
--- /dev/null
+++ b/katapult/plugins/catalogs/programcatalog/program.cpp
@@ -0,0 +1,55 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kservice.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+
+#include "program.h"
+
+Program::Program(KService::Ptr s, bool useExecName)
+ : KatapultItem()
+{
+ if(useExecName)
+ _name = s->exec();
+ else
+ _name = s->name();
+ _icon = s->icon();
+ if(_icon == "")
+ _icon = s->name().lower();
+ _service = s;
+}
+
+QPixmap Program::icon(int size) const
+{
+ return KGlobal::iconLoader()->loadIcon(_icon, KIcon::NoGroup, size);
+}
+
+QString Program::text() const
+{
+ return _name;
+}
+
+KService * Program::service() const
+{
+ return _service;
+}
+
+#include "program.moc"
diff --git a/katapult/plugins/catalogs/programcatalog/program.h b/katapult/plugins/catalogs/programcatalog/program.h
new file mode 100644
index 0000000..f316042
--- /dev/null
+++ b/katapult/plugins/catalogs/programcatalog/program.h
@@ -0,0 +1,48 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef PROGRAM_H
+#define PROGRAM_H
+
+#include <kservice.h>
+
+#include <katapultitem.h>
+
+/**
+@author Joe Ferris
+*/
+class Program : public KatapultItem
+{
+ Q_OBJECT
+public:
+
+ Program(KService::Ptr, bool);
+
+ virtual QPixmap icon(int) const;
+ virtual QString text() const;
+
+ KService * service() const;
+
+protected:
+ KService::Ptr _service;
+ QString _icon, _name;
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/programcatalog/programcatalog.cpp b/katapult/plugins/catalogs/programcatalog/programcatalog.cpp
new file mode 100644
index 0000000..1c83394
--- /dev/null
+++ b/katapult/plugins/catalogs/programcatalog/programcatalog.cpp
@@ -0,0 +1,153 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kservicegroup.h>
+#include <ksycocaentry.h>
+#include <ksycocatype.h>
+#include <kapplication.h>
+#include <knuminput.h>
+#include <kcombobox.h>
+
+#include <qcheckbox.h>
+
+#include "settings.h"
+#include "programcatalog.h"
+#include "program.h"
+#include "actionregistry.h"
+#include "actionrunprogram.h"
+
+K_EXPORT_COMPONENT_FACTORY( katapult_programcatalog,
+ KGenericFactory<ProgramCatalog>( "katapult_programcatalog" ) )
+
+ProgramCatalog::ProgramCatalog(QObject *, const char *, const QStringList&)
+ : CachedCatalog()
+{
+ _minQueryLen = 1;
+ _ignoreIconless = TRUE;
+ _ignoreTerminal = TRUE;
+ _useExecName = FALSE;
+ ActionRegistry::self()->registerAction(new ActionRunProgram());
+}
+
+ProgramCatalog::~ProgramCatalog()
+{
+}
+
+void ProgramCatalog::initialize()
+{
+ cacheProgramList(QString::null);
+}
+
+void ProgramCatalog::cacheProgramList(QString relPath)
+{
+ KServiceGroup::Ptr group = KServiceGroup::group(relPath);
+ if(!group || !group->isValid())
+ return;
+
+ KServiceGroup::List list = group->entries();
+ if(list.isEmpty())
+ return;
+
+ KServiceGroup::List::ConstIterator it = list.begin();
+ for(; it != list.end(); ++it)
+ {
+ KSycocaEntry *e = *it;
+
+ if(e != 0) {
+ if(e->isType(KST_KServiceGroup))
+ {
+ KServiceGroup::Ptr g(static_cast<KServiceGroup *>(e));
+ if(!g->noDisplay())
+ cacheProgramList(g->relPath());
+ } else if(e->isType(KST_KService))
+ {
+ KService::Ptr s(static_cast<KService *>(e));
+ if(s->type() == "Application" &&
+ (!_ignoreIconless || !s->icon().isEmpty()) &&
+ (!_ignoreTerminal || !s->terminal()) && !s->noDisplay()
+ ) {
+ addItem(new Program(s, _useExecName));
+ }
+ }
+ }
+ }
+}
+
+unsigned int ProgramCatalog::minQueryLen() const
+{
+ return _minQueryLen;
+}
+
+void ProgramCatalog::readSettings(KConfigBase *config)
+{
+ _minQueryLen = config->readUnsignedNumEntry("MinQueryLen", 1);
+ _ignoreIconless = config->readBoolEntry("IgnoreIconless", TRUE);
+ _useExecName = config->readBoolEntry("UseExecName", FALSE);
+ _ignoreTerminal = config->readBoolEntry("IgnoreTerminal", TRUE);
+}
+
+void ProgramCatalog::writeSettings(KConfigBase *config)
+{
+ config->writeEntry("MinQueryLen", _minQueryLen);
+ config->writeEntry("IgnoreIconless", _ignoreIconless);
+ config->writeEntry("UseExecName", _useExecName);
+ config->writeEntry("IgnoreTerminal", _ignoreTerminal);
+}
+
+QWidget * ProgramCatalog::configure()
+{
+ ProgramCatalogSettings *settings = new ProgramCatalogSettings();
+
+ settings->minQueryLen->setValue(_minQueryLen);
+ connect(settings->minQueryLen, SIGNAL(valueChanged(int)), this, SLOT(minQueryLenChanged(int)));
+
+ settings->ignoreIconless->setChecked(_ignoreIconless);
+ connect(settings->ignoreIconless, SIGNAL(toggled(bool)), this, SLOT(toggleIgnoreIconless(bool)));
+
+ settings->useExecName->setChecked(_useExecName);
+ connect(settings->useExecName, SIGNAL(toggled(bool)), this, SLOT(toggleUseExecName(bool)));
+
+ settings->ignoreTerminal->setChecked(_ignoreTerminal);
+ connect(settings->ignoreTerminal, SIGNAL(toggled(bool)), this, SLOT(toggleIgnoreTerminal(bool)));
+
+ return settings;
+}
+
+void ProgramCatalog::minQueryLenChanged(int _minQueryLen)
+{
+ this->_minQueryLen = _minQueryLen;
+}
+
+void ProgramCatalog::toggleIgnoreIconless(bool _ignoreIconless)
+{
+ this->_ignoreIconless = _ignoreIconless;
+}
+
+void ProgramCatalog::toggleUseExecName(bool _useExecName)
+{
+ this->_useExecName = _useExecName;
+}
+
+void ProgramCatalog::toggleIgnoreTerminal(bool _ignoreTerminal)
+{
+ this->_ignoreTerminal = _ignoreTerminal;
+}
+
+#include "programcatalog.moc"
diff --git a/katapult/plugins/catalogs/programcatalog/programcatalog.h b/katapult/plugins/catalogs/programcatalog/programcatalog.h
new file mode 100644
index 0000000..ed00536
--- /dev/null
+++ b/katapult/plugins/catalogs/programcatalog/programcatalog.h
@@ -0,0 +1,62 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef PROGRAMCATALOG_H
+#define PROGRAMCATALOG_H
+
+#include <kgenericfactory.h>
+
+#include <qptrlist.h>
+#include <qstring.h>
+
+#include "cachedcatalog.h"
+
+class QWidget;
+
+/**
+@author Joe Ferris
+*/
+class ProgramCatalog : public CachedCatalog
+{
+ Q_OBJECT
+public:
+ ProgramCatalog(QObject *, const char *, const QStringList&);
+ virtual ~ProgramCatalog();
+
+ virtual void initialize();
+ virtual void readSettings(KConfigBase *);
+ virtual void writeSettings(KConfigBase *);
+ virtual unsigned int minQueryLen() const;
+ virtual QWidget * configure();
+
+public slots:
+ void minQueryLenChanged(int);
+ void toggleIgnoreIconless(bool);
+ void toggleUseExecName(bool);
+ void toggleIgnoreTerminal(bool);
+
+private:
+ void cacheProgramList(QString);
+ int _minQueryLen;
+ bool _ignoreIconless;
+ bool _useExecName;
+ bool _ignoreTerminal;
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/programcatalog/settings.ui b/katapult/plugins/catalogs/programcatalog/settings.ui
new file mode 100644
index 0000000..9e963f6
--- /dev/null
+++ b/katapult/plugins/catalogs/programcatalog/settings.ui
@@ -0,0 +1,101 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>ProgramCatalogSettings</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>ProgramCatalogSettings</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>308</width>
+ <height>519</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Settings</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout1</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Number of characters before searching:</string>
+ </property>
+ </widget>
+ <widget class="KIntSpinBox">
+ <property name="name">
+ <cstring>minQueryLen</cstring>
+ </property>
+ <property name="maxValue">
+ <number>10</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Katapult will not search for programs until you have typed at least this many characters in the Katapult launcher.</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>ignoreIconless</cstring>
+ </property>
+ <property name="text">
+ <string>Ignore applications without icons</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>ignoreTerminal</cstring>
+ </property>
+ <property name="text">
+ <string>Ignore terminal applications</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>useExecName</cstring>
+ </property>
+ <property name="text">
+ <string>Catalog applications by executable name</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>370</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+</widget>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>knuminput.h</includehint>
+</includehints>
+</UI>
diff --git a/katapult/plugins/catalogs/spellcatalog/Makefile.am b/katapult/plugins/catalogs/spellcatalog/Makefile.am
new file mode 100644
index 0000000..eb07f58
--- /dev/null
+++ b/katapult/plugins/catalogs/spellcatalog/Makefile.am
@@ -0,0 +1,19 @@
+# Copyright (C) 2006 Jonathan Riddell
+
+# set the include path for X, qt and KDE
+INCLUDES = -I$(top_srcdir)/katapult/common $(all_includes)
+
+# header files
+noinst_HEADERS = actioncopyspelling.h spellcatalog.h spelling.h
+
+# use automoc
+METASOURCES = AUTO
+
+KDE_ICON = AUTO
+
+# our plugin
+kde_module_LTLIBRARIES = katapult_spellcatalog.la
+katapult_spellcatalog_la_SOURCES = settings.ui spellcatalog.cpp spelling.cpp actioncopyspelling.cpp
+katapult_spellcatalog_la_LDFLAGS = -module $(KDE_RPATH) $(KDE_PLUGIN) $(all_libraries)
+katapult_spellcatalog_la_LIBADD = $(LIB_QT) $(LIB_KDECORE) $(LIB_KDEUI) $(LIB_KIO) $(top_builddir)/katapult/common/libkatapult.la
+kde_services_DATA = katapult_spellcatalog.desktop
diff --git a/katapult/plugins/catalogs/spellcatalog/actioncopyspelling.cpp b/katapult/plugins/catalogs/spellcatalog/actioncopyspelling.cpp
new file mode 100644
index 0000000..87857d3
--- /dev/null
+++ b/katapult/plugins/catalogs/spellcatalog/actioncopyspelling.cpp
@@ -0,0 +1,80 @@
+/***************************************************************************
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kapplication.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <klocale.h>
+
+#include <qclipboard.h>
+
+#include "spellcatalog.h"
+#include "spelling.h"
+#include "katapultitem.h"
+#include "actioncopyspelling.h"
+
+ActionCopySpelling::ActionCopySpelling()
+ : KatapultAction(), _spelling(0)
+{
+}
+
+ActionCopySpelling::~ActionCopySpelling()
+{
+}
+
+QString ActionCopySpelling::text() const
+{
+ if (_spelling->parseError()) {
+ return i18n("Parse Error");
+ } else {
+ return _spelling->result();
+ }
+}
+
+QPixmap ActionCopySpelling::icon(int size) const
+{
+ return KGlobal::iconLoader()->loadIcon("katapultspellcheck", KIcon::NoGroup, size);
+}
+
+bool ActionCopySpelling::accepts(const KatapultItem* item) const
+{
+ bool accept = strcmp(item->className(), "Spelling") == 0;
+ if (accept) {
+ _spelling = (const Spelling*)item;
+ }
+ return accept;
+}
+
+void ActionCopySpelling::execute(const KatapultItem* item) const
+{
+ if (strcmp(item->className(), "Spelling") == 0) {
+ _spelling = (const Spelling*)item;
+
+ _spelling->evaluate();
+
+ // Copy calculation and result into clipboard (unless there's a parse error).
+ if (!_spelling->parseError()) {
+ _spelling->copyToClipboard();
+ }
+ }
+}
diff --git a/katapult/plugins/catalogs/spellcatalog/actioncopyspelling.h b/katapult/plugins/catalogs/spellcatalog/actioncopyspelling.h
new file mode 100644
index 0000000..e15c3d9
--- /dev/null
+++ b/katapult/plugins/catalogs/spellcatalog/actioncopyspelling.h
@@ -0,0 +1,51 @@
+/***************************************************************************
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef ACTIONCOPYSPELLING_H
+#define ACTIONCOPYSPELLING_H
+
+#include "katapultaction.h"
+
+class KatapultItem;
+class Spelling;
+
+/**
+@author Tobi Vollebregt
+*/
+class ActionCopySpelling : public KatapultAction
+{
+ public:
+ ActionCopySpelling();
+ ~ActionCopySpelling();
+
+ virtual void execute(const KatapultItem*) const;
+ virtual bool accepts(const KatapultItem*) const;
+ virtual QString text() const;
+ virtual QPixmap icon(int) const;
+
+ private:
+ //_expr needs to be mutable because accepts() is const.
+ mutable const Spelling* _spelling;
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/spellcatalog/cr128-action-katapultspellcheck.png b/katapult/plugins/catalogs/spellcatalog/cr128-action-katapultspellcheck.png
new file mode 100644
index 0000000..f11344d
--- /dev/null
+++ b/katapult/plugins/catalogs/spellcatalog/cr128-action-katapultspellcheck.png
Binary files differ
diff --git a/katapult/plugins/catalogs/spellcatalog/crsc-action-katapultspellcheck.svgz b/katapult/plugins/catalogs/spellcatalog/crsc-action-katapultspellcheck.svgz
new file mode 100644
index 0000000..2105fa5
--- /dev/null
+++ b/katapult/plugins/catalogs/spellcatalog/crsc-action-katapultspellcheck.svgz
Binary files differ
diff --git a/katapult/plugins/catalogs/spellcatalog/katapult_spellcatalog.desktop b/katapult/plugins/catalogs/spellcatalog/katapult_spellcatalog.desktop
new file mode 100644
index 0000000..035ee06
--- /dev/null
+++ b/katapult/plugins/catalogs/spellcatalog/katapult_spellcatalog.desktop
@@ -0,0 +1,43 @@
+# Copyright (C) 2006 Jonathan Riddell
+[Desktop Entry]
+Name=Spell Catalog
+Name[ar]=مستعرض التدقيق الأملائي ( Spell Catalog )
+Name[bg]=Каталог за проверка на правописа
+Name[da]=Katalogisér stavning
+Name[de]=Rechtschreibung-Katalog
+Name[el]=Κατάλογος ορθογραφίας
+Name[es]=Catalogador de ortografía
+Name[et]=Õigekirjakataloog
+Name[fr]=Catalogue orthographique
+Name[ga]=Catalóg Litrithe
+Name[gl]=Catálogo de Ortografia
+Name[it]=Catalogo controllo ortografico
+Name[ja]=スペルカタログ
+Name[nb]=Stavekatalog
+Name[nl]=Spelcatalogus
+Name[pt]=Catálogo de Ortografia
+Name[pt_BR]=Catálogo de Ortografia
+Name[sv]=Stavningskatalog
+Name[uk]=Каталог правопису
+Comment=Check the spelling of a word
+Comment[ar]=دقًق املائيا في الكلمة
+Comment[bg]=Проверка правописа на дума
+Comment[da]=Tjek stavning af et ord
+Comment[de]=Die Schreibweise eines Wortes überprüfen
+Comment[el]=Ορθογραφικός έλεγχος μιας λέξης
+Comment[es]=Comprueba la ortografía de una palabra
+Comment[et]=Sõna õigekirja kontroll
+Comment[fr]=Vérifier l'orthographe d'un mot
+Comment[gl]=Verifica a ortografia dunha palabra
+Comment[it]=Controllo ortografico di una parola
+Comment[ja]=単語のスペルをチェック
+Comment[nb]=Sjekk skrivemåten for et ord
+Comment[nl]=Controleert de spelling van een woord
+Comment[pt]=Verificar a ortografia de uma palavra
+Comment[pt_BR]=Verificar a ortografia de uma palavra
+Comment[sv]=Kontrollera stavningen av ett ord
+Comment[uk]=Перевірити правопис слова
+ServiceTypes=Katapult/Catalog
+Type=Service
+X-KDE-Library=katapult_spellcatalog
+X-Katapult-ID=Spell Catalog
diff --git a/katapult/plugins/catalogs/spellcatalog/settings.ui b/katapult/plugins/catalogs/spellcatalog/settings.ui
new file mode 100644
index 0000000..402b416
--- /dev/null
+++ b/katapult/plugins/catalogs/spellcatalog/settings.ui
@@ -0,0 +1,65 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>SpellCatalogSettings</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>SpellCatalogSettings</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>356</width>
+ <height>265</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Settings</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>triggerWordLE</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>triggerWordLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Trigger Word:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>introLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Use with: "spell myword"</string>
+ </property>
+ </widget>
+ <spacer row="2" column="1">
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>150</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+</widget>
+<tabstops>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/katapult/plugins/catalogs/spellcatalog/spellcatalog.cpp b/katapult/plugins/catalogs/spellcatalog/spellcatalog.cpp
new file mode 100644
index 0000000..5cbdbed
--- /dev/null
+++ b/katapult/plugins/catalogs/spellcatalog/spellcatalog.cpp
@@ -0,0 +1,122 @@
+/***************************************************************************
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 Tobi Vollebregt *
+ * tobivollebregt@gmail.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kservicegroup.h>
+#include <ksycocaentry.h>
+#include <ksycocatype.h>
+#include <kapplication.h>
+
+#include <qlineedit.h>
+#include <qlabel.h>
+
+#include "settings.h"
+#include "spellcatalog.h"
+#include "actionregistry.h"
+#include "actioncopyspelling.h"
+#include "status.h"
+
+K_EXPORT_COMPONENT_FACTORY( katapult_spellcatalog,
+ KGenericFactory<SpellCatalog>( "katapult_spellcatalog" ) )
+
+SpellCatalog::SpellCatalog(QObject*, const char*, const QStringList&): _result(this, QString::null)
+{
+ ActionRegistry::self()->registerAction(new ActionCopySpelling());
+}
+
+SpellCatalog::~SpellCatalog()
+{
+}
+
+void SpellCatalog::queryChanged()
+{
+ int newStatus = 0;
+ QString cmd = query();
+ int origLength = cmd.length();
+
+ if (cmd.isEmpty()) {
+ reset();
+ setBestMatch(Match());
+ } else {
+ if (accepts(cmd)) {
+ _result.setText(cmd);
+
+ setBestMatch(Match(&_result, _result.parseError() ? 10 : 100, origLength));
+ //set status.
+ //add S_Multiple to make sure katapult doesn't auto-exec and close the window
+ //add S_Active to make sure katapult doesn't start the hideTimer or clearTimer
+ newStatus = S_HasResults | S_Multiple | S_Active;
+ } else {
+ newStatus = 0;
+ }
+ }
+ setStatus(newStatus);
+}
+
+bool SpellCatalog::accepts(const QString& str) const
+{
+ //accept if we begin with the triggerWord
+ int length = _triggerWord.length();
+ return str.left(length + 1) == _triggerWord + " ";
+}
+
+void SpellCatalog::readSettings(KConfigBase* config)
+{
+ _triggerWord = config->readEntry("TriggerWord", i18n("Should be short, easy and quick to type", "spell"));
+}
+
+void SpellCatalog::writeSettings(KConfigBase* config)
+{
+ config->writeEntry("TriggerWord", _triggerWord);
+}
+
+QWidget * SpellCatalog::configure()
+{
+ SpellCatalogSettings* settings = new SpellCatalogSettings();
+
+ settings->triggerWordLE->setText(_triggerWord);
+ connect(settings->triggerWordLE, SIGNAL(textChanged(const QString&)), this, SLOT(triggerWordChanged(const QString&)));
+
+ settings->introLabel->setText(i18n("Use with \"%1 myword\"").arg(_triggerWord));
+
+ return settings;
+}
+
+void SpellCatalog::triggerWordChanged(const QString& triggerWord)
+{
+ _triggerWord = QString(triggerWord);
+}
+
+int SpellCatalog::triggerWordLength()
+{
+ return _triggerWord.length();
+}
+
+void SpellCatalog::reset()
+{
+ _result.setText(QString::null);
+}
+
+#include "spellcatalog.moc"
diff --git a/katapult/plugins/catalogs/spellcatalog/spellcatalog.h b/katapult/plugins/catalogs/spellcatalog/spellcatalog.h
new file mode 100644
index 0000000..86181dc
--- /dev/null
+++ b/katapult/plugins/catalogs/spellcatalog/spellcatalog.h
@@ -0,0 +1,73 @@
+/***************************************************************************
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 Tobi Vollebregt *
+ * tobivollebregt@gmail.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef SPELLCATALOG_H
+#define SPELLCATALOG_H
+
+#include <kgenericfactory.h>
+
+#include <qstring.h>
+
+#include "spelling.h"
+#include "katapultcatalog.h"
+
+class QWidget;
+
+/**
+@author Jonathan Riddell
+ */
+class SpellCatalog : public KatapultCatalog
+{
+ Q_OBJECT
+
+ public:
+
+ SpellCatalog(QObject*, const char*, const QStringList&);
+ virtual ~SpellCatalog();
+
+ virtual void readSettings(KConfigBase*);
+ virtual void writeSettings(KConfigBase*);
+ virtual QWidget* configure();
+ int triggerWordLength();
+
+ protected:
+
+ virtual void queryChanged();
+
+ private:
+ bool accepts(const QString&) const;
+
+ QString _triggerWord;
+
+ Spelling _result; // The one result (there's always one).
+
+ void reset();
+
+ protected slots:
+ void triggerWordChanged(const QString& triggerWord);
+
+};
+
+#endif
diff --git a/katapult/plugins/catalogs/spellcatalog/spelling.cpp b/katapult/plugins/catalogs/spellcatalog/spelling.cpp
new file mode 100644
index 0000000..fe08355
--- /dev/null
+++ b/katapult/plugins/catalogs/spellcatalog/spelling.cpp
@@ -0,0 +1,133 @@
+/***************************************************************************
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kservice.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <kapplication.h>
+
+#include <qclipboard.h>
+
+#include "spellcatalog.h"
+#include "spelling.h"
+
+
+Spelling::Spelling(SpellCatalog* catalog, const QString& text): KatapultItem(), _catalog(catalog), _text(text)
+{
+ spellChecker = new KSpell( 0, "caption", this, SLOT(spellCheckerReady()) );
+
+ connect( spellChecker, SIGNAL(misspelling(const QString&, const QStringList&, unsigned int)),
+ this, SLOT(spellCheckerMisspelling(const QString&, const QStringList&, unsigned int)) );
+
+ connect( spellChecker, SIGNAL(corrected(const QString&, const QString&, unsigned int)),
+ this, SLOT(spellCheckerCorrected(const QString&, const QString&, unsigned int)) );
+
+ evaluate();
+}
+
+Spelling::~Spelling() {
+ delete spellChecker;
+}
+
+void Spelling::spellCheckerReady() {
+}
+
+void Spelling::spellCheckerCorrected(const QString& /*originalword*/, const QString& /*newword*/, unsigned int /*pos*/) {
+ corrected = true;
+}
+
+void Spelling::spellCheckerMisspelling(const QString& /*originalword*/, const QStringList& suggestions, unsigned int /*pos*/) {
+ misspelt = true;
+ suggestedWords = suggestions.join(",");
+}
+
+QPixmap Spelling::icon(int size) const
+{
+ const char* icon = "checkmark";
+ if (_parseError || misspelt) {
+ icon = "no";
+ }
+ return KGlobal::iconLoader()->loadIcon(icon, KIcon::NoGroup, size);
+}
+
+QString Spelling::text() const
+{
+ return _text;
+}
+
+void Spelling::setText(const QString& text)
+{
+ _text = text;
+ evaluate();
+}
+
+QString Spelling::result() const
+{
+ return _result;
+}
+
+bool Spelling::parseError() const
+{
+ return _parseError;
+}
+
+SpellCatalog* Spelling::catalog() const
+{
+ return _catalog;
+}
+
+void Spelling::evaluate() const
+{
+ int length = catalog()->triggerWordLength();
+
+ QString text = _text.mid(length + 1); // + 1 for space
+
+ misspelt = false;
+ corrected = false;
+
+ _parseError = false;
+ if (!_text.isEmpty()) {
+ _result = "my result";
+ spellChecker->checkWord(text);
+
+ while (corrected == false) {
+ kapp->processEvents();
+ }
+
+ if (misspelt) {
+ _result = suggestedWords;
+ } else {
+ _result = "Correct";
+ }
+ } else {
+ _parseError = true;
+ }
+}
+
+void Spelling::copyToClipboard() const {
+ QClipboard* clipBoard = QApplication::clipboard();
+ clipBoard->setText(suggestedWords, QClipboard::Clipboard);
+ clipBoard->setText(suggestedWords, QClipboard::Selection);
+}
+
+#include "spelling.moc"
diff --git a/katapult/plugins/catalogs/spellcatalog/spelling.h b/katapult/plugins/catalogs/spellcatalog/spelling.h
new file mode 100644
index 0000000..ea4b846
--- /dev/null
+++ b/katapult/plugins/catalogs/spellcatalog/spelling.h
@@ -0,0 +1,74 @@
+/***************************************************************************
+ * Copyright (C) 2006 Jonathan Riddell *
+ * jriddell@ubuntu.com *
+ * *
+ * Copyright (C) 2005 by Joe Ferris *
+ * jferris@optimistictech.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef SPELLING_H
+#define SPELLING_H
+
+#include <kspell.h>
+
+#include <katapultitem.h>
+
+class SpellCatalog;
+
+/**
+@author Tobi Vollebregt
+*/
+class Spelling : public KatapultItem
+{
+ Q_OBJECT
+ public:
+ Spelling(SpellCatalog*, const QString&);
+ ~Spelling();
+
+ virtual QPixmap icon(int) const;
+ virtual QString text() const;
+
+ void setText(const QString&);
+ QString result() const;
+ bool parseError() const;
+
+ //evaluate() must be const, or ActionEvaluateSpelling::execute() can't call it.
+ //It makes sense because evaluate() does _not_ change the expression,
+ //it just calculates the result and remembers that.
+ void evaluate() const;
+
+ SpellCatalog* catalog() const;
+
+ void copyToClipboard() const;
+
+ private:
+ SpellCatalog* const _catalog;
+ QString _text;
+ mutable QString _result;
+ mutable bool _parseError;
+ KSpell* spellChecker;
+ mutable bool misspelt;
+ mutable bool corrected;
+ QString suggestedWords;
+
+ protected slots:
+ void spellCheckerReady();
+ void spellCheckerCorrected(const QString& originalword, const QString& newword, unsigned int pos);
+ void spellCheckerMisspelling(const QString& originalword, const QStringList& suggestions, unsigned int pos);
+};
+
+#endif
diff --git a/katapult/plugins/display/Makefile.am b/katapult/plugins/display/Makefile.am
new file mode 100644
index 0000000..45328c4
--- /dev/null
+++ b/katapult/plugins/display/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = glassdisplay puredisplay o2display
diff --git a/katapult/plugins/display/glassdisplay/Makefile.am b/katapult/plugins/display/glassdisplay/Makefile.am
new file mode 100644
index 0000000..a7ff719
--- /dev/null
+++ b/katapult/plugins/display/glassdisplay/Makefile.am
@@ -0,0 +1,15 @@
+# set the include path for X, qt and KDE
+INCLUDES = -I$(top_srcdir)/katapult/common $(all_includes)
+
+# header files
+noinst_HEADERS = glassdisplay.h
+
+# use automoc
+METASOURCES = AUTO
+
+# our plugin
+kde_module_LTLIBRARIES = katapult_glassdisplay.la
+katapult_glassdisplay_la_SOURCES = glassdisplay.cpp
+katapult_glassdisplay_la_LDFLAGS = -module $(KDE_RPATH) $(KDE_PLUGIN) $(all_libraries)
+katapult_glassdisplay_la_LIBADD = $(LIB_QT) $(LIB_KDECORE) $(LIB_KDEUI) $(top_builddir)/katapult/common/libkatapult.la
+kde_services_DATA = katapult_glassdisplay.desktop
diff --git a/katapult/plugins/display/glassdisplay/doublebg.png b/katapult/plugins/display/glassdisplay/doublebg.png
new file mode 100644
index 0000000..77d8583
--- /dev/null
+++ b/katapult/plugins/display/glassdisplay/doublebg.png
Binary files differ
diff --git a/katapult/plugins/display/glassdisplay/glassdisplay.cpp b/katapult/plugins/display/glassdisplay/glassdisplay.cpp
new file mode 100644
index 0000000..278d67f
--- /dev/null
+++ b/katapult/plugins/display/glassdisplay/glassdisplay.cpp
@@ -0,0 +1,60 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Bastian Holst *
+ * bastianholst@gmx.de *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <kiconloader.h>
+#include <kgenericfactory.h>
+#include <qpixmap.h>
+
+#include "glassdisplay.h"
+#include "qembed_images.h"
+
+K_EXPORT_COMPONENT_FACTORY( katapult_glassdisplay,
+ KGenericFactory<GlassDisplay>( "katapult_glassdisplay" ) )
+
+#define WIDTH 295
+#define HEIGHT 189
+#define PADDING 6
+#define ICONSIZE 128
+
+#define LEFTMARGIN 1
+#define TOPMARGIN 1
+#define RIGHTMARGIN 8
+#define BOTTOMMARGIN 8
+
+GlassDisplay::GlassDisplay(QObject *parent, const char *name, const QStringList& list)
+ : ImageDisplay(parent, name, list)
+{
+ setSingleBG(new QPixmap(qembed_findImage("singlebg")));
+ setDoubleBG(new QPixmap(qembed_findImage("doublebg")));
+
+ setSingleSize(WIDTH, HEIGHT);
+ setDoubleSize(WIDTH, HEIGHT);
+
+ setMargin(LEFTMARGIN, TOPMARGIN, RIGHTMARGIN, BOTTOMMARGIN);
+ setPadding(PADDING);
+ setIconSize(ICONSIZE);
+}
+
+GlassDisplay::~GlassDisplay()
+{
+}
+
+
+#include "glassdisplay.moc"
diff --git a/katapult/plugins/display/glassdisplay/glassdisplay.h b/katapult/plugins/display/glassdisplay/glassdisplay.h
new file mode 100644
index 0000000..166ed99
--- /dev/null
+++ b/katapult/plugins/display/glassdisplay/glassdisplay.h
@@ -0,0 +1,36 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Bastian Holst *
+ * bastianholst@gmx.de *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef GLASSDISPLAY_H
+#define GLASSDISPLAY_H
+
+#include <imagedisplay.h>
+
+/**
+@author Bastian Holst
+*/
+class GlassDisplay : public ImageDisplay
+{
+ Q_OBJECT
+public:
+ GlassDisplay(QObject *, const char *, const QStringList&);
+ virtual ~GlassDisplay();
+};
+
+#endif
diff --git a/katapult/plugins/display/glassdisplay/katapult_glassdisplay.desktop b/katapult/plugins/display/glassdisplay/katapult_glassdisplay.desktop
new file mode 100644
index 0000000..b611b17
--- /dev/null
+++ b/katapult/plugins/display/glassdisplay/katapult_glassdisplay.desktop
@@ -0,0 +1,42 @@
+[Desktop Entry]
+Name=Glass Display
+Name[ar]=عرض بلًوري ( Glass Display )
+Name[bg]=Стъклен изглед
+Name[da]=Glasskærm
+Name[de]=Glas-Anzeige
+Name[el]=Γυάλινη εμφάνιση
+Name[es]=Mostrar cristal
+Name[et]=Klaasivaade
+Name[fr]=Affichage Glass
+Name[gl]=Pantalla Cristal
+Name[ja]=半透明表示
+Name[nb]=Glass-visning
+Name[nl]=Glass-display
+Name[pt]=Visualização por Vidro
+Name[pt_BR]=Visualização Vitrificada
+Name[sv]=Glasskärm
+Name[tr]=Cam Gösterimi
+Name[uk]=Скляний дисплей
+Comment=Glass display plugin for Katapult
+Comment[ar]=بريمج عرض بلًوري ل- Katapult
+Comment[bg]=Приставка за стъклен изглед в Katapult
+Comment[da]=Plugin med glasskærm for Katapult
+Comment[de]=Glas-Anzeige-Modul für Katapult
+Comment[el]=Πρόσθετο γυάλινης εμφάνισης για το Katapult
+Comment[es]=Extensión para mostrar cristal para Katapult
+Comment[et]=Katapulti klaasivaate plugin
+Comment[fr]=Module externe d'affichage Glass pour Katapult
+Comment[gl]=Plugin Glass display para Katapult
+Comment[it]=Plugin Glass display per Katapult
+Comment[ja]=Katapult のための半透明表示プラグイン
+Comment[nb]=Programttillegg for Glassvisning i Katapult
+Comment[nl]=Glass-display-plugin voor Katapult
+Comment[pt]=Um 'plugin' de visualização por vidro para o Katapult
+Comment[pt_BR]=Um 'plugin' de visualização vitrificada para o Katapult
+Comment[sv]=Insticksprogram med glasskärm för Katapult
+Comment[tr]=Katapult için Cam gösterimi eklentisi
+Comment[uk]=Втулок скляного дисплея для Катапульти
+ServiceTypes=Katapult/Display
+Type=Service
+X-KDE-Library=katapult_glassdisplay
+X-Katapult-ID=Name=Glass Display
diff --git a/katapult/plugins/display/glassdisplay/qembed_images.h b/katapult/plugins/display/glassdisplay/qembed_images.h
new file mode 100644
index 0000000..a8e5b3a
--- /dev/null
+++ b/katapult/plugins/display/glassdisplay/qembed_images.h
@@ -0,0 +1,8019 @@
+#ifndef _QEMBED_1804289383
+#define _QEMBED_1804289383
+#include <qimage.h>
+#include <qdict.h>
+static const QRgb singlebg_data[] = {
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,0xffffff,
+ 0xffffff,0x0,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0x6000000,0x5000000,0x4000000,0x3000000,0x1000000,0x1000000,
+ 0x0,0xffffff,0x1000000,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,
+ 0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0xd9181818,0x13000000,0x11000000,0xd000000,0x9000000,0x5000000,
+ 0x2000000,0x1000000,0xffffff,0x1000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0x28000000,0x22000000,0x1b000000,0x12000000,
+ 0xa000000,0x5000000,0x1000000,0xffffff,0x3000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0x43000000,0x3a000000,0x2e000000,
+ 0x1e000000,0x12000000,0x9000000,0x3000000,0xffffff,0x4000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0x64000000,0x57000000,
+ 0x44000000,0x2e000000,0x1b000000,0xd000000,0x4000000,0xffffff,0x5000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0x7f000000,
+ 0x6e000000,0x57000000,0x3a000000,0x22000000,0x11000000,0x5000000,0xffffff,0x6000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,
+ 0x94000000,0x7f000000,0x64000000,0x43000000,0x28000000,0x13000000,0x6000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,
+ 0xd9181818,0xa1000000,0x8b000000,0x6d000000,0x49000000,0x2b000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,
+ 0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,
+ 0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,
+ 0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,
+ 0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,
+ 0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,
+ 0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,
+ 0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,
+ 0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,
+ 0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,
+ 0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,
+ 0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,
+ 0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,
+ 0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,
+ 0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,
+ 0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,
+ 0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,
+ 0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,
+ 0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,
+ 0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,
+ 0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,
+ 0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,
+ 0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,
+ 0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,
+ 0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,
+ 0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,
+ 0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,
+ 0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,
+ 0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,
+ 0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,
+ 0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,
+ 0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,
+ 0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,
+ 0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,
+ 0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,
+ 0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,
+ 0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,
+ 0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,
+ 0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,
+ 0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,
+ 0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,
+ 0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,
+ 0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,
+ 0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,
+ 0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,
+ 0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,
+ 0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,
+ 0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,
+ 0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,
+ 0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,
+ 0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,
+ 0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,
+ 0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,
+ 0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,
+ 0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,
+ 0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,
+ 0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,
+ 0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,
+ 0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,
+ 0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,
+ 0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,
+ 0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,
+ 0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,
+ 0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,
+ 0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,
+ 0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,
+ 0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,
+ 0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,
+ 0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,
+ 0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,
+ 0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,
+ 0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,
+ 0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,
+ 0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,
+ 0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,
+ 0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,
+ 0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,
+ 0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,
+ 0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,
+ 0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,
+ 0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,
+ 0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,
+ 0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,
+ 0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,
+ 0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,
+ 0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,
+ 0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,
+ 0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,
+ 0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,
+ 0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,
+ 0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,
+ 0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,
+ 0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,
+ 0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,
+ 0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,
+ 0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,
+ 0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,
+ 0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,
+ 0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,
+ 0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,0x7000000,
+ 0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,0x16000000,
+ 0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,0x2e000000,
+ 0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,0x4c000000,
+ 0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0xd9181818,0xd9181818,0xa8000000,0x91000000,0x73000000,
+ 0x4c000000,0x2e000000,0x16000000,0x7000000,0xffffff,0x7000000,0xd9181818,0xd9181818,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,
+ 0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x99191919,0x991