From f8f648c57432a3238a17dc70909947a30ccaebae Mon Sep 17 00:00:00 2001 From: Laxmikant Rashinkar Date: Sun, 25 Aug 2013 18:02:04 -0700 Subject: [PATCH] added tcutils, a utility for unmounting usb drives remotely --- tcutils/README.txt | 29 + tcutils/main.cpp | 11 + tcutils/mainwindow.cpp | 234 ++++++ tcutils/mainwindow.h | 57 ++ tcutils/mainwindow.ui | 100 +++ tcutils/moc_mainwindow.cpp | 104 +++ tcutils/qrc_resources.cpp | 1191 ++++++++++++++++++++++++++++ tcutils/resources.qrc | 5 + tcutils/resources/images/tools.gif | Bin 0 -> 17765 bytes tcutils/tcutils | Bin 0 -> 63109 bytes tcutils/tcutils.pro | 30 + tcutils/tcutils.pro.user | 365 +++++++++ tcutils/ui_mainwindow.h | 105 +++ tcutils/utils.cpp | 217 +++++ tcutils/utils.h | 150 ++++ 15 files changed, 2598 insertions(+) create mode 100644 tcutils/README.txt create mode 100644 tcutils/main.cpp create mode 100644 tcutils/mainwindow.cpp create mode 100644 tcutils/mainwindow.h create mode 100644 tcutils/mainwindow.ui create mode 100644 tcutils/moc_mainwindow.cpp create mode 100644 tcutils/qrc_resources.cpp create mode 100644 tcutils/resources.qrc create mode 100644 tcutils/resources/images/tools.gif create mode 100755 tcutils/tcutils create mode 100644 tcutils/tcutils.pro create mode 100644 tcutils/tcutils.pro.user create mode 100644 tcutils/ui_mainwindow.h create mode 100644 tcutils/utils.cpp create mode 100644 tcutils/utils.h diff --git a/tcutils/README.txt b/tcutils/README.txt new file mode 100644 index 00000000..de75f1b2 --- /dev/null +++ b/tcutils/README.txt @@ -0,0 +1,29 @@ +A QT based utility program for thinclients using xrdp and NeutrinoRDP + +This program sends commands to NeutrinoRDP to do something +useful on the client end (such as unmounting a USB drive, +or powering down the client) + +Required packages to build tcutils: +----------------------------------- +libqt4-gui +qt4-dev-tools + +to build tcutils: +----------------- +qmake +make + +To run tcutils: +--------------- +include xrdpapi/.libs in your LD_LIBRARY_PATH + +Example: +-------- +export LD_LIBRARY_PATH=../xrdpapi/.libs +run tcutils inside the xfreerdp session + +this is how we run xfreerdp: +---------------------------- +./xfreerdp --sec rdp --plugin tcutils 192.168.2.149 + diff --git a/tcutils/main.cpp b/tcutils/main.cpp new file mode 100644 index 00000000..d951345f --- /dev/null +++ b/tcutils/main.cpp @@ -0,0 +1,11 @@ +#include +#include "mainwindow.h" + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + + return a.exec(); +} diff --git a/tcutils/mainwindow.cpp b/tcutils/mainwindow.cpp new file mode 100644 index 00000000..8cc0a988 --- /dev/null +++ b/tcutils/mainwindow.cpp @@ -0,0 +1,234 @@ +#include "mainwindow.h" +#include "ui_mainwindow.h" + +MainWindow::MainWindow(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::MainWindow) +{ + ui->setupUi(this); + + wtsChannel = NULL; + okToQuit = false; + savedGeometry = this->geometry(); + + /* setup tab to unmount drives */ + ui->tabWidget->setTabText(0, "Unmount drives"); + connect(ui->btnRefresh, SIGNAL(clicked()), this, SLOT(onBtnRefreshClicked())); + connect(ui->btnUnmount, SIGNAL(clicked()), this, SLOT(onBtnUnmountClicked())); + + ui->tabWidget->setTabText(1, ""); + if (initWtsChannel()) + { + okToQuit = true; + QTimer::singleShot(10, qApp, SLOT(quit())); + return; + } + setupSystemTray(); + + /* set up status bar to display messages */ + statusBar = new QStatusBar; + this->setStatusBar(statusBar); + setStatusMsg("Connected to client"); +} + +MainWindow::~MainWindow() +{ + delete ui; +} + +void MainWindow::setupSystemTray() +{ + trayMenu = new QMenu(this); + trayMenu->addAction("Launch Thinclient Utils", this, SLOT(onActionLaunch())); + trayMenu->addSeparator(); + trayMenu->addAction("Quit", this, SLOT(onActionQuit())); + + trayIcon = new QSystemTrayIcon; + trayIcon->setContextMenu(trayMenu); + trayIcon->setIcon(QIcon(":/images/resources/images/tools.gif")); + + trayIcon->show(); + + trayIcon->showMessage("TCutils", "Click on the tcutils icon to launch tcutils", + QSystemTrayIcon::Information, 3000); + + connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), + this, SLOT(onSystemTrayClicked(QSystemTrayIcon::ActivationReason))); +} + +/** + * + *****************************************************************************/ + +int MainWindow::initWtsChannel() +{ + /* init the channel just once */ + if (wtsChannel) + return 0; + + /* open a WTS channel and connect to remote client */ + wtsChannel = WTSVirtualChannelOpenEx(WTS_CURRENT_SESSION, "tcutils", 0); + if (wtsChannel == NULL) + { + QMessageBox::information(this, "Open virtual channel", "Error " + "connecting to remote client. This program " + "can only be used when connected via " + "NeutrinoRDP.\n\nClick ok to close this " + "application"); + return -1; + } + + return 0; +} + +/** + * + *****************************************************************************/ + +int MainWindow::deinitWtsChannel() +{ + if (!wtsChannel) + return -1; + + WTSVirtualChannelClose(wtsChannel); + return 0; +} + +/** + * Display a msg on the status bar + * + * @param msg message to display in status bar + *****************************************************************************/ + +void MainWindow::setStatusMsg(QString msg) +{ + statusBar->showMessage(msg, 30000); +} + +/** + * + *****************************************************************************/ + +void MainWindow::closeEvent(QCloseEvent *event) +{ + if (!okToQuit) + { + savedGeometry = this->geometry(); + this->hide(); + event->ignore(); + return; + } + + if (wtsChannel) + deinitWtsChannel(); + + event->accept(); +} + +/****************************************************************************** +** ** +** slots go here ** +** ** +******************************************************************************/ +#if 1 +void MainWindow::onBtnRefreshClicked() +{ + int i; + + /* clear drive list */ + if (itemList.count()) + { + for (i = 0; i < itemList.count(); i++) + ui->listWidget->removeItemWidget(itemList.at(i)); + + itemList.clear(); + } + ui->listWidget->clear(); + + if (Utils::getMountList(wtsChannel, &itemList)) + { + QMessageBox::information(this, "Get device list", "\nError getting " + "device list from client"); + return; + } + + if (itemList.count() == 0) + { + QMessageBox::information(this, "Get device list", + "\nNo devices found!"); + return; + } + + /* add mount point to list widget */ + for (i = 0; i < itemList.count(); i++) + ui->listWidget->insertItem(i, itemList.at(i)); +} +#else +void MainWindow::onBtnRefreshClicked() +{ + QListWidgetItem *item; + int i; + int j; + + /* clear drive list */ + if (itemList.count()) + { + for (i = 0; i < itemList.count(); i++) + ui->listWidget->removeItemWidget(itemList.at(i)); + + itemList.clear(); + } + ui->listWidget->clear(); + + QDir dir(QDir::homePath() + "/xrdp_client"); + QStringList sl = dir.entryList(); + + for (i = 0, j = 0; i < sl.count(); i++) + { + /* skip files starting with . */ + if (sl.at(i).startsWith(".")) + continue; + + /* add mount point to list widget */ + item = new QListWidgetItem; + item->setText(sl.at(i)); + ui->listWidget->insertItem(j++, item); + itemList.append(item); + } +} +#endif + +void MainWindow::onBtnUnmountClicked() +{ + QListWidgetItem *item = ui->listWidget->currentItem(); + + if (!item) + { + QMessageBox::information(this, "Unmount device", "\nNo device selected. " + "You must select a device to unmount"); + return; + } + + if (Utils::unmountDevice(wtsChannel, item->text(), statusBar) == 0) + { + delete ui->listWidget->takeItem(itemList.indexOf(item)); + itemList.removeOne(item); + } +} + +void MainWindow::onActionQuit() +{ + okToQuit = true; + this->close(); +} + +void MainWindow::onActionLaunch() +{ + this->show(); + this->setGeometry(savedGeometry); +} + +void MainWindow::onSystemTrayClicked(QSystemTrayIcon::ActivationReason) +{ + trayMenu->popup(QCursor::pos()); +} diff --git a/tcutils/mainwindow.h b/tcutils/mainwindow.h new file mode 100644 index 00000000..1639522f --- /dev/null +++ b/tcutils/mainwindow.h @@ -0,0 +1,57 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +//#include + +#include "utils.h" + +namespace Ui { +class MainWindow; +} + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + explicit MainWindow(QWidget *parent = 0); + ~MainWindow(); + +private: + Ui::MainWindow *ui; + void *wtsChannel; + QSystemTrayIcon *trayIcon; + QMenu *trayMenu; + bool okToQuit; + QRect savedGeometry; + QStatusBar *statusBar; + + QList itemList; + + void setupSystemTray(); + int initWtsChannel(); + int deinitWtsChannel(); + void setStatusMsg(QString msg); + void closeEvent(QCloseEvent * event); + +private slots: + void onBtnRefreshClicked(); + void onBtnUnmountClicked(); + void onActionQuit(); + void onActionLaunch(); + void onSystemTrayClicked(QSystemTrayIcon::ActivationReason); +}; + +#endif // MAINWINDOW_H diff --git a/tcutils/mainwindow.ui b/tcutils/mainwindow.ui new file mode 100644 index 00000000..802d01a3 --- /dev/null +++ b/tcutils/mainwindow.ui @@ -0,0 +1,100 @@ + + + MainWindow + + + + 0 + 0 + 541 + 355 + + + + TC Utils + + + + + + 0 + 0 + 511 + 291 + + + + 0 + + + + Tab 1 + + + + + 10 + 10 + 321 + 221 + + + + + + + 350 + 60 + 141 + 27 + + + + Unmount device + + + + + + 350 + 10 + 141 + 27 + + + + Get device list + + + + + + Tab 2 + + + + + + + + 0 + 0 + 541 + 25 + + + + + + TopToolBarArea + + + false + + + + + + + + diff --git a/tcutils/moc_mainwindow.cpp b/tcutils/moc_mainwindow.cpp new file mode 100644 index 00000000..85806598 --- /dev/null +++ b/tcutils/moc_mainwindow.cpp @@ -0,0 +1,104 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'mainwindow.h' +** +** Created: Sun Aug 25 15:11:44 2013 +** by: The Qt Meta Object Compiler version 63 (Qt 4.8.1) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "mainwindow.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'mainwindow.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 63 +#error "This file was generated using the moc from 4.8.1. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_MainWindow[] = { + + // content: + 6, // revision + 0, // classname + 0, 0, // classinfo + 5, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // slots: signature, parameters, type, tag, flags + 12, 11, 11, 11, 0x08, + 34, 11, 11, 11, 0x08, + 56, 11, 11, 11, 0x08, + 71, 11, 11, 11, 0x08, + 88, 11, 11, 11, 0x08, + + 0 // eod +}; + +static const char qt_meta_stringdata_MainWindow[] = { + "MainWindow\0\0onBtnRefreshClicked()\0" + "onBtnUnmountClicked()\0onActionQuit()\0" + "onActionLaunch()\0" + "onSystemTrayClicked(QSystemTrayIcon::ActivationReason)\0" +}; + +void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + Q_ASSERT(staticMetaObject.cast(_o)); + MainWindow *_t = static_cast(_o); + switch (_id) { + case 0: _t->onBtnRefreshClicked(); break; + case 1: _t->onBtnUnmountClicked(); break; + case 2: _t->onActionQuit(); break; + case 3: _t->onActionLaunch(); break; + case 4: _t->onSystemTrayClicked((*reinterpret_cast< QSystemTrayIcon::ActivationReason(*)>(_a[1]))); break; + default: ; + } + } +} + +const QMetaObjectExtraData MainWindow::staticMetaObjectExtraData = { + 0, qt_static_metacall +}; + +const QMetaObject MainWindow::staticMetaObject = { + { &QMainWindow::staticMetaObject, qt_meta_stringdata_MainWindow, + qt_meta_data_MainWindow, &staticMetaObjectExtraData } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &MainWindow::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *MainWindow::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *MainWindow::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_MainWindow)) + return static_cast(const_cast< MainWindow*>(this)); + return QMainWindow::qt_metacast(_clname); +} + +int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QMainWindow::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 5) + qt_static_metacall(this, _c, _id, _a); + _id -= 5; + } + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/tcutils/qrc_resources.cpp b/tcutils/qrc_resources.cpp new file mode 100644 index 00000000..3f2366cb --- /dev/null +++ b/tcutils/qrc_resources.cpp @@ -0,0 +1,1191 @@ +/**************************************************************************** +** Resource object code +** +** Created: Sun Aug 25 15:11:45 2013 +** by: The Resource Compiler for Qt version 4.8.1 +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include + +static const unsigned char qt_resource_data[] = { + // /home/lk/projects/jtech/nlabs_xrdp_tcutils/tcutils/resources/images/tools.gif + 0x0,0x0,0x45,0x65, + 0x47, + 0x49,0x46,0x38,0x39,0x61,0xab,0x0,0xb7,0x0,0xe7,0xff,0x0,0x22,0x26,0x9a,0x18, + 0x2a,0x95,0x24,0x29,0x8f,0x1d,0x2e,0x92,0x1d,0x32,0x71,0x23,0x33,0x64,0x15,0x37, + 0x6c,0x16,0x34,0x96,0x22,0x31,0x96,0x1f,0x37,0x65,0x25,0x3b,0x5a,0x28,0x35,0x93, + 0x1d,0x38,0x9a,0x2c,0x38,0x70,0x1f,0x39,0x95,0x24,0x3a,0x87,0x14,0x3d,0x9f,0x15, + 0x3e,0x99,0x2a,0x40,0x65,0x24,0x3f,0x81,0x1f,0x41,0x7d,0x21,0x42,0x6e,0x25,0x3d, + 0x99,0x29,0x40,0x70,0x2c,0x3e,0x7b,0x1b,0x41,0x9c,0x24,0x42,0x78,0xd,0x46,0x99, + 0x10,0x46,0xa0,0x29,0x40,0x97,0x1f,0x43,0x9e,0x1f,0x44,0x99,0x2b,0x40,0x9e,0x1e, + 0x45,0x93,0x24,0x44,0x8c,0x21,0x43,0xa6,0x1e,0x49,0x84,0x23,0x45,0xa1,0x16,0x49, + 0xa3,0x29,0x43,0xab,0x2a,0x48,0x77,0x22,0x49,0x8a,0x19,0x4b,0x99,0x26,0x47,0x9d, + 0x30,0x45,0x95,0x2b,0x49,0x7f,0x1a,0x4b,0x9f,0x1c,0x4a,0xac,0x3d,0x47,0x6f,0x28, + 0x48,0xa4,0x31,0x48,0x8a,0x28,0x49,0x9f,0x2e,0x4a,0x87,0x1c,0x4e,0x95,0x1d,0x4c, + 0xa7,0x29,0x4a,0x98,0x27,0x4e,0x79,0x1e,0x4d,0xa1,0x2a,0x4a,0xa0,0x1d,0x50,0x90, + 0x11,0x51,0xab,0x25,0x4f,0x84,0x37,0x4a,0x82,0x2c,0x4f,0x73,0x2c,0x4a,0xa7,0x12, + 0x52,0xa5,0x11,0x53,0x9f,0x21,0x4e,0xa3,0x20,0x4f,0x9d,0x2a,0x4d,0x95,0x2a,0x4e, + 0x90,0x22,0x4f,0xa4,0x33,0x4e,0x7d,0x2d,0x4d,0x9c,0x29,0x50,0x8c,0x32,0x4f,0x86, + 0x23,0x51,0x9f,0x25,0x50,0xa5,0x30,0x4c,0xb1,0x16,0x56,0x9c,0x30,0x4e,0xa4,0x18, + 0x55,0xa8,0x30,0x4f,0x9f,0x26,0x50,0xb3,0x26,0x52,0xa1,0x1a,0x54,0xb5,0x1a,0x56, + 0xa3,0x28,0x51,0xad,0x1a,0x55,0xaf,0x26,0x54,0x9b,0x9,0x5b,0xad,0x25,0x55,0x96, + 0x31,0x51,0x9b,0x28,0x53,0xa2,0x29,0x53,0xa8,0x29,0x54,0xa3,0x38,0x53,0x83,0x1e, + 0x57,0xab,0x34,0x53,0x96,0x2a,0x55,0xa4,0x31,0x55,0x91,0x1e,0x59,0xa6,0x1e,0x5a, + 0xa0,0x2c,0x55,0xab,0x3c,0x56,0x75,0x1e,0x5b,0x9c,0x2c,0x56,0xa5,0x2a,0x58,0x9a, + 0x22,0x58,0xb3,0x32,0x58,0x84,0x22,0x59,0xad,0x3c,0x55,0x8d,0x2c,0x58,0xa0,0x30, + 0x55,0xb2,0x2e,0x57,0xa6,0x2a,0x5a,0x95,0x22,0x5b,0xa8,0x32,0x59,0x8f,0x46,0x55, + 0x7d,0x3a,0x54,0xac,0x47,0x53,0x9a,0x3c,0x59,0x7f,0x2e,0x5b,0x9d,0x32,0x59,0xaf, + 0x3a,0x58,0xa3,0x2b,0x5a,0xbe,0x3a,0x59,0x9c,0x41,0x59,0x89,0x46,0x55,0xa6,0x38, + 0x5b,0x98,0x26,0x60,0xa7,0x33,0x5d,0xa5,0x2a,0x60,0xaf,0x2c,0x5f,0xb4,0x39,0x5c, + 0xba,0x30,0x63,0xa1,0x37,0x62,0xa5,0x40,0x61,0x9f,0x3e,0x60,0xb0,0x32,0x63,0xb8, + 0x40,0x63,0x90,0x40,0x62,0x9a,0x48,0x62,0x83,0x46,0x63,0x89,0x44,0x61,0xa5,0x49, + 0x62,0x92,0x50,0x61,0x94,0x40,0x66,0xb0,0x37,0x69,0xb2,0x53,0x63,0x9e,0x3a,0x6a, + 0xb9,0x50,0x6d,0x85,0x52,0x6e,0x9d,0x58,0x71,0x99,0x58,0x73,0x94,0x54,0x72,0xab, + 0x5e,0x71,0xa6,0x65,0x7c,0x95,0x61,0x7b,0xac,0x63,0x7d,0xa5,0x6b,0x7a,0xad,0x64, + 0x7f,0xa1,0x60,0x80,0xbf,0x68,0x7d,0xd4,0x78,0x86,0xbb,0x6f,0x89,0xb9,0x71,0x8a, + 0xb3,0x73,0x8b,0xae,0x75,0x8d,0xa8,0x82,0x8f,0xc1,0x82,0x95,0xc5,0x7c,0x99,0xb8, + 0x7c,0x99,0xc4,0x78,0x99,0xd9,0x7c,0x99,0xce,0x88,0x98,0xba,0x8c,0xa7,0xb8,0x8e, + 0xa4,0xd2,0x8e,0xa6,0xc7,0x9c,0xa5,0xc9,0x96,0xb2,0xe4,0x9a,0xb3,0xcf,0xa4,0xb1, + 0xd0,0x94,0xb5,0xda,0x9f,0xb4,0xdb,0xa5,0xb3,0xe0,0xa4,0xb4,0xf0,0xa5,0xbf,0xf3, + 0xb0,0xc1,0xd4,0xb1,0xbf,0xeb,0xb7,0xbe,0xed,0xab,0xc3,0xeb,0xad,0xc4,0xe1,0xb9, + 0xc7,0xd4,0xb6,0xcd,0xf6,0xbb,0xd0,0xf0,0xc0,0xce,0xfd,0xb8,0xd7,0xed,0xcd,0xd3, + 0xeb,0xc3,0xd6,0xf0,0xbf,0xd8,0xff,0xc5,0xde,0xfd,0xcd,0xdc,0xfe,0xb7,0xe3,0xff, + 0xd4,0xe4,0xfe,0xdd,0xe5,0xeb,0xd1,0xeb,0xff,0xdd,0xea,0xff,0xf1,0xed,0xe4,0xcb, + 0xf6,0xfe,0xf0,0xec,0xff,0xe4,0xf0,0xfe,0xdd,0xf3,0xff,0xeb,0xef,0xff,0xf1,0xef, + 0xf7,0xe6,0xf3,0xf4,0xf0,0xf2,0xef,0xed,0xf4,0xe9,0xe9,0xf5,0xef,0xf8,0xf1,0xf0, + 0xf1,0xf5,0xe4,0xef,0xf4,0xf7,0xed,0xf5,0xfe,0xe7,0xf8,0xff,0xff,0xf1,0xfe,0xf5, + 0xf5,0xff,0xe2,0xfb,0xff,0xfb,0xf4,0xff,0xdf,0xfd,0xfa,0xdb,0xfe,0xff,0xf9,0xf8, + 0xee,0xf0,0xf9,0xff,0xf9,0xf7,0xfb,0xff,0xf7,0xf0,0xee,0xfb,0xfc,0xf7,0xf9,0xf6, + 0xff,0xf6,0xfd,0xed,0xfd,0xf0,0xfe,0xf8,0xf6,0xf5,0xfa,0xfd,0xff,0xfa,0xea,0xec, + 0xff,0xf8,0xea,0xff,0xfe,0xfa,0xfe,0xe6,0xf4,0xfe,0xf9,0xf9,0xfe,0xed,0xfd,0xfb, + 0xff,0xf7,0xfe,0xf3,0xf1,0xff,0xff,0xff,0xfc,0xfa,0xf9,0xfe,0xff,0xfc,0xfe,0xfb, + 0xff,0xfe,0xf5,0xff,0xfd,0xff,0xfe,0xff,0xfc,0xff,0xff,0xff,0x21,0xfe,0x11,0x43, + 0x72,0x65,0x61,0x74,0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x47,0x49,0x4d,0x50, + 0x0,0x21,0xf9,0x4,0x1,0xa,0x0,0xff,0x0,0x2c,0x0,0x0,0x0,0x0,0xab,0x0, + 0xb7,0x0,0x0,0x8,0xfe,0x0,0xbb,0x78,0x19,0xe8,0x25,0x48,0x97,0x2e,0x63,0xbe, + 0x28,0x5c,0xc8,0xb0,0xe1,0x98,0x87,0x10,0x23,0x4a,0x9c,0x48,0xb1,0xa2,0x45,0x88, + 0xd,0x33,0x6a,0xdc,0xc8,0xb1,0x21,0x93,0x8f,0x20,0x43,0x8a,0x64,0x42,0xa4,0xa4, + 0xc9,0x92,0x39,0x52,0xaa,0x74,0xc1,0xd2,0xc5,0x8c,0x15,0x33,0x5e,0xae,0xe0,0x40, + 0xb3,0xa6,0x4d,0xf,0x1e,0x32,0xe8,0xd4,0xe9,0x80,0x81,0xc0,0x81,0x41,0xbe,0x1c, + 0x4c,0xd8,0x91,0xe1,0xc5,0xa3,0x48,0x93,0x5e,0x2c,0xca,0x94,0xe3,0xc8,0xa7,0x20, + 0x4f,0x9e,0x1c,0x32,0x44,0x65,0xe,0x96,0x29,0x63,0x6a,0x9d,0x61,0xb3,0x2b,0x4d, + 0x9c,0x3b,0x4b,0x58,0x80,0x40,0x30,0x4a,0xd0,0x83,0x4d,0x17,0x2a,0x5d,0xcb,0xf6, + 0x68,0xda,0xb7,0xb,0xa1,0x42,0x95,0x6a,0x92,0x6a,0xd5,0x94,0x58,0x73,0xe8,0x98, + 0xa1,0x63,0xef,0xc,0x13,0x26,0xbc,0xde,0x4,0x6b,0x1,0x84,0x87,0xb2,0x6,0xd1, + 0xbe,0x6d,0xcb,0xb8,0xf1,0x43,0xb8,0x70,0xe5,0x3e,0xa5,0x5b,0xf2,0x88,0x5d,0xab, + 0x29,0xfb,0x6a,0xfe,0xb,0x58,0x70,0x4d,0x9c,0x1e,0x20,0x80,0xc8,0x50,0xf6,0x8b, + 0x15,0x2e,0x59,0xe0,0x3a,0x5e,0x4d,0x51,0x8d,0xeb,0xd7,0xae,0x21,0xbf,0x95,0x3c, + 0x92,0x32,0x91,0x23,0x96,0xa9,0x62,0xd6,0xac,0x19,0x70,0x67,0xcf,0x1c,0x70,0x1a, + 0x26,0x3d,0x30,0x8a,0xe9,0x2c,0xa9,0x17,0xb3,0x5e,0xfe,0x10,0x36,0x6c,0xd9,0x69, + 0x69,0x8b,0xb4,0x8d,0x3b,0xf7,0x6e,0xde,0x3a,0x7c,0x7,0x6,0x2e,0xbc,0x4,0x87, + 0x33,0x67,0xbc,0xfe,0x3c,0xb4,0x92,0xc5,0xca,0x46,0xe6,0xe8,0xd3,0x4b,0x3c,0x4f, + 0x71,0x63,0x6d,0x22,0x50,0xed,0x5e,0x56,0x89,0x3d,0xbb,0x76,0xee,0xa0,0x3f,0x84, + 0xf,0xf3,0xd8,0x8a,0x7f,0x8d,0xea,0x5,0x88,0x1e,0x7b,0x13,0x6d,0xd4,0x45,0x6d, + 0xf1,0xc9,0x77,0x57,0x66,0xd8,0x69,0xb7,0x9d,0x60,0xa0,0x79,0xf0,0x81,0x17,0xfc, + 0x99,0xe6,0xdf,0x7f,0x19,0x9,0xa8,0xe1,0x6a,0x4,0xae,0xa7,0xd1,0x41,0xd2,0x7d, + 0xa4,0xe0,0x82,0x7a,0x35,0xe8,0xa0,0x67,0x11,0x76,0xf0,0x98,0x85,0xfe,0x6d,0xe8, + 0xe2,0x80,0x0,0xb6,0xf7,0x21,0x88,0xd2,0x8d,0x68,0x55,0x7d,0x36,0x38,0xf8,0xe0, + 0x60,0x1d,0xf4,0xa8,0x10,0x86,0xa,0xbd,0x28,0x24,0x87,0x31,0x16,0x38,0x23,0x8d, + 0x92,0xd9,0x48,0x1f,0x76,0x36,0x34,0x79,0x62,0x57,0x1e,0x74,0xf0,0xc1,0x7,0x19, + 0x5c,0x68,0x9e,0x15,0x43,0x66,0xd9,0x58,0x87,0x11,0x19,0x78,0x10,0x92,0x9,0xca, + 0x77,0x23,0x93,0x4d,0xe6,0xe8,0x9b,0x57,0x51,0x4e,0x99,0x41,0x79,0x17,0x8e,0xc1, + 0x9f,0x73,0xaf,0x69,0x29,0xa7,0x87,0x19,0xca,0x98,0xd1,0x97,0x5f,0x26,0xa9,0xe0, + 0x98,0xbc,0x95,0x69,0xe6,0x6f,0x37,0x7d,0xc0,0x2,0xb,0x55,0x5a,0x9,0x11,0x9c, + 0xae,0x31,0x67,0xe5,0x85,0xb0,0x85,0xe1,0xe8,0xa3,0x88,0x46,0x3a,0x86,0xa1,0x10, + 0x61,0xe9,0x5c,0x45,0x5c,0x62,0xa4,0x11,0x41,0x78,0xca,0xb5,0xe7,0x8d,0x7a,0x69, + 0x85,0x5d,0x4c,0x3b,0x7e,0x35,0x25,0x95,0x6d,0x3a,0x16,0x29,0xa2,0x65,0xc0,0x61, + 0x86,0x19,0xfe,0x65,0xc4,0x2a,0xc7,0xa3,0x61,0xb0,0x61,0x6b,0x1c,0xb6,0x82,0xa7, + 0xeb,0xae,0xbc,0x86,0xd1,0x2a,0x1c,0xc0,0xc6,0x5a,0xc6,0x6b,0xb4,0x86,0xa1,0xc6, + 0x5a,0x6f,0x45,0x31,0x50,0x13,0x5e,0x1c,0x84,0xdc,0xb3,0x59,0x7c,0x54,0x59,0x75, + 0x47,0x34,0x61,0xad,0xb5,0x96,0x59,0x15,0xd3,0xa,0xdc,0x76,0xeb,0x6d,0x4d,0xa7, + 0x96,0xc0,0xdc,0xaa,0x70,0xc6,0xa,0xab,0xb0,0xb3,0x3e,0x6a,0xeb,0xba,0x67,0x14, + 0xeb,0xee,0xa3,0x72,0x58,0x1,0xac,0x19,0xc1,0x96,0xe1,0x9f,0x6b,0xb4,0x1e,0xab, + 0x54,0xb2,0xcb,0x36,0xdb,0x5,0xb4,0xc8,0x49,0xb,0x1f,0x13,0xd4,0x5e,0xdb,0x44, + 0x6e,0x43,0xdc,0x70,0x43,0x4b,0x2d,0x79,0xcb,0xad,0x60,0xe3,0x92,0x2b,0xb1,0x1a, + 0x72,0x54,0x6c,0xb1,0xc5,0x70,0xac,0xa1,0xf1,0xc6,0x1c,0x73,0x4c,0xaf,0x7f,0x70, + 0xc8,0x6b,0x85,0xbd,0x58,0x12,0xd9,0x94,0xb2,0x9c,0xfe,0xb,0x2d,0x48,0x54,0x95, + 0x24,0x5,0x11,0x52,0x8c,0x94,0xc4,0xcc,0xa,0x33,0xcc,0x92,0xc3,0x33,0x79,0x15, + 0xf1,0xc4,0xae,0xf1,0x8a,0xe8,0x85,0x19,0x77,0x2c,0x34,0xc7,0x21,0xab,0xb1,0xe8, + 0xd1,0x2d,0x22,0x9b,0x96,0xb2,0xcc,0xfa,0xfb,0xaf,0x48,0xb9,0x9d,0xf4,0x72,0xcc, + 0x53,0x27,0x71,0x12,0x5e,0xd,0x3b,0xc,0xf1,0x72,0x3c,0xe3,0xeb,0x45,0x78,0xe0, + 0x1d,0x2a,0x2f,0xb0,0x1a,0xc3,0x41,0x71,0x18,0xb3,0xa6,0x8d,0xf6,0xda,0x69,0xcb, + 0xe1,0x1c,0xc8,0x70,0x0,0xc,0x7,0x5b,0xfc,0xa6,0x8c,0x64,0x75,0x2d,0x4b,0x65, + 0xf5,0xfe,0xde,0x52,0xad,0x74,0xb3,0xd6,0x3a,0x73,0xdd,0x75,0x18,0x5f,0x83,0x27, + 0x9e,0x14,0x63,0x18,0xd,0x6c,0xc6,0xc0,0x3a,0xda,0xee,0xe3,0x61,0x40,0xe,0x39, + 0xad,0x15,0x1b,0x3d,0x36,0xb4,0x73,0x2b,0x9d,0x56,0x10,0x76,0x1f,0xc8,0xc4,0xc1, + 0xb8,0xd9,0x30,0xc4,0x11,0x52,0x94,0x6e,0xfa,0xcc,0x49,0x48,0x81,0xfa,0xd,0x39, + 0x24,0xe1,0xb7,0x4c,0xdd,0x6e,0xcd,0x5a,0xd7,0x14,0xeb,0x7a,0xec,0xed,0x6f,0xab, + 0x21,0xac,0xee,0xbc,0xf,0xeb,0x7b,0xef,0x91,0x53,0xee,0xf6,0x78,0x63,0x87,0xac, + 0x39,0x74,0x2,0x61,0xb,0x5,0x14,0x7e,0xe2,0x36,0xa2,0x6e,0x39,0x2c,0xe8,0x3a, + 0x5e,0xdb,0xc6,0x1e,0xf8,0xec,0xb4,0xc3,0x76,0xb1,0xc5,0x94,0xb,0xeb,0xfd,0xf7, + 0xde,0xbf,0xeb,0x76,0xc9,0x94,0xee,0xb,0x9d,0x42,0xcb,0x36,0xb1,0x3c,0xf3,0x7e, + 0x5e,0xd1,0x24,0xf3,0x43,0xbc,0xef,0xa7,0xd,0x3a,0x4c,0x7f,0x55,0xf5,0xf,0x5f, + 0x9f,0x54,0xf6,0xac,0xc2,0x21,0x8,0xb0,0x56,0xa0,0x3,0x21,0xe8,0x50,0x8,0x37, + 0xb8,0x61,0x5d,0x71,0xe0,0x81,0xaf,0xe8,0xc0,0xc0,0x58,0x5,0x90,0xe,0x8b,0x4a, + 0x97,0xbb,0xa,0xc1,0xc0,0x2b,0x95,0x21,0x5e,0xcb,0xd9,0x88,0x7f,0xe,0x12,0x4, + 0xce,0x79,0xc1,0x5a,0x4,0x39,0x82,0xe,0x6c,0x70,0x85,0x2a,0x5c,0xe1,0x84,0x36, + 0xa0,0x49,0x1c,0x52,0x68,0x82,0x32,0x5d,0x21,0x7,0x52,0x60,0x49,0xe9,0xb8,0x55, + 0x3d,0xd9,0xed,0x8f,0x7f,0xce,0x29,0xc3,0x13,0x9e,0x20,0x88,0x1e,0x6e,0x30,0x8, + 0xfe,0x6e,0x28,0x4,0x1b,0x6c,0x0,0x84,0x2b,0xb0,0x61,0xf,0x95,0x1b,0x3,0x88, + 0x2c,0xa6,0xc4,0x2f,0xc9,0xc1,0x7b,0xc,0x84,0xa0,0x15,0xe4,0xa0,0x85,0x2a,0x76, + 0x50,0x5f,0x26,0x6b,0xc8,0x6,0xbb,0xd0,0x41,0x82,0x84,0x27,0x7,0x47,0x90,0x83, + 0x14,0x36,0x80,0xc2,0xf7,0x7d,0x6d,0x42,0x50,0xc8,0x80,0x7,0xae,0x10,0x87,0x12, + 0xd4,0xf,0x2b,0x2e,0xf8,0xc0,0x11,0x6a,0xa8,0x3f,0xa4,0xe0,0x30,0x87,0x82,0x48, + 0xc3,0x13,0xcc,0xd0,0xc3,0x28,0x76,0x1,0x8c,0x67,0xd8,0x3,0x1b,0xae,0xa0,0x3, + 0x2f,0xec,0xa1,0x10,0x88,0xdc,0xc3,0x19,0x98,0x15,0x48,0x44,0x16,0x42,0x11,0x59, + 0xd0,0x98,0x1e,0xf4,0x40,0x2f,0x38,0x8,0x90,0xe,0x61,0xe8,0xa0,0x16,0x8,0x81, + 0x45,0xc7,0x68,0xd0,0x3c,0xb,0xe9,0xa0,0x1b,0xbc,0x10,0xb3,0x1b,0x84,0x80,0x8, + 0x72,0x70,0x41,0xe,0x48,0x29,0x5,0x2e,0x70,0xa1,0x8,0xaf,0xbc,0x81,0x18,0x37, + 0xe0,0x82,0x3d,0xac,0x80,0x96,0x78,0x59,0x81,0x5f,0xf2,0xd7,0x15,0xb6,0xdc,0x11, + 0x36,0x65,0x10,0x84,0x19,0xf6,0xf8,0xaa,0x2c,0xd4,0x20,0xb,0x8b,0x23,0x49,0x17, + 0xe0,0xe0,0x7,0x31,0xc8,0x40,0x6,0x13,0x90,0x81,0x11,0xc4,0xe0,0x87,0x6a,0x8a, + 0xc1,0x8,0xd0,0xa4,0x80,0x12,0x7a,0x50,0x87,0x3a,0xcc,0x81,0xc,0x5b,0xd8,0x81, + 0x1e,0x42,0xc6,0x40,0x2d,0x84,0x21,0xa,0x9d,0xdc,0x52,0x46,0x2e,0xc4,0x90,0xe, + 0x9e,0x21,0x75,0x7c,0x18,0x44,0xdc,0x8e,0x99,0x5,0x23,0xa4,0x60,0x2,0x18,0xfe, + 0xa0,0x81,0xf,0xf4,0x89,0x81,0x9,0x4c,0xc0,0x8,0x59,0xe0,0x82,0xea,0xae,0xa2, + 0xca,0x1c,0x68,0x85,0x97,0x36,0xf1,0xe5,0x2f,0x5d,0x53,0x6,0x21,0x94,0x81,0xe, + 0x65,0xc8,0x82,0x19,0x26,0xb9,0x86,0x40,0x4,0x62,0x9,0x2d,0x68,0xc1,0x1b,0x22, + 0xa1,0x9,0x54,0xd4,0x62,0x18,0xcf,0xa0,0xc6,0x37,0xa8,0x21,0xf,0x79,0x88,0x83, + 0x1a,0xcf,0x48,0xc6,0x30,0x86,0xb1,0x8a,0x53,0x64,0x22,0xf,0x48,0x40,0x2,0x37, + 0x95,0xb0,0x6,0x44,0xc0,0xa1,0x6,0x44,0xa0,0x83,0x25,0x4a,0x96,0xc5,0x85,0x58, + 0x29,0x94,0x6,0x91,0x3,0x1f,0x6a,0x90,0x2,0x23,0x90,0x81,0xc,0x4b,0xb8,0x0, + 0xa,0x22,0xa1,0x8a,0x5e,0x28,0x83,0x19,0xf8,0x98,0xc6,0x33,0x98,0x91,0xb,0x4c, + 0x5c,0x80,0x2,0x2,0x2d,0xdd,0x7,0x5c,0xd0,0x84,0x5d,0xe6,0xac,0x97,0x6b,0x59, + 0xa8,0x6b,0xe4,0xe0,0x6,0x47,0x95,0x61,0x10,0x7a,0x58,0xc3,0x36,0x51,0x80,0x84, + 0x47,0x98,0xe2,0x16,0xc9,0xf8,0x6,0x3e,0xf4,0x41,0x57,0x7c,0xd8,0xf5,0x1d,0x78, + 0xb5,0xeb,0x5d,0xe5,0x6a,0xd7,0x6f,0x24,0x43,0x16,0x9f,0x60,0x44,0xf,0x7a,0x40, + 0x86,0x35,0xc8,0xf3,0xb,0x4c,0x60,0x8e,0x46,0x16,0xa5,0x90,0xa0,0xa8,0x41,0x5, + 0x45,0xa8,0xa8,0x12,0x48,0x0,0x86,0x4c,0xd4,0x82,0x1a,0x76,0xf5,0xc6,0x3b,0xf4, + 0x11,0x8e,0x77,0x54,0xe3,0x19,0x76,0x1d,0x6,0x26,0x44,0xf0,0x1,0x29,0x0,0x22, + 0x8e,0x2f,0xa1,0x23,0x58,0x95,0x22,0x56,0x35,0xd4,0xa,0xb,0x7b,0x50,0xfe,0x4, + 0x21,0x88,0xba,0x4,0x4c,0xb0,0x22,0x19,0xf2,0xd0,0xab,0x3e,0xba,0x81,0xe,0x74, + 0xd8,0xe3,0xb7,0xbd,0xfd,0xad,0x70,0xfd,0x41,0xdc,0x73,0x6c,0x56,0x1f,0x76,0x35, + 0xa9,0x30,0x5c,0xd1,0x88,0xa2,0xe,0x62,0x10,0x3c,0xed,0xe9,0x8f,0x7e,0xba,0x10, + 0x39,0x30,0x73,0xd,0x24,0xe8,0x81,0x2b,0x9c,0x61,0xd7,0x73,0x78,0x83,0xb7,0xee, + 0x8,0x6f,0x3e,0xf4,0x81,0xd7,0x73,0xe0,0x43,0x1e,0xa2,0x18,0x63,0xe9,0x36,0x30, + 0x25,0xd5,0x26,0x34,0xac,0xac,0xda,0x1d,0xc5,0xb6,0xf7,0x1a,0x39,0xec,0x41,0x3c, + 0x70,0x48,0x41,0xb,0x4a,0x21,0xc,0xbd,0xaa,0xc3,0x1b,0xea,0x98,0x2b,0x71,0xc3, + 0x1b,0x5e,0x7b,0x10,0xf8,0xc0,0xc4,0xa5,0x6b,0x79,0xbd,0xf1,0x8d,0x6f,0x88,0x43, + 0x1e,0xe4,0x20,0x86,0x28,0xec,0x9,0xdd,0xc,0xae,0x13,0x94,0xa,0x71,0x96,0x11, + 0x76,0xa0,0x1,0x30,0xc4,0x82,0xa4,0xd,0x9e,0xab,0x3e,0x8,0xec,0xf,0x7e,0xa4, + 0x23,0x1d,0xc4,0x55,0xc7,0x35,0xbe,0x21,0x8f,0x56,0x88,0xa0,0x8,0x49,0xf8,0x80, + 0xe,0xae,0x0,0x18,0x9c,0xe5,0xac,0x22,0xb4,0xfb,0x15,0xbd,0x2e,0xe8,0xa8,0x2, + 0x46,0x81,0x82,0x1,0xbc,0x20,0x1f,0x68,0x60,0x87,0x55,0x4c,0x43,0x1f,0xe7,0x10, + 0xae,0x3d,0xf4,0xe1,0xf,0x7a,0xd0,0x23,0xc0,0x78,0x55,0x32,0x3b,0xa6,0xfc,0xdb, + 0x75,0xac,0x83,0xae,0x75,0xd5,0xab,0x49,0xa9,0x51,0xe,0x72,0x94,0xc3,0x15,0x84, + 0x35,0x1b,0x9c,0xe8,0xf6,0xa1,0x30,0xb8,0x21,0x25,0x84,0x10,0x41,0xfe,0x23,0x90, + 0x90,0x7,0x54,0x40,0xd5,0xb3,0xe8,0xc0,0x7,0x3d,0xc8,0xfb,0x5b,0x76,0x18,0x38, + 0x1d,0xe6,0xe0,0x7,0x3f,0xe8,0xa1,0x8d,0x6,0xcb,0xc3,0x13,0x3e,0xb8,0x81,0xe, + 0xe2,0x70,0x80,0x17,0x0,0xc1,0x6,0x2e,0x50,0x98,0xc2,0x56,0x50,0x2,0x71,0xb5, + 0xa6,0x6b,0xad,0x7a,0x15,0x8f,0x1d,0xf5,0x81,0x1f,0x77,0x81,0x10,0x82,0xa8,0x1, + 0x22,0x44,0x40,0x6,0x56,0x70,0xf7,0x1a,0xd8,0xe0,0x87,0x3b,0xd0,0x61,0x67,0x7b, + 0xf8,0xe3,0x1e,0xf4,0x10,0xb1,0x3f,0xc,0x4c,0x65,0x7b,0xa0,0x23,0x1c,0x9d,0xed, + 0x2b,0x33,0x7a,0x11,0xb,0x53,0x64,0x2,0x13,0x91,0xf8,0xc3,0x1f,0x1a,0xb1,0x9, + 0x51,0x4,0x82,0x4,0x6b,0x10,0xf3,0xa5,0x8e,0xa7,0x16,0x20,0x82,0x31,0xc,0x44, + 0xd0,0x83,0x1,0xf2,0x50,0x8b,0xb9,0x86,0xc3,0x1a,0x76,0x76,0x32,0x9d,0xed,0x31, + 0xe5,0x6d,0xb8,0x43,0xcf,0x4d,0xee,0x2b,0x3e,0x90,0x81,0x4,0xd2,0x42,0xe0,0x5, + 0x2f,0x68,0x52,0xa2,0x15,0xfd,0x81,0x46,0xe3,0x18,0xd2,0x92,0x2e,0x3,0xad,0xa, + 0x41,0x8,0x22,0xa0,0xd5,0x8,0x81,0xd0,0x80,0x2b,0x70,0xfb,0x8d,0x6b,0x94,0x18, + 0x1a,0xee,0xa0,0x76,0xa9,0x89,0xeb,0x6a,0xdf,0xfa,0xc3,0x1d,0xc4,0xbd,0x32,0x72, + 0xf1,0x41,0xd,0x5c,0x98,0xe2,0xf,0xfb,0xa4,0x0,0x5,0x68,0xf0,0x86,0x66,0xfa, + 0x21,0xb,0x45,0x18,0x4,0x1f,0xe2,0x29,0x29,0x62,0x7,0xc9,0xb,0xd5,0xa,0xc3, + 0xd,0xe0,0x40,0x2,0x46,0xc,0x43,0xae,0xef,0xf0,0xad,0x81,0xfe,0x4b,0xbc,0x8f, + 0x3a,0xb3,0x3,0x1d,0xd7,0xe6,0xc7,0x3a,0xb0,0xd1,0x8d,0x73,0xa8,0x43,0xa4,0xf2, + 0x70,0x85,0x8,0xf6,0x50,0x82,0x29,0x34,0x69,0x6,0x2c,0x21,0xb7,0xb9,0x1f,0xcd, + 0xb3,0x5f,0xc5,0xca,0xcc,0x3d,0xb6,0xc2,0x20,0xc4,0x30,0x87,0x1e,0xfc,0x41,0x18, + 0x25,0xb5,0x2b,0x3d,0xb2,0x71,0x8f,0x7f,0x2b,0xf9,0xe9,0xbf,0x5,0xb8,0x3f,0xf0, + 0x11,0x60,0x6a,0x0,0xe3,0x13,0x60,0x50,0x82,0x1e,0xc4,0x20,0x6,0x2e,0x4c,0x9c, + 0xf,0xc3,0xab,0xd8,0x7,0x1d,0x95,0x3,0xb7,0x8d,0xd9,0xe2,0x5f,0x18,0x43,0x13, + 0x72,0xe0,0x86,0x2f,0x14,0x41,0xc,0x91,0x40,0x6,0xd5,0xcf,0xc1,0x64,0x7f,0xa0, + 0x63,0x1b,0xd8,0xce,0x77,0xd4,0xb7,0x41,0x5c,0x7f,0x60,0x59,0x1d,0xf2,0x70,0x46, + 0x29,0xde,0xf0,0x0,0x2f,0x44,0xc0,0x7d,0x3a,0x68,0xc9,0xd,0xb8,0x55,0x6e,0x47, + 0x4f,0x24,0x7b,0x3f,0x37,0xb3,0x1,0xc3,0xc0,0x4,0x4a,0x90,0xa1,0xe,0x60,0x30, + 0x5,0x66,0xa9,0xae,0xe,0x27,0xdf,0xe3,0x1e,0xda,0xd0,0x7,0xd4,0x9f,0x8e,0xe, + 0xe4,0x9a,0xb4,0x16,0x8f,0x40,0xc1,0x1c,0x10,0x41,0x7,0x15,0x54,0x4c,0x89,0x1f, + 0x4,0x61,0xe1,0x78,0x50,0x88,0x45,0xb8,0xc1,0xec,0xc3,0x36,0x5f,0x43,0xc2,0x60, + 0x2,0x36,0x9c,0x81,0x8,0x46,0x78,0xc3,0x2f,0xf0,0xf1,0xc,0xba,0xaf,0x1a,0x1b, + 0xd8,0x58,0x87,0x9e,0xd3,0xa1,0xf7,0x91,0xfb,0xe3,0x1d,0xc6,0x7d,0xc7,0x33,0x90, + 0x91,0x89,0x16,0x50,0xa0,0x8,0x63,0x58,0xc1,0x22,0x3e,0xfe,0x90,0x92,0x9a,0x31, + 0xba,0xd1,0x3b,0x7f,0x7c,0x8e,0x2b,0x26,0x79,0x2d,0x4,0x73,0xd,0x3d,0x68,0x3, + 0x2e,0xe6,0xba,0x59,0xcf,0xd7,0xa3,0x1e,0xa8,0x16,0xfd,0xd3,0xd9,0xe1,0x8e,0x6d, + 0x6c,0x63,0xc9,0xf8,0x60,0xc6,0x2d,0x70,0xd0,0x83,0x39,0xac,0xa1,0x6,0x2a,0x70, + 0x69,0xb7,0x67,0x40,0x4,0x58,0x56,0x3d,0x26,0x79,0x68,0x83,0x28,0x64,0xb6,0x7b, + 0x3c,0x40,0x4a,0x62,0x40,0x3,0xc3,0xb7,0x59,0xae,0xb6,0xd,0x56,0x46,0x5c,0xcb, + 0xd7,0x7c,0x9b,0xf5,0xe,0x0,0xf6,0xd,0xc2,0x0,0xa,0x6,0x40,0x1,0x46,0x0, + 0x7,0x44,0x30,0x4,0x53,0x82,0x6c,0x26,0xe1,0x2,0x2b,0x0,0x2,0x20,0x0,0x7e, + 0xe7,0xd6,0x35,0x12,0x14,0x6,0x10,0x65,0x6,0x87,0xa0,0x1,0x98,0x90,0xc,0xf8, + 0x50,0xd,0xa2,0xa7,0x7c,0xfc,0xf0,0x79,0xa8,0xe6,0x77,0xf2,0xa7,0x64,0x27,0xb6, + 0x64,0xcf,0x80,0xb,0x9e,0x30,0x1,0x83,0x0,0x41,0xbe,0x52,0x6,0xb0,0x62,0x5, + 0x66,0xc0,0x40,0x82,0xd0,0x40,0xae,0xc2,0x47,0x52,0x8,0x7,0xc3,0x72,0x76,0xba, + 0xc7,0x10,0xb5,0x92,0x3,0x4c,0xf0,0x6,0xa0,0x30,0x57,0xd6,0x60,0x60,0x52,0x57, + 0x81,0x7a,0x56,0x60,0x79,0x35,0xd,0x54,0x7,0xc,0x91,0x50,0x0,0x13,0x0,0x9, + 0xb1,0xa4,0x6,0x1f,0x50,0x8,0x41,0xa0,0x2,0x44,0x50,0x4,0x44,0xb0,0x30,0x25, + 0x30,0x2,0x23,0xc0,0x82,0x3c,0x37,0x31,0xea,0x86,0x36,0x15,0xa3,0x84,0xd8,0x55, + 0xa,0xdc,0x75,0xe,0xe8,0xe0,0xf,0xe9,0xc0,0xf,0xfe,0xe6,0x90,0x67,0xfc,0xd0, + 0x64,0x73,0x86,0x65,0xc2,0x25,0x75,0xfa,0xf0,0xc,0xa6,0xb0,0x4,0x45,0x70,0x6, + 0x46,0xc4,0x6,0x8e,0x42,0x7,0xaf,0x92,0x47,0xaf,0xb2,0x43,0xaf,0x92,0x6,0x87, + 0xa0,0x31,0x3b,0x90,0x6,0x69,0xa0,0x7,0x55,0x98,0x7b,0x49,0x1,0x20,0x8a,0x54, + 0x4,0x2d,0x40,0xd,0x38,0x8,0x86,0xe1,0xb5,0xe,0xc4,0x45,0xf,0xfe,0x50,0x72, + 0x79,0x75,0x5e,0xe2,0x80,0x7a,0x15,0xd0,0x2,0x7e,0xc0,0x5,0x2c,0x70,0x3,0x6e, + 0x70,0x4,0x2e,0xe0,0x5,0xf,0x10,0x4,0x44,0x50,0x3,0x35,0x40,0x87,0x33,0x70, + 0x87,0x79,0x18,0x7e,0x12,0x91,0x63,0x61,0x60,0x9,0xa6,0x41,0x8,0x4f,0x90,0x6, + 0x24,0xc0,0xa,0x98,0xa5,0x59,0x29,0xc7,0x7c,0x52,0xe7,0x83,0x4d,0xd6,0x77,0xfb, + 0xe0,0xe,0xeb,0x60,0x57,0xbc,0x90,0x7,0x2d,0x20,0x6,0x61,0x10,0x7,0x55,0xb0, + 0x8e,0x98,0x8,0x88,0x6b,0x60,0x6,0x6b,0x90,0x6,0xf1,0x48,0x8a,0xf4,0x98,0x6, + 0x73,0x70,0x8f,0xc1,0x46,0x3b,0xe7,0xa6,0x29,0x63,0xe0,0x5,0x5f,0x60,0x4,0xb4, + 0x80,0xf,0xde,0x80,0x72,0x7,0x6,0x70,0x4e,0x46,0xf,0xfb,0x30,0x70,0xf2,0x40, + 0xd,0xab,0xf0,0x3,0xfc,0xa7,0x4,0x35,0x20,0x5,0x65,0xc2,0x3,0x65,0x92,0x3, + 0x41,0x20,0x4,0xc8,0x88,0x53,0xcb,0x88,0x87,0x7a,0x28,0x7e,0x3d,0x27,0x7,0x2, + 0x4,0x7,0x3b,0x40,0x6,0x3d,0xe0,0x69,0xf2,0xe0,0xd,0xde,0x50,0x62,0x87,0x58, + 0x60,0xbf,0x85,0x65,0x4e,0x96,0xd,0x4d,0x66,0xfe,0x65,0xfa,0x20,0xf,0xb2,0x80, + 0x3,0x38,0xd0,0x8,0x82,0x50,0x2b,0x6c,0x50,0x5,0xb6,0xe2,0x2b,0xf3,0x12,0x85, + 0xaf,0xf2,0x2a,0x43,0x43,0x2f,0xfa,0xf8,0x68,0xfc,0x48,0x4,0x70,0x50,0x7,0x50, + 0xd5,0xd,0x86,0xc8,0x8d,0xe1,0xc5,0x88,0xf4,0xd0,0xd,0xde,0x80,0xf,0xc9,0xc0, + 0xa,0x6d,0x50,0x1,0x3d,0xa0,0x4,0x5b,0x10,0x2d,0x3c,0x0,0x6e,0x36,0x40,0x91, + 0x4d,0x62,0x91,0xc7,0x88,0x8c,0x44,0xb0,0x91,0xcd,0xe8,0x78,0xcf,0x8,0x69,0x56, + 0xc0,0x4,0x70,0x80,0x8,0x64,0xd0,0x2,0xd8,0x98,0x59,0x4c,0x76,0x62,0xa2,0xf6, + 0x74,0x74,0x45,0xf,0x3c,0xf8,0x64,0x91,0xc8,0xa,0x73,0xa0,0x4,0x87,0xb0,0x5, + 0x35,0x20,0x40,0xe6,0xe4,0x28,0xc3,0x33,0x5f,0x95,0x3,0x27,0x8c,0x62,0x5,0xd9, + 0xb3,0x8f,0x2b,0xf2,0x5,0x5c,0x60,0x4,0xac,0x40,0x75,0xca,0x77,0x62,0xee,0x60, + 0x67,0x6,0x49,0x8b,0xfa,0xf0,0xd,0x9d,0x0,0x53,0x4a,0x90,0x2,0xcf,0xf2,0x39, + 0x57,0xe0,0x95,0xf3,0x93,0x3,0x73,0x48,0x96,0x2e,0xc0,0x8c,0x1d,0x99,0x96,0x5d, + 0x43,0x1e,0x5b,0x30,0x7,0x8c,0x10,0xa,0x98,0x35,0xd,0xe7,0x30,0x60,0xd8,0xc0, + 0x8d,0x50,0x47,0x5c,0xd9,0xe0,0x64,0x7d,0x75,0xa,0x29,0x20,0x4,0x94,0x40,0x9, + 0x35,0xf0,0x4,0xc0,0x19,0x2c,0xae,0xc5,0x2b,0xe0,0xe1,0x2e,0xc6,0x89,0x7b,0x13, + 0xc3,0x98,0x44,0x91,0x5,0x7e,0xa0,0x1,0xcc,0x90,0x5b,0xf7,0x50,0xf,0x75,0xb9, + 0x6f,0x9f,0x47,0xf,0xd7,0x80,0xf,0x97,0xfe,0x80,0x4,0x24,0xe0,0x7,0x1f,0xd1, + 0x41,0x41,0xd0,0x4,0x3c,0xe0,0x3e,0x3c,0x10,0x3f,0x65,0xa2,0x3,0x37,0x30,0x87, + 0x74,0x78,0x9a,0x1c,0xe9,0x8c,0x11,0x91,0x63,0x6d,0x79,0x79,0x99,0x20,0xe,0xf8, + 0x40,0x77,0xfb,0xe0,0xf,0x2b,0x17,0x70,0xfc,0xa6,0x64,0xb3,0x38,0x67,0x66,0xf8, + 0xa,0x60,0xf0,0x4,0x10,0x15,0x40,0xc2,0x84,0x4c,0xc4,0x19,0x39,0xc7,0x49,0x2b, + 0xba,0x12,0x3c,0x8e,0x93,0x80,0x5d,0xc3,0x9c,0xa,0x91,0x5,0x34,0x80,0x9,0xb, + 0xa9,0xf,0xd3,0x59,0x9d,0xbf,0x55,0x62,0xf7,0xc0,0xf,0xd8,0xe0,0xd,0xc0,0x80, + 0x4,0x62,0x70,0x3,0x7b,0xc0,0x3,0x24,0x8a,0x2d,0x96,0x31,0x33,0x7a,0x51,0x26, + 0x33,0x90,0x9e,0x45,0xb0,0x30,0x26,0x50,0x2,0x2f,0x90,0x9a,0xef,0x9,0x69,0x82, + 0xb0,0x3,0x75,0xd0,0x6,0xce,0xf0,0xd,0xfa,0x50,0x88,0xe6,0x80,0x67,0x2,0xa7, + 0xf,0xf4,0xb0,0x88,0x4a,0x26,0x8e,0xd9,0xa6,0xe,0xbf,0x0,0x6,0x21,0x28,0x8, + 0xfe,0x1,0x41,0xee,0x66,0x39,0xdf,0x33,0x5f,0x14,0x63,0x98,0x17,0x3,0x2f,0x45, + 0x29,0x7e,0x9a,0x92,0x5,0x1a,0x80,0xb,0xb9,0x45,0xf,0xf0,0x67,0xe,0xcd,0xf7, + 0x5b,0xfc,0x50,0xf,0xdc,0xe0,0x77,0xdf,0x80,0x9,0x7e,0xb0,0x2,0x24,0x74,0x5, + 0x3c,0x70,0x30,0xaa,0x63,0x12,0x29,0xa,0x4,0x40,0x80,0x73,0x8a,0x86,0x82,0xe0, + 0xe7,0x9e,0x87,0x2,0x69,0xd5,0xd8,0x3,0xc8,0x20,0xf,0xfa,0x60,0xd,0x88,0x8, + 0xd,0x26,0xe6,0x77,0xe6,0xf5,0x79,0xfe,0x42,0xa,0x86,0xb2,0xa8,0xf,0xd3,0xf0, + 0xd,0x91,0x20,0x3,0x19,0x73,0x8,0x4f,0x90,0x5,0x4,0x74,0x6,0x50,0x70,0x7, + 0xed,0xf2,0x44,0x66,0x40,0x8a,0x42,0x13,0x94,0x9a,0xea,0x3d,0x55,0x9a,0x96,0x57, + 0xfa,0x7,0xcf,0x20,0x57,0x5c,0xfa,0x79,0xc2,0x55,0x6a,0x61,0x4a,0x9d,0x48,0x96, + 0xb,0x13,0xb0,0x2,0x71,0xf0,0x2,0x26,0x34,0x4,0x49,0x50,0x4,0xb2,0x9a,0x8c, + 0x49,0xa0,0x3,0x40,0x10,0x3,0xb8,0xba,0xa2,0x8a,0xb6,0x2,0x2f,0x2a,0xa3,0x77, + 0xfa,0x1a,0xb1,0x12,0x29,0x70,0x10,0x6f,0xb7,0x40,0x9f,0x29,0x99,0xe,0xf0,0x0, + 0xf,0x26,0x76,0x65,0x9b,0x75,0x9d,0xab,0x6,0x86,0xe9,0x90,0x90,0xf8,0x20,0xc, + 0x14,0x30,0x9,0x72,0x70,0x8,0x73,0x90,0x6,0x66,0xa0,0x98,0x8a,0x44,0xa9,0x68, + 0xa3,0x84,0x98,0x3a,0x94,0xef,0xa8,0xa9,0xb0,0x92,0x3d,0xd1,0xf5,0x10,0x95,0x83, + 0x25,0xfe,0x21,0x6,0x9e,0xa0,0x57,0xed,0x0,0x7f,0xfc,0x0,0x75,0xfc,0x0,0xf, + 0xf3,0x0,0xf,0x64,0xfa,0x6,0x52,0x0,0x4,0xe0,0x6,0x4,0x3a,0x20,0xab,0x46, + 0x60,0x4,0xb2,0x2a,0x68,0x44,0x4,0xa7,0xe8,0xe9,0x7d,0xbc,0xa,0x7e,0x91,0xf2, + 0x3d,0x21,0x43,0x1e,0xc0,0xc2,0x26,0x56,0xb0,0x5,0x48,0x10,0xa,0xdf,0x60,0x5c, + 0x4c,0xa6,0x83,0x63,0xa8,0x77,0x7a,0xf6,0x83,0x6,0x96,0x67,0xc8,0x55,0xb,0x2d, + 0xc0,0x7,0x44,0x0,0x8f,0xef,0x18,0x6c,0xc0,0xe2,0xa4,0xde,0x3,0x94,0x8b,0x93, + 0xb2,0x8b,0x13,0xac,0x2e,0x68,0xfe,0x2c,0xc4,0x93,0x38,0x66,0xa6,0x5,0x10,0xc5, + 0x4c,0x24,0x20,0xc,0x66,0x88,0xf,0x4c,0xf7,0x79,0xeb,0xa0,0x77,0x27,0x77,0x6d, + 0xef,0xc7,0xf,0x9,0x59,0xb,0x22,0xe0,0x3e,0x57,0xe0,0x4,0x40,0xc0,0x5,0x7e, + 0x20,0x2,0x65,0x70,0x3,0x2c,0xb0,0x2,0x65,0xd4,0x4,0x67,0xb0,0x1,0x21,0x50, + 0xab,0xba,0x4,0x4,0x8,0x1b,0x5f,0xb1,0x92,0xb2,0x6,0xba,0x38,0x56,0xa0,0x4, + 0x30,0x60,0xc,0xfa,0x80,0x83,0xfa,0x20,0x8b,0x25,0x26,0x6a,0x2c,0x99,0x60,0xd3, + 0xa6,0xa1,0x53,0x27,0xb,0x60,0x0,0x7,0xf1,0x2,0x94,0xf0,0x8,0x8f,0x2b,0x7b, + 0x41,0x4f,0x4,0x3e,0x76,0xcb,0xb2,0x3c,0x93,0x2e,0x93,0x72,0x28,0x8e,0xe2,0x6, + 0x4c,0x30,0x8,0x6b,0xb0,0x5,0x8c,0xf0,0xc,0xc7,0x45,0xa8,0x56,0xf6,0x74,0xf9, + 0xe0,0xf,0xf0,0x50,0xf,0xc9,0xea,0xf,0xe2,0x40,0x6,0x39,0x60,0x2,0x2f,0x70, + 0x2,0x40,0xf0,0x62,0x44,0xf0,0x5,0x52,0x0,0x5,0x3a,0xc0,0x1,0x36,0x80,0x89, + 0x4d,0xb0,0x1,0x30,0xf3,0x0,0x2c,0xd0,0x55,0x19,0x70,0xb5,0xe5,0x22,0x2c,0x0, + 0x4,0x32,0xf6,0xf2,0x50,0x6a,0x90,0x2,0x99,0x40,0x5e,0x74,0xa7,0xf,0xd8,0x60, + 0x81,0xff,0xd6,0x7c,0x68,0xfb,0xe,0x19,0xba,0x83,0xa9,0xf6,0xa1,0xac,0xf7,0x2b, + 0x51,0xe8,0x2a,0x29,0xeb,0x3b,0x77,0x3b,0xbc,0xb4,0xa3,0xb7,0x3c,0xe5,0x5a,0xe7, + 0x24,0x2f,0x7a,0x90,0x2,0x91,0x79,0xa1,0x88,0xb8,0xe,0xa3,0x47,0xa4,0x8a,0xb, + 0xf,0xd8,0xa0,0xe,0xac,0xfe,0x20,0x2,0x5e,0xf0,0x2,0x23,0x70,0x7,0x1d,0x70, + 0x3,0x63,0x40,0x4,0x1f,0x30,0x3,0x5e,0x80,0x5,0x3c,0xc0,0x12,0x44,0xf0,0x4a, + 0xae,0x24,0x5,0x1f,0x10,0x1,0x6d,0xd4,0x68,0x9,0x8b,0xba,0xf5,0xd2,0x40,0x2, + 0xd4,0xba,0xc0,0xa0,0xf,0xde,0xa0,0x60,0xf8,0xd9,0x77,0x5f,0x7a,0xbb,0xb9,0xcb, + 0xf,0xda,0x40,0x70,0x28,0x80,0x8,0x23,0x3,0xbf,0x2a,0x4b,0x85,0xc3,0x7b,0xc0, + 0xc5,0xeb,0x28,0xcf,0xe8,0x28,0x41,0x40,0x8d,0xbf,0x36,0xc,0xfa,0xc0,0xb8,0x63, + 0x58,0x67,0x4a,0x96,0xb8,0x53,0xf7,0xe,0x7a,0x66,0xf,0xef,0x20,0xe,0x3d,0x60, + 0x89,0x32,0x36,0x42,0x61,0xe0,0x2,0x67,0x90,0x42,0x1c,0x90,0x3,0x7,0x51,0x3, + 0x5b,0x60,0x4,0xfe,0xf4,0x0,0x80,0x0,0x5,0x1c,0xd0,0xab,0x9,0x6b,0xc0,0xdf, + 0x23,0xbf,0x84,0x20,0x7,0x3b,0x40,0xd,0xb0,0x86,0xbf,0xb3,0x5b,0xbb,0xfc,0xe9, + 0x83,0xb8,0x6b,0x6a,0x79,0x46,0xf,0x53,0x89,0x9,0x4a,0x90,0x5,0x74,0xbb,0x3d, + 0x27,0x3b,0xb7,0x7,0xcc,0xa9,0x2d,0x9b,0x4e,0xae,0x65,0x10,0x82,0xa0,0x56,0x98, + 0xf0,0xd,0xb0,0xa8,0x64,0xc1,0x55,0x8b,0xe6,0x90,0xd,0xff,0x8b,0xf,0xa1,0x76, + 0x72,0xf8,0x70,0xa,0x22,0x10,0x7,0x39,0xb0,0x1,0xfa,0xa,0x46,0x1c,0x80,0x5, + 0x67,0x30,0x4,0x48,0x29,0x6,0x14,0x90,0x51,0x9b,0xa0,0xb,0x7e,0x10,0x2,0x13, + 0x2,0xc3,0xa7,0x2b,0xc3,0xb2,0x2,0x92,0x20,0x19,0x45,0x81,0xf0,0xd,0x9b,0xd5, + 0xd,0x63,0x4b,0xb6,0xfe,0x3c,0xfc,0x88,0x3e,0x88,0x65,0x25,0x66,0xe,0xcf,0x87, + 0xf,0xbf,0xa0,0x1,0x6b,0x60,0x5,0xef,0x92,0x80,0xbe,0x5b,0x2f,0x4b,0x8c,0xb7, + 0x7c,0x98,0x28,0x8f,0x91,0x38,0x6e,0xe0,0x2,0xd4,0xd8,0x8,0x2d,0x10,0xb,0xf8, + 0x30,0xe,0xa5,0x36,0x65,0xbd,0x15,0x70,0x7,0x89,0x5c,0xe2,0x20,0xe,0xfa,0x70, + 0x7f,0xec,0xf0,0xe,0xdf,0x90,0x2,0x2e,0x90,0x5,0x44,0xd0,0xaa,0xdf,0x71,0x6, + 0x1f,0xb0,0x1,0x6c,0xc9,0x61,0x17,0x90,0x9,0xbf,0x50,0x52,0xa2,0x20,0x2,0x72, + 0xf0,0x1,0x74,0x9c,0x43,0x46,0xa3,0x3b,0x47,0x9c,0x2e,0xc,0xf4,0x5,0x84,0xd0, + 0x8,0x3a,0xba,0x5b,0xf8,0x9,0xc8,0x5f,0x9a,0xa1,0x58,0x56,0x77,0x2a,0xe7,0x77, + 0x4,0x87,0x9,0x64,0x0,0x7,0x8d,0xfc,0xad,0x2a,0x1b,0xc9,0xf2,0xd5,0x73,0x94, + 0x1c,0x24,0x66,0x36,0x6,0x74,0xb0,0x6,0x75,0xf0,0x7,0x50,0x35,0xe,0xe0,0x50, + 0x6a,0xe8,0xb0,0xe,0x9f,0xd7,0xe,0xed,0xa0,0x57,0xcf,0xa0,0xc,0xa5,0xf0,0x9, + 0xcf,0xf0,0x85,0xdb,0x80,0xd,0xf8,0x50,0xa,0x22,0xf0,0x4,0x4c,0x70,0x42,0x1c, + 0xe0,0x5,0x2e,0x80,0x94,0x6b,0xa0,0x1,0x15,0xf0,0x9,0xc3,0x80,0xf,0x7e,0x46, + 0xb,0x4,0xc0,0x4,0x1b,0xf0,0xcb,0x88,0x39,0x56,0x16,0xa3,0x5,0x41,0x0,0x83, + 0xd,0x45,0x8,0x9b,0x80,0xf,0xef,0xe0,0xc7,0xfe,0x30,0xbb,0x64,0x3b,0x7a,0x4b, + 0x46,0xc8,0xb5,0x88,0x9f,0xa4,0x2c,0xb,0x28,0xe0,0x7,0x67,0xd3,0x2e,0x98,0xf8, + 0x28,0x91,0x46,0xfe,0xb2,0xda,0x2c,0xc9,0x12,0xe3,0x3b,0x58,0x82,0x3e,0x8e,0x32, + 0x5b,0x8d,0xa0,0x1,0x9f,0x20,0x90,0xf6,0x0,0xe,0xe0,0xd0,0x92,0x4e,0xd6,0xe, + 0xf1,0xd0,0x57,0xc3,0x0,0xa,0x1a,0xa0,0x4,0x6,0xf0,0xa,0xf6,0x60,0xd,0xe1, + 0x15,0xe,0xca,0xd0,0x3,0x3b,0x90,0x5,0x39,0xb0,0x48,0x37,0xf0,0x98,0x6d,0x5c, + 0xa,0x36,0x68,0xd1,0xe1,0x50,0xd,0xf9,0xd7,0x0,0x59,0xb0,0x78,0xee,0x1b,0x29, + 0x8a,0x79,0x36,0x31,0xdd,0xc0,0x84,0x20,0x4,0xfe,0x83,0xcc,0x1,0x77,0x9f,0x80, + 0xcc,0xd1,0xcf,0xac,0x9f,0xdb,0x90,0x57,0xdf,0xf0,0x9,0x4a,0x50,0x4,0x1,0x14, + 0x6,0x6c,0x77,0xd2,0x68,0xe3,0x2a,0xef,0x68,0xc7,0x4b,0x9c,0x63,0xe,0x44,0x14, + 0x40,0x41,0x4,0x7e,0xd0,0x8,0x15,0x60,0xb,0x73,0x65,0xf,0xf7,0x47,0x5e,0x33, + 0x9,0x61,0x10,0x56,0xb,0x98,0x40,0x3,0x83,0x62,0x4,0x4b,0x0,0xaa,0x84,0xed, + 0x6a,0xdf,0x10,0xa,0x10,0x99,0x5,0x2a,0x10,0x2,0x7c,0x80,0x1,0x6f,0x90,0xa, + 0x72,0x57,0x9f,0xc0,0x65,0xd,0x91,0xb8,0x4,0x62,0x10,0x2,0x7,0x8b,0x28,0xb8, + 0xa7,0x36,0x99,0x24,0x40,0x44,0xd0,0x43,0x29,0xf0,0x7,0xcd,0x70,0x9f,0x7d,0x57, + 0x81,0xcf,0xa,0x75,0x69,0xdd,0x77,0xf7,0xe7,0x72,0x54,0xd9,0x3,0x89,0x20,0x6, + 0x35,0xa0,0x6,0x8a,0x90,0x3,0x8b,0x70,0xd2,0xd6,0x15,0xb7,0x78,0x8d,0xc0,0x90, + 0xb6,0xd7,0xfd,0x38,0x10,0x43,0x50,0x6,0x8e,0x9d,0x9,0xcf,0x40,0x57,0xd9,0xb0, + 0x67,0xfa,0xfe,0x10,0x60,0x25,0x25,0xf,0xb0,0x70,0x9,0x79,0xf0,0x6,0x13,0x70, + 0x7,0xa3,0xd0,0xa,0x3d,0x80,0x4,0xb3,0x10,0xd9,0xec,0xa0,0xf,0xc5,0x60,0x0, + 0x8d,0xa0,0x4,0x4a,0x20,0x3,0x6f,0x10,0xb,0xca,0x60,0x57,0xd5,0x10,0xe,0xf6, + 0x60,0x62,0x95,0x69,0xbf,0x48,0x7a,0x3,0x7f,0x51,0x2,0xa6,0x5d,0x5f,0xc5,0x62, + 0x9,0x4c,0x10,0x49,0x15,0x85,0x2,0xc1,0x90,0x7c,0xc9,0x47,0x5c,0xb0,0x8d,0xd6, + 0x75,0xa7,0xbf,0xbf,0xa5,0x81,0xe7,0xf5,0xb,0x2d,0x50,0x7,0x89,0xe0,0xca,0x96, + 0xd0,0x4,0xf0,0x62,0xd7,0x3b,0xb6,0xd2,0x7a,0x6d,0x2f,0xf,0x41,0x10,0x39,0x0, + 0xb8,0x6,0x30,0xb,0x73,0xb5,0xe,0xef,0x47,0xf,0x7e,0x46,0xd,0xb2,0xf0,0x3, + 0x68,0x80,0x6,0x12,0x80,0x4,0xf3,0xb6,0x90,0x91,0x80,0x2,0x76,0xf0,0x6c,0xd4, + 0xb6,0xe,0xf2,0xa0,0x9,0xe9,0xd7,0x6,0xb1,0x30,0xd,0x62,0x1b,0xe,0xbe,0x65, + 0x62,0x80,0x6a,0xf,0xe1,0xe0,0xd,0x3e,0x10,0xa2,0xf7,0x9d,0xdf,0x6a,0xd0,0x2e, + 0xf0,0x2,0x41,0x19,0xb3,0x5,0x4a,0xf0,0x6,0x76,0x30,0xd,0x1,0x7,0xc8,0xfb, + 0x49,0xdb,0x7d,0x37,0x60,0x4a,0xf6,0xe,0x80,0x27,0xf,0xbf,0xb0,0x54,0x64,0x90, + 0x5,0x8a,0x70,0x4,0x46,0x3e,0xdc,0xaf,0x52,0xdc,0xc4,0x7b,0xdc,0x18,0x4e,0x10, + 0x1f,0x34,0x8,0x64,0x0,0x6,0xcc,0xf0,0xe,0xeb,0x60,0xe,0xf3,0xc0,0xd,0x76, + 0xf5,0xc,0xa9,0xf0,0x6,0x3e,0xf0,0x7,0x12,0x80,0x6,0xb0,0x80,0x59,0x23,0x45, + 0x93,0xfe,0x17,0x70,0x1,0xb6,0xa0,0xf,0xe3,0x60,0xf,0x57,0x56,0xc,0xcc,0x86, + 0x59,0xd5,0x60,0xf,0xe3,0xf0,0x85,0x82,0x9e,0xac,0x41,0x58,0xd,0xcc,0xa0,0x1, + 0x5c,0xb0,0x78,0x2f,0x4a,0xe4,0x46,0x4e,0x98,0x74,0x20,0x4,0x88,0xb0,0x5,0x8d, + 0x50,0x7,0x59,0x2a,0x7a,0x4f,0x39,0xe5,0xa0,0xbe,0x9f,0x7,0x1e,0xe5,0x76,0x36, + 0x70,0x72,0x5,0xc,0x12,0xa0,0xdb,0x70,0xf0,0x5,0xf0,0x12,0x69,0x15,0xae,0xcd, + 0x39,0xd6,0x26,0x66,0x3e,0x6,0x45,0xa0,0x4,0xac,0xa0,0xe,0xe7,0x90,0x72,0x76, + 0x35,0xb,0x4,0x20,0x3,0x22,0x20,0x3,0x92,0x50,0xb,0xf4,0x99,0x5b,0xc8,0x35, + 0x52,0x76,0x80,0x4,0x76,0x80,0xf,0xf0,0xed,0xf,0xff,0x4b,0x52,0x37,0xf8,0x74, + 0x6d,0xae,0x88,0xee,0xb0,0x59,0xaa,0x2a,0x68,0x80,0x81,0xdf,0x70,0xe2,0x36,0x95, + 0x8e,0xd2,0x59,0xb0,0x3,0x73,0x90,0x54,0xa9,0xa0,0xec,0xf6,0xc7,0x77,0x1f,0x1d, + 0xea,0xa2,0xe,0xea,0xfa,0x96,0xa1,0x73,0x66,0xd0,0xf8,0x0,0xc,0x15,0xf0,0x6, + 0x46,0x40,0x7,0xe9,0xf2,0x44,0x76,0x2d,0xe6,0x77,0x1b,0xeb,0x2d,0x32,0x10,0x58, + 0x20,0x1e,0x45,0xf0,0x6,0xcc,0xa0,0xe,0x65,0xeb,0xf,0xde,0x30,0xd,0x92,0x20, + 0x3,0x80,0x30,0x9,0xba,0x90,0x5b,0x72,0x46,0xa8,0x51,0x89,0xf,0xab,0x50,0x1, + 0x28,0xd0,0xb,0x3b,0x2a,0x8e,0xa9,0xc6,0xa7,0xd4,0x86,0x60,0xba,0x9b,0x90,0xc8, + 0xc5,0x9,0x45,0xd0,0x1,0x57,0x10,0x3,0x93,0x9e,0xed,0x9,0xa,0x2f,0x5d,0x20, + 0xfe,0x8,0x29,0x10,0x8,0x2d,0x80,0x9,0x50,0xa5,0xb1,0xae,0x66,0x6a,0x53,0x8e, + 0x6d,0x2d,0xd9,0x64,0x8b,0xf8,0x6f,0xad,0xa6,0xce,0xed,0x10,0x60,0x72,0x35,0xc, + 0x1a,0x10,0x8,0x66,0x43,0x98,0x3a,0x66,0xef,0x76,0x8b,0xef,0x58,0xa2,0xef,0xcd, + 0x92,0x5,0xad,0x20,0xf,0xdf,0x50,0x62,0xf0,0xb0,0xf,0xc6,0x45,0xa,0x18,0x80, + 0x7,0xba,0x10,0x60,0x9d,0xb7,0xa1,0xa2,0x96,0xb8,0xf8,0xe0,0xc,0x38,0xe0,0x7, + 0x92,0xe0,0xd,0xf0,0xbd,0xd,0xf0,0xa7,0xcc,0x94,0x49,0xe0,0xda,0x30,0x67,0x1, + 0x36,0xad,0x34,0x90,0x4,0x30,0xa,0xf2,0xd8,0xee,0x1c,0x2f,0x88,0x36,0xf2,0x12, + 0x8,0x9e,0x60,0x95,0xb0,0xa9,0xe,0x9c,0x15,0x75,0xe1,0x25,0x72,0x1d,0xdd,0x77, + 0xf2,0x37,0xea,0x4e,0xe7,0x5b,0xf7,0xa9,0xbb,0x74,0xc5,0x62,0xbf,0x20,0xda,0x63, + 0xa0,0x2b,0xd6,0xa5,0x31,0x95,0x54,0xc0,0x90,0xcc,0xc4,0xda,0x43,0x31,0x59,0x5b, + 0xb2,0x55,0x48,0x38,0xf,0x91,0x5,0x81,0x40,0x9f,0xef,0x80,0x77,0xf0,0xb0,0xd, + 0xf6,0xcb,0xc,0x3e,0x80,0x1,0x95,0xf0,0x5f,0x4c,0xd6,0xa3,0xa2,0xc6,0x77,0xe7, + 0x65,0xa,0xfa,0x74,0xc,0x39,0x8,0x7f,0xb4,0x78,0x81,0xe9,0xa0,0x7c,0x7,0x69, + 0xd0,0x7f,0x36,0x1,0x1f,0xa0,0xbd,0x6a,0x8f,0x28,0x66,0x46,0xbe,0x6e,0x40,0x4, + 0x90,0x40,0x3,0x48,0x90,0xa3,0xff,0xd5,0x59,0xa2,0x67,0xd6,0xe4,0x5e,0xd4,0xae, + 0xd6,0x59,0xd0,0x97,0x81,0xa,0xf6,0xcc,0x60,0x68,0x81,0x84,0xba,0x88,0x48,0xfe, + 0x86,0xf,0xbd,0x80,0x1,0xf9,0xa,0x4,0x71,0x10,0x5,0x35,0x0,0x8a,0xe3,0x4a, + 0xae,0xc1,0x7b,0x41,0x59,0x1b,0xf9,0x8e,0xe3,0x36,0x64,0xf3,0x8e,0xb5,0x52,0x8, + 0x51,0x0,0xd0,0x45,0xb7,0xa7,0xe2,0x3e,0x86,0xf6,0x8b,0xf,0xae,0x40,0x3,0x14, + 0x80,0xc,0x38,0x1e,0xe8,0xd6,0x16,0x5e,0x99,0x79,0xf5,0x17,0x60,0x7,0xa1,0xa0, + 0xf0,0xf1,0xd0,0xe,0x3d,0x58,0x7f,0xe1,0x85,0x67,0x0,0xc1,0x8f,0x9e,0x3c,0x71, + 0xf2,0x62,0xd1,0x8,0x31,0xe5,0xc4,0x89,0x11,0x26,0x4a,0xa8,0x81,0x18,0x51,0x4d, + 0x98,0x42,0x3c,0xa,0xd,0xe1,0x23,0x6,0x8c,0xad,0x69,0xde,0xd6,0x7d,0x5c,0xe7, + 0xce,0x1f,0x3f,0x73,0xeb,0xfc,0x85,0xb4,0x67,0x4f,0xdf,0x3b,0x96,0xf8,0x5c,0x4e, + 0xc3,0xd7,0x52,0xdf,0xca,0x99,0x1f,0x4f,0x9a,0xf4,0x37,0x92,0x9f,0xbf,0x6e,0xfa, + 0xa6,0xf9,0x92,0x1,0x8,0xc8,0x95,0x42,0x82,0x52,0x1c,0x5a,0x3,0xc7,0xcc,0x52, + 0x33,0x6b,0x9a,0xc2,0x81,0x5a,0xa6,0x8c,0x1c,0xa9,0x70,0xa4,0x4e,0xc,0x13,0xe6, + 0x8c,0x1c,0x35,0x4a,0xd7,0xa4,0x31,0xb3,0xc8,0x46,0xa1,0x20,0x70,0xf4,0xd4,0xa9, + 0x20,0x8b,0x5a,0x4c,0x7d,0xee,0xf8,0xf1,0x73,0xa7,0xf2,0x1b,0xb2,0x1e,0x4b,0x3c, + 0xc5,0xb4,0xc7,0x2e,0x65,0x5c,0x7d,0xdf,0xf0,0x7d,0xf3,0xe4,0x23,0xc1,0x30,0x79, + 0xf2,0xe2,0xdd,0xbb,0xe7,0x2f,0xa5,0x3d,0x77,0x22,0xfd,0x69,0x53,0xe7,0xb7,0x16, + 0x98,0x14,0x52,0x46,0x20,0x38,0x11,0xc3,0xa1,0xc4,0x88,0x72,0xc2,0x10,0xfe,0x62, + 0x42,0xc7,0x8f,0x6,0x56,0xf8,0xce,0xbd,0x5b,0xb7,0xaf,0xb1,0xbb,0x7c,0xeb,0x76, + 0xfa,0x7b,0x37,0xd3,0x9b,0x3e,0x7c,0xcc,0x6c,0xa1,0xa,0x75,0x4a,0x96,0xad,0x61, + 0x7e,0x5d,0x7a,0x8b,0xad,0x2f,0xa7,0x3f,0x74,0x8b,0xf7,0xe5,0x5c,0x17,0x1b,0xdf, + 0x2e,0xc,0x62,0xf8,0x30,0x51,0x21,0xa8,0x6,0x54,0xa8,0x4b,0x95,0x52,0xb7,0xaa, + 0x46,0xea,0xf6,0x32,0x10,0xe5,0x78,0xfe,0x5e,0x46,0xa9,0x19,0x38,0x61,0xd8,0xe4, + 0x20,0x82,0x68,0x4e,0x8f,0x50,0xe2,0x5c,0xbe,0xf3,0xe7,0xd6,0x1c,0x3c,0x7e,0xfa, + 0xa8,0xc9,0xb,0x85,0xa3,0xc2,0xb0,0x98,0xe7,0xf4,0x75,0x8b,0xed,0x1b,0x79,0x70, + 0xa9,0x84,0xb,0x40,0x8,0xc8,0xc5,0x25,0xc4,0xf8,0xc9,0x8b,0x1d,0x76,0xb6,0xf1, + 0x7,0x9b,0x9e,0x5c,0xc2,0x25,0x92,0x6,0x8a,0x90,0xc2,0x84,0x17,0x5e,0xd0,0xec, + 0x21,0xce,0xb4,0x93,0x4a,0x10,0x23,0x1a,0xc1,0x64,0xad,0x95,0x4c,0xda,0x67,0x9b, + 0x6d,0xf6,0x31,0xe9,0xbf,0x99,0xde,0xa1,0xf0,0x11,0x1c,0xc0,0x0,0x3,0x5,0x14, + 0x5a,0x68,0xc1,0x8e,0x4c,0x6c,0x79,0x46,0x1d,0x7c,0x66,0x12,0x6e,0x31,0x21,0xed, + 0x81,0xd,0x46,0x7c,0x7e,0xb9,0x20,0x90,0x1a,0x6e,0xd8,0x23,0xc,0xaa,0xaa,0xc2, + 0x8e,0x3a,0xee,0xb8,0xeb,0xec,0x3b,0xaa,0x40,0x94,0x23,0x8a,0x30,0xe8,0xc8,0x62, + 0x87,0x3a,0x18,0x59,0x8b,0xad,0x93,0x46,0x82,0xa7,0x9e,0x7b,0x7c,0x2c,0x46,0x1, + 0x34,0x56,0x91,0xc7,0x19,0x7c,0xe4,0xf1,0x51,0x1e,0x5e,0x1c,0xb9,0xfe,0xc0,0x8f, + 0x7,0x58,0x10,0x85,0x99,0xd8,0xde,0x8a,0xcb,0x41,0x22,0xb1,0x99,0xe9,0x9c,0x69, + 0x7a,0xf1,0xa1,0x39,0x2e,0x1e,0x70,0xe1,0x8c,0xf,0x4c,0xd8,0xec,0x43,0xf1,0xb6, + 0xd8,0xa2,0xe,0x30,0x9c,0xf1,0x4b,0x1f,0x7b,0x70,0x72,0x67,0x1b,0xc7,0x92,0xd3, + 0xe7,0x99,0x37,0x4d,0x89,0x64,0x89,0x3a,0x2,0x21,0x63,0xb,0x3d,0x6,0xe1,0xc2, + 0x8f,0x37,0xc0,0xc8,0x43,0x16,0x97,0x56,0x7a,0x27,0x25,0x3f,0xed,0x41,0x7,0x9d, + 0x9c,0xe8,0xc1,0xc7,0x47,0x5e,0x2a,0x20,0x83,0x8f,0x2b,0xae,0xd8,0xca,0x4a,0x2b, + 0xb9,0xc3,0x8e,0x2b,0x88,0xa6,0xfc,0x2e,0x2b,0x65,0x8f,0x20,0x24,0x8b,0x35,0xea, + 0x40,0x81,0x9a,0x6f,0xd4,0x89,0xed,0x26,0x7b,0xf6,0xa9,0xa7,0x1e,0x6e,0x70,0xc5, + 0xa7,0x13,0x34,0x24,0x70,0x86,0x1c,0x71,0xc9,0x81,0x5,0x8d,0xa,0x68,0xf4,0x81, + 0x14,0x65,0x58,0x1a,0xd2,0x4f,0x7a,0xb4,0xd1,0xc7,0x1b,0x75,0xa6,0x21,0x65,0x82, + 0x3b,0x59,0xb8,0x21,0x84,0x10,0x44,0x50,0x61,0x86,0x46,0x39,0xb3,0x62,0xd,0x25, + 0xa0,0xfd,0xc5,0xbd,0xd8,0x18,0x6b,0x8c,0x56,0x91,0x0,0xa5,0xed,0x4d,0x56,0x7a, + 0x50,0x62,0x8d,0x53,0x7,0x29,0xa3,0x8b,0x26,0x86,0x90,0xc3,0xf,0x25,0x34,0xc8, + 0x63,0x15,0x13,0x63,0xb5,0x67,0x1c,0x91,0x85,0x1c,0xe9,0x9e,0x77,0xf1,0x29,0x6, + 0x5,0x31,0x62,0x88,0xe3,0xc,0x65,0x5f,0x76,0x52,0x3b,0xea,0xac,0x0,0xf,0xc4, + 0xed,0x3c,0x33,0x8f,0xd,0x9d,0xe5,0x80,0xc3,0x88,0x55,0x9f,0xfe,0xf9,0xe6,0x45, + 0xc6,0x70,0xda,0x87,0x9f,0x7a,0xde,0x4a,0xee,0x18,0x5,0x18,0x71,0xa5,0x9c,0x65, + 0x68,0x79,0x44,0x1,0x47,0x7e,0x40,0xc2,0x14,0x66,0xf0,0xf1,0xa6,0x1a,0x69,0x86, + 0x5c,0xec,0xcd,0xfb,0x7e,0xa9,0x44,0x84,0x7,0x74,0x0,0xc2,0x83,0x19,0xa4,0x28, + 0x42,0x84,0x22,0x5c,0xf8,0x57,0x22,0x38,0x94,0x88,0xa4,0x8d,0x55,0xf0,0x99,0x66, + 0xa6,0xf8,0x12,0xde,0xeb,0x2d,0x7f,0xfa,0xc2,0x7,0x97,0xb,0xc8,0xd0,0x3,0x8e, + 0x2e,0x82,0xd0,0xf2,0x8c,0x33,0xbc,0x8,0x82,0x88,0x41,0x10,0x59,0x55,0x96,0xab, + 0x2d,0x45,0x67,0x1b,0x7b,0x24,0x37,0xee,0x9e,0x6c,0xef,0xd1,0x6,0x1f,0x61,0x30, + 0x0,0xe4,0xe,0x97,0x61,0x56,0x96,0x2a,0xec,0x26,0xe2,0x6a,0xca,0x32,0xb2,0x62, + 0x23,0x8e,0x2a,0xd8,0xa0,0x23,0x85,0x46,0xc0,0x40,0xe6,0x47,0x4b,0x73,0x72,0xe7, + 0x38,0x9a,0x86,0xb3,0x27,0x1c,0x7d,0x1e,0x41,0xa1,0x8e,0x56,0x94,0x68,0x1,0x9, + 0x14,0xd0,0x80,0xc5,0x3d,0x6a,0x2d,0xb5,0x87,0x1f,0x78,0xe6,0x39,0x7a,0x6f,0x7c, + 0xa,0x72,0xc6,0x94,0x16,0x64,0x60,0x61,0x6,0x10,0x40,0x0,0x2,0xa,0x29,0xb8, + 0xa8,0x61,0xed,0xb6,0x23,0x82,0x23,0x10,0x30,0x34,0x9,0xf3,0x1a,0x7f,0xf6,0xc9, + 0xc7,0x9d,0xe2,0x52,0x5a,0x27,0x1d,0xb8,0xde,0x39,0xe7,0x19,0x14,0xde,0x40,0x44, + 0x70,0x37,0xa,0x29,0x84,0x8d,0x42,0xb2,0x72,0x83,0x2a,0x2b,0x6a,0x48,0x84,0x1, + 0x62,0xf1,0xb1,0xa2,0xed,0x24,0x25,0xe8,0x10,0x89,0xd1,0xfe,0xea,0x41,0xf,0x1f, + 0xf5,0x42,0x6,0x52,0x18,0x83,0x1a,0x3c,0xe3,0x32,0x36,0xbc,0x4c,0x3c,0x4f,0xc1, + 0xca,0x93,0x6e,0x86,0xba,0x38,0xb4,0x2c,0xb,0x75,0x40,0x82,0x30,0xb0,0x86,0x40, + 0xb7,0xc0,0x65,0x6f,0xca,0x41,0x9e,0x5e,0xaa,0x1,0xc,0x14,0x90,0x60,0x7,0x5b, + 0x20,0x1,0x18,0x72,0xe1,0xd,0x7c,0xc4,0xe3,0x1a,0xfa,0xa8,0x55,0xf2,0xe6,0xb1, + 0xc3,0x5,0xba,0x44,0x1e,0xd4,0x58,0x5,0xa,0x34,0x20,0x6,0x11,0xac,0x40,0x7, + 0x71,0x0,0x41,0x9,0x80,0xf0,0x81,0x1b,0x70,0xe1,0x6,0xfe,0xf2,0x10,0x67,0xe0, + 0xf0,0x86,0x48,0x50,0x4a,0x1d,0xfa,0xa0,0xc7,0x4e,0xe2,0x22,0x24,0x77,0xb8,0x4f, + 0x72,0xfa,0x78,0x5,0x12,0x96,0x20,0x6,0x2b,0x28,0x4b,0x67,0x6e,0x60,0xca,0xe9, + 0x9c,0x34,0x6,0x48,0x90,0x26,0x68,0xf4,0xe0,0x46,0x3d,0xe8,0xb3,0xe,0x92,0x19, + 0xed,0x1e,0xfa,0xf0,0x91,0x2f,0x68,0xe0,0x87,0x1a,0x58,0x81,0x10,0x61,0x70,0xc1, + 0xfd,0x42,0xe7,0x95,0x35,0x64,0x90,0x3b,0x74,0xa0,0x3,0x21,0xba,0x90,0xa8,0x33, + 0x8c,0x81,0x2,0x98,0xe0,0xf,0x3e,0xc2,0x91,0x40,0xbd,0xed,0xad,0x61,0x3f,0x12, + 0xd2,0x3b,0x1e,0x71,0x81,0x16,0x70,0x62,0x17,0x31,0x41,0x7,0x3d,0xcc,0xf4,0x91, + 0xc6,0x28,0xf0,0x1e,0xf1,0x78,0x53,0x31,0x58,0x21,0x46,0x25,0x18,0xa1,0x8,0x45, + 0xb8,0x81,0xe,0x74,0x60,0x3,0x1b,0xcc,0xc0,0x96,0xb6,0x5c,0xc1,0xf7,0x20,0x2, + 0x7,0x1a,0xfc,0xc2,0x37,0xda,0x20,0x9,0x5c,0x86,0xfe,0xe4,0x96,0x74,0xb8,0x43, + 0x77,0xca,0x40,0x41,0x23,0xe0,0x80,0x15,0x9d,0x39,0x29,0xd,0x87,0x0,0x8b,0x1b, + 0xcc,0x73,0x86,0x1b,0x24,0x2,0x5,0x73,0xc3,0x87,0xe5,0xb2,0xb5,0x8f,0x3,0xa6, + 0xc4,0x1f,0xf7,0xd8,0x89,0x7f,0x6,0xd5,0x82,0x44,0x18,0x21,0xb,0x72,0x50,0xc4, + 0x6,0xf2,0x97,0x15,0x9e,0x35,0x65,0xd,0x34,0x73,0x52,0x78,0xe4,0x20,0x4,0x2b, + 0x10,0x81,0xe,0x83,0xe8,0x82,0x1c,0x8c,0x80,0x89,0x63,0xe4,0xea,0x1c,0x8c,0x79, + 0x4b,0x25,0x67,0xe2,0x92,0x1f,0xdd,0x2d,0x25,0xcc,0x78,0xc5,0x2f,0xde,0x53,0x9c, + 0xe1,0xc,0x87,0x45,0xd,0xa3,0x6,0x2f,0x34,0xf1,0x3,0x1c,0x18,0x81,0x8,0x44, + 0x28,0xc2,0x45,0x89,0x70,0x83,0x1b,0xb8,0x40,0x7,0x33,0xb0,0x41,0xc,0x4a,0xa0, + 0x19,0x5d,0x76,0xc5,0xf,0x6e,0x9a,0x16,0x1c,0xf9,0x34,0xcc,0x74,0xa4,0x43,0x2f, + 0x7f,0xf1,0x84,0x12,0xe0,0x80,0xb3,0xcf,0xc1,0x21,0xd,0x73,0x0,0x8b,0x16,0x74, + 0xc6,0x6,0x37,0x14,0x61,0x9,0x38,0x80,0x85,0x4b,0x44,0x59,0x8f,0x9c,0x70,0x11, + 0x27,0x34,0x39,0x92,0x6,0xea,0x90,0x88,0x1a,0xa8,0x40,0x11,0x4d,0x18,0xa4,0x3b, + 0x97,0x69,0x25,0x65,0x31,0xc1,0x12,0x83,0x10,0x81,0x1e,0x2,0xa1,0x4,0x4c,0x30, + 0xa3,0x52,0xc2,0xf1,0x7,0x34,0x2,0x9a,0x13,0x20,0xb9,0x44,0x27,0x7a,0xd3,0x87, + 0x7f,0xde,0xa1,0xbb,0x94,0x8c,0x43,0x25,0x40,0xa2,0x8d,0x3a,0x90,0xa1,0x8a,0x46, + 0xb4,0xa0,0x7,0x6d,0x98,0x43,0x12,0x6c,0xa0,0xfe,0x83,0x1c,0x24,0x1,0xa3,0xaf, + 0xdc,0xe8,0xc,0x80,0x10,0x83,0x11,0x8c,0xa0,0x43,0x1f,0x52,0xc3,0x18,0xfc,0xf0, + 0x8d,0x69,0xa9,0x3,0x9c,0x6f,0x19,0x66,0x7c,0xb6,0x81,0x8e,0x70,0xbc,0xa9,0x11, + 0x5b,0x80,0x67,0x56,0x76,0x79,0xd3,0x34,0x94,0x41,0xb,0xe6,0xa1,0x48,0x16,0xc8, + 0xd0,0x86,0x1f,0xa0,0xa2,0x1c,0xf8,0xa0,0x7,0x3d,0x70,0xc7,0x45,0xe4,0x74,0xc3, + 0x25,0xbf,0xa8,0xc0,0x1f,0x94,0x50,0x3,0x39,0x4,0xe1,0x73,0xed,0x7c,0x8a,0x55, + 0xd4,0xc8,0x4e,0x22,0x84,0x4f,0x52,0x9f,0xb8,0xda,0x6c,0x56,0x72,0x9c,0x80,0xbe, + 0x6,0x48,0xa9,0x5,0x27,0x3c,0x94,0x4b,0x12,0x6c,0x1c,0x27,0x27,0xc,0xb,0x47, + 0x35,0x68,0xf8,0x8d,0x61,0xc4,0x42,0x12,0x32,0x10,0x1,0x17,0x98,0x20,0x82,0x14, + 0x30,0xc1,0x6,0x2f,0xb0,0x1,0x14,0xfc,0x5a,0x84,0xee,0x5,0x76,0xb0,0x85,0x2d, + 0x41,0x49,0xd5,0x70,0x3,0x5d,0xc8,0x3,0x1f,0xd7,0xc8,0x86,0xd1,0x14,0xa3,0x17, + 0x6f,0xc6,0x87,0x1d,0xe1,0x38,0x87,0x38,0x68,0x41,0x1,0x41,0x4c,0x85,0x9d,0x5d, + 0xc1,0xce,0x54,0x3c,0xa3,0x5,0x2e,0xed,0xa0,0x11,0x3d,0xc0,0x1,0x2b,0xdc,0x3, + 0x2b,0xda,0x2d,0x66,0x7d,0x64,0xf5,0xb,0x30,0x62,0x9b,0x88,0x2c,0x74,0x21,0x74, + 0x17,0x5c,0x83,0x53,0xac,0x92,0xb3,0x33,0xe4,0x80,0xf,0x46,0x0,0x61,0x28,0xfc, + 0xe2,0x8d,0x9c,0xd8,0xca,0x26,0xd,0xb5,0x64,0x4e,0x8a,0x5b,0x5c,0x73,0xec,0x84, + 0x61,0xbf,0x61,0xc6,0x2e,0x48,0x91,0x8,0xfe,0x19,0x4c,0xe0,0x95,0x45,0xb0,0x98, + 0x9,0x6c,0xd0,0x87,0xd,0x1,0xc1,0x6,0x43,0x18,0x6f,0x46,0x3b,0x6a,0x3,0x20, + 0x70,0xe8,0xb0,0x1f,0x1a,0x83,0x14,0xc4,0x20,0xc,0xf7,0xc0,0x91,0xa8,0xd,0xaa, + 0x6f,0x71,0xfa,0x12,0x8b,0x16,0x20,0x42,0x8,0x5a,0x90,0x66,0x18,0xc4,0x3,0x87, + 0x2c,0x24,0x59,0xa,0xc7,0xa,0xd1,0x13,0x4,0xb1,0x85,0x35,0x88,0xc1,0x8,0xae, + 0xa0,0xc6,0x8b,0x54,0x6b,0x92,0x2d,0x7a,0x73,0x27,0x7c,0x63,0x61,0x1d,0x8c,0x30, + 0x8,0x9c,0x89,0xce,0x9d,0x4e,0x39,0x5d,0xea,0xe2,0x50,0x88,0x2e,0x24,0xe2,0x2, + 0xa7,0xf8,0xcb,0x3b,0x8e,0xe3,0xe,0x9c,0x8c,0x69,0x38,0x40,0xca,0x47,0x25,0x1b, + 0xda,0xd2,0x74,0xac,0x83,0x36,0xf2,0x48,0x46,0x2c,0x3c,0xf1,0x6,0xec,0x72,0x54, + 0xa,0x6e,0x50,0x84,0xa2,0x22,0xd0,0x41,0x8,0xbc,0xc0,0xc7,0x36,0xc8,0x1,0x90, + 0x93,0xc0,0x51,0x17,0x78,0x94,0x51,0xa7,0x8e,0xa2,0x44,0xc6,0x70,0x7,0x11,0xfc, + 0xa1,0x16,0xf8,0x68,0x7,0x62,0xfa,0x44,0xdf,0x9c,0xbc,0xc3,0x53,0xb2,0x40,0x81, + 0x12,0x28,0x61,0x5,0x37,0xf4,0x5a,0xb,0xe2,0x59,0x43,0x16,0xee,0x30,0x94,0x33, + 0xa8,0xa1,0x29,0x69,0x78,0xe6,0x13,0xe8,0x10,0x6,0x1b,0x18,0x82,0x5,0xb1,0x60, + 0x86,0xdd,0xb2,0x25,0x4c,0xe3,0xbc,0x85,0x36,0x6b,0xf9,0x85,0x6,0x2,0x31,0x8, + 0x43,0x42,0xe5,0x2b,0x60,0xc9,0x73,0x15,0xe2,0xb0,0x7,0x3e,0x8,0xf0,0x55,0x23, + 0x71,0x1f,0x3f,0xd6,0x81,0xd,0x7f,0xfe,0xa8,0x96,0xac,0x40,0x5a,0x4d,0x4a,0x80, + 0xb4,0x18,0xbd,0x78,0xa3,0x16,0x8c,0xa8,0x3,0xd,0x52,0x90,0x2,0x23,0x6c,0xe1, + 0x9,0x65,0xc4,0xc2,0x86,0xfa,0x10,0x7,0x26,0xca,0x41,0x7,0x50,0x8,0x2f,0x14, + 0x14,0xe,0x5,0xbe,0xf2,0x35,0x7,0x2e,0xe8,0x28,0x14,0x11,0xab,0x6,0x2f,0xe0, + 0x81,0x2,0x76,0xe0,0x45,0xae,0x66,0x32,0xcc,0xbe,0xc8,0x83,0x15,0x28,0x0,0x9c, + 0x10,0x8,0xe1,0xeb,0xaa,0xf8,0x81,0xb,0x57,0x98,0xc2,0x15,0xbc,0xd0,0x95,0x6f, + 0x8b,0x99,0xe,0x5e,0x30,0xc4,0x14,0xee,0x40,0x80,0x58,0xf8,0x85,0x1e,0x96,0x33, + 0x20,0xc9,0x4e,0xf2,0x23,0xbf,0xfc,0xa2,0x5,0x46,0x18,0x83,0xe1,0xb6,0x2,0x87, + 0x6f,0x27,0x25,0xc,0xaa,0x9b,0x42,0x1c,0xa4,0x30,0x1,0x5a,0xc8,0xc3,0xe6,0xf7, + 0x68,0x31,0x49,0x6e,0xd5,0xee,0xd4,0xe,0x27,0x1f,0x6,0x55,0xc9,0xab,0x74,0x87, + 0x50,0x24,0x68,0x1b,0xe,0x4c,0xe0,0xc3,0x20,0xb2,0xe0,0x6f,0x2b,0xc,0xe1,0xbb, + 0x4e,0x18,0x1,0x10,0xb6,0x27,0x82,0x24,0xe4,0x20,0x7,0xb,0xa7,0xa5,0x2c,0x75, + 0x50,0x6a,0x88,0xbb,0x0,0x8a,0x63,0xc0,0x7b,0x95,0xe4,0x10,0x2,0x31,0xd0,0x0, + 0x5,0xae,0x32,0xd,0x4b,0xe8,0x28,0x6f,0x79,0xb4,0xc2,0x9c,0x35,0xc8,0x2,0x21, + 0xe8,0x10,0x1e,0x28,0x59,0x41,0xd,0x2e,0x13,0x5d,0x80,0xfd,0xcb,0xce,0x9,0x28, + 0x18,0xb5,0x2b,0x3d,0xe0,0x40,0xfd,0x61,0x8e,0xbd,0x9d,0x3,0x1f,0xbd,0xa0,0x81, + 0x14,0x80,0x90,0x74,0x37,0xd4,0xfe,0xa0,0x11,0x87,0x38,0x44,0x16,0xbc,0xd0,0x7, + 0x27,0x38,0xe1,0x4,0x71,0x10,0x41,0x2e,0xdc,0x3,0xeb,0x58,0xa3,0x98,0xea,0xa9, + 0x55,0xb4,0xf2,0xc4,0xea,0xf,0x98,0x14,0x86,0x1a,0xb1,0x78,0x43,0xa,0xb8,0xc0, + 0x87,0x2f,0xc8,0x81,0x9,0xc7,0xef,0xc2,0xf1,0x99,0x70,0x84,0x23,0x34,0x81,0xf9, + 0x47,0x18,0xc2,0x45,0x93,0x30,0x84,0x21,0xb8,0x3d,0x7,0x72,0x9f,0xfb,0x2d,0xed, + 0xbe,0x82,0x12,0x94,0x0,0xef,0x11,0xf4,0x8e,0x1c,0xec,0xc9,0x87,0x2c,0x88,0xe1, + 0xd,0xa6,0x8,0xd3,0x8f,0xba,0x91,0x92,0x73,0xb4,0x2,0x34,0x8a,0xb7,0x2,0x1d, + 0xac,0x60,0x3a,0xfa,0xd7,0x7f,0x3b,0x4d,0xb0,0x84,0x12,0x58,0x21,0xf,0xe1,0x34, + 0x86,0xbe,0xe8,0x8,0xe,0x9d,0x80,0xd,0x9f,0x0,0xa,0x45,0x18,0x8a,0x42,0xa0, + 0x84,0x1d,0x38,0x84,0x1d,0xb0,0x82,0x3d,0x40,0xb9,0x11,0xb8,0x83,0x9,0xc8,0x5, + 0xdf,0x88,0x35,0x93,0x51,0x8c,0xbd,0x51,0x31,0xc4,0x78,0xac,0xd7,0x8,0x28,0x9, + 0xc9,0x15,0x79,0xd8,0x85,0x39,0x10,0x83,0x22,0x90,0x83,0x3d,0x38,0x82,0xf0,0x6a, + 0x82,0x2e,0x50,0x41,0xe5,0x63,0xc1,0x16,0xa4,0xbe,0x17,0xac,0xbe,0x87,0xb3,0xbb, + 0x19,0xc0,0xbe,0xee,0xf3,0xbe,0xbc,0xb,0xbf,0x31,0x50,0x84,0x1b,0x50,0x81,0x49, + 0x20,0x83,0x1e,0x30,0x85,0x36,0xf9,0x8b,0x1f,0xa9,0x86,0x57,0x48,0x1,0x7b,0x22, + 0x4,0x2b,0x88,0x3f,0xfb,0x63,0x42,0xd3,0x69,0x96,0x1f,0x7c,0x5,0x50,0x12,0x89, + 0x2d,0x9a,0x37,0xe7,0xb2,0xfe,0xa4,0xe5,0x68,0xe,0x3e,0xb8,0x28,0x41,0xc8,0x2, + 0x4a,0x90,0xe,0x33,0xd0,0x18,0x14,0x88,0x24,0x75,0x58,0xb3,0xf5,0x21,0x12,0xdb, + 0x43,0x43,0x6c,0x68,0x11,0x1,0x31,0x5,0x88,0xc9,0x82,0x65,0xba,0x18,0x28,0x18, + 0x82,0x14,0x5c,0xc1,0x16,0xb4,0x43,0x18,0xa4,0x3e,0xb7,0x2b,0x35,0x5b,0xaa,0xc1, + 0xee,0xfb,0xbe,0x2a,0x9,0x82,0x5e,0x93,0x3,0x3a,0x78,0x1b,0x14,0x78,0x4,0x72, + 0x28,0x8c,0xc2,0x38,0x85,0xb,0x10,0x3,0x42,0x0,0xd,0x22,0x88,0x3f,0x3a,0x68, + 0xc2,0x49,0x84,0x83,0x31,0xdb,0x2,0x32,0x68,0x1,0x55,0xf8,0x6,0x96,0x10,0x40, + 0x95,0x18,0x12,0x9e,0xa0,0xa1,0x23,0x49,0x92,0x2c,0x60,0x2,0x37,0x68,0x2,0x17, + 0x48,0x8f,0x46,0x68,0x3,0x34,0x28,0x6,0x79,0x20,0x7,0xd4,0x9a,0x2f,0x5a,0x43, + 0x43,0xdc,0x29,0xaa,0xb7,0x52,0x87,0x67,0xc8,0x4,0x14,0x58,0x82,0xa4,0xb0,0x82, + 0x2f,0x8,0x83,0x3d,0x68,0x82,0x15,0xa0,0xc3,0xe4,0xb3,0x43,0x17,0xc4,0x43,0x3d, + 0x9c,0xc1,0x3e,0xbc,0x41,0xf0,0x93,0x20,0x39,0x58,0x84,0x40,0x5c,0x84,0x23,0x20, + 0x2,0x3d,0x98,0x83,0x36,0xc8,0x84,0x5b,0x48,0x6,0x64,0x88,0x84,0x16,0x8,0x84, + 0x2c,0x90,0x3f,0x48,0x2c,0x3,0x25,0x9c,0xc4,0x26,0x34,0x83,0x34,0xd8,0x82,0x1a, + 0x40,0x15,0x19,0xd0,0xc4,0x1f,0xc1,0x39,0x59,0x39,0x20,0x5b,0xd9,0x7,0x7a,0xc0, + 0x23,0x7c,0xd8,0x95,0x40,0x98,0x84,0x2b,0x78,0x1,0x43,0x68,0x82,0x41,0xa8,0xc6, + 0x65,0x28,0x7,0x44,0xfe,0x7c,0xaf,0xe2,0x0,0x7,0x70,0xa0,0x2f,0xae,0x31,0xc8, + 0xbd,0x89,0x8c,0x64,0x40,0x82,0x4,0x68,0x84,0x35,0x28,0xaf,0x2e,0xf0,0x2,0xe7, + 0x1b,0x46,0x62,0x2c,0x46,0xe5,0xc3,0xc3,0x18,0xdc,0x43,0x1a,0x94,0x3b,0x1b,0xfc, + 0xc3,0xf0,0x5b,0x4,0x2f,0xe0,0x81,0x33,0x28,0x4,0x37,0x30,0x8b,0x39,0xa8,0x83, + 0x1e,0xa8,0x83,0x39,0x28,0xa7,0xaf,0x93,0x8a,0x25,0x5c,0xc2,0x71,0xb4,0x3f,0x33, + 0x58,0x40,0x38,0x20,0x2,0x39,0x28,0x82,0x14,0x18,0x20,0xd4,0x2,0xa7,0x7c,0x60, + 0x7,0xb7,0xaa,0x23,0x93,0xc9,0x1c,0x5e,0x50,0x19,0x20,0xe8,0x83,0x13,0x58,0x84, + 0x2e,0x78,0x24,0x34,0x40,0x85,0x62,0x28,0x7,0x79,0xf8,0x27,0x76,0x20,0xc8,0xc6, + 0x50,0xc,0x83,0x5c,0xc,0xb2,0x9a,0x6,0x6a,0x10,0x6,0x14,0x40,0x82,0x46,0x48, + 0x1,0x74,0xac,0xa7,0xe5,0xb,0xb5,0x31,0x60,0x2,0x15,0xa4,0xc8,0x8a,0x64,0x82, + 0x8b,0x44,0x46,0x3e,0xdc,0x48,0x3f,0xc4,0xc1,0x66,0x54,0x81,0xfb,0x39,0x3,0x69, + 0xea,0x2,0x33,0x40,0x4,0x12,0xb8,0xac,0x14,0xc8,0x2,0x4b,0xd8,0x80,0x41,0x44, + 0x24,0x71,0x94,0x44,0x98,0xac,0x3f,0xa5,0xa0,0x4,0x22,0x70,0x83,0x3d,0xb8,0x1, + 0x3f,0x68,0x1,0x59,0x70,0x93,0xfe,0xd3,0x8b,0x82,0x24,0x12,0xc4,0x30,0x93,0xcc, + 0xf9,0x5,0xce,0x89,0x3,0xd6,0xbb,0x2,0x39,0xd8,0x82,0x43,0xe8,0x81,0x16,0x88, + 0x84,0x5d,0xf8,0x86,0x73,0xd8,0x1a,0xe5,0x79,0x8d,0xa9,0xe4,0x1a,0x4b,0xb2,0x8f, + 0x5d,0xd0,0x80,0xfe,0x25,0x48,0x4,0x31,0x78,0xc3,0x2e,0xb8,0xa8,0x60,0x91,0x82, + 0x1b,0x18,0xcb,0x3a,0x34,0xcb,0xb3,0x3c,0x46,0x19,0x54,0x4b,0x59,0xe2,0xc8,0xb6, + 0xfc,0xe,0x42,0x20,0x82,0x1c,0x38,0x9c,0x30,0x70,0x83,0xff,0x81,0xa6,0x35,0xa0, + 0xb3,0x21,0xf0,0x2,0x39,0x98,0xbf,0x70,0x94,0x44,0x22,0x0,0x4c,0xfb,0xb3,0x82, + 0x2e,0x18,0x49,0x37,0xa0,0x83,0x1a,0x98,0x83,0x4,0x90,0x85,0x5,0x5b,0x8d,0xf8, + 0x58,0x9f,0xab,0xd3,0xa6,0x76,0x68,0x20,0x19,0x10,0x2c,0x27,0xb8,0x3,0x29,0xc8, + 0x2,0x74,0xe4,0x3,0x39,0x10,0x81,0x4a,0xf0,0x85,0x1f,0x31,0x9a,0xd1,0x24,0xcd, + 0xaa,0x2c,0x2b,0x5a,0x30,0x82,0x14,0xd0,0x3,0xf2,0xa2,0x3,0x22,0xf0,0xc5,0x28, + 0x8,0x82,0x2e,0x18,0x83,0xef,0x20,0xcb,0xb2,0xac,0x48,0xb4,0xc4,0x4d,0x8d,0xd4, + 0x4d,0xb6,0xfc,0x3e,0xbc,0x53,0x42,0x78,0x32,0x9c,0x30,0xe8,0xa,0xeb,0xc8,0x33, + 0x36,0xd0,0xa0,0xe7,0x6c,0x42,0xcf,0xa8,0x20,0xaa,0x58,0x8a,0x35,0x68,0x4,0x3, + 0x60,0x85,0xa0,0x41,0xa0,0xb1,0xa2,0x15,0x37,0x43,0x8c,0x21,0xd4,0x23,0x19,0xb8, + 0x81,0x22,0x90,0x1,0x23,0xe0,0x2,0x29,0x80,0x2,0x20,0x30,0x84,0x8,0x34,0x85, + 0x82,0x68,0x87,0xd4,0x72,0x37,0xac,0x53,0x9,0x18,0xf9,0x6,0x5e,0xa8,0x3,0x2e, + 0xc8,0x82,0x2c,0xe8,0x45,0xbc,0xfb,0x82,0x2f,0x8,0x82,0xfe,0xc,0x50,0xb2,0xac, + 0xcd,0xe3,0x7b,0x41,0xeb,0xa3,0x3b,0x17,0x58,0x81,0x15,0x98,0x81,0x26,0xe5,0x3e, + 0x4,0x4d,0xfe,0xd0,0x31,0x80,0x8a,0xc4,0xf2,0x2,0xc3,0x51,0x4e,0xeb,0x98,0x88, + 0x9d,0xa1,0xd0,0x71,0x3c,0xba,0x38,0xd0,0xb2,0x72,0x5c,0x8a,0x2c,0x40,0x4,0x1a, + 0x50,0x85,0x82,0x52,0x20,0x7f,0xc8,0x87,0x1c,0x7a,0x4c,0x81,0x98,0x8d,0x41,0xf9, + 0x84,0x58,0xf8,0x5,0x5c,0x28,0x85,0x46,0x10,0x83,0x10,0xd8,0x3,0x1b,0x38,0x3, + 0x2e,0xa8,0x83,0x3c,0x68,0x45,0xf7,0xd2,0x7,0x93,0x30,0x89,0x6d,0x58,0xd3,0xb4, + 0x72,0x89,0x60,0x40,0x83,0x2d,0x8,0x52,0xbc,0xd3,0x92,0x30,0x88,0x2,0xfe,0x24, + 0xd2,0x22,0x15,0xd0,0x62,0x4c,0x52,0x64,0x2c,0xb5,0x26,0x7d,0xd2,0x26,0xdd,0xcd, + 0x29,0xb5,0x2,0x2e,0xc3,0x3b,0x2f,0xb8,0x52,0x0,0x8b,0xa,0xad,0xd8,0x8a,0x2e, + 0x9d,0xc4,0x30,0x10,0x37,0x2d,0x43,0x36,0xb0,0x20,0x84,0x26,0x52,0x47,0xa1,0x32, + 0x93,0x5a,0xdc,0xb,0x9c,0x8,0x8e,0xe0,0x78,0x93,0x37,0x1,0x86,0x52,0x20,0x1, + 0x3f,0xe8,0xd1,0x2d,0x68,0x84,0xa,0xb8,0x5,0x79,0xb8,0x6,0xf5,0x33,0x34,0xd8, + 0xc8,0x95,0x62,0xb8,0x4,0x14,0xc8,0x82,0x47,0xc5,0x3b,0x65,0x79,0xd4,0x21,0xd, + 0x82,0x2f,0x90,0xd4,0x23,0xb5,0xcd,0x18,0x94,0xc1,0x4b,0x75,0x52,0x28,0xdd,0xd4, + 0x4,0xed,0xd4,0x2c,0xf8,0x2,0x29,0x38,0x9c,0x62,0xeb,0x54,0xa5,0x98,0xa,0xc3, + 0xb1,0x19,0x53,0xad,0x3f,0x39,0x68,0xa6,0x72,0x4,0xb7,0x42,0x38,0x82,0xed,0x69, + 0x81,0x57,0x70,0xaf,0x1a,0x8d,0x4f,0x7b,0xb8,0xba,0xf3,0x11,0x34,0x33,0x41,0xc, + 0x54,0xfe,0x7a,0x1e,0x60,0x60,0x84,0x1e,0x8,0x84,0x35,0x30,0x82,0xba,0x64,0x13, + 0xf7,0x2a,0xa8,0x2b,0xc4,0x87,0x64,0x68,0x3,0xbc,0xea,0xb2,0x30,0x18,0x3,0x87, + 0x75,0xd8,0x28,0x10,0x52,0x68,0x8d,0x54,0xda,0x34,0xcb,0x4a,0xbd,0x56,0x26,0xcd, + 0x56,0x4d,0x95,0xd2,0x4,0x85,0x8a,0xa0,0x3b,0x3,0x2c,0x30,0xd7,0x0,0xd3,0x2c, + 0x74,0xad,0xd0,0x27,0x31,0x3,0xa9,0x90,0x3,0x37,0x8,0x82,0x1b,0x18,0x4,0xe0, + 0xb1,0xbc,0x17,0x91,0x55,0x5a,0x61,0xa8,0x91,0xa8,0x87,0x79,0x88,0x23,0x70,0x42, + 0xc8,0x6f,0x58,0x85,0xa,0x68,0x84,0x2c,0x70,0xd9,0x1e,0xf8,0x4,0x71,0xf0,0x8d, + 0x17,0x71,0x89,0x64,0xf8,0x83,0x25,0x30,0x2,0x38,0x50,0xc2,0x31,0xb0,0x82,0x31, + 0xf8,0x82,0x28,0x18,0x3,0x8a,0x5,0x55,0xc4,0x9,0x50,0x6a,0xc5,0xd8,0x25,0xc5, + 0x54,0x6d,0xed,0xd8,0xef,0x73,0x3c,0xc3,0xd9,0xa9,0x62,0xab,0x8e,0xd,0x73,0x50, + 0x93,0xb5,0xbf,0xf1,0x20,0xdb,0xac,0x20,0x84,0x2f,0x18,0x84,0x1a,0x58,0x83,0x1d, + 0x20,0x81,0x1,0x52,0xb3,0xf3,0x41,0x89,0x10,0xd5,0x89,0x69,0x7b,0xb,0x35,0xdc, + 0x9b,0x61,0x5,0x6,0x24,0x40,0x84,0x1b,0xe8,0x2,0xc4,0x8c,0x4,0xa7,0x93,0x1d, + 0x3c,0x62,0x6,0x46,0x20,0x1,0x38,0xc8,0x81,0x26,0x70,0xda,0x5,0xfd,0xd1,0x20, + 0x1d,0x52,0x50,0x7d,0xd4,0x61,0xc4,0xda,0x3c,0xb4,0x54,0x8d,0xcd,0xd4,0x28,0x5d, + 0xc6,0x29,0x95,0xa0,0x33,0xd0,0xb3,0x38,0xa8,0xa0,0xb,0x4a,0x59,0xcf,0x30,0xdb, + 0xfe,0x98,0x9c,0x83,0x39,0x30,0x3,0x75,0xed,0x20,0x36,0xe8,0x2,0x4a,0x20,0x33, + 0x87,0x24,0x4,0x11,0x80,0x36,0xbb,0xc1,0x39,0xca,0x71,0x33,0xce,0x43,0x1e,0xd6, + 0xea,0x86,0x6f,0x70,0x86,0x48,0x48,0x81,0x41,0xe0,0x3,0x55,0x41,0x82,0x64,0x20, + 0x28,0xba,0xc9,0x83,0x25,0x18,0x84,0x15,0xe8,0x83,0x29,0x8,0x3,0xa6,0x75,0x5c, + 0x69,0xed,0x2,0x21,0x7d,0x54,0x2f,0x88,0x2,0xca,0x3d,0xd2,0xac,0xa5,0xbb,0xad, + 0xe5,0xd8,0xcd,0x4d,0x50,0x9,0xd2,0x8a,0x9d,0xca,0x8a,0xaa,0x50,0xd9,0x9,0x2d, + 0x5d,0xee,0x30,0x83,0xd3,0x4d,0x5d,0x36,0x48,0x55,0x22,0x78,0x2,0xa4,0x30,0x3, + 0x41,0x8,0x2,0x42,0xa0,0x80,0x9c,0x14,0xe,0xbd,0xd1,0x39,0xc5,0x40,0x9e,0x71, + 0xa0,0x2f,0xa9,0xc4,0x23,0x67,0x28,0x5,0xa,0x20,0x41,0x23,0x58,0x82,0x3f,0x20, + 0xc,0x82,0x70,0x4,0x24,0x8,0x4,0x26,0x60,0x83,0x29,0x78,0x1,0x2f,0x70,0x5c, + 0x25,0x84,0xde,0x20,0x8d,0xda,0x28,0x88,0x48,0x23,0xbd,0x5e,0xcb,0xcd,0x58,0x28, + 0xe5,0x5a,0xee,0xfd,0xbe,0x45,0xc5,0x8a,0x78,0x42,0x96,0xf2,0xd,0xcc,0xaf,0x18, + 0x5d,0x76,0x12,0x5d,0xa6,0x30,0x3,0x3d,0x20,0x81,0xfd,0xdb,0xc4,0xfb,0x4d,0x31, + 0xaa,0x34,0x89,0x77,0xe8,0x89,0x22,0x9c,0x0,0x3e,0x28,0x2,0x23,0x50,0x82,0x25, + 0xf0,0xc7,0x3a,0xa8,0x3,0x32,0xa8,0x30,0x2f,0xb8,0x2,0x2c,0x88,0x2,0x49,0xfd, + 0x2,0xa8,0xd,0xd2,0xc1,0x19,0xd2,0x26,0x50,0xe2,0xe7,0xa3,0x3e,0x26,0xb6,0xfe, + 0x5c,0x6b,0xcd,0xd8,0x25,0xd5,0xd8,0x6d,0x4d,0x50,0x9,0xee,0xc8,0x89,0x13,0x61, + 0xd3,0x19,0x8f,0xa5,0xd0,0xe2,0x2d,0x5e,0x8a,0x43,0x50,0x2,0x52,0xc0,0x9a,0xaa, + 0x14,0x28,0xb0,0x9a,0x45,0xe4,0xc8,0x89,0x69,0x70,0x85,0x9,0x80,0x4,0x81,0x45, + 0x84,0x35,0x10,0x85,0x27,0xe0,0xb2,0x5e,0xc,0x2,0xc4,0x89,0x56,0x9,0xb6,0x62, + 0x9,0x36,0x52,0x25,0x76,0x3e,0xe6,0x6b,0x62,0x3f,0xc6,0x60,0xeb,0x8b,0x62,0x29, + 0x76,0x1,0x2a,0xee,0xe0,0x45,0x6d,0x4b,0xc4,0xca,0xe2,0x29,0xf1,0xe2,0xb3,0x55, + 0x8a,0x27,0xd8,0x1,0x3f,0x30,0xd3,0x77,0xa8,0x6,0x22,0x29,0x63,0x33,0xb6,0xbd, + 0x13,0x6b,0x11,0x67,0xa0,0x85,0x16,0x20,0x81,0x40,0x60,0xcd,0x2f,0x80,0x8,0xbc, + 0xeb,0x82,0x5,0xc5,0x63,0x3c,0x36,0x62,0xe8,0x4d,0x3e,0x3e,0x76,0x62,0x27,0x86, + 0x62,0x25,0x25,0xe4,0x25,0x35,0x64,0x20,0x45,0x64,0x66,0x54,0xe4,0x45,0xde,0x8e, + 0x46,0x1e,0x5f,0xc6,0xab,0x8a,0x27,0xd8,0x82,0x2c,0xf0,0x3,0xc,0x78,0x85,0xff, + 0x18,0xab,0x33,0x46,0xb1,0x42,0x5b,0x7,0xd7,0x92,0x7,0x59,0x68,0x3,0x25,0x40, + 0x4,0x88,0xc4,0x82,0x68,0xf6,0x82,0x2f,0xb0,0x82,0x1e,0x8d,0xde,0x53,0x2e,0x62, + 0x3d,0x5e,0x41,0x56,0x6,0x64,0x57,0x16,0x64,0x58,0x8e,0xe5,0x52,0x9b,0xe5,0x54, + 0xbe,0xe2,0x5b,0xc6,0xe5,0x13,0xd6,0x2d,0xd0,0x79,0x12,0x38,0x38,0x4,0x3d,0xe0, + 0x2,0x2e,0x10,0x83,0x3f,0xf8,0x86,0xa1,0x62,0x90,0xfa,0x9a,0x45,0x9c,0xfe,0x28, + 0xb4,0x99,0xf0,0xb,0x5b,0x0,0x3,0x31,0xf0,0xae,0x2a,0x10,0x37,0x2c,0xf8,0x82, + 0x2c,0x30,0xc7,0x5e,0xc4,0xe6,0x54,0xde,0xe3,0x25,0xee,0x66,0x40,0x7e,0xe5,0xcb, + 0x8d,0xe5,0x71,0xb6,0xe2,0x44,0x76,0x94,0x73,0xc6,0x30,0xf2,0x98,0xbc,0x97,0x31, + 0x16,0x38,0xd8,0x82,0x1d,0x90,0x83,0xed,0xf1,0x84,0x79,0xde,0xa1,0x7a,0xb6,0xe7, + 0x4c,0x46,0x8e,0x13,0x33,0x7,0x7a,0x80,0x11,0x5c,0x68,0x81,0x41,0xf0,0x82,0xe, + 0x12,0xd9,0x81,0x2e,0x68,0x6c,0xce,0xe6,0x23,0xde,0x66,0x85,0x86,0xbe,0x21,0xf0, + 0xe6,0x6f,0x1e,0x64,0x29,0x86,0xe8,0x5a,0x9e,0x38,0x30,0x3b,0x67,0xaf,0xb0,0xe8, + 0x64,0xc1,0x68,0x35,0x8,0x98,0x1e,0x68,0x84,0xf,0xd8,0x83,0x7,0xf0,0x4,0x79, + 0xc8,0x86,0x90,0x76,0x61,0x63,0x1e,0xe,0xfa,0xd8,0x9b,0x6f,0x38,0x8,0x15,0xb8, + 0x52,0x2c,0x8,0x83,0x81,0x7e,0x82,0x27,0xb8,0xe6,0x53,0x46,0xe8,0x9a,0xee,0xe3, + 0x9b,0xce,0xe9,0x6f,0xe,0x67,0xba,0xeb,0xe9,0x22,0x96,0x68,0xce,0xa0,0x68,0x74, + 0xbe,0xe8,0x98,0x1,0x30,0x32,0xa0,0x85,0x4d,0x50,0x84,0xc,0x90,0x82,0x4d,0x28, + 0x87,0x78,0xd8,0xa1,0xf8,0x94,0xea,0x92,0xce,0x9,0xe5,0x82,0xd,0x75,0x90,0x87, + 0x52,0x20,0x3,0x32,0x7a,0x5a,0x69,0x85,0x60,0x99,0xe,0xeb,0x55,0xb6,0xe9,0x3f, + 0xbe,0xe9,0x86,0xde,0x69,0x59,0xee,0xda,0x29,0xa5,0xec,0xca,0x6e,0xeb,0xea,0x48, + 0xd9,0xc9,0x3b,0x2,0xf1,0xcb,0x82,0x41,0x48,0x1,0xb9,0x26,0x87,0xfe,0x52,0x10, + 0x3d,0x28,0x50,0x82,0xbc,0x66,0x1e,0x77,0xd0,0x5f,0xb7,0xea,0x6b,0x14,0xab,0x24, + 0xcf,0x13,0x7,0x56,0xa8,0x80,0x3a,0x30,0xce,0x2f,0xb8,0xd2,0x26,0xb8,0xe3,0x53, + 0xbe,0x5a,0xe5,0x7b,0xbe,0xdd,0x7e,0xec,0xdb,0x3c,0x6b,0x8d,0xdd,0xde,0xca,0x16, + 0xee,0xe1,0xbe,0x6c,0x29,0xf1,0xaf,0xef,0xe8,0x54,0x3f,0x20,0x83,0x37,0xa0,0x5, + 0x6a,0x10,0x7,0x5c,0xe0,0x2,0x28,0xd8,0x83,0x14,0x28,0x6,0x72,0x68,0x87,0x7a, + 0xe8,0x13,0xd5,0x5e,0xed,0xe1,0xd8,0xce,0x77,0xf0,0xb,0x20,0x8a,0xed,0x1d,0x28, + 0x83,0x3d,0x28,0x81,0x38,0x98,0x66,0x6c,0xce,0xed,0xe3,0xe3,0x6d,0x57,0xf6,0xed, + 0xb3,0xd6,0xe0,0x71,0x1e,0x6e,0xcb,0x2e,0xee,0x5d,0x2e,0x83,0x1e,0xd,0x84,0x46, + 0x40,0x82,0x5f,0x70,0xaf,0x6f,0x60,0x6,0x1a,0xf8,0xcf,0x1a,0x38,0x5,0xf7,0xba, + 0x87,0x2d,0xd2,0x8b,0xed,0xae,0xc5,0xc8,0xc9,0x89,0xcc,0x79,0x9e,0x4e,0x90,0x80, + 0x3a,0xc8,0x82,0x1c,0xf8,0x95,0xf3,0xc6,0x6d,0xb,0x56,0xef,0xf5,0xee,0x6d,0x18, + 0x74,0x68,0x29,0x7e,0xef,0xc9,0x8e,0x6f,0xf9,0x6e,0xeb,0x9b,0xe9,0xe,0x2e,0xb, + 0x84,0x3a,0xb0,0x83,0xd8,0x1,0xe,0x18,0x91,0x4,0x31,0xe0,0x99,0x36,0x70,0x93, + 0x77,0x58,0x9f,0x2,0x37,0x70,0xe2,0x98,0x1c,0x15,0x3b,0x19,0x79,0xe8,0x4,0x90, + 0xe3,0x83,0xf,0x38,0x1c,0x99,0x4e,0xef,0xe5,0xb3,0xf0,0x8b,0xb4,0xdc,0xdf,0xde, + 0x70,0xe,0xee,0x70,0xf,0xff,0xf0,0xf0,0xe8,0x54,0xd,0xb5,0xfe,0x3,0x65,0xc0, + 0x9a,0x83,0xf1,0x86,0x83,0x80,0x83,0x41,0x58,0x61,0xfe,0x1b,0x12,0xf8,0x30,0xf0, + 0x6a,0x71,0xd,0xb4,0x12,0x90,0x4c,0xe8,0x1,0x31,0x18,0x4,0xfd,0xe4,0x71,0xa, + 0xf7,0xf1,0xf5,0x6,0x72,0x8c,0x74,0xef,0xd,0x2e,0xf2,0x22,0xff,0x70,0x1,0xb, + 0xf,0xa2,0x23,0x3,0x24,0x58,0x8b,0xd9,0xc8,0x89,0x7c,0xb0,0x86,0x69,0x78,0x3, + 0x52,0xac,0x81,0x37,0x48,0x6,0x4b,0x49,0x18,0xd8,0x30,0x70,0xb8,0x52,0x31,0x3, + 0xb2,0x86,0x37,0xc1,0xb7,0x1d,0xf0,0xd1,0x30,0xb7,0x58,0xb,0xbf,0xf0,0x4a,0x15, + 0x72,0x34,0x4f,0xf3,0xf8,0x6e,0x6b,0xef,0x5,0x61,0xa2,0x6b,0x84,0xa6,0xfc,0x11, + 0xd7,0x68,0x31,0x7b,0xc0,0x7,0x56,0x10,0x3,0x48,0x4c,0x81,0x52,0x60,0x6,0x84, + 0x49,0xb1,0xed,0x6e,0x18,0x77,0xe3,0x87,0x62,0xd2,0x8b,0xbe,0x20,0x87,0x7f,0x9d, + 0x3,0x6f,0x45,0x6f,0x31,0x57,0xf4,0x32,0xcf,0x70,0xad,0x75,0xf4,0x47,0x17,0x6e, + 0xa,0x8d,0x8a,0x26,0xec,0xb6,0x35,0x98,0x3,0x30,0x28,0xc,0xac,0xc9,0x9,0xf7, + 0x49,0x7,0x7b,0x38,0x7,0x6a,0x50,0xa6,0x24,0x18,0x4,0xa,0xc0,0x85,0x6f,0xb8, + 0x6,0xce,0x8b,0xf1,0x2b,0xd4,0x7,0x16,0x89,0xb7,0xdc,0xf1,0x8b,0x64,0x70,0x4, + 0x1c,0xc0,0x2c,0x25,0xb4,0x66,0x8b,0xe1,0xe3,0x20,0x50,0x3e,0x29,0xf8,0x71,0x20, + 0x77,0xbb,0xb9,0xcb,0x3e,0xbb,0x63,0x52,0xe0,0xd6,0x5c,0x5b,0x57,0x77,0x5b,0x8e, + 0x8,0x28,0x31,0xee,0xf8,0x8b,0xbf,0xb5,0xed,0x2,0x8a,0xfe,0x8b,0x2,0x3a,0x10, + 0x83,0x1e,0x40,0x2,0x11,0x93,0x9d,0x86,0xca,0x7,0xc9,0x41,0x7,0x7d,0xc8,0x5, + 0xc,0xe0,0x82,0x81,0xc6,0x81,0xea,0x8e,0x7,0xb8,0x70,0x8c,0x9b,0x40,0x43,0xb8, + 0x2,0x92,0x86,0x9a,0x1c,0x22,0xa1,0x89,0x66,0x40,0x3,0x32,0x68,0xdb,0x2d,0x98, + 0x83,0x5f,0xee,0x82,0xef,0xda,0x10,0x1b,0x60,0x2,0x48,0x99,0xbe,0x32,0x7f,0x65, + 0x59,0xda,0xab,0x5a,0x32,0x1,0x7f,0xc9,0xa5,0x15,0xe0,0x0,0x94,0xe7,0x0,0xf8, + 0x5e,0x77,0xca,0x9e,0xb8,0x75,0xa6,0x8e,0x94,0x15,0x84,0x6f,0x64,0x2,0x35,0x88, + 0x82,0x42,0x20,0x4,0xeb,0xac,0x80,0x50,0x38,0xb7,0xd5,0x1a,0x92,0x6a,0x48,0x5, + 0x2,0x18,0x4,0x41,0xa8,0xc6,0x68,0x28,0x87,0xfe,0x3b,0xb1,0xf3,0x49,0x78,0xd3, + 0xb4,0x1b,0x34,0x14,0xd4,0x86,0xa,0x86,0x1e,0x38,0x4,0x8b,0xbf,0xf8,0x2c,0x70, + 0x81,0xb3,0x3,0x2f,0x26,0x18,0xbb,0x8f,0x97,0x75,0x41,0xa6,0x25,0x5a,0x3a,0xb5, + 0xb0,0x37,0x1,0xe,0x20,0xfb,0x95,0xe7,0xf0,0x96,0x77,0xf9,0xf,0x91,0x83,0x6, + 0x15,0x5d,0xb0,0x78,0x82,0x2c,0x28,0x3,0x3a,0xc0,0x1f,0x7,0xae,0x81,0x40,0x20, + 0xd,0x79,0xa8,0x1b,0x4c,0xe6,0x1a,0xdd,0x79,0x6,0x49,0xa0,0x1,0x31,0x50,0xf, + 0x46,0xc0,0x7b,0x5b,0x41,0x31,0x9d,0x63,0xf8,0x7b,0x6e,0x28,0x93,0xc0,0x87,0x5b, + 0x68,0x81,0x46,0x20,0x81,0x5f,0xfe,0x0,0x2f,0xf8,0x7a,0x1b,0x60,0xbe,0xe3,0xe3, + 0x7a,0x71,0xf7,0xfa,0xaf,0x17,0x7b,0x46,0x29,0x7b,0xfe,0xb2,0x67,0x79,0xb4,0x2f, + 0xe7,0x88,0x8,0x83,0x68,0x1e,0xba,0x63,0x5b,0x40,0x65,0x73,0x83,0x33,0xb0,0x1, + 0x17,0x80,0x83,0x39,0x48,0x4c,0x71,0xf0,0x91,0x6e,0xb0,0xbd,0x94,0xc0,0x86,0xc5, + 0x88,0x8d,0xbe,0xa5,0x81,0x49,0x8,0x81,0x1b,0xd8,0x84,0x98,0x80,0x8f,0xd7,0xd8, + 0x22,0x33,0x1c,0xe,0x7a,0x35,0xe6,0xe3,0x38,0x7,0x79,0xb8,0x85,0x4,0x20,0x83, + 0x22,0x48,0x82,0x23,0x80,0x2,0xde,0x6e,0x2,0x1e,0xe0,0x81,0x50,0x3,0xf9,0x6f, + 0xd6,0xfc,0xcd,0xef,0x7c,0xcf,0x3f,0x7b,0xd0,0xf,0x7d,0x88,0xf8,0x52,0xad,0x2e, + 0x3,0x76,0x45,0x36,0x41,0x10,0x84,0x31,0x0,0x62,0x39,0x50,0x2,0x1c,0x8,0xd6, + 0xf7,0x40,0xc3,0x33,0x94,0x71,0x7f,0xa0,0x21,0x59,0x40,0x82,0x22,0x50,0x88,0x19, + 0x10,0x5,0x1f,0xd1,0x86,0xc4,0x50,0x8c,0xe2,0x28,0xc8,0xc,0x84,0x4f,0xa7,0x7, + 0x8,0x7f,0x2,0xdf,0x7d,0x93,0xc7,0x8a,0x2,0x17,0x28,0x86,0x6c,0x1c,0x61,0x22, + 0x44,0x8,0x13,0x1e,0x2f,0x5e,0x40,0x19,0x62,0xf1,0x22,0xc6,0x1c,0x1a,0x35,0xda, + 0x30,0xe1,0xf1,0x23,0x87,0x90,0x22,0x45,0x96,0x28,0x39,0xe6,0x24,0xca,0x94,0x2a, + 0x57,0xb2,0x4c,0xa9,0xe6,0x25,0x4c,0x35,0x61,0xae,0x5c,0xf1,0xe2,0x65,0xc,0x1c, + 0x33,0x69,0xb6,0xac,0x11,0x94,0x85,0x8e,0xa5,0x23,0x45,0xc0,0xd4,0x12,0x87,0xf, + 0x9f,0xbe,0x6b,0x2,0xf9,0x9,0xf4,0x67,0x4f,0x5f,0x53,0x7f,0x50,0xd7,0xe9,0xfb, + 0xa6,0x4a,0x6,0x10,0x27,0x4e,0x1e,0x94,0x92,0xfe,0x7,0x15,0x9b,0x53,0x74,0xf6, + 0xc6,0xda,0x6b,0xca,0x8f,0x69,0xd4,0xb4,0xfe,0xf6,0x35,0xdd,0xa7,0xef,0x9d,0x37, + 0x7c,0xa0,0x26,0xb0,0xb8,0xe3,0xc5,0x61,0x96,0x2c,0x4d,0xae,0x4c,0xb4,0x81,0xf1, + 0xef,0x90,0x8d,0x1a,0x3f,0x82,0x1c,0x69,0xb8,0x64,0x89,0x96,0x8a,0x17,0xab,0x8c, + 0x9,0x33,0x8c,0xcd,0x33,0x5e,0x5e,0x5a,0xa9,0xc,0x7,0x4e,0x8d,0xcb,0x22,0x2, + 0xfd,0xfa,0x76,0xb4,0x1b,0xbe,0xa5,0x68,0x9d,0xea,0xd3,0xb7,0x4e,0x20,0xb6,0xd3, + 0xa5,0xf1,0x71,0xaa,0x3b,0x83,0xf,0x99,0x53,0xd3,0xf4,0x79,0xeb,0x6,0x55,0x2d, + 0xee,0xb4,0xeb,0x4e,0xb,0xdc,0x2d,0x50,0xdf,0x39,0x7c,0x95,0xc4,0x24,0x91,0x82, + 0xd7,0xca,0xde,0xbe,0x80,0x33,0xa,0x26,0x6c,0xc2,0x30,0x74,0xc4,0x8c,0xa7,0x2b, + 0x76,0xc,0xf3,0xa4,0x1a,0x2f,0x67,0xb6,0x9f,0x9,0xd3,0x5,0x4e,0x16,0x32,0x3d, + 0x1a,0x9,0xc3,0xa7,0xe,0xe9,0xd4,0xb3,0xa3,0xa5,0x9a,0xf6,0x77,0x9a,0xad,0xbf, + 0x77,0xef,0xd4,0x71,0x9a,0x0,0xa9,0x48,0x8a,0x16,0xaf,0xbc,0xd1,0x2e,0xed,0x4f, + 0xfd,0x59,0xec,0xdd,0x96,0x9b,0x7b,0xbc,0xe5,0xe3,0xe,0x3b,0xe8,0xc0,0x55,0x9f, + 0x18,0x35,0x30,0xc1,0x44,0x10,0x7b,0x55,0x61,0x43,0x45,0xcb,0x59,0x24,0x58,0xe, + 0xce,0x41,0x37,0x92,0x7,0xd2,0xb1,0xf4,0x5,0x88,0x21,0x82,0x68,0xdd,0x4b,0xd4, + 0x9d,0x64,0xc5,0x13,0x4f,0x94,0x11,0xc6,0x19,0x6c,0xf4,0x51,0x45,0x1c,0x7b,0x14, + 0xb1,0x6,0x12,0x8c,0x24,0x23,0xf,0x7a,0xfe,0x66,0xa9,0xf7,0x5b,0x69,0x3,0xa, + 0x44,0x56,0x38,0xfa,0x38,0x73,0x49,0x1b,0x3d,0x3c,0x31,0x8,0x5,0xa4,0x78,0x16, + 0xd7,0x3d,0xf5,0xcc,0x53,0xf,0x3c,0x68,0xd9,0x23,0x16,0x81,0x69,0xe5,0xc3,0xce, + 0x38,0xf6,0xbc,0x83,0xf,0x33,0x99,0x18,0xa0,0x47,0x8,0x1f,0xb0,0xf1,0x9c,0x17, + 0x47,0x98,0x79,0xc4,0x45,0x18,0x62,0x48,0xd8,0x86,0x22,0x79,0xf0,0xe6,0x9b,0x2d, + 0x89,0x28,0x22,0x89,0x6a,0x98,0x38,0x86,0x15,0x3b,0x65,0xf1,0x85,0x17,0x71,0xf4, + 0x31,0x5,0x10,0x2b,0x40,0xd2,0x42,0x1e,0xce,0x18,0xe5,0x23,0x80,0x4d,0xf5,0xe8, + 0xa3,0x53,0x63,0xf9,0xa3,0xd,0x3d,0xe4,0x5c,0xc2,0xc8,0x13,0x61,0x70,0x31,0x1, + 0x28,0x9e,0x5d,0x93,0x8d,0x93,0x4f,0x32,0x15,0x4e,0x96,0x65,0x55,0xd9,0x14,0x59, + 0x53,0x82,0x56,0x4c,0x26,0x34,0x14,0xb1,0x87,0xd,0x7b,0xe4,0x10,0xc2,0x17,0x52, + 0x98,0x99,0xa6,0x9a,0x1b,0xb1,0xd9,0x26,0x7,0x70,0xc6,0xf9,0xe1,0x9c,0x20,0xde, + 0xd9,0x52,0x9e,0x73,0x3c,0x61,0x85,0x17,0x7c,0x1,0x1,0x84,0x22,0x13,0x60,0xe2, + 0xc,0x35,0xf8,0xd0,0x33,0xaa,0x80,0x8c,0xea,0x33,0xd6,0x3a,0xf7,0xcc,0x13,0x4f, + 0x39,0x9a,0x98,0xc1,0x3,0x14,0x52,0xc8,0xe0,0x9,0x8e,0xf8,0xb4,0xe3,0x24,0x37, + 0xe6,0xac,0x13,0xe,0x59,0xd0,0xfe,0x98,0x25,0x3a,0x6c,0xe9,0x83,0x8f,0x33,0x60, + 0xf8,0xf1,0xc1,0x1e,0x2b,0x7c,0x31,0x48,0x11,0xb2,0xa2,0x79,0x61,0xad,0x83,0x15, + 0xd6,0xa6,0xae,0x1e,0xc8,0xd9,0xeb,0xfe,0x17,0xbf,0xb2,0x64,0xc5,0x16,0x87,0xc, + 0x62,0xc5,0x11,0x5e,0xdc,0x71,0xc6,0xa5,0x98,0x7c,0xa3,0x8e,0x3a,0xf4,0xdc,0x3, + 0x6d,0x8f,0x69,0x2d,0xba,0x4f,0x3d,0xf5,0xb4,0x23,0x4f,0x34,0x94,0x70,0x10,0x47, + 0x4,0x93,0x28,0xd1,0x46,0xb8,0x16,0x33,0xe5,0x4e,0xa9,0xea,0x3a,0xc5,0xee,0x7f, + 0xf7,0x9c,0x97,0xcc,0x1b,0x32,0xdc,0x20,0xc7,0xd,0x44,0x64,0xa1,0x2f,0xad,0xfd, + 0xde,0xa,0xb0,0xae,0x3,0xf7,0x6a,0xf0,0xc1,0x84,0xd0,0x41,0x44,0x17,0x74,0xc0, + 0xe1,0xc7,0x12,0x9e,0x9c,0xe7,0xcd,0x3a,0xfc,0x98,0xa3,0xd6,0xa2,0xfe,0x51,0xbd, + 0xa8,0x3f,0xe6,0xdc,0x83,0x8f,0x38,0xc8,0x6c,0xd1,0x84,0xd,0x6c,0xa8,0x1,0x47, + 0xf,0x79,0x34,0x7b,0x1e,0x54,0x7,0xa6,0xab,0xee,0xb4,0xd6,0x8,0x74,0xf,0x53, + 0xe7,0x31,0x13,0x49,0xcd,0x5c,0x74,0x71,0xc3,0x99,0x3d,0xd7,0xfa,0xf3,0x86,0x1, + 0xb,0x4d,0xf0,0xd0,0x26,0x86,0xc1,0x3,0x1b,0x77,0xd,0xb2,0x46,0xb,0x28,0x9c, + 0x62,0xde,0x3b,0x65,0xa5,0xc3,0x54,0x3e,0x4f,0x91,0x55,0x35,0x6e,0x19,0x67,0xed, + 0x4f,0x38,0xde,0x8,0xa3,0x41,0xa,0x74,0x34,0xb1,0x48,0x14,0x56,0xe8,0x51,0xc7, + 0x1f,0xcc,0x1c,0x15,0xe,0x3a,0xfe,0xb8,0x93,0x8e,0xcb,0x3c,0xda,0xb6,0x1b,0x3f, + 0xbb,0x81,0xf6,0x4d,0x26,0x14,0xe4,0x5b,0xd1,0xac,0xfc,0xba,0xb0,0x3b,0xef,0xbb, + 0xf3,0xd,0x9d,0xdf,0xbc,0x2,0x1e,0x38,0x75,0x61,0x4c,0x31,0xc5,0x15,0x72,0xe8, + 0xd1,0x43,0x1b,0xa8,0xc8,0x73,0xfe,0xde,0x3b,0x7,0xba,0xc3,0x72,0xa9,0xd3,0x52, + 0x1e,0x95,0x3b,0x52,0x39,0x7b,0xcf,0x3d,0xf4,0xbc,0xe5,0xb,0x6,0x7e,0xe8,0xb1, + 0x3,0x21,0x2e,0x10,0xa2,0x2,0x17,0x62,0xd0,0x20,0x89,0x32,0xef,0xe8,0x13,0xce, + 0x7f,0xf0,0xd4,0xd3,0xba,0x3f,0xde,0xbf,0xa5,0x3a,0x36,0x52,0xbf,0x4b,0x4d,0x29, + 0x13,0x44,0x10,0x7,0x14,0x72,0x17,0x98,0x1c,0xf4,0xae,0x77,0xbf,0x33,0x4c,0xf0, + 0x84,0x37,0x3c,0x10,0x55,0xc6,0xa,0x63,0x88,0x89,0x65,0x2e,0xf3,0xc0,0x16,0xf5, + 0xa1,0xf,0x3c,0xc8,0x82,0x12,0x70,0xb0,0x8a,0x70,0x75,0x3,0x1d,0xd3,0x9b,0xde, + 0xe4,0xaa,0x66,0xb9,0x7c,0xfc,0x87,0x1f,0x4f,0xd1,0x7,0x3d,0x52,0x28,0x1f,0x62, + 0x88,0x81,0xb,0x5c,0xe8,0x89,0x15,0xb4,0x10,0x84,0x30,0x44,0xe1,0xb,0x45,0x90, + 0xc1,0x1b,0x88,0x81,0x8f,0xc6,0xf1,0x3,0x1e,0x51,0xd2,0x98,0x8,0xfd,0x41,0xc2, + 0x14,0xaa,0x63,0x5a,0xa9,0x33,0x87,0xd6,0x8e,0x62,0x95,0x9,0xe4,0x4c,0xa,0x39, + 0xd0,0x81,0xd,0x6c,0xa0,0x91,0x9c,0x11,0x81,0x8,0x2e,0x98,0x41,0xc,0x62,0x70, + 0x40,0xe,0xc1,0x29,0x3,0x5d,0xf8,0x22,0x18,0xbb,0x50,0x30,0x96,0x90,0xc8,0xa, + 0x62,0x10,0x3,0x9f,0x6c,0xe2,0x5,0x2b,0xd4,0x20,0xd,0x3b,0x21,0x44,0x21,0xaa, + 0x70,0x3c,0xf,0xc8,0x21,0x10,0x38,0xa8,0x5,0x3e,0xf8,0x53,0x2a,0x51,0x89,0x70, + 0x40,0x8b,0xb2,0x47,0x3e,0xce,0x62,0xae,0xf8,0xac,0xe6,0x17,0x8d,0x90,0xc1,0x20, + 0xc6,0x50,0x86,0x20,0xa0,0xfe,0x24,0xc,0x34,0xec,0x42,0x16,0x52,0xf0,0x86,0xf2, + 0x4c,0xe3,0x1c,0xa6,0x31,0xc7,0x59,0x54,0xe3,0xbe,0x3f,0x2,0x92,0x84,0x3c,0xf2, + 0xa4,0x7b,0x7a,0xf4,0xe,0x5e,0x28,0xe0,0xd,0x45,0xd0,0x41,0xc,0x46,0xe0,0x84, + 0x17,0xe4,0x80,0x8,0x35,0xd8,0x81,0x11,0x6e,0x50,0x82,0x13,0x9c,0x20,0x6,0x88, + 0xb9,0x25,0x62,0xba,0x98,0x81,0x5d,0x5a,0x20,0x8c,0x61,0x6c,0x49,0x19,0xb7,0xb0, + 0x5,0x3e,0x61,0x1,0xb,0x67,0x18,0x83,0x19,0x76,0x90,0x86,0x43,0x94,0xa1,0x9, + 0x72,0x4c,0x9e,0x11,0x90,0x80,0x47,0x7c,0x58,0x63,0x8f,0x81,0x64,0x8a,0xe5,0xa2, + 0xd2,0xa3,0xb1,0x4,0xd2,0x87,0xfe,0x40,0x47,0x90,0xf0,0x81,0xc,0x4c,0x50,0x0, + 0x11,0x84,0x80,0x50,0x10,0x7c,0x35,0x6,0x47,0x8e,0xe1,0xb,0x70,0x20,0x43,0xb, + 0x7e,0x61,0x1e,0x4b,0x66,0x6d,0x6a,0xeb,0x70,0x9f,0x6d,0xb6,0xc9,0x4d,0x50,0x46, + 0xc5,0x37,0xee,0x11,0x88,0x31,0xec,0x40,0x17,0x43,0x38,0xe1,0x4,0x53,0xe0,0x80, + 0x2b,0x61,0x29,0x4b,0x5a,0x8e,0x0,0x97,0xb8,0xd4,0xa5,0x5,0x22,0xea,0x4b,0x30, + 0xde,0xc9,0x8c,0x68,0x54,0x63,0x77,0xac,0x20,0x8,0x33,0xd4,0xc0,0xa,0x84,0xd8, + 0x83,0xb,0xe0,0x40,0x2,0x24,0x0,0xe3,0x28,0xea,0x10,0x22,0x59,0x48,0x18,0x20, + 0x45,0xf9,0xa7,0x6a,0x80,0xcc,0x5a,0x26,0xe5,0x83,0xf,0x65,0x60,0xa2,0x5,0x34, + 0xa8,0x1,0x1d,0xe4,0xb0,0x1,0x3a,0xa8,0x13,0x32,0x61,0x18,0x83,0xa,0xc4,0x50, + 0x87,0x4,0xe0,0xe2,0xfe,0x28,0xee,0xeb,0x8d,0x6a,0x38,0xb9,0xb6,0x2a,0xa5,0x26, + 0x3e,0xcc,0xc0,0xc4,0x4,0x42,0x0,0x84,0x17,0x80,0xa0,0xa,0xad,0x2c,0x42,0x11, + 0x6e,0xd0,0x81,0x11,0x9c,0xc0,0xa1,0xf,0x7d,0x13,0x2f,0x25,0x3a,0xd1,0x2e,0xdc, + 0xe9,0xb,0x59,0x18,0xd6,0x3a,0x6d,0x12,0x86,0x20,0x10,0xa1,0xc,0x82,0x10,0x82, + 0x8,0xe0,0x80,0x88,0x16,0xfc,0x61,0x18,0xf8,0xf8,0x86,0xca,0x4,0xe2,0xe,0x95, + 0xf2,0xe3,0x62,0x2c,0x2d,0x8d,0xe4,0xf2,0x21,0x58,0xd1,0x50,0xe5,0xae,0xdf,0xc0, + 0x84,0x1,0x2,0x81,0x8,0x11,0x8,0xe1,0x68,0x3c,0xb5,0x2,0x88,0x7c,0x1a,0x85, + 0x2e,0xd4,0x40,0x9,0x43,0x7d,0x85,0x79,0xf8,0x73,0xbf,0x7f,0xa,0x51,0xb0,0x91, + 0xb3,0x1a,0x6e,0xf6,0xc1,0x1b,0xf7,0x74,0xe3,0x3c,0xa5,0xc0,0x80,0x14,0xa0,0x0, + 0x4,0x8,0xd8,0x40,0x7,0x37,0x78,0xed,0xa,0x3a,0xe0,0xd5,0xaf,0x7a,0x20,0xac, + 0xbd,0x1c,0xeb,0xdf,0x42,0xd4,0x5,0x2b,0x64,0xa1,0x81,0x69,0x65,0xc3,0x7,0xc2, + 0x40,0x8,0x11,0xec,0x60,0xe,0x28,0xc8,0x84,0x32,0x8e,0x82,0xf,0xb8,0x61,0x52, + 0x75,0x9e,0xec,0x6b,0xf7,0x78,0x64,0x4d,0xd1,0xf0,0x3,0x1b,0xef,0x9a,0x86,0x3c, + 0x18,0xd1,0x83,0x39,0xec,0x20,0xb,0x82,0xb0,0x2,0x11,0x8,0x41,0x84,0xca,0x44, + 0xd6,0xa7,0x44,0x0,0x4f,0xa,0x1a,0x91,0x80,0x52,0x68,0x4a,0xb3,0x60,0xa9,0x1c, + 0xa3,0x9a,0x92,0x9a,0x75,0xc0,0x87,0x3d,0xd3,0xc0,0x7,0x2e,0x30,0x20,0x2,0xd5, + 0x1e,0xcb,0x6,0xfe,0x33,0x70,0xc1,0x6b,0x37,0xb0,0x82,0xd9,0x96,0x4,0xa2,0x62, + 0x9d,0x68,0x6e,0x43,0xd4,0xc0,0xcb,0x58,0x81,0x45,0x36,0x30,0x4,0xf,0x36,0x80, + 0x88,0x3a,0xe0,0xe0,0x11,0xc9,0xb8,0x2f,0x7f,0xfc,0x1,0xd,0x7e,0x80,0x70,0x2c, + 0xb7,0xb1,0xd8,0x6f,0xf6,0x68,0x8f,0xec,0xa9,0x87,0x2a,0xfa,0xc0,0xee,0x23,0x7a, + 0xa0,0x4,0x3d,0xc0,0x21,0xbc,0x74,0x50,0x41,0x19,0x98,0x90,0x97,0x31,0x42,0xc6, + 0xb,0x43,0x38,0x2f,0x1c,0x52,0x90,0x8,0x1a,0x94,0xc2,0x19,0x38,0xda,0xec,0xe3, + 0x76,0xf4,0x9b,0xdc,0xc0,0x87,0xbe,0xa2,0xed,0xd1,0x7d,0x85,0xf1,0x87,0x9,0x24, + 0x61,0x5,0x5a,0x34,0xc1,0xa,0x6e,0xa0,0x2,0x15,0xc,0x98,0xc0,0x6,0xbe,0x2d, + 0x82,0x15,0xa8,0xdb,0x93,0xe4,0xe4,0x9,0x70,0x18,0xc3,0x19,0x1e,0x7c,0x5,0x45, + 0x24,0xa2,0x2,0x97,0x70,0x6,0x52,0xac,0x81,0xba,0xbd,0x6e,0x43,0xc4,0xfe,0xf1, + 0xeb,0xb4,0x44,0x5c,0x42,0x7e,0x94,0x26,0x2e,0x99,0x40,0xc1,0x1c,0xd6,0xa0,0x2, + 0x42,0x84,0x81,0x8,0x74,0xb0,0x42,0x11,0xc0,0xb3,0xa7,0x93,0x38,0x52,0x32,0x8b, + 0x70,0x1,0x13,0x26,0x21,0x2,0x2e,0x50,0xe0,0x13,0x68,0xfe,0xc6,0x3b,0xa8,0xbb, + 0x52,0xa9,0x10,0x48,0xb4,0x6a,0xe9,0x86,0xfb,0x66,0xa,0xa,0x2,0x88,0x60,0x5, + 0x2b,0x80,0xb2,0x94,0xa9,0x4c,0xe0,0x12,0x5c,0x79,0xac,0x64,0xd5,0x72,0x88,0xbc, + 0x10,0x6,0x2b,0x98,0x61,0xd,0xc3,0xea,0x13,0x10,0xf6,0xc0,0x5,0x3,0x84,0x22, + 0x1a,0x5e,0xfe,0x41,0xd7,0x58,0x10,0xe4,0xe6,0x37,0xff,0x48,0xc4,0xa2,0x62,0x8a, + 0x72,0x43,0x81,0xe7,0x1d,0x78,0x74,0x3,0x41,0x60,0xab,0xd2,0x66,0x4c,0x63,0x9b, + 0xb8,0xe1,0x8,0x7b,0x8,0x83,0xb,0xe4,0xc0,0x4,0x38,0x24,0x40,0x13,0x76,0xc5, + 0x47,0x38,0xe,0x94,0xa8,0x21,0xe7,0xc6,0x37,0xeb,0x68,0xaa,0xa3,0xba,0x11,0x17, + 0x6a,0x98,0xa2,0x5,0x36,0xe3,0x9d,0xa,0x6e,0x50,0xe5,0x5b,0x76,0xa8,0xc0,0x60, + 0xcd,0x40,0x44,0xb1,0x2c,0x46,0x5f,0x2d,0xb0,0x57,0x47,0x70,0x3,0x8a,0x5c,0x3d, + 0x8,0x37,0xdc,0xc1,0x6,0x80,0x90,0xc1,0x27,0xe4,0x21,0xf0,0x38,0x53,0x6f,0xc4, + 0xd9,0x3,0x61,0x69,0x22,0xfd,0x2c,0x94,0x92,0x85,0x1d,0x64,0x1,0xcb,0x96,0xc4, + 0x61,0xa,0x14,0x34,0x42,0xf,0x8d,0x75,0xa4,0x23,0xcd,0x9a,0x17,0xbb,0xcd,0x3b, + 0xa,0x18,0x95,0x8c,0x1a,0xbf,0x30,0x87,0xa,0xd8,0x8,0x29,0x63,0xd9,0x86,0x90, + 0x39,0xab,0x2e,0xb2,0x64,0x2f,0x85,0x47,0xb1,0xc5,0x5,0x68,0x20,0x2,0x29,0x7c, + 0x60,0x5,0x19,0xe0,0x0,0x6d,0xdf,0xbd,0x4b,0x78,0x1f,0x78,0xde,0xf5,0x26,0x98, + 0xaa,0x85,0x60,0x6,0x33,0x6c,0x21,0xb,0x4c,0x90,0x82,0x22,0x8a,0xb0,0x9,0x71, + 0x8,0xdc,0x62,0x83,0xf4,0xc7,0x36,0xb2,0x37,0x67,0xf7,0xbc,0xb7,0x29,0x91,0x1b, + 0x8b,0xc3,0xc5,0x82,0x8e,0xb7,0xe0,0x83,0xdc,0x60,0xa8,0x83,0xab,0x1b,0x5c,0x4c, + 0x47,0xf2,0x76,0xe3,0x5f,0xc,0x51,0x14,0x3c,0x6e,0x93,0x62,0x16,0x33,0x8,0x35, + 0xa8,0xfe,0x43,0x1d,0x2a,0x90,0x5c,0x6f,0x88,0x65,0x1b,0xbd,0xa1,0x5f,0xaf,0x47, + 0x1c,0x33,0x7a,0xdc,0x15,0x18,0x48,0xa0,0xc1,0x3,0xce,0x40,0x6a,0x87,0xea,0x6a, + 0xe7,0x3b,0x8f,0xb7,0x2f,0x7f,0x4e,0xb0,0x66,0x7f,0x7,0xe,0x4f,0xc8,0x8b,0x1f, + 0x26,0x90,0x8a,0x89,0x21,0xa5,0x49,0xf5,0xb8,0xc7,0xd4,0x4,0x82,0x49,0x6e,0x70, + 0xe3,0x49,0x97,0x5f,0xcf,0xd5,0xc7,0x52,0xcd,0xb7,0x54,0xe5,0x1b,0xac,0xd0,0x40, + 0xf,0x12,0x91,0x19,0x39,0xb8,0x0,0xb,0x18,0x2f,0x7b,0x16,0xc0,0x8,0xa2,0x8e, + 0xab,0xdd,0xb,0xc5,0xf4,0x2,0x11,0xd6,0x90,0x82,0x3a,0x5c,0x0,0x19,0xfc,0x89, + 0x74,0x54,0x16,0xee,0xb2,0x52,0xb9,0x83,0x1f,0x1d,0xbb,0x47,0x55,0x92,0x81,0x4, + 0x19,0x7c,0x20,0xe,0x10,0xc8,0xb9,0xe1,0xf,0xdf,0xf3,0xb3,0x2b,0x5e,0x44,0x6b, + 0xa5,0x43,0x19,0x74,0xe6,0x7,0x44,0x50,0xc0,0x69,0x48,0xe9,0x46,0xcc,0xda,0xe1, + 0xbd,0x77,0x74,0xa3,0x1b,0x51,0xeb,0x94,0xe7,0x2f,0x56,0x9a,0xc1,0x1e,0xdc,0xc3, + 0xfa,0x78,0x6,0x3e,0x64,0xd1,0x82,0x1d,0x1c,0x62,0xd,0x35,0x58,0xe4,0x10,0x54, + 0x1d,0x86,0x2f,0xc0,0xbe,0xb,0xc7,0x9e,0xfd,0x6e,0x9d,0x9d,0xda,0x61,0x81,0x17, + 0x6c,0xc0,0x20,0x64,0x81,0x11,0xbc,0xc1,0x5,0x94,0x7,0x7a,0xc,0xc8,0x7a,0x8c, + 0x4a,0xcb,0x9c,0xc5,0xe5,0x65,0xc3,0xbb,0x8,0x83,0xf,0xdc,0x80,0x3,0x34,0x54, + 0x2e,0xe9,0x5c,0xf4,0xf1,0x9c,0x5,0x3c,0xc8,0x44,0x55,0x1f,0x88,0x1c,0x9b,0x1b, + 0xfe,0x74,0x1,0x11,0xf0,0x81,0x18,0xbc,0xc1,0x1f,0xc8,0xc3,0x7d,0x5,0x49,0xf6, + 0x68,0x83,0x49,0x1d,0x5,0x6d,0x58,0x4c,0xc7,0x78,0x9e,0x54,0x70,0xd3,0xd4,0xad, + 0x83,0x6d,0x14,0x84,0x2c,0x80,0xc1,0xe,0x50,0x42,0xd,0x34,0x16,0x13,0xdc,0x9b, + 0x17,0xd4,0xd0,0x17,0xf1,0x16,0xb1,0x78,0x41,0x3a,0xed,0x56,0x5e,0xf4,0xd6,0x17, + 0x5,0x41,0x17,0xa8,0xd1,0x6,0xc8,0x1,0x7e,0x2c,0xc1,0x2,0x1e,0xc5,0x6c,0xe8, + 0x43,0xfe,0xe0,0x5d,0x53,0x7c,0x50,0x9,0xd1,0x83,0x67,0xfc,0x2,0x1,0x48,0xc1, + 0xe0,0x91,0x5a,0x6d,0x75,0xa0,0xe1,0xc5,0xdb,0x83,0x30,0x41,0xe2,0x55,0xdf,0x17, + 0x35,0x4c,0xe,0x78,0x81,0x1c,0xe4,0xc7,0x2f,0x9c,0x87,0xf9,0xb5,0x19,0x3a,0x1c, + 0x5,0x35,0xc,0x43,0x2e,0xf4,0x82,0xe9,0xbc,0x8b,0x36,0x30,0xd7,0x3a,0xec,0x51, + 0x9,0x45,0x49,0x61,0xc9,0x3,0x2e,0x54,0xc0,0x12,0x98,0xc1,0x8b,0xc9,0x81,0x1c, + 0x4,0x81,0x22,0xa8,0xdd,0x11,0x36,0x50,0xc8,0x41,0x52,0x13,0xe6,0x85,0x15,0x3c, + 0x61,0x10,0xb0,0x1,0xf,0x7c,0x80,0x1c,0xb8,0x52,0x20,0x20,0x41,0x51,0xe5,0x91, + 0x69,0x4c,0x9a,0xba,0x70,0x4f,0xa3,0xe4,0xda,0x69,0x94,0x96,0x5c,0x3c,0x80,0xe, + 0x74,0x8,0x7,0xa2,0x61,0x4,0xa8,0xe1,0x1a,0x86,0x91,0x8,0x6,0xa0,0x17,0xb4, + 0x8a,0x1a,0x28,0xb,0xd3,0xe9,0x83,0xd4,0xb8,0x3,0x38,0xd8,0xc3,0x37,0x98,0xc2, + 0x5,0x60,0x80,0xc,0x4c,0x0,0xd,0x80,0x82,0x32,0x94,0x6,0xfc,0xd8,0x3,0xfe, + 0xae,0xa5,0x4b,0xf,0xc1,0xc3,0xc5,0x7c,0xc3,0x1e,0x4a,0x40,0x1d,0x4,0x2,0x11, + 0x84,0x81,0x1b,0xb8,0x41,0xe,0x4,0x1,0xce,0x84,0x51,0x3,0x45,0xa1,0x4d,0x40, + 0x61,0x5e,0x88,0x81,0x30,0x35,0xe1,0x17,0x81,0xd,0x1b,0x5c,0x81,0x27,0xbe,0x90, + 0x6,0x30,0x82,0x5d,0x65,0xd8,0x86,0xb5,0x8e,0xf1,0xd5,0x83,0xf7,0xd8,0x3,0x3b, + 0x38,0xdc,0x36,0xb8,0x85,0x37,0xa8,0x3,0x31,0x10,0xc0,0xd,0x7c,0x80,0x2e,0xa1, + 0x61,0x6,0x44,0xc0,0x2c,0x46,0xd4,0x1a,0xb2,0xa1,0x2d,0x56,0x9f,0x3,0xb9,0x41, + 0x13,0xec,0x1,0x11,0x28,0x1,0x2b,0x98,0x47,0x73,0x55,0x53,0x35,0xd8,0xc1,0x1b, + 0x88,0xc1,0xd,0x48,0x1,0x20,0xb0,0x0,0x6,0x80,0xc1,0x30,0x0,0x87,0x58,0x38, + 0x5c,0x4a,0x4d,0xdd,0x79,0x0,0x43,0x5,0xf4,0x0,0x19,0x64,0x81,0x1b,0x44,0x41, + 0x18,0xe4,0x80,0x23,0x4d,0xe1,0x44,0x65,0xa2,0x1a,0x41,0x61,0x17,0x70,0xc1,0x25, + 0xe6,0xc5,0x83,0x34,0x41,0x1c,0x44,0x51,0xe,0x1c,0x81,0xd,0x21,0xc2,0x1b,0x80, + 0x1,0x32,0xe0,0xc3,0x34,0x2c,0x85,0x5a,0x48,0x8e,0xa3,0x98,0x45,0xc7,0xdc,0x63, + 0x3e,0x3a,0x5c,0xb5,0xbc,0x8b,0x32,0x10,0x0,0xb,0x74,0x40,0x2c,0xee,0x9c,0x41, + 0x66,0x65,0xbc,0x9d,0x9,0x57,0x1e,0x81,0xa9,0x1,0x4e,0x16,0xe0,0x54,0x19,0x94, + 0x81,0x1e,0xa0,0x40,0x32,0xbc,0xc3,0x3e,0x44,0x89,0x3d,0x9c,0xc3,0x37,0x6c,0x2, + 0xd,0x88,0x81,0x14,0xa4,0x56,0xb7,0x88,0xc1,0x12,0xd8,0x41,0xb3,0x84,0xfe,0x3, + 0x49,0xa6,0xce,0x6e,0x9c,0x6,0x55,0x78,0x6,0x30,0xb4,0x1,0x9,0x20,0x42,0x8b, + 0x85,0xc8,0xb1,0xb5,0xa1,0x3a,0x5,0x81,0x1a,0x35,0xc1,0x17,0x25,0x64,0x42,0x1e, + 0x1,0xf,0x5c,0x1,0xf,0x34,0x41,0x13,0x98,0x9,0x11,0xdc,0x50,0x25,0xc0,0x9f, + 0x7c,0xf4,0xd3,0x40,0x6c,0x12,0x60,0xa9,0x4e,0xfd,0x74,0xcf,0x3e,0xe0,0x63,0x3e, + 0xfa,0x3,0x37,0x78,0x8c,0x3c,0x20,0xc3,0x3,0x38,0xc0,0x40,0xc6,0x1b,0x6b,0xc6, + 0x1b,0x4,0xbc,0x66,0x57,0x9e,0x89,0xa9,0x99,0x1a,0x26,0xb2,0xda,0x21,0x30,0x2, + 0x35,0xf8,0x22,0x3c,0x68,0xcf,0x2e,0x18,0x1,0x17,0x48,0x41,0x13,0x40,0x1,0x4d, + 0x78,0x41,0x78,0xa0,0x0,0x1e,0x4d,0x8b,0xc3,0x15,0x88,0x54,0xd8,0xc6,0x7d,0xfd, + 0x65,0x1d,0x20,0x82,0xa,0xb8,0xc1,0x5a,0xcd,0xe6,0x44,0x25,0xa6,0x64,0x4a,0x66, + 0x6c,0xc6,0xe6,0x75,0x1e,0x41,0x13,0x78,0x4b,0x25,0x18,0x65,0x69,0x7c,0x1b,0x6f, + 0x58,0xcf,0x1f,0x35,0x45,0xa,0xad,0xc,0x3e,0xda,0x83,0xd6,0x74,0x8f,0x3c,0xfc, + 0xc2,0x3,0x58,0x40,0x17,0x81,0x40,0x6b,0xce,0xe7,0x6b,0x42,0x40,0x76,0x7a,0x25, + 0x75,0xfa,0x52,0x16,0xc0,0x81,0x10,0x58,0x41,0x19,0xa4,0x1,0x26,0x20,0x45,0x3a, + 0xc0,0x43,0x3a,0xd8,0x3,0x3e,0xf4,0x4f,0xec,0x15,0x4b,0x15,0x54,0x1,0x16,0x74, + 0xc1,0x16,0xa0,0x80,0x26,0x14,0x51,0xae,0x15,0x48,0x69,0x9c,0xc3,0x79,0xc,0x43, + 0x1e,0xe0,0x99,0x18,0xd0,0x81,0xb,0xb8,0x81,0x4d,0xe6,0xe7,0x17,0xfe,0x59,0xe7, + 0x76,0x66,0xe7,0x10,0x9c,0x9,0x13,0x60,0x67,0x13,0xdc,0x80,0x8,0xf0,0x98,0x51, + 0x46,0x9a,0x68,0xf9,0x53,0xb4,0x88,0x8a,0x3f,0xa0,0x62,0x68,0x3a,0x4a,0x5f,0x1d, + 0x85,0x3c,0x80,0x1,0x17,0x58,0xe5,0x19,0xca,0xe7,0x7c,0xb2,0x66,0x7d,0xde,0x27, + 0x88,0x86,0xd1,0x79,0x8d,0x97,0x15,0xac,0x41,0x80,0x76,0xc3,0xe3,0xa4,0x43,0x38, + 0xe0,0x3,0x26,0x28,0xc1,0x9e,0x60,0xc1,0x15,0x2c,0xe8,0x15,0x44,0x81,0x50,0xe5, + 0x81,0x38,0xbc,0x85,0xc1,0xb9,0x4b,0x5c,0xa8,0x43,0x32,0xe4,0x1,0xe,0x2c,0x41, + 0x20,0x14,0x1,0x13,0x1c,0x9a,0x17,0xc,0x69,0x88,0x5e,0xa7,0x9a,0xde,0xe7,0x11, + 0xc4,0xe5,0x1a,0x72,0xa7,0x9,0x9c,0xc1,0xd,0x88,0x81,0xf,0x4c,0xe4,0x51,0xf6, + 0xc6,0x7b,0x8d,0x56,0x54,0xd4,0x63,0x2a,0x16,0x1f,0x3f,0xe4,0x11,0x3e,0xa8,0xc2, + 0x4,0x88,0xc0,0x7,0xa4,0xe1,0x8f,0x2,0x29,0x3,0x30,0xc0,0x7d,0x32,0x66,0x2d, + 0x8e,0x15,0x11,0x7c,0x22,0x88,0x88,0x1,0x23,0xc8,0x83,0x37,0xa0,0x5c,0x3a,0x6c, + 0x9d,0x26,0xf4,0xc0,0x16,0x84,0x41,0x31,0x1d,0x4f,0x15,0x10,0x67,0x1d,0x60,0xe9, + 0xe,0xfd,0xd3,0x58,0x8c,0x9b,0x38,0x64,0x68,0x1d,0x74,0x57,0x17,0xe4,0xc0,0x19, + 0xe8,0xc0,0x99,0xa2,0xa9,0x9a,0x62,0x27,0x9b,0x4a,0x41,0x15,0xad,0xa1,0x64,0x5e, + 0x81,0x7f,0x89,0x80,0x2,0xca,0x93,0x35,0x50,0xcf,0xb7,0xad,0x5,0x6e,0xf0,0x29, + 0x34,0xc2,0x20,0x3e,0xe8,0xc2,0x3,0xf0,0xc1,0x3,0x68,0x95,0xfe,0xf4,0x1d,0x6a, + 0x44,0x25,0xaa,0xa2,0x66,0x27,0xa3,0x82,0xe0,0x44,0xb1,0xa1,0x1a,0x94,0xe8,0x77, + 0x44,0x82,0x57,0xac,0xe,0x3f,0xb8,0xf,0x2a,0x54,0xc0,0x16,0x88,0x9d,0x1c,0x7d, + 0x6a,0x16,0xb4,0x40,0x26,0x9c,0xc7,0x5a,0x30,0xc5,0x5a,0x56,0xc5,0xa9,0x6e,0xd7, + 0xe,0xc0,0x41,0x8,0x48,0xc1,0x1e,0xd0,0xb,0x9a,0xa6,0xe3,0x9a,0xce,0x2a,0xad, + 0x12,0x81,0xad,0xf2,0xa4,0x3,0x74,0x8b,0x8,0x90,0x1,0x12,0x24,0x83,0x11,0x8d, + 0x45,0x53,0x5,0x6b,0xc7,0xd4,0xa8,0x3d,0xa4,0xd0,0xbb,0xe4,0xc2,0x3,0x74,0x40, + 0x7,0xdc,0x40,0x8,0x74,0xc0,0xb2,0xfe,0xa8,0x3,0x38,0x80,0xb3,0x2e,0x6a,0xb4, + 0x8e,0x15,0x13,0xa8,0x41,0x14,0xb6,0x69,0x16,0x2c,0xc1,0x33,0x4c,0x8b,0xd4,0xe9, + 0x3,0x2f,0xa0,0x41,0x1d,0xc,0xcb,0x4c,0xd0,0x84,0x14,0x88,0x81,0x71,0x22,0x5, + 0x3d,0x9c,0x85,0x75,0x79,0x83,0x37,0xc8,0x43,0x1e,0xd4,0x1,0x19,0xd4,0xc0,0x24, + 0xdc,0x40,0x13,0xb4,0xea,0x1e,0xb4,0xe9,0xbc,0xd6,0x2b,0x9a,0x64,0xe7,0xbd,0x12, + 0x1,0x4e,0x9e,0x28,0xd8,0xbc,0xc0,0x15,0xf0,0xab,0x12,0x44,0xc2,0xc7,0x5a,0x83, + 0x58,0xec,0x15,0x52,0xee,0x69,0xc1,0xee,0xc3,0x26,0xdd,0x55,0x2f,0x2c,0x6c,0x6, + 0x38,0x80,0xb,0x3c,0x6c,0xc4,0xb6,0xe6,0xc4,0x52,0x6c,0xa2,0x5a,0x6c,0xb4,0x32, + 0xaa,0x14,0x7c,0xc1,0xd,0x84,0xc1,0x64,0x16,0x41,0x3,0x10,0x83,0xfb,0x0,0xdf, + 0x96,0x74,0x42,0x1b,0xcc,0xc1,0xb7,0xda,0x84,0x14,0x70,0xfe,0x81,0xf,0xfc,0xc1, + 0x7d,0xbd,0xc3,0x8e,0x54,0x43,0xd7,0x65,0x82,0x4a,0x3e,0x1,0x1d,0x30,0x41,0x21, + 0x84,0x19,0x14,0xac,0xc0,0xc,0x48,0x1,0xc6,0x46,0x6b,0xbd,0x5a,0x4,0xd0,0x56, + 0x11,0x17,0xd4,0x80,0xd1,0x71,0xe7,0xb,0x1c,0x4f,0x9,0x9c,0xa9,0x8,0xe8,0x47, + 0x35,0xbc,0xf,0xc1,0x4d,0x9d,0x8e,0xfc,0x86,0x72,0xf5,0x2,0x6,0x3c,0x40,0x9, + 0x44,0x14,0x7,0xcc,0x80,0xa1,0x4a,0xec,0xc4,0x3a,0xab,0x85,0x84,0x6d,0xb4,0x8e, + 0x6d,0x1c,0x9e,0xc1,0xc,0x84,0x0,0x24,0x28,0x89,0x3e,0x58,0xc3,0xda,0x12,0xc4, + 0x23,0x14,0x9,0x19,0xf8,0x81,0x1f,0xc8,0x0,0xd,0xd8,0xc1,0x32,0x96,0xe2,0x6e, + 0x6e,0x9,0x35,0x64,0x42,0x2,0x4,0x42,0xd,0x10,0x1,0x62,0x3e,0xe6,0xd1,0x6, + 0x90,0x71,0xa8,0x2e,0x63,0xb2,0x69,0x6c,0xc6,0x65,0x12,0x8,0xad,0x83,0x9c,0xa8, + 0xd,0x4c,0xc4,0xb,0x48,0x11,0x11,0xd0,0x80,0x4,0xbc,0x82,0xfb,0x4,0x9,0x3a, + 0x9c,0x46,0xca,0x7d,0x93,0x3d,0x60,0x3,0x3d,0x9c,0xc7,0x37,0xfc,0x2,0x6,0x54, + 0xe5,0xce,0x81,0x0,0x8,0x94,0x6e,0x44,0x75,0xad,0xfc,0xa2,0xee,0x72,0x38,0x6f, + 0xb4,0xde,0x40,0xe,0x4,0xe7,0xc,0x14,0xc1,0x1b,0xa8,0xc3,0xc7,0x7a,0x83,0xfb, + 0x58,0x83,0x3a,0x88,0xc3,0x2a,0xe0,0x0,0xa,0xb4,0x80,0x6,0xfc,0x81,0x29,0x3c, + 0x83,0x37,0x58,0x52,0xd4,0x98,0xd0,0x5d,0x7d,0xc2,0xd7,0x4d,0x40,0x22,0x15,0x13, + 0x4d,0x2c,0x6f,0x9b,0xda,0x6f,0x63,0x42,0x6f,0x57,0xfe,0xe,0xc1,0xbd,0xd6,0x0, + 0x17,0xc,0xe1,0xf5,0xf6,0x45,0xe,0xdc,0x80,0x11,0x5c,0x0,0xc,0xc4,0x23,0x7f, + 0xe8,0xa9,0xa2,0xd8,0x83,0x35,0xa0,0x10,0x35,0xa,0x3,0x5d,0x74,0xc0,0x7,0xd4, + 0x70,0x6,0xb8,0x2f,0xfc,0xca,0xef,0xfc,0x26,0x6a,0xea,0x6a,0xf0,0x1a,0x12,0x81, + 0x13,0xcd,0x80,0xe,0xa4,0xe8,0x4,0xc4,0x82,0x67,0x64,0xa1,0x82,0xe0,0x83,0x3c, + 0xec,0x21,0x2e,0x10,0x3,0x3,0x3,0x16,0xf8,0xa9,0xc6,0x33,0x94,0xc2,0x5,0x2c, + 0x81,0xfd,0x65,0x87,0x5,0x1f,0xad,0x64,0xba,0xa9,0xf,0xf,0x21,0x7,0x73,0xa5, + 0x7,0xdf,0x2b,0x17,0x10,0xc1,0x11,0x8c,0x70,0xf6,0x6a,0x44,0x15,0x22,0x1,0x33, + 0xa8,0x3,0x5c,0xac,0xc5,0x3e,0xbc,0xf1,0x1b,0x37,0xce,0xe5,0x36,0xc3,0x51,0xa8, + 0xef,0x3,0xec,0xd2,0x7,0x84,0x40,0x98,0xb8,0xef,0xfb,0xda,0x96,0x5,0xe8,0x70, + 0xd7,0x26,0xea,0x1,0xf4,0x70,0x17,0x13,0x1,0x9f,0xcc,0x80,0x9,0x74,0x4b,0x11, + 0x50,0x40,0x32,0x18,0x55,0x8f,0xf4,0x23,0x52,0x70,0x26,0xd3,0xf6,0x88,0x9a,0x1d, + 0xa8,0x6,0x90,0x81,0xfd,0x95,0x8f,0x17,0xf0,0x0,0x27,0x5f,0x67,0x17,0x6f,0x70, + 0x6c,0x2e,0x47,0xe,0xb4,0x56,0xe,0x4c,0x2f,0x11,0x24,0xc1,0x10,0xd8,0xc0,0x54, + 0x1,0x81,0x14,0xb5,0x12,0x17,0x18,0x1,0x5,0xfc,0x1,0x78,0xca,0x7,0x1c,0x1b, + 0xac,0x96,0x6c,0xc9,0x2f,0x18,0x0,0xb,0x58,0x0,0x8,0x78,0xc0,0x6,0xe8,0xf1, + 0x7,0x80,0xc0,0x9,0x40,0xc0,0x2e,0x1d,0x64,0xfe,0xfc,0x2,0xb2,0x3,0x1c,0x80, + 0x32,0x13,0xb2,0xf,0x8f,0x97,0x8d,0x99,0x80,0xab,0xf2,0x81,0xb2,0x84,0x8b,0x37, + 0x94,0x5,0x6d,0xd0,0xee,0xfb,0x58,0x83,0xdb,0x50,0xc5,0x39,0x60,0x98,0x2a,0x90, + 0xc0,0x16,0xd4,0x40,0x11,0x98,0xe0,0x43,0xc6,0x6a,0x10,0x7c,0xf2,0x9b,0x92,0x28, + 0x60,0x8c,0x32,0x29,0xe7,0xc,0xfe,0x42,0x51,0x14,0xb5,0xf2,0xd,0x6c,0x80,0x8a, + 0xd2,0x40,0x80,0xe2,0x43,0x35,0x34,0xce,0x7,0x1,0xc9,0x96,0xf4,0x2,0x55,0x96, + 0x0,0x4,0xbc,0x89,0x1e,0x87,0x89,0x5,0x40,0x80,0x5,0x14,0xa4,0x31,0xff,0x31, + 0x32,0x2b,0xf3,0x20,0xd7,0xef,0x27,0x5b,0x1,0x13,0xc,0x1,0x14,0x44,0x91,0x6b, + 0xc9,0x40,0xb,0x4,0xdc,0x37,0xcc,0x6e,0xf9,0x42,0x45,0xba,0x44,0x8d,0x54,0xb0, + 0x25,0x35,0xe4,0x82,0x1,0x88,0x40,0x19,0xa8,0xc0,0x83,0x6c,0x0,0x37,0x5e,0xe7, + 0x87,0xa2,0xb3,0x17,0x87,0xf2,0x72,0xf4,0x57,0x9,0x13,0xc1,0xd,0x24,0x1,0x14, + 0xb1,0xb2,0xe,0x94,0xf0,0xd,0x70,0x80,0x9,0x7c,0x40,0x11,0x68,0x80,0x2a,0x44, + 0x72,0xae,0x55,0xcf,0x34,0xf8,0x73,0x7,0xc4,0xc1,0x0,0xbc,0x40,0x9,0xe4,0x31, + 0x30,0x43,0x6c,0x56,0x26,0x34,0x32,0x27,0xf3,0x32,0x3b,0x74,0x17,0x57,0x46,0x44, + 0xc7,0xf3,0xa,0x30,0x1a,0xa,0x84,0x2,0x35,0x34,0x83,0x3d,0xd8,0x1d,0x8c,0xaa, + 0x7,0x3d,0x5c,0xc3,0x5d,0xb1,0x82,0xf,0x18,0x1,0x1d,0x18,0xdb,0x18,0xb8,0x80, + 0x4d,0x6c,0x80,0x27,0xef,0x56,0x65,0x54,0xfe,0x11,0x5c,0xc3,0x75,0xd8,0xde,0x67, + 0xbf,0xf4,0x85,0x6b,0x55,0xd1,0xd,0xe8,0x80,0xe,0xd8,0xf4,0x6b,0xdd,0xc0,0x82, + 0x46,0x40,0x8,0xf8,0x41,0x1,0xd8,0x2,0x0,0xfb,0x1a,0x3e,0xf0,0x42,0x3,0xb0, + 0xc0,0x9,0x4,0xc0,0x30,0x2b,0x75,0x98,0xd4,0xf0,0x7,0x34,0x35,0x6b,0x3e,0x35, + 0x43,0xe7,0x40,0x60,0x5c,0xb6,0x65,0xa3,0xf3,0x78,0xbd,0xa4,0x9,0xd8,0x80,0x5d, + 0x10,0x81,0x1f,0x28,0xc1,0x5,0xe4,0xc1,0x30,0x58,0x92,0x7c,0x6c,0x92,0x4c,0xe1, + 0xa8,0x33,0x7c,0x42,0xb,0xa4,0x40,0x16,0x4,0x1,0x37,0x6e,0xc0,0x19,0x34,0xc1, + 0x6,0xec,0x41,0x18,0xaf,0x21,0x44,0xc7,0x75,0x5c,0xcf,0x75,0x76,0xd6,0xca,0x5e, + 0x67,0xaf,0x6b,0xf5,0xb5,0x5e,0xf,0xf7,0x6b,0xe5,0x40,0x15,0xbc,0x0,0x16,0xdc, + 0xc0,0x4,0x2c,0x41,0x2,0xd8,0xc2,0x69,0xbf,0x3,0x3a,0x44,0xf7,0x3b,0xd4,0x82, + 0x4,0xc8,0x80,0x5,0x30,0x36,0x2,0x8c,0xc0,0x2f,0x6f,0x0,0x64,0xd7,0xb0,0x64, + 0xc7,0x1b,0x32,0x2f,0x0,0x43,0xdf,0x34,0x79,0x5f,0xb6,0x85,0x58,0x48,0x15,0xf1, + 0xcb,0x4d,0x97,0x70,0x11,0x64,0x81,0x8,0x4c,0x80,0x28,0xec,0x82,0xc0,0x29,0x97, + 0xc0,0x9,0x1c,0x32,0x94,0x42,0x1d,0x90,0x40,0xa,0x74,0x57,0x4b,0x7f,0xf1,0x79, + 0x2f,0xc7,0x7d,0x8a,0x32,0x45,0xff,0x17,0xef,0xc,0xf7,0xc,0x10,0xb8,0xb,0x74, + 0x44,0x94,0x89,0x80,0xc,0xf0,0xae,0x2b,0x34,0x8b,0x51,0x3d,0x83,0x2a,0x50,0x0, + 0xa1,0xde,0x70,0x2f,0xd7,0x56,0xa1,0xfe,0x16,0xf3,0x77,0x1f,0xb3,0xfc,0x2e,0x80, + 0x87,0x8b,0x37,0x2,0x20,0xc0,0x70,0xf,0xb7,0x65,0xff,0xb7,0x89,0x5f,0xc4,0x19, + 0xc,0x41,0x13,0xb8,0xc1,0x19,0x70,0xb7,0x8,0x44,0xc2,0x27,0xc4,0x82,0x30,0x20, + 0x83,0x30,0xd0,0x82,0x2b,0x34,0x42,0x20,0x18,0x41,0xa,0x38,0x2e,0x1c,0x40,0xf4, + 0x17,0xe7,0xcd,0x89,0x5f,0x44,0x80,0x2f,0xc7,0x15,0x1d,0xb8,0x91,0xb,0xb1,0xe, + 0x1c,0xb8,0xa7,0x2d,0xb9,0xa7,0xb9,0x0,0xb,0xa8,0xa8,0x8,0x3c,0x0,0x24,0xb4, + 0x2,0x31,0x10,0x43,0x2a,0x48,0x2,0x1,0x8,0x64,0xc0,0x9c,0x21,0x56,0x46,0x94, + 0x41,0x4e,0xb6,0xe,0x7f,0xf8,0x2,0x84,0xb8,0x88,0x8f,0xb8,0x5e,0x7,0xf9,0x89, + 0xdb,0x4,0x9a,0x34,0x81,0x4d,0x14,0x81,0x12,0x20,0xc1,0x1,0x6b,0x80,0x6,0xd0, + 0x40,0xa,0x50,0xc0,0x8e,0x3b,0x2e,0x5c,0xff,0x38,0x90,0xa3,0xf9,0x90,0x3,0x46, + 0x91,0x1f,0x39,0xa0,0x33,0xf9,0x47,0x2c,0x39,0xb,0xb0,0x80,0x8,0x44,0xf9,0x31, + 0x12,0x80,0x31,0x6a,0x79,0xc0,0xc0,0xef,0x7c,0x2,0xb2,0x98,0x93,0xf9,0x81,0x9b, + 0xb9,0x46,0xa0,0xf9,0x79,0x6f,0xc0,0x11,0x80,0x9c,0x76,0x7c,0x41,0xa,0xd0,0x80, + 0xa7,0x9f,0x51,0xb,0xc1,0x1,0x1f,0xa8,0x1,0x13,0xdc,0x80,0xb,0xfc,0xa4,0x9e, + 0xb,0x90,0xa5,0xaf,0x73,0xad,0x0,0xba,0xab,0x33,0xf9,0xba,0x95,0x4,0x64,0x3f, + 0x40,0xa1,0x1b,0xfa,0xa1,0x3f,0x40,0x86,0x13,0x64,0x42,0x73,0x2d,0xa4,0x7f,0xb8, + 0xa4,0x4f,0x3a,0x89,0x97,0xf8,0xfe,0xaa,0xff,0x45,0x13,0x58,0xb6,0xaa,0x79,0x41, + 0xd6,0xf2,0x81,0xb,0x61,0xd5,0x6b,0xc5,0xa5,0x46,0xe8,0x80,0x70,0xd6,0x44,0x89, + 0xea,0xf9,0xb0,0x8b,0x72,0xab,0xbb,0xba,0x92,0xc3,0xfa,0x80,0x8d,0x0,0xb7,0xbb, + 0x9b,0xe,0x30,0x6c,0xd,0xe3,0x7a,0x6c,0x11,0xa4,0x7,0x9a,0x6e,0x87,0x7f,0xb8, + 0x32,0x87,0xf8,0x0,0x10,0x2e,0xb0,0xeb,0xb5,0xb0,0x57,0xbb,0x45,0xb8,0xc1,0x10, + 0x6c,0x80,0xb,0xb0,0xb9,0x76,0x7c,0xc0,0x6,0x14,0x87,0x14,0xd8,0xd8,0xc,0x4, + 0xa7,0xd,0x5c,0x30,0xae,0x4e,0xfb,0x8f,0xc3,0xfb,0x5f,0xd4,0xca,0x9f,0x7,0xba, + 0xb6,0x6f,0x3b,0xb7,0x8f,0x0,0x9c,0x94,0x0,0x42,0x1b,0x24,0xc3,0xea,0xfa,0xae, + 0x83,0x79,0x98,0xa3,0xfb,0x1,0xc,0x0,0xc6,0x7b,0x9a,0x91,0x7,0x7b,0xbf,0xa8, + 0x89,0x85,0x9c,0x3a,0x9b,0x37,0xc1,0xee,0xe8,0xc0,0x76,0x94,0x89,0x99,0x77,0x44, + 0x14,0xd1,0x4,0xee,0x50,0xbb,0xa5,0xf7,0x4b,0x1,0xf1,0xe,0xb6,0xcf,0x40,0xc2, + 0xc7,0x7a,0xbb,0x39,0x7c,0x9,0x0,0xc1,0x2e,0xd9,0x52,0x4,0x10,0x24,0xaf,0x3f, + 0xb5,0x3,0x78,0x38,0x43,0x33,0x34,0xc6,0xaf,0xbb,0xc6,0x23,0xf9,0x7a,0x77,0x3c, + 0x86,0x58,0xc8,0x4f,0x36,0x41,0x89,0x62,0x67,0x3c,0x73,0x32,0x4d,0x34,0xc1,0xa, + 0xe8,0x35,0x14,0x54,0x3d,0x14,0xa0,0x3a,0xcb,0xa3,0xb9,0xcb,0xbf,0xfc,0xc1,0x1f, + 0xf9,0xcc,0xaf,0xc0,0x7,0x3c,0x94,0xd,0xec,0x7c,0x49,0x14,0xa4,0xd,0xf0,0x3c, + 0xc5,0x3f,0x35,0xd0,0x7,0xfe,0xfd,0xc5,0x63,0x7c,0xcc,0x23,0xbd,0xc7,0x5b,0xba, + 0x3a,0x5b,0x44,0x12,0xd4,0x7d,0xa5,0x13,0xbc,0xde,0x8,0x6,0xd7,0xef,0x7d,0x91, + 0x7f,0x3d,0xd8,0x77,0x37,0xe0,0x77,0x37,0x2,0x45,0x9f,0x56,0x82,0xb7,0xcf,0xaf, + 0x3d,0xdb,0xb7,0xfd,0x0,0xbc,0x3d,0xdc,0xb,0xc6,0xaa,0xbb,0xf4,0x8d,0x99,0x32, + 0x5c,0xa3,0x32,0xde,0xf,0x90,0x9a,0xf0,0x3d,0xd7,0xcb,0xfc,0xd7,0x77,0xf7,0x2f, + 0xf,0x74,0x98,0x84,0xc0,0x6,0x70,0x37,0x64,0x87,0x4,0x97,0x6b,0xb8,0x53,0x1f, + 0xbe,0x78,0x27,0xbe,0xe2,0xcf,0x7c,0xcc,0x63,0xbb,0xb,0xe0,0xbd,0x6e,0x57,0x66, + 0x11,0xd4,0x80,0x38,0x53,0x3e,0xde,0xbb,0x3c,0xb6,0xfb,0xfd,0xe6,0x43,0xf6,0x2f, + 0x8b,0x80,0xe7,0xf,0x74,0xe8,0xb,0xbe,0xe1,0x7d,0x79,0xda,0x57,0x3c,0xe2,0xb, + 0xfd,0xd0,0x13,0xbd,0xb6,0xb7,0x3e,0xb6,0x37,0x7e,0xbf,0xc4,0xbe,0xec,0x63,0x55, + 0x56,0x39,0x3f,0xf5,0x6f,0x44,0xd7,0x1b,0xb9,0xee,0x6b,0x7b,0xe0,0x77,0xbe,0xe7, + 0x7,0x3e,0x64,0xf,0x3f,0xf1,0x73,0x78,0x78,0x5b,0x7c,0xd0,0x27,0xbf,0xf2,0xc3, + 0xba,0x99,0xa7,0xff,0x88,0xcf,0x40,0xf5,0xab,0x49,0x5f,0xf7,0x75,0x15,0x61,0x95, + 0x4c,0xb7,0x3f,0xf5,0x5f,0x91,0xfa,0xc7,0x7c,0xc2,0x7b,0x3f,0xbe,0xeb,0x3f,0x64, + 0x47,0x3c,0xf8,0x17,0x3f,0x40,0x38,0x70,0xb0,0x80,0x60,0xc1,0x5,0x7,0x10,0x26, + 0x1c,0xb0,0x90,0xe1,0x80,0x15,0xf,0x21,0x3e,0x9c,0x31,0x91,0x62,0x45,0x8b,0x2b, + 0x5c,0xe4,0xd0,0xb8,0xfe,0x91,0x63,0x47,0x17,0x33,0x74,0x80,0x74,0x31,0xd2,0xc5, + 0xd,0x93,0x27,0x6f,0x74,0x54,0xb9,0x52,0x25,0x49,0x97,0x1f,0x75,0xc4,0x94,0xa9, + 0x23,0x62,0xcd,0x88,0x1f,0x70,0xe6,0xd4,0xb9,0x13,0x67,0x87,0xe,0x19,0x80,0x66, + 0xb0,0x30,0xd4,0x42,0x4,0xa3,0x11,0x86,0xa,0x54,0xaa,0xd4,0xa0,0xc1,0x84,0xa, + 0x1b,0x2e,0xb4,0x29,0xd1,0x62,0x55,0x8a,0x18,0x59,0xb6,0xc,0x69,0x63,0x86,0x8d, + 0x99,0x19,0xb3,0x86,0xd,0xfb,0x92,0x24,0xc8,0x99,0x31,0xa7,0xda,0xe4,0xb9,0x33, + 0x68,0x50,0xa2,0x16,0x20,0xc4,0x95,0x5b,0xf4,0xed,0x52,0xa6,0x4d,0xf,0x3e,0x3d, + 0x10,0xb5,0x61,0xc4,0x91,0x37,0x3e,0xce,0x58,0x21,0x98,0xf0,0x60,0xc3,0x82,0x57, + 0xe8,0xc8,0xa1,0x98,0xf1,0x62,0xc7,0x8c,0x43,0xce,0x88,0xd1,0xb5,0xeb,0xd9,0x99, + 0x1a,0x33,0x66,0xce,0xa1,0x99,0xf3,0x63,0xc7,0x33,0x3e,0x86,0x6,0x1d,0x13,0x64, + 0x69,0x9a,0x69,0x6f,0xae,0x58,0x8b,0xb3,0x2d,0x8,0x10,0x6f,0xe5,0xce,0xad,0x6b, + 0x77,0x60,0xd3,0x3,0x79,0x11,0xe,0xd8,0xcb,0x77,0x21,0x88,0x12,0x25,0x3e,0x6c, + 0x50,0x21,0x42,0xc5,0x60,0x13,0x33,0x8e,0x27,0x47,0xbe,0xfc,0xb8,0x57,0xe7,0x3a, + 0x9e,0x47,0x27,0x3d,0x31,0x64,0xf5,0x98,0x8e,0x31,0x8b,0xd6,0xe,0x9a,0xbb,0x8b, + 0x98,0xd2,0x95,0x2b,0x2f,0xb1,0x62,0x7c,0x79,0xf2,0x1f,0x80,0xa7,0x47,0xbf,0x5e, + 0xbd,0x87,0xe,0xee,0xe1,0x7b,0x68,0x3b,0x5f,0xe8,0x5b,0xb8,0x72,0x19,0xe4,0xd7, + 0xbf,0xff,0x29,0xfe,0x82,0x3,0xfe,0x75,0xe3,0x6d,0x80,0x5,0x6,0x10,0xc0,0x37, + 0xf,0x3e,0x60,0x21,0x4,0x15,0x42,0x58,0xc1,0x84,0x7,0x21,0x8c,0x50,0x42,0x1b, + 0x28,0xac,0xd0,0xc2,0xb,0xa7,0xb3,0xc8,0xb2,0xc,0xad,0xaa,0xea,0xc2,0xa,0x25, + 0x84,0xf0,0xb7,0x11,0x49,0x2c,0xd1,0x44,0x12,0x3d,0x48,0x51,0xc5,0x14,0xe9,0x6b, + 0xeb,0x28,0xa3,0xe0,0xda,0x4f,0x46,0xfe,0xfe,0x43,0xc0,0x46,0x4,0x4,0x2c,0x90, + 0xa1,0x0,0x74,0x7a,0xe8,0x3,0x7,0x43,0xc,0x52,0xc8,0x21,0x27,0x9a,0xaa,0x43, + 0xd4,0xa6,0x1a,0x32,0xc8,0x13,0x99,0x6c,0x72,0xc5,0x15,0x5b,0xcc,0xe0,0x45,0x18, + 0x2d,0x98,0xd1,0xca,0x84,0x6e,0xc4,0x31,0x47,0x1,0xb8,0xc,0x20,0x80,0x1b,0x36, + 0xf8,0xb1,0x44,0x25,0xc9,0x24,0x12,0xb1,0x9a,0x8e,0x44,0xb2,0xa6,0x32,0x23,0x6c, + 0xf2,0xc4,0x27,0x55,0x8c,0x92,0xbe,0x29,0xa9,0xac,0xd2,0x4a,0x1a,0x11,0xba,0x31, + 0xc7,0x2,0x5,0xf0,0xd2,0x4b,0x6,0x37,0xe0,0xa0,0x84,0x11,0x4e,0xf0,0x8d,0x83, + 0x43,0x11,0x4d,0x54,0x51,0x36,0x1f,0x2c,0xd2,0xa6,0x34,0xd5,0x84,0x48,0x48,0x45, + 0x11,0x75,0xd3,0x44,0x39,0x5b,0xb4,0x4f,0xd3,0xba,0xee,0xd4,0x4f,0x2f,0x1b,0xb7, + 0xe4,0xb2,0x4f,0x0,0x0,0x8,0x40,0x85,0xd,0x56,0xe0,0x60,0x4,0x10,0xa,0x2d, + 0x81,0xd2,0x57,0xf,0x65,0xd4,0x84,0x48,0x69,0x4d,0x6b,0xd2,0x57,0x2d,0x2d,0x11, + 0x53,0xfa,0x36,0xdd,0x54,0xa0,0x4e,0x19,0xd0,0x6b,0x37,0x1,0x45,0xed,0x92,0xd4, + 0x0,0x46,0x6f,0x12,0x74,0x84,0x55,0xd,0x85,0x95,0x52,0x59,0x6b,0x8d,0x36,0xa2, + 0x5b,0x29,0xcd,0x95,0xc4,0x5d,0xe7,0xeb,0xd5,0x3e,0xa5,0xee,0x14,0x36,0xb7,0x50, + 0x45,0xf5,0x33,0x0,0x41,0x5f,0x28,0xc1,0x3,0xd7,0x2c,0x70,0xd5,0xd9,0x45,0x19, + 0x95,0xd6,0x5d,0x6a,0x15,0x65,0x12,0x4e,0x16,0xb1,0x75,0x4b,0x5b,0xa2,0xb8,0x9d, + 0xd1,0xdb,0x6f,0x79,0x2b,0xb6,0x58,0x2f,0x5f,0x78,0x61,0x4,0x73,0x33,0xf0,0xe9, + 0x83,0x75,0x11,0x8e,0x35,0x44,0x77,0xa5,0x4d,0x38,0x51,0x79,0xe7,0xad,0xd7,0xde, + 0xa4,0x94,0xb2,0x80,0x36,0x7,0x3c,0xdd,0xf7,0xa9,0x7e,0xfd,0x15,0x75,0xa1,0x0, + 0x2,0x2,0x0,0x3b, + +}; + +static const unsigned char qt_resource_name[] = { + // images + 0x0,0x6, + 0x7,0x3,0x7d,0xc3, + 0x0,0x69, + 0x0,0x6d,0x0,0x61,0x0,0x67,0x0,0x65,0x0,0x73, + // resources + 0x0,0x9, + 0xa,0x6c,0x78,0x43, + 0x0,0x72, + 0x0,0x65,0x0,0x73,0x0,0x6f,0x0,0x75,0x0,0x72,0x0,0x63,0x0,0x65,0x0,0x73, + // tools.gif + 0x0,0x9, + 0x6,0x36,0xbb,0x36, + 0x0,0x74, + 0x0,0x6f,0x0,0x6f,0x0,0x6c,0x0,0x73,0x0,0x2e,0x0,0x67,0x0,0x69,0x0,0x66, + +}; + +static const unsigned char qt_resource_struct[] = { + // : + 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1, + // :/images + 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x2, + // :/images/resources + 0x0,0x0,0x0,0x12,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x3, + // :/images/resources/images + 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x4, + // :/images/resources/images/tools.gif + 0x0,0x0,0x0,0x2a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0, + +}; + +QT_BEGIN_NAMESPACE + +extern Q_CORE_EXPORT bool qRegisterResourceData + (int, const unsigned char *, const unsigned char *, const unsigned char *); + +extern Q_CORE_EXPORT bool qUnregisterResourceData + (int, const unsigned char *, const unsigned char *, const unsigned char *); + +QT_END_NAMESPACE + + +int QT_MANGLE_NAMESPACE(qInitResources_resources)() +{ + QT_PREPEND_NAMESPACE(qRegisterResourceData) + (0x01, qt_resource_struct, qt_resource_name, qt_resource_data); + return 1; +} + +Q_CONSTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qInitResources_resources)) + +int QT_MANGLE_NAMESPACE(qCleanupResources_resources)() +{ + QT_PREPEND_NAMESPACE(qUnregisterResourceData) + (0x01, qt_resource_struct, qt_resource_name, qt_resource_data); + return 1; +} + +Q_DESTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qCleanupResources_resources)) + diff --git a/tcutils/resources.qrc b/tcutils/resources.qrc new file mode 100644 index 00000000..76a1f852 --- /dev/null +++ b/tcutils/resources.qrc @@ -0,0 +1,5 @@ + + + resources/images/tools.gif + + diff --git a/tcutils/resources/images/tools.gif b/tcutils/resources/images/tools.gif new file mode 100644 index 0000000000000000000000000000000000000000..c6596cc4417f7a0ad1d3a5e877fa5da6399387a5 GIT binary patch literal 17765 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 P_o;sU6?LHi0s;U#80yS_ literal 0 HcmV?d00001 diff --git a/tcutils/tcutils b/tcutils/tcutils new file mode 100755 index 0000000000000000000000000000000000000000..73aa979a1e4e66730841a6b3b4f39cb60bcab5f6 GIT binary patch literal 63109 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 literal 0 HcmV?d00001 diff --git a/tcutils/tcutils.pro b/tcutils/tcutils.pro new file mode 100644 index 00000000..a24029e8 --- /dev/null +++ b/tcutils/tcutils.pro @@ -0,0 +1,30 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2013-08-18T13:54:44 +# +#------------------------------------------------- + +QT += core gui + +TARGET = tcutils +TEMPLATE = app + + +SOURCES += main.cpp\ + mainwindow.cpp \ + utils.cpp + +HEADERS += mainwindow.h \ + utils.h + +FORMS += mainwindow.ui + +# added by LK Rashinkar +INCLUDEPATH += ../xrdpapi + +LIBS += -Wl,-rpath +LIBS += -Wl,/usr/local/lib/xrdp +LIBS += -L../xrdpapi/.libs -lxrdpapi + +RESOURCES += \ + resources.qrc diff --git a/tcutils/tcutils.pro.user b/tcutils/tcutils.pro.user new file mode 100644 index 00000000..50311334 --- /dev/null +++ b/tcutils/tcutils.pro.user @@ -0,0 +1,365 @@ + + + + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + System + true + 4 + true + 1 + true + 2 + true + 0 + 8 + true + 1 + true + true + true + true + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + Desktop + Desktop + Qt4ProjectManager.Target.DesktopTarget + 0 + 0 + 0 + + ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-32bit./usr/bin/gdb + + + qmake + + QtProjectManager.QMakeBuildStep + false + true + + false + + + Make + + Qt4ProjectManager.MakeStep + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + Make + + Qt4ProjectManager.MakeStep + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Qt 4.8.1 in PATH (System) Release + + Qt4ProjectManager.Qt4BuildConfiguration + 0 + /home/lk/projects/jtech/nlabs_xrdp_tcutils/tcutils-build-desktop-Qt_4_8_1_in_PATH__System__Release + 1 + true + + + ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-32bit./usr/bin/gdb + + + qmake + + QtProjectManager.QMakeBuildStep + false + true + + false + + + Make + + Qt4ProjectManager.MakeStep + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + Make + + Qt4ProjectManager.MakeStep + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Qt 4.8.1 in PATH (System) Debug + + Qt4ProjectManager.Qt4BuildConfiguration + 2 + /home/lk/projects/jtech/nlabs_xrdp_tcutils/tcutils-build-desktop-Qt_4_8_1_in_PATH__System__Debug + 1 + true + + + ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-32bit./usr/bin/gdb + + + qmake + + QtProjectManager.QMakeBuildStep + false + true + + false + + + Make + + Qt4ProjectManager.MakeStep + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + Make + + Qt4ProjectManager.MakeStep + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Qt 4.8.1 (System) Release + + Qt4ProjectManager.Qt4BuildConfiguration + 0 + /home/lk/projects/jtech/nlabs_xrdp_tcutils/tcutils-build-desktop-Qt_4_8_1__System__Release + 2 + true + + + ProjectExplorer.ToolChain.Gcc:/usr/bin/g++.x86-linux-generic-elf-32bit./usr/bin/gdb + + + qmake + + QtProjectManager.QMakeBuildStep + false + true + + false + + + Make + + Qt4ProjectManager.MakeStep + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + Make + + Qt4ProjectManager.MakeStep + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Qt 4.8.1 (System) Debug + + Qt4ProjectManager.Qt4BuildConfiguration + 2 + /home/lk/projects/jtech/nlabs_xrdp_tcutils/tcutils-build-desktop-Qt_4_8_1__System__Debug + 2 + true + + 4 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + No deployment + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + true + + + false + false + false + false + false + false + false + false + true + true + 0.01 + 0.01 + 10 + 10 + true + true + 25 + 25 + + + true + true + valgrind + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + tcutils + + Qt4ProjectManager.Qt4RunConfiguration + 2 + + tcutils.pro + false + false + + + 3768 + true + false + false + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.EnvironmentId + {9a0d9632-2baf-44e0-864a-a12692180779} + + + ProjectExplorer.Project.Updater.FileVersion + 10 + + diff --git a/tcutils/ui_mainwindow.h b/tcutils/ui_mainwindow.h new file mode 100644 index 00000000..4c47aefa --- /dev/null +++ b/tcutils/ui_mainwindow.h @@ -0,0 +1,105 @@ +/******************************************************************************** +** Form generated from reading UI file 'mainwindow.ui' +** +** Created: Sun Aug 25 15:11:42 2013 +** by: Qt User Interface Compiler version 4.8.1 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_MAINWINDOW_H +#define UI_MAINWINDOW_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_MainWindow +{ +public: + QWidget *centralWidget; + QTabWidget *tabWidget; + QWidget *tabUnmount; + QListWidget *listWidget; + QPushButton *btnUnmount; + QPushButton *btnRefresh; + QWidget *tab_2; + QMenuBar *menuBar; + QToolBar *mainToolBar; + QStatusBar *statusBar; + + void setupUi(QMainWindow *MainWindow) + { + if (MainWindow->objectName().isEmpty()) + MainWindow->setObjectName(QString::fromUtf8("MainWindow")); + MainWindow->resize(541, 355); + centralWidget = new QWidget(MainWindow); + centralWidget->setObjectName(QString::fromUtf8("centralWidget")); + tabWidget = new QTabWidget(centralWidget); + tabWidget->setObjectName(QString::fromUtf8("tabWidget")); + tabWidget->setGeometry(QRect(0, 0, 511, 291)); + tabUnmount = new QWidget(); + tabUnmount->setObjectName(QString::fromUtf8("tabUnmount")); + listWidget = new QListWidget(tabUnmount); + listWidget->setObjectName(QString::fromUtf8("listWidget")); + listWidget->setGeometry(QRect(10, 10, 321, 221)); + btnUnmount = new QPushButton(tabUnmount); + btnUnmount->setObjectName(QString::fromUtf8("btnUnmount")); + btnUnmount->setGeometry(QRect(350, 60, 141, 27)); + btnRefresh = new QPushButton(tabUnmount); + btnRefresh->setObjectName(QString::fromUtf8("btnRefresh")); + btnRefresh->setGeometry(QRect(350, 10, 141, 27)); + tabWidget->addTab(tabUnmount, QString()); + tab_2 = new QWidget(); + tab_2->setObjectName(QString::fromUtf8("tab_2")); + tabWidget->addTab(tab_2, QString()); + MainWindow->setCentralWidget(centralWidget); + menuBar = new QMenuBar(MainWindow); + menuBar->setObjectName(QString::fromUtf8("menuBar")); + menuBar->setGeometry(QRect(0, 0, 541, 25)); + MainWindow->setMenuBar(menuBar); + mainToolBar = new QToolBar(MainWindow); + mainToolBar->setObjectName(QString::fromUtf8("mainToolBar")); + MainWindow->addToolBar(Qt::TopToolBarArea, mainToolBar); + statusBar = new QStatusBar(MainWindow); + statusBar->setObjectName(QString::fromUtf8("statusBar")); + MainWindow->setStatusBar(statusBar); + + retranslateUi(MainWindow); + + tabWidget->setCurrentIndex(0); + + + QMetaObject::connectSlotsByName(MainWindow); + } // setupUi + + void retranslateUi(QMainWindow *MainWindow) + { + MainWindow->setWindowTitle(QApplication::translate("MainWindow", "TC Utils", 0, QApplication::UnicodeUTF8)); + btnUnmount->setText(QApplication::translate("MainWindow", "Unmount device", 0, QApplication::UnicodeUTF8)); + btnRefresh->setText(QApplication::translate("MainWindow", "Get device list", 0, QApplication::UnicodeUTF8)); + tabWidget->setTabText(tabWidget->indexOf(tabUnmount), QApplication::translate("MainWindow", "Tab 1", 0, QApplication::UnicodeUTF8)); + tabWidget->setTabText(tabWidget->indexOf(tab_2), QApplication::translate("MainWindow", "Tab 2", 0, QApplication::UnicodeUTF8)); + } // retranslateUi + +}; + +namespace Ui { + class MainWindow: public Ui_MainWindow {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // UI_MAINWINDOW_H diff --git a/tcutils/utils.cpp b/tcutils/utils.cpp new file mode 100644 index 00000000..1b8548c7 --- /dev/null +++ b/tcutils/utils.cpp @@ -0,0 +1,217 @@ +#include "utils.h" + +Utils::Utils() +{ +} + +int Utils::getMountList(void *wtsChannel, QList *itemList) +{ + QListWidgetItem *item; + + STREAM s; + quint32 bytesToSend; + quint32 bytesWritten; + quint32 bytesRead; + quint32 cmdLen; + quint32 cmd; + int rv; + int i; + int nentries; + char buf[2048]; + + if (!wtsChannel) + return -1; + + qstream_new(s, 1024 * 8); + + /* + * command format: + * 4 bytes cmd_len length of this command + * 1 byte cmd TCU_CMD_GET_MOUNT_LIST + */ + + /* setup command */ + qstream_wr_u32(&s, 1); + qstream_wr_u8(&s, TCU_CMD_GET_MOUNT_LIST); + bytesToSend = 5; + + /* send command */ + rv = WTSVirtualChannelWrite(wtsChannel, s.data, bytesToSend, &bytesWritten); + if (rv) + { + QMessageBox::information(NULL, "Get device list", "\nError sending " + "command to client"); + return -1; + } + + qstream_set_pos(&s, 0); /* reuse stream */ + + /* get response */ + + /* + * response format + * 4 bytes cmd_len length of this command + * 4 bytes cmd TCU_CMD_GET_MOUNT_LIST + * 1 byte nentries number of entries in this pkt + * n bytes entry_list nentries null terminated strings + */ + + rv = WTSVirtualChannelRead(wtsChannel, 1000 * 5, s.data, 1024 * 8, &bytesRead); + if (rv == 0 || bytesRead == 0) + goto error; + + /* did we get the entire cmd? */ + qstream_rd_u32(&s, cmdLen); + if (cmdLen != bytesRead - 4) + goto error; + + /* did we get the right response? */ + qstream_rd_u32(&s, cmd); + if (cmd != TCU_CMD_GET_MOUNT_LIST) + goto error; + + qstream_rd_u8(&s, nentries); + if (nentries == 0) + goto done; + + for (i = 0; i < nentries; i++) + { + strcpy(buf, s.pos); + qstream_inc_pos(&s, strlen(buf) + 1); + item = new QListWidgetItem; + item->setText(QString(buf)); + itemList->append(item); + } + +done: + qstream_free(&s); + return 0; + +error: + qstream_free(&s); + return -1; +} + +int Utils::unmountDevice(void *wtsChannel, QString device, QStatusBar *statusBar) +{ + STREAM s; + quint32 bytesRead; + quint32 cmdLen; + quint32 cmd; + quint32 bytesWritten; + int bytesToSend; + int rv; + int seconds = 0; + char status; + char* buf; + + if (!wtsChannel) + return -1; + + qstream_new(s, 1024); + buf = device.toAscii().data(); + + /* + * command format: + * 4 bytes cmd_len length of this command + * 4 bytes cmd TCU_CMD_UNMOUNT_DEVICE + * n bytes device null terminated device name + */ + + /* setup command */ + bytesToSend = 4 + 4 + device.count() + 1; + qstream_wr_u32(&s, bytesToSend - 4); + qstream_wr_u32(&s, TCU_CMD_UNMOUNT_DEVICE); + strcpy(s.pos, buf); + + /* send command */ + rv = WTSVirtualChannelWrite(wtsChannel, s.data, bytesToSend, &bytesWritten); + if (rv) + { + QMessageBox::information(NULL, "Unmount device", "\nError sending " + "command to client"); + return -1; + } + + qstream_set_pos(&s, 0); /* reuse stream */ + + /* get response */ + + /* + * command format + * 4 bytes cmd_len number of bytes in this pkt + * 4 bytes cmd TCU_CMD_UNMOUNT_DEVICE + * 1 byte status operation status code + */ + + while (1) + { + rv = WTSVirtualChannelRead(wtsChannel, 1000 * 1, s.data, 1024, &bytesRead); + if (rv == 0) + goto error; + + if (bytesRead) + break; + + statusBar->showMessage("Waiting for client to unmount device: " + + QString::number(++seconds) + " seconds", 30000); + } + + statusBar->showMessage(""); + + /* did we get the entire pkt? */ + qstream_rd_u32(&s, cmdLen); + if (cmdLen != bytesRead - 4) + goto error; + + /* did we get the right response? */ + qstream_rd_u32(&s, cmd); + if (cmd != TCU_CMD_UNMOUNT_DEVICE) + goto error; + + /* get status */ + qstream_rd_u8(&s, status); + switch(status) + { + case UMOUNT_SUCCESS: + goto done; + break; + + case UMOUNT_BUSY: + QMessageBox::information(NULL, "Unmount error", "\nCannot unmount device " + "because it is in use"); + break; + + case UMOUNT_NOT_MOUNTED: + QMessageBox::information(NULL, "Unmount error", "\nCannot unmount device " + "because it is not mounted"); + break; + + case UMOUNT_OP_NOT_PERMITTED: + QMessageBox::information(NULL, "Unmount error", "\nOperation not " + "permitted. The device may be in use"); + break; + + case UMOUNT_PERMISSION_DENIED: + QMessageBox::information(NULL, "Unmount error", "\nYou don't have " + "permission to unmount this device"); + break; + + case UMOUNT_UNKNOWN: + QMessageBox::information(NULL, "Unmount error", "Cannot unmount " + "device, an unknown error has occurred. The " + "drive may be in use or you do not have " + "permission to unmount it"); + break; + } + + goto error; + +done: + qstream_free(&s); + return 0; + +error: + qstream_free(&s); + return -1; +} diff --git a/tcutils/utils.h b/tcutils/utils.h new file mode 100644 index 00000000..f0512dc0 --- /dev/null +++ b/tcutils/utils.h @@ -0,0 +1,150 @@ +#ifndef UTILS_H +#define UTILS_H + +#include +#include +#include +#include +#include + +/* + * stream definition and macros to access them; + * all definitions default to little endian + */ + +typedef struct stream +{ + char* data; /* holds stream data */ + char* pos; /* current read/write position */ + int size; /* number of bytes in data */ +} STREAM; + +#define qstream_new(_s, _size) \ +do \ +{ \ + (_s).data = (char *) malloc(_size); \ + (_s).pos = (_s).data; \ + (_s).size = (_size); \ +} \ +while (0) + +#define qstream_new_zero(_s, _size) \ +do \ +{ \ + (_s).data = (char *) calloc((_size), 1); \ + (_s).pos = (_s).data; \ + (_s).size = (_size); \ +} \ +while (0) + +#define qstream_free(_s) \ +do \ +{ \ + if ((_s)->data) \ + free((_s)->data); \ +} \ +while (0) + +#define qstream_set_pos(_s, _p) \ +do \ +{ \ + (_s)->pos = (_s)->data + (_p); \ +} \ +while (0) + +#define qstream_inc_pos(_s, _v) \ +do \ +{ \ + (_s)->pos += (_v); \ +} \ +while (0) + +#define qstream_rd_u8(_s, _v) \ +do \ +{ \ + (_v) = *((unsigned char *) ((_s)->pos)); \ + (_s)->pos++; \ +} \ +while (0) + +#define qstream_rd_u16(_s, _v) \ +do \ +{ \ + (_v) = (unsigned short) \ + ( \ + (*((unsigned char *) ((_s)->pos + 0)) << 0) | \ + (*((unsigned char *) ((_s)->pos + 1)) << 8) \ + ); \ + (_s)->pos += 2; \ +} while (0) + +#define qstream_rd_u32(_s, _v) \ +do \ +{ \ + (_v) = (unsigned int) \ + ( \ + (*((unsigned char *) ((_s)->pos + 0)) << 0) | \ + (*((unsigned char *) ((_s)->pos + 1)) << 8) | \ + (*((unsigned char *) ((_s)->pos + 2)) << 16) | \ + (*((unsigned char *) ((_s)->pos + 3)) << 24) \ + ); \ + (_s)->pos += 4; \ +} while (0) + +#define qstream_wr_u8(_s, _v) \ +do \ +{ \ + *((_s)->pos) = (unsigned char) (_v); \ + (_s)->pos++; \ +} while (0) + +#define qstream_wr_u16(_s, _v) \ +do \ +{ \ + *((_s)->pos) = (unsigned char) ((_v) >> 0); \ + (_s)->pos++; \ + *((_s)->pos) = (unsigned char) ((_v) >> 8); \ + (_s)->pos++; \ +} while (0) + +#define qstream_wr_u32(_s, _v) \ +do \ +{ \ + *((_s)->pos) = (unsigned char) ((_v) >> 0); \ + (_s)->pos++; \ + *((_s)->pos) = (unsigned char) ((_v) >> 8); \ + (_s)->pos++; \ + *((_s)->pos) = (unsigned char) ((_v) >> 16); \ + (_s)->pos++; \ + *((_s)->pos) = (unsigned char) ((_v) >> 24); \ + (_s)->pos++; \ +} while (0) + +/* list of commands we support; this list should match the one in */ +/* NeutrinoRDP channels/tcutils/tcutils_main.h */ +enum TCU_COMMANDS +{ + TCU_CMD_GET_MOUNT_LIST = 1, + TCU_CMD_UNMOUNT_DEVICE +}; + +/* umount error codes */ +enum TCU_UMOUNT_ERROR +{ + UMOUNT_SUCCESS = 0, + UMOUNT_BUSY, + UMOUNT_NOT_MOUNTED, + UMOUNT_OP_NOT_PERMITTED, + UMOUNT_PERMISSION_DENIED, + UMOUNT_UNKNOWN +}; + +class Utils +{ +public: + Utils(); + static int getMountList(void *wtsChannel, QList *itemList); + static int unmountDevice(void *wtsChannel, QString device, QStatusBar *statusBar); +}; + +#endif // UTILS_H