From 459735084548e83de199765854fd69a8ab039f78 Mon Sep 17 00:00:00 2001 From: David Date: Mon, 25 Oct 2021 23:46:03 +0000 Subject: [PATCH] Major update/rewrite/recombine to get SSDP, and GrowController UI and application shell. --- .../Grow Controller EL System Diagram.vsdx | Bin 7944467 -> 7964130 bytes Firmware/CustomHandlers.cpp | 416 ++ Firmware/CustomHandlers.h | 59 + Firmware/DNSServer.cpp | 143 - Firmware/DNSServer.h | 68 - Firmware/Firmware.ino | 955 +-- Firmware/GrowController.h | 23 - Firmware/GrowController.ses | 35 + Firmware/PlantModel.cpp | 246 + Firmware/PlantModel.h | 9 + Firmware/ProjGlobals.h | 56 +- Firmware/Resources/Button.css | 29 +- Firmware/Resources/Heater.png | Bin 443 -> 0 bytes Firmware/Resources/Open.png | Bin 655 -> 14893 bytes Firmware/Resources/PlantModel.png | Bin 28345 -> 22369 bytes Firmware/Resources/about.htm | 26 +- Firmware/Resources/curr.htm | 21 +- Firmware/Resources/curr.js | 2 +- Firmware/Resources/index.htm | 214 +- Firmware/Resources/index.js | 82 +- Firmware/Resources/myip.js | 5 + Firmware/Resources/nav.js | 20 + Firmware/Resources/navigation.htm | 22 + Firmware/Resources/plantmodel.css | 249 + Firmware/Resources/pointer.png | Bin 0 -> 418 bytes Firmware/Resources/rssi.htm | 21 +- Firmware/Resources/soilheater_off.png | Bin 0 -> 488 bytes Firmware/Resources/soilheater_on.png | Bin 0 -> 3012 bytes Firmware/Resources/soilmoisture.png | Bin 0 -> 249 bytes Firmware/Resources/thermometer.png | Bin 0 -> 777 bytes Firmware/SmartSwitch.sln | 25 - Firmware/SmartSwitch.vcxproj | 163 - Firmware/Utility.cpp | 29 + Firmware/Utility.h | 11 + Firmware/WeMo.h | 262 - Firmware/Web_APConfig.cpp | 253 - Firmware/Web_APConfig.h | 12 - Firmware/Web_FavIcon.cpp | 39 - Firmware/Web_FavIcon.h | 13 - Firmware/Web_RSSIGraph.cpp | 22 - Firmware/Web_RSSIGraph.h | 10 - Firmware/Web_Resources.h | 5343 ++++++++++------- Firmware/Web_RootPage.cpp | 33 - Firmware/Web_RootPage.h | 7 - Firmware/WiFiConfiguration.h | 45 +- Firmware/WiFiStateHandler.cpp | 103 + Firmware/WiFiStateHandler.h | 58 + Firmware/WifiConfiguration.cpp | 167 +- Firmware/fauxmoESP.cpp | 484 -- Firmware/fauxmoESP.h | 135 - Tools/MakeByteArray.pl | 52 +- Tools/MakeResourceFiles.cmd | 4 +- 52 files changed, 4981 insertions(+), 4990 deletions(-) create mode 100644 Firmware/CustomHandlers.cpp create mode 100644 Firmware/CustomHandlers.h delete mode 100644 Firmware/DNSServer.cpp delete mode 100644 Firmware/DNSServer.h delete mode 100644 Firmware/GrowController.h create mode 100644 Firmware/GrowController.ses create mode 100644 Firmware/PlantModel.cpp create mode 100644 Firmware/PlantModel.h delete mode 100644 Firmware/Resources/Heater.png create mode 100644 Firmware/Resources/myip.js create mode 100644 Firmware/Resources/nav.js create mode 100644 Firmware/Resources/navigation.htm create mode 100644 Firmware/Resources/plantmodel.css create mode 100644 Firmware/Resources/pointer.png create mode 100644 Firmware/Resources/soilheater_off.png create mode 100644 Firmware/Resources/soilheater_on.png create mode 100644 Firmware/Resources/soilmoisture.png create mode 100644 Firmware/Resources/thermometer.png delete mode 100644 Firmware/SmartSwitch.sln delete mode 100644 Firmware/SmartSwitch.vcxproj create mode 100644 Firmware/Utility.cpp create mode 100644 Firmware/Utility.h delete mode 100644 Firmware/WeMo.h delete mode 100644 Firmware/Web_APConfig.cpp delete mode 100644 Firmware/Web_APConfig.h delete mode 100644 Firmware/Web_FavIcon.cpp delete mode 100644 Firmware/Web_FavIcon.h delete mode 100644 Firmware/Web_RSSIGraph.cpp delete mode 100644 Firmware/Web_RSSIGraph.h delete mode 100644 Firmware/Web_RootPage.cpp delete mode 100644 Firmware/Web_RootPage.h create mode 100644 Firmware/WiFiStateHandler.cpp create mode 100644 Firmware/WiFiStateHandler.h delete mode 100644 Firmware/fauxmoESP.cpp delete mode 100644 Firmware/fauxmoESP.h diff --git a/Documentation/Grow Controller EL System Diagram.vsdx b/Documentation/Grow Controller EL System Diagram.vsdx index de0975b94688a5754d96376929637a4f5a0b9c7f..e30fd961b747f8508a53b510f8545ca3af99e916 100644 GIT binary patch delta 107626 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 delta 87939 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�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

#`a``u0{|&e1;VE~Y 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 bPKUoQjKN03StR>^k diff --git a/Firmware/CustomHandlers.cpp b/Firmware/CustomHandlers.cpp new file mode 100644 index 0000000..8b008a6 --- /dev/null +++ b/Firmware/CustomHandlers.cpp @@ -0,0 +1,416 @@ +// +// +#include "CustomHandlers.h" +#include "WiFiStateHandler.h" + +// General Purpose helper stuff + +// Handlers + +void HandleNotFound() { + bool found = false; + const DirEntry *de = Directory; + Serial.printf("No Custom Handler for '%s'\n", server.uri().c_str()+1); + while (de->Filename) { + Serial.printf("test for '%s' with '%s'\n", de->Filename, server.uri().c_str()+1); +#if 0 + if (0 == strcmp(server.uri().c_str()+1, de->Filename)) { + Serial.printf("send '%s' (%i B) as '%s'\n", de->Filename, de->Filesize, de->Filetype); + server.send_P(200, de->Filetype, (const char *)de->Filedata, de->Filesize); + found = true; + break; + } +#endif + de++; + } + if (!found) { + Serial.printf("!found '%s' - redirect to home\n", server.uri().c_str()); + server.sendHeader("Location", "/", true); + server.send(302, "text/plain", "Not supported. Heading for home."); + } +} + +void HandleMyIP_js() { + server.sendHeader("Access-Control-Allow-Origin", String("*"), true); + String message = "var mySite = 'http://"; + message += String(WiFi.localIP()[0]); + message += "." + String(WiFi.localIP()[1]); + message += "." + String(WiFi.localIP()[2]); + message += "." + String(WiFi.localIP()[3]); + message += "';\n"; + server.send(200, "text/javascript", message); +} + + +void HandleRootPage() { + if (server.hasArg("SW")) { + String newState = server.arg("SW"); + if (newState == "1") { + // @todo SetCircuit(CMD_On); + Serial.printf("SW 1\n"); + } else if (newState == "0") { + // @todo SetCircuit(CMD_Off); + Serial.printf("SW 0\n"); + } else if (newState == "2") { + // @todo SetCircuit(CMD_Toggle); + Serial.printf("SW 2\n"); + } else { + Serial.printf("SW %s ???\n", newState.c_str()); + ; // no action + } + } + // @todo String modeText = (isStationMode) ? "Station mode
" : "Access Point mode
"; + // @todo String status = GetCircuitStatus() ? "On
" : "Off
"; + String myIP = String(WiFi.localIP()[0]); + myIP += "." + String(WiFi.localIP()[1]); + myIP += "." + String(WiFi.localIP()[2]); + myIP += "." + String(WiFi.localIP()[3]); + server.send_P(200, "text/html", (const char *)index_htm); +} + +static String EncType_str(uint8_t encType) { + switch (encType) { + case ENC_TYPE_NONE: + return "open"; + break; + case ENC_TYPE_WEP: + return "wep"; + break; + case ENC_TYPE_TKIP: + return "wpa psk"; + break; + case ENC_TYPE_CCMP: + return "wpa2 psk"; + break; + case ENC_TYPE_AUTO: + return "wpa wpa2 psk"; + break; + default: + return "unknown"; + break; + } +} + +void HandleAPScan() { + // WiFi.scanNetworks will return the number of networks found + Serial.println("Scan ..."); + int n = WiFi.scanNetworks(false, true); // blocking call and show hidden. + Serial.println("scan done."); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + server.sendContent_P("HTTP/1.1 200 OK\r\n"); + server.sendContent_P("Content-Type: text/html\r\n"); + server.sendContent_P("\r\n"); + server.sendContent_P( + "\n" + "\n" + "Grow Controller - Scan\n" + "\n" + "

Grow Controller - Scan

" + ); + + server.sendContent_P( + "
\n" + "
\n" + " \n" + " \n" + ); + + for (int i = 0; i < n; ++i) { + // Select, Network #, RSSI, SSID, BSSID, Channel, Hidden + String bgcolor = (i & 1) ? "#E0E0E0" : "#FFFFFF"; + String record = + " \n" + + " \n" + + " \n" + + " \n" + + " \n"; + + record += " \n"; + record += " \n"; + record += WiFi.isHidden(i) + ? " \n" + : " \n"; + record += " \n"; + server.sendContent(record); + // + Serial.print(i + 1); + Serial.print(": "); + Serial.print(WiFi.SSID(i)); + Serial.print(" ("); + Serial.print(WiFi.RSSI(i)); + Serial.print(")"); + Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*"); + } + server.sendContent_P( + " \n" + " \n" + " \n" + "
NetRSSISSIDBSSIDEncryptionChannelHidden
" + (i + 1) + "" + WiFi.RSSI(i) + "" + WiFi.SSID(i) + "
" + + "
" + WiFi.BSSIDstr(i) + "" + EncType_str(WiFi.encryptionType(i)) + "" + String(WiFi.channel(i)); + record += "YesNo
 \n" + " \n" + " \n" + "
\n" + "
\n" + "
\n" + "NAV:  " + " Home | " + " Config | " + " Scan | " + " RSSI | " + " Current | " + " Factory Reset | " + " About\n" + "
\n" + "\n" + "\n" + ); + } +} + +void HandleAPConfigPage() { + String name = wifiConfig.getName(); + String ssid = wifiConfig.getSSID(); + String pass = wifiConfig.getPassword(); + String url = wifiConfig.getURL(); + //String ntp = wifiConfig.getNTPServerName(); + char _onref[6], _offref[6], _autoOff[6]; + + snprintf(_onref, sizeof(_onref), "%d", wifiConfig.getOnRef()); + snprintf(_offref, sizeof(_offref), "%d", wifiConfig.getOffRef()); + snprintf(_autoOff, sizeof(_autoOff), "%d", wifiConfig.getAutoOff()); + String onref = String(_onref); + String offref = String(_offref); + String autooff = String(_autoOff); + + if (server.hasArg("ssid") && server.hasArg("pass")) { + String _ssid = server.hasArg("_ssid") ? server.arg("_ssid") : ""; + String _pass = server.hasArg("_pass") ? server.arg("_pass") : ""; + name = server.arg("name"); + ssid = server.arg("ssid"); + pass = server.arg("pass"); + url = server.hasArg("url") ? server.arg("url") : ""; + onref = server.hasArg("onref") ? server.arg("onref") : ""; + offref = server.hasArg("offref") ? server.arg("offref") : ""; + autooff = server.hasArg("autooff") ? server.arg("autooff") : ""; + //ntp = server.hasArg("ntp") ? server.arg("ntp") : ""; + if (ssid == "reset" && pass == "reset") { + FactoryReset(true); + } + wifiConfig.setName(name); + wifiConfig.setSSID(ssid); + wifiConfig.setPassword(pass); + wifiConfig.setURL(url); + wifiConfig.setOnRef(onref.toInt()); + wifiConfig.setOffRef(offref.toInt()); + wifiConfig.setAutoOff(autooff.toInt()); + //wifiConfig.setNTPServerName(ntp); + wifiConfig.save(); + Serial.println("Settings saved."); + if (ssid != _ssid || pass != _pass) { + // They changed stuff that requires a restart. + server.send(200, "text/html", "Configuration Saved! Restarting in 3 sec..."); + Serial.printf("Config saved. Restarting in 3 sec . . ."); + delay(3000); + ESP.restart(); + return; + } + } + + String modeText = (WiFiStateGet() == WFC_JoinedAP) ? "Station mode
" : "Access Point mode
"; + if (server.hasArg("ssid") && !server.hasArg("pass")) { + ssid = server.arg("ssid"); + pass = ""; + Serial.println("ssid: " + ssid + ", pass: " + pass); + } + if (server.hasArg("url")) + url = server.arg("url"); + //if (server.hasArg("ntp")) + // ntp = server.arg("ntp"); + server.send(200, "text/html", + "\n" + "\n" + "Grow Controller - Config\n" + "\n" + "

Grow Controller - Configuration

" + "
\n" + "
\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" +// " \n" +// " \n" +// " \n" +// " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + "
Node Name
SSID **\n" + "
Password **\n" + "
Update URL
NTP Server
Auto-Off (time in seconds when non-zero)
On Reference (sense above this indicates power is on)
Off Reference (sense below this indicates power is off)
 \n" + " \n" + " ** Changes to these will trigger a module restart.\n" + "

 Check for SW update (module will restart if updated)
\n" + "
\n" + "
\n" + "NAV:  " + " Home | " + " Config | " + " Scan | " + " RSSI | " + " Current | " + " Factory Reset | " + " About\n" + "
\n" + "\n" + "\n" + ); +} + + +// ################################################################### +// +// Old handlers, for 'static' information that needs to be send to +// build a web page. +// +// This is to be obsoleted by the new method at the top of this file. +// +// ################################################################### + + +void HandlePlantModel() { + Serial.printf("PlantModel\n"); + server.send_P(200, "image/png", plantmodel_png, sizeof(plantmodel_png)); +} +void HandlePlantModel_css() { + server.sendHeader("Access-Control-Allow-Origin", String("*"), true); + server.send_P(200, "text/css", plantmodel_css); +} +void HandleButton_css() { + server.sendHeader("Access-Control-Allow-Origin", String("*"), true); + server.send_P(200, "text/css", button_css); +} +void HandleIndex_js() { + server.sendHeader("Access-Control-Allow-Origin", String("*"), true); + server.send_P(200, "text/javascript", index_js); +} +void HandleAbout_htm() { + server.sendHeader("Access-Control-Allow-Origin", String("*"), true); + server.send_P(200, "text/html", about_htm); +} +void HandleAbout_js() { + server.sendHeader("Access-Control-Allow-Origin", String("*"), true); + server.send_P(200, "text/javascript", about_js); +} +void HandleFavIcon() { + Serial.printf("favicon.ico\n"); + server.send_P(200, "image/x-icon", favicon_ico, sizeof(favicon_ico)); +} +void HandleIcon() { + Serial.printf("icon.png\n"); + server.send_P(200, "image/png", icon_png, sizeof(icon_png)); +} +void HandleOpenDoor() { + Serial.printf("open.png\n"); + server.send_P(200, "image/png", open_png, sizeof(open_png)); +} +void HandleGreen1x1() { + Serial.printf("green1x1.png\n"); + server.send_P(200, "image/png", green1x1_png, sizeof(green1x1_png)); +} +void HandleHeaterOn() { + Serial.printf("soilheater_on.png\n"); + server.send_P(200, "image/png", soilheater_on_png, sizeof(soilheater_on_png)); +} +void HandleHeaterOff() { + Serial.printf("soilheater_off.png\n"); + server.send_P(200, "image/png", soilheater_off_png, sizeof(soilheater_off_png)); +} +void HandleThermometer() { + Serial.printf("thermometer.png\n"); + server.send_P(200, "image/png", thermometer_png, sizeof(thermometer_png)); +} +void HandleSoilMoisture() { + Serial.printf("soilmoisture.png\n"); + server.send_P(200, "image/png", soilmoisture_png, sizeof(soilmoisture_png)); +} +void HandlePointer() { + Serial.printf("pointer.png\n"); + server.send_P(200, "image/png", pointer_png, sizeof(pointer_png)); +} +void HandleWater() { + Serial.printf("water.png\n"); + server.send_P(200, "image/png", water_png, sizeof(water_png)); +} +void HandleRSSIPage() { + server.send_P(200, "text/html", rssi_htm); +} +void HandleRSSI_js() { + server.send_P(200, "text/javascript", rssi_js); +} +void HandleCurrPage() { + server.send_P(200, "text/html", curr_htm); +} +void HandleCurr_js() { + server.send_P(200, "text/javascript", curr_js); +} +void HandleNav_js() { + server.send_P(200, "text/javascript", nav_js); +} +void HandleSWUpdateCheck() { + updateCheck = true; + HandleAPConfigPage(); +} + +#if 0 +void HandleCircuitOn() { + //SetCircuit(CMD_On); + HandleGetState(); // Reply with current state +} +void HandleCircuitOff() { + //SetCircuit(CMD_Off); + HandleGetState(); // Reply with current state +} +void HandleCircuitToggle() { + //SetCircuit(CMD_Toggle); + HandleGetState(); // Reply with current state +} +#endif diff --git a/Firmware/CustomHandlers.h b/Firmware/CustomHandlers.h new file mode 100644 index 0000000..87fe280 --- /dev/null +++ b/Firmware/CustomHandlers.h @@ -0,0 +1,59 @@ +// +// +// Custom Web Page Handlers +// +// For accepting and processing arguments, or for custom page +// generation. +// +#ifndef CUSTOMHANDERS_H +#define CUSTOMHANDERS_H + +#include "ProjGlobals.h" +#include "Web_Resources.h" + +/// If a URI does not have a custom handler hook, it will scan the file system for the target resource. +/// Only if it is then not found will it try to redirect the user to the main page. +/// +void HandleNotFound(); + +/// +/// For all of the following, there is actively generated content on the page, +/// so it must have a custom handler. +/// +void HandleRootPage(); +void HandleMyIP_js(); +void HandleAPConfigPage(); + +void HandlePlantModel(); + + +void HandleAPScan(); +void HandlePlantModel(); +void HandlePlantModel_css(); +void HandleButton_css(); +void HandleIndex_js(); +void HandleAbout_htm(); +void HandleAbout_js(); +void HandleCircuitOn(); +void HandleCircuitOff(); +void HandleCircuitToggle(); +void HandleSWUpdateCheck(); +void HandleFavIcon(); +void HandleIcon(); +void HandleOpenDoor(); +void HandleGreen1x1(); +void HandleFavIcon(); +void HandleHeaterOn(); +void HandleWater(); +void HandleRSSIPage(); +void HandleRSSI_js(); +void HandleCurrPage(); +void HandleCurr_js(); +void HandleNav_js(); +void HandleHeaterOn(); +void HandleHeaterOff(); +void HandleThermometer(); +void HandleSoilMoisture(); +void HandlePointer(); + +#endif // CUSTOMHANDERS_H diff --git a/Firmware/DNSServer.cpp b/Firmware/DNSServer.cpp deleted file mode 100644 index d1d8967..0000000 --- a/Firmware/DNSServer.cpp +++ /dev/null @@ -1,143 +0,0 @@ -#include "./DNSServer.h" -#include -#include - -#define DEBUG -#define DEBUG_OUTPUT Serial - -DNSServer::DNSServer() { - _ttl = htonl(60); - _errorReplyCode = DNSReplyCode::NonExistentDomain; -} - -bool DNSServer::start(const uint16_t &port, const String &domainName, - const IPAddress &resolvedIP) { - _port = port; - _domainName = domainName; - _resolvedIP[0] = resolvedIP[0]; - _resolvedIP[1] = resolvedIP[1]; - _resolvedIP[2] = resolvedIP[2]; - _resolvedIP[3] = resolvedIP[3]; - downcaseAndRemoveWwwPrefix(_domainName); - return _udp.begin(_port) == 1; -} - -void DNSServer::setErrorReplyCode(const DNSReplyCode &replyCode) { - _errorReplyCode = replyCode; -} - -void DNSServer::setTTL(const uint32_t &ttl) { - _ttl = htonl(ttl); -} - -void DNSServer::stop() { - _udp.stop(); -} - -void DNSServer::downcaseAndRemoveWwwPrefix(String &domainName) { - domainName.toLowerCase(); - domainName.replace("www.", ""); -} - -void DNSServer::processNextRequest() { - _currentPacketSize = _udp.parsePacket(); - if (_currentPacketSize) { - _buffer = (unsigned char*) malloc(_currentPacketSize * sizeof(char)); - _udp.read(_buffer, _currentPacketSize); - _dnsHeader = (DNSHeader*) _buffer; - - if (_dnsHeader->QR == DNS_QR_QUERY && - _dnsHeader->OPCode == DNS_OPCODE_QUERY && - requestIncludesOnlyOneQuestion() && - (_domainName == "*" || getDomainNameWithoutWwwPrefix() == _domainName) - ) { - replyWithIP(); - } else if (_dnsHeader->QR == DNS_QR_QUERY) { - replyWithCustomCode(); - } - - free(_buffer); - } -} - -bool DNSServer::requestIncludesOnlyOneQuestion() { - return ntohs(_dnsHeader->QDCount) == 1 && - _dnsHeader->ANCount == 0 && - _dnsHeader->NSCount == 0 && - _dnsHeader->ARCount == 0; -} - -String DNSServer::getDomainNameWithoutWwwPrefix() { - String parsedDomainName = ""; - unsigned char *start = _buffer + 12; - if (*start == 0) { - return parsedDomainName; - } - int pos = 0; - while (true) { - unsigned char labelLength = *(start + pos); - for (int i = 0; i < labelLength; i++) { - pos++; - parsedDomainName += (char)*(start + pos); - } - pos++; - if (*(start + pos) == 0) { - downcaseAndRemoveWwwPrefix(parsedDomainName); - return parsedDomainName; - } else { - parsedDomainName += "."; - } - } -} - -void DNSServer::replyWithIP() { - _dnsHeader->QR = DNS_QR_RESPONSE; - _dnsHeader->ANCount = _dnsHeader->QDCount; - _dnsHeader->QDCount = _dnsHeader->QDCount; - //_dnsHeader->RA = 1; - - _udp.beginPacket(_udp.remoteIP(), _udp.remotePort()); - _udp.write(_buffer, _currentPacketSize); - - _udp.write((uint8_t) 192); // answer name is a pointer - _udp.write((uint8_t) 12); // pointer to offset at 0x00c - - _udp.write((uint8_t) 0); // 0x0001 answer is type A query (host address) - _udp.write((uint8_t) 1); - - _udp.write((uint8_t) 0); //0x0001 answer is class IN (internet address) - _udp.write((uint8_t) 1); - - _udp.write((unsigned char*) &_ttl, 4); - - // Length of RData is 4 bytes (because, in this case, RData is IPv4) - _udp.write((uint8_t) 0); - _udp.write((uint8_t) 4); - _udp.write(_resolvedIP, sizeof(_resolvedIP)); - _udp.endPacket(); - - - - #ifdef DEBUG - DEBUG_OUTPUT.print("DNS responds: "); - DEBUG_OUTPUT.print(_resolvedIP[0]); - DEBUG_OUTPUT.print("."); - DEBUG_OUTPUT.print(_resolvedIP[1]); - DEBUG_OUTPUT.print("."); - DEBUG_OUTPUT.print(_resolvedIP[2]); - DEBUG_OUTPUT.print("."); - DEBUG_OUTPUT.print(_resolvedIP[3]); - DEBUG_OUTPUT.print(" for "); - DEBUG_OUTPUT.println(getDomainNameWithoutWwwPrefix()); - #endif -} - -void DNSServer::replyWithCustomCode() { - _dnsHeader->QR = DNS_QR_RESPONSE; - _dnsHeader->RCode = (unsigned char) _errorReplyCode; - _dnsHeader->QDCount = 0; - - _udp.beginPacket(_udp.remoteIP(), _udp.remotePort()); - _udp.write(_buffer, sizeof(DNSHeader)); - _udp.endPacket(); -} diff --git a/Firmware/DNSServer.h b/Firmware/DNSServer.h deleted file mode 100644 index f5bab4e..0000000 --- a/Firmware/DNSServer.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef DNSServer_h -#define DNSServer_h -#include - -#define DNS_QR_QUERY 0 -#define DNS_QR_RESPONSE 1 -#define DNS_OPCODE_QUERY 0 - -enum class DNSReplyCode { - NoError = 0, - FormError = 1, - ServerFailure = 2, - NonExistentDomain = 3, - NotImplemented = 4, - Refused = 5, - YXDomain = 6, - YXRRSet = 7, - NXRRSet = 8 -}; - -struct DNSHeader { - uint16_t ID; // identification number - unsigned char RD : 1; // recursion desired - unsigned char TC : 1; // truncated message - unsigned char AA : 1; // authoritive answer - unsigned char OPCode : 4; // message_type - unsigned char QR : 1; // query/response flag - unsigned char RCode : 4; // response code - unsigned char Z : 3; // its z! reserved - unsigned char RA : 1; // recursion available - uint16_t QDCount; // number of question entries - uint16_t ANCount; // number of answer entries - uint16_t NSCount; // number of authority entries - uint16_t ARCount; // number of resource entries -}; - -class DNSServer { -public: - DNSServer(); - void processNextRequest(); - void setErrorReplyCode(const DNSReplyCode &replyCode); - void setTTL(const uint32_t &ttl); - - // Returns true if successful, false if there are no sockets available - bool start(const uint16_t &port, - const String &domainName, - const IPAddress &resolvedIP); - // stops the DNS server - void stop(); - -private: - WiFiUDP _udp; - uint16_t _port; - String _domainName; - unsigned char _resolvedIP[4]; - int _currentPacketSize; - unsigned char* _buffer; - DNSHeader* _dnsHeader; - uint32_t _ttl; - DNSReplyCode _errorReplyCode; - - void downcaseAndRemoveWwwPrefix(String &domainName); - String getDomainNameWithoutWwwPrefix(); - bool requestIncludesOnlyOneQuestion(); - void replyWithIP(); - void replyWithCustomCode(); -}; -#endif diff --git a/Firmware/Firmware.ino b/Firmware/Firmware.ino index e94dc66..2bec465 100644 --- a/Firmware/Firmware.ino +++ b/Firmware/Firmware.ino @@ -1,847 +1,144 @@ -/// -/// -/// Grow Controller -/// -/// -/// The beginnings of a WiFi accessible switch. -/// -#include -#include -#include -#include -#include -#include -#include -#include #include -#include #include -#include -//#include +#include + +#include "ProjGlobals.h" // Some global settings +#include "WiFiConfiguration.h" // +#include "WiFiStateHandler.h" // Startup as AP or client and transition +#include "CustomHandlers.h" // Handlers for the web pages +#include "PlantModel.h" // The Plant Model controller/simulator/status + +const String AP_NAME = "GrowController"; ///< Network name when in Access Point mode +const String AP_VERS = "v1.00.11"; ///< Compared to the server version for SW Updates + +ESP8266WebServer server(80); +ConfigManager wifiConfig; ///< Track various configuration items + +//ESP8266HTTPUpdate Updater; +bool updateCheck = false; ///< Set when a SW update check is pending -// Application includes -#include "./DNSServer.h" // Patched lib -#include "WiFiConfiguration.h" -#include "Web_RootPage.h" -#include "Web_RSSIGraph.h" -#include "Web_FavIcon.h" -#include "Web_APConfig.h" -#include "ProjGlobals.h" -#include "Web_Resources.h" -#include "GrowController.h" // APIs available in this (.ino) file -#include "fauxmoESP.h" - - -// If there is no hardware, such as with an ESP-01 module only, -// set this. Then it won't loop through reset constantly, and -// other behaviors that will be determined. -#define HW_SIMULATE - -// SW Update Deployment instructions: +// Register the urls with custom handlers +// Register the SSDP interface // -// 1) If any resources changed, rebuild Web_Resources.h -// 2) Update this version number -// 3) Build the binary -// 4) Rename the .bin to match the version (e.g. GrowController v1.02.12.bin) -// 5) Move the product (.bin) to the server location -// 6) Update the PHP script on the server to match this version (if it does not auto-adapt) -// 7) Visit the node's web page and initiate an update, or let it check on its own cycle -// -const String MyVer = "GrowController v2.00.11"; ///< Compared to the server version for SW Updates -#define UPDATE_INTERVAL (12 * 60 * 60 * 1000) ///< Check once every 12 hours -bool swUpdateInProcess = false; ///< Status of an update to keep the relays from running - -// ESP12-E pinout Version 2 -// -// +------------------+ -// | __ __ _____ | -// | | |_| |_| | -// | |__________ | -// |__________________| -// Reset | !Reset Tx | Tx -// Current | ADC Rx | Rx -// Prog En | CHPD-EN GPIO5 | FAULT -// SW_RESET | GPIO16 GPIO4 | SW_TOGGLE -// OLED SCL | GPIO14 GPIO0 | -// RLY Set2 | GPIO12 GPIO2 | OLED SDA -// RLY Set1 | GPIO13 GPIO15 | Pull-down -// | Vcc Gnd | -// +------------------+ - -// ESP12-E pinout Version 1 -// -// +------------------+ -// | __ __ _____ | -// | | |_| |_| | -// | |__________ | -// |__________________| -// Reset | !Reset Tx | Tx -// Current | ADC Rx | Rx -// Prog En | CHPD-EN GPIO5 | -// SW_RESET | GPIO16 GPIO4 | SW_TOGGLE -// RLY Set2 | GPIO14 GPIO0 | -// LED On | GPIO12 GPIO2 | -// RLY Set1 | GPIO13 GPIO15 | LED WiFi -// | Vcc Gnd | -// +------------------+ - -// +-------------+ -// SW_RESET ---+----|(----------->| WiFiConfig |-----> LED_WIFI -// | | | -// | | |-----> isStationMode -// | |-------------| -// +----|>o---------->| Timer | -// | |-----> Factory Reset -// RESET_MS --------------------->| | -// +-------------+ -// -#define SW_RESET 16 ///< The local reset switch -#define RESET_MS 8000 ///< Hold Reset for this long to factory reset -#define LED_WIFI 15 ///< The Pin controlling the WiFi on LED -bool isStationMode = false; ///< Tracks if the WiFi is in station mode - -// WiFI LED Duty Cycle -// -// |******* | AP Mode -// |************************* | Joining AP -// |************************************************ | Joined -// | | | | | | -// 0 100 200 300 400 500ms -// -#define LED_APMODE__MS 80 -#define LED_JOINING_MS 250 -#define LED_JOINED__MS 490 -#define LED_PERIOD__MS 500 - -// __ // -// | \ // -// onRef ------------------------------|- \ +-----------+ // -// | +-----| S Q |--+--> CurrStatus // -// +--------|+ / | | | // -// +---------+ | |__/ +--| R !Q | +--> LED_ON // -// ANA_IN --+--->| average |----+-->iRawSum/X | +-----------+ // -// | +---------+ | __ | // -// | | | \ | // -// +--> iRaw +--------|- \ | // -// | +--+ // -// offRef ------------------------------|+ / // -// |__/ // -// -#define ANA_IN A0 ///< The Analog input signal -#define SENSE_SAMPLE_MS 20 ///< The Sample rate for the analog input -#define AVG_RATIO 64 ///< Average Ratio (new is 1/AVG_RATIO of old) -#define LED_ON 12 ///< The load-on indicating LED -int32_t iRaw; ///< The raw sampled value -int32_t iRawSum; ///< The Averaged Sum of Raw Samples -bool CurrStatus = false; ///< Track the current sense indication of power on/off +void StartWebServer(); -// _ +------------------+ -// Turn On -------------| \____ | +-----------+ | -// +--|>o--|_/ | _ +-->| D !Q |--+ -// CurrStatus --| and +-------->) \ | | -// | _ +-------->) +--->| ck Q |--------> RelayState -// +-------| \____| +---->)_/ +-----------+ -// Turn Off-------------|_/ | or -// and | -// SW_TOGGLE ----|>o---------------+ -// -#define SW_TOGGLE 4 ///< The local toggle switch -bool RelayState = false; ///< The current tracked relay drive state - -// +-----------+ -// | _ _ | -// | _/ _| |_ |--------> Relay Set -// RelayState ---------------------------------->| _ _ | -// | \_ _| |_ |--------> Relay Reset -// | | -// +-----------+ -// -#define RELAY_PULSE_MS 15 ///< Duration of a pulse -#define RLY_SET1 13 ///< The set-pin for the relay -#define RLY_SET2 14 ///< The reset-pin for the relay - -// Timing: -// -// | | | | | -// _________________________ -// 3WaySwitch ____________________/ \__________________ -// | | |b->| | |b->| -// ______________________ -// RelayState __________/ \______________________ -// | |a->| | |a->| | -// | | | | | -// +++++++ ++++++++++ -// +++ +++ +++ +++ -// AnalogIn ++++++++++++ ++++++++++ +++++++++++++++ -// | | | | | -// CurrStatus |Off |On |Off |On |Off -// -// a) Locally applied change in load to filtered AnalogIn delay -// b) Externally applied change in load to filtered AnalogIn delay -// - -bool DebugValue; ///< Makes it chatty while running - -const byte DNS_PORT = 53; ///< Capture DNS requests on port 53 -IPAddress apIP(192,168,4,1); ///< Private network for server -DNSServer dnsServer; ///< Create the DNS object - -ESP8266WebServer server(80); ///< For the user experience -fauxmoESP fauxmo; ///< For the WEMO emulator -ConfigManager wifiConfig; ///< Track various configuration items - -ESP8266HTTPUpdate Updater; -bool updateCheck = false; ///< Set when a SW update check is pending - -uint16_t autoOffTimer; ///< When the output is turned on, this is set to timeout in seconds - -// local functions -void WiFiStateHandler(); ///< WiFi interface manager -void StartWebServer(); ///< Activate the web server -void HandleNotFound(); ///< Webpage for not-found URL -void ProcessAutoOff(bool init = false); ///< Process the auto-off timer - -String AP_SSID = "GrowController"; ///< When in Access Point, this is the prefix -void GetMac(); -String macToStr(const uint8_t* mac); ///< Create C++ String with the mac -String clientMac = ""; ///< Hosts the MAC to easily identify this node - - -// =========================================================================== -typedef enum { - WFC_ConnectToAP, - WFC_JoiningAP, - WFC_JoinedAP, - WFC_CreateAP, - WFC_HostingAP, -} WiFiConnectState; -WiFiConnectState wifiConState; ///< Track the current WiFi state - -void SetLED(int pin, int state) { - digitalWrite(pin, state); - if (pin == LED_WIFI) - ; // Serial.printf("SET LED_WIFI to %d\n", state); - else if (pin == LED_ON) - Serial.printf("SET LED_ON to %d\n", state); - else - Serial.printf("***** ERROR setting LED pin %d to %d\n", pin, state); -} - -void ResetMonitor(bool init = false) { - static unsigned long timeAtReset; - static bool monitorActive; - - if (init) { - timeAtReset = millis(); - monitorActive = true; - } else if (monitorActive) { - int sw_state = digitalRead(SW_RESET); - #ifdef HW_SIMULATE - sw_state = 1; - #endif - if (sw_state == 1) { - // not pressed - monitorActive = false; - } else if ((millis() - timeAtReset) > RESET_MS) { - // reset has been held long enough - FactoryReset(true); - } - } -} - -// -// Average the new sample by summation with 7/8 of the running Sum. -// -void ProcessCurrentSense() { - static unsigned long last = millis(); - unsigned long now = millis(); - - if (now - last > SENSE_SAMPLE_MS) { - last = now; - iRaw = analogRead(ANA_IN); // 1023 = 1.0v - iRawSum = iRawSum - (iRawSum / AVG_RATIO) + iRaw; // Now have running avg. - if (DebugValue) - Serial.printf("Sample: %d, rawSum: %d, relay: %d (%d%d), \n", - iRaw, iRawSum, RelayState, digitalRead(RLY_SET1), digitalRead(RLY_SET2)); - if (iRawSum / AVG_RATIO > wifiConfig.getOnRef() && !CurrStatus) { - CurrStatus = true; - SetLED(LED_ON, 1); - ProcessAutoOff(true); - autoOffTimer = wifiConfig.getAutoOff(); // if zero, we do nothing... - Serial.printf("Auto Off Timer set to %d\n", autoOffTimer); - } else if (iRawSum / AVG_RATIO < wifiConfig.getOffRef() && CurrStatus) { - CurrStatus = false; - SetLED(LED_ON, 0); - } - } -} - -// _______ ___ __ _______ -// Press \_________________________/ \___/ \___/ -// | | -// v v -// _ _ -// Toggle _______/ \____________.............../ \______________.... -// -// Sample | | | | | ... -// Block |---- 80 ms ---| |---- 80 ms -----| -#define Block_ms 800 -#define SAMPL_ms 100 -void ProcessToggleSw() { - static unsigned long last = millis(); - static bool lastSWState = false; - static uint8_t blockTics; - unsigned long now = millis(); - - if (now - last > SAMPL_ms) { - last = now; - if (blockTics) { - blockTics--; - return; - } - bool swState = !digitalRead(SW_TOGGLE); // active low is pressed. - if (DebugValue) - Serial.printf("Sample: %d, rawSum: %d, relay: %d (%d%d), sw: %d\n", - iRaw, iRawSum, RelayState, digitalRead(RLY_SET1), digitalRead(RLY_SET2), swState); - if (swState != lastSWState && swState == true) { - Serial.printf("Toggle pushed\n"); - blockTics = Block_ms / SAMPL_ms; - SetCircuit(CMD_Toggle); - } - lastSWState = swState; - } -} - -// Drive Relay controls pulsing either the set or the reset pin -// -// If the control signal changes, then it will generate a pulse on the -// appropriate relay driver pin, ensuring that the alternate pin is -// first off. -// -// This API is also called periodically, which permits it to then -// time and auto-off any active control pin. -// -// @param i can be -1 for timing, 0 to drive one relay pin, 1 to drive the other. -// -void DriveRelay(int i = -1) { - static int currentSignal = -1; - static bool isActive = false; - static unsigned long timeSet = 0; - - if (swUpdateInProcess) - i = 2; - - switch (i) { - case -1: - // Any active timing to process - if (isActive && (millis() - timeSet > RELAY_PULSE_MS)) { - digitalWrite(RLY_SET1, LOW); - digitalWrite(RLY_SET2, LOW); - isActive = false; - } - break; - case 0: - if (i != currentSignal) { - currentSignal = i; - digitalWrite(RLY_SET2, LOW); // Turn off the alternate - digitalWrite(RLY_SET1, HIGH); - timeSet = millis(); - isActive = true; - } - break; - case 1: - if (i != currentSignal) { - currentSignal = i; - digitalWrite(RLY_SET1, LOW); // Turn off the alternate - digitalWrite(RLY_SET2, HIGH); - timeSet = millis(); - isActive = true; - } - break; - case 2: - default: - // Error, or the force-off state - digitalWrite(RLY_SET1, LOW); // Turn off the elements - digitalWrite(RLY_SET2, LOW); - isActive = false; - break; - } -} - -void ProcessNameChange() { - char xName[CFG_NAMESIZE]; - - fauxmo.getDeviceName(0, xName, CFG_NAMESIZE); - if (0 != strcmp(wifiConfig.getName().c_str(), xName)) { - fauxmo.renameDevice(0, wifiConfig.getName().c_str()); - } -} - -void ProcessSWUpdate() { - static unsigned long lastCheck; - unsigned long nowCheck = millis(); - - if ((nowCheck - lastCheck) > (UPDATE_INTERVAL)) { - lastCheck = nowCheck; - updateCheck = true; - } - if (updateCheck) { - WiFiClient wifiClient; - swUpdateInProcess = true; - Serial.printf("SW Update start '%s'...\n", wifiConfig.getURL().c_str()); - t_httpUpdate_return swRet = Updater.update(wifiClient, wifiConfig.getURL(), MyVer); - switch (swRet) { - default: - case HTTP_UPDATE_FAILED: - Serial.printf("SW Update - failed.\n"); - Serial.printf("Error: %s\n", Updater.getLastErrorString().c_str()); - delay(100); - ESP.restart(); - break; - case HTTP_UPDATE_NO_UPDATES: - Serial.printf("SW Update - no updates.\n"); - break; - case HTTP_UPDATE_OK: - Serial.printf("SW Update - update ok.\n"); - break; - } - swUpdateInProcess = false; - updateCheck = false; - Serial.printf("SW Update - process end.\n"); - } -} - -void ProcessConsole() { - if (Serial.available()) { - int ch = Serial.read(); - Serial.printf("Serial.available() => %d\n", ch); - switch (ch) { - case '0': - iRawSum = 10; - break; - case '1': - iRawSum = 1000; - break; - case 'd': - DebugValue = !DebugValue; - break; - case 'u': - updateCheck = true; - break; - case '\x0D': // Ignore - break; - case '?': - default: - DebugValue = false; - Serial.printf("Commands:\n"); - Serial.printf(" 0|1 Off or On (by forcing rawSum\n"); - Serial.printf(" d Debug toggle\n"); - Serial.printf(" u update check\n"); - break; - } - } - static unsigned long last = millis(); - if (millis() - last > 5000) { - static uint32_t refFreeHeap; - uint32_t freeHeap = ESP.getFreeHeap(); - last = millis(); - if (freeHeap != refFreeHeap) - Serial.printf("[MAIN] Free heap: %d bytes\n", ESP.getFreeHeap()); - refFreeHeap = freeHeap; - } -} - -void ProcessAutoOff(bool init) { - static unsigned long lastCheck; - unsigned long nowCheck = millis(); - - if (init) - lastCheck = nowCheck; - if (autoOffTimer && ((nowCheck - lastCheck) >= 1000)) { - lastCheck += 1000; - --autoOffTimer; - SetLED(LED_ON, autoOffTimer & 1); // During auto-Off, blink slowly... - if (autoOffTimer == 0) { - Serial.printf("AutoOff time remaining 0 sec. Off Now.\n"); - SetCircuit(CMD_Off); - } - else { - Serial.printf("AutoOff time remaining %d sec\n", autoOffTimer); - } - } -} - -void HWIOInit() { - // User push-buttons - pinMode(SW_TOGGLE, INPUT); - pinMode(SW_RESET, INPUT); - // Turn off relay drivers - pinMode(RLY_SET1, OUTPUT); - digitalWrite(RLY_SET1, 0); - pinMode(RLY_SET2, OUTPUT); - digitalWrite(RLY_SET2, 0); - // Turn off user LEDs - pinMode(LED_ON, OUTPUT); - digitalWrite(LED_ON, 0); - pinMode(LED_WIFI, OUTPUT); - digitalWrite(LED_WIFI, 0); +void setup() { + Serial.begin(115200); + Serial.printf("\n"); + Serial.printf("\n******************************************************************\n"); + Serial.printf(" %s Web Server - Build " __DATE__ " " __TIME__ "\n", AP_NAME.c_str()); + Serial.printf(" Version %s\n", AP_VERS.c_str()); + Serial.printf(" Copyright (c) 2021 by Smartware Computing, all rights reserved.\n"); + Serial.printf("******************************************************************\n"); + wifiConfig.load(); } -void setup(void) { - HWIOInit(); - ResetMonitor(true); /// Initialize the reset switch monitor for long press - Serial.begin(115200); - Serial.printf("\n******************************************************************\n"); - Serial.printf(" GrowController Web Server - Build " __DATE__ " " __TIME__ "\n"); - Serial.printf(" Version %s\n", MyVer.c_str()); - Serial.printf(" Copyright (c) 2018 by Smartware Computing, all rights reserved.\n"); - Serial.printf("******************************************************************\n"); +void loop() { + // + // Process WiFi State Changes + // + static WiFiConnectState lastState = WFC_Idle; + WiFiConnectState currState = WiFiStateHandler(); + if (lastState != currState) { + lastState = currState; + switch (currState) { // On change to this state + default: + break; + case WFC_HostingAP: + case WFC_JoinedAP: + StartWebServer(); + break; + } + } else { + switch (currState) { + default: + break; + case WFC_HostingAP: + case WFC_JoinedAP: + server.handleClient(); + break; + } + } - GetMac(); - AP_SSID += "-"; - AP_SSID += clientMac; - - wifiConfig.load(); - String name = wifiConfig.getName(); - String ssid = wifiConfig.getSSID(); - String pass = wifiConfig.getPassword(); - if (ssid == "" || pass == "") - wifiConState = WFC_CreateAP; - else - wifiConState = WFC_ConnectToAP; - #if 0 - if (MDNS.begin("esp")) { // clientMac.c_str() - //MDNS.addService("switch", "tcp", 80); - //MDNS.addServiceTxt("switch", "tcp", "switchkey", "SWITCHVALUE"); - Serial.printf("MDNS responder started.\n"); - } - #endif - StartWebServer(); - #if 1 - fauxmo.addDevice(name.c_str()); - fauxmo.enable(true); - fauxmo.onSetState([](unsigned char device_id, const char * device_name, bool state) { - Serial.printf("[MAIN] Device #%d (%s) state command: %s\n", device_id, device_name, state ? "ON" : "OFF"); - if ((state && !CurrStatus) - || (!state && CurrStatus)) { - SetCircuit(RelayState ? CMD_Off : CMD_On); - } - }); - fauxmo.onGetState([](unsigned char device_id, const char * device_name) { - (void) device_id; - (void) device_name; - return CurrStatus; // GetCircuitStatus(); // whatever the state of the device is - }); - #endif + // + // + // + simulation(); + // @todo delay(1); } - -void loop(void) { - ResetMonitor(); // Monitor for long press to factory reset - WiFiStateHandler(); // start/connect as AP or Station - ProcessSWUpdate(); // query the server for fresh SW - fauxmo.handle(); // WEMO interface - ProcessNameChange(); // Update fauxmo if the name changes - ProcessCurrentSense(); // Get status by measuring current - ProcessToggleSw(); // Monitor for user pressing toggle - DriveRelay(); // Do what the relays need, if anything - ProcessConsole(); - ProcessAutoOff(); // If auto-off is enabled... -} - - -// ########################################################################### - -void WiFiStateHandler() { - static unsigned long timeStateChange = 0; - static unsigned long timeLEDControl; - unsigned long timeLEDCycle; - String ssid = wifiConfig.getSSID(); - String pass = wifiConfig.getPassword(); - IPAddress myIP; - - timeLEDCycle = millis() - timeLEDControl; - if (timeLEDCycle >= LED_PERIOD__MS) { - timeLEDControl = millis(); - timeLEDCycle = 0; - } - switch (wifiConState) { - case WFC_ConnectToAP: - isStationMode = true; - WiFi.mode(WIFI_STA); - ssid = wifiConfig.getSSID(); - pass = wifiConfig.getPassword(); - WiFi.begin(ssid.c_str(), pass.c_str()); - timeStateChange = millis(); - timeLEDControl = timeStateChange; - wifiConState = WFC_JoiningAP; - break; - case WFC_JoiningAP: - if (timeLEDCycle <= LED_JOINING_MS) - SetLED(LED_WIFI, 1); - else - SetLED(LED_WIFI, 0); - if (WiFi.status() == WL_CONNECTED) { - myIP = WiFi.localIP(); - Serial.printf("IP Address: %s\n", myIP.toString().c_str()); - timeStateChange = millis(); - StartWebServer(); - wifiConState = WFC_JoinedAP; - } else if (millis() - timeStateChange > 30000) { - timeStateChange = millis(); - wifiConState = WFC_CreateAP; // failed for 30 sec, now what. retry or CreateAP? - } - break; - case WFC_CreateAP: - if (timeLEDCycle <= LED_APMODE__MS) - SetLED(LED_WIFI, 1); - else - SetLED(LED_WIFI, 0); - isStationMode = false; - Serial.printf("Starting Access Point %s\n", AP_SSID.c_str()); - WiFi.softAP(AP_SSID.c_str()); - myIP = WiFi.softAPIP(); - Serial.printf("IP Address: %s\n", myIP.toString().c_str()); - dnsServer.start(DNS_PORT, "*", apIP); - timeStateChange = millis(); - StartWebServer(); - wifiConState = WFC_HostingAP; - break; - case WFC_JoinedAP: - if (timeLEDCycle <= LED_JOINED__MS) - SetLED(LED_WIFI, 1); - else - SetLED(LED_WIFI, 0); - server.handleClient(); - break; - case WFC_HostingAP: - if (timeLEDCycle <= LED_APMODE__MS) - SetLED(LED_WIFI, 1); - else - SetLED(LED_WIFI, 0); - server.handleClient(); - dnsServer.processNextRequest(); - break; - } -} - - -bool GetCircuitStatus() { - return CurrStatus; -} -void SetCircuit(CircuitCmd_T newState) { - if (swUpdateInProcess) - return; - switch (newState) { - case CMD_Off: - if (GetCircuitStatus()) { - RelayState = !RelayState; - DriveRelay(RelayState); - } - break; - case CMD_On: - if (!GetCircuitStatus()) { - RelayState = !RelayState; - DriveRelay(RelayState); - } - break; - case CMD_Toggle: - RelayState = !RelayState; - DriveRelay(RelayState); - break; - default: - break; - } -} - -void HandleCircuitOn() { - SetCircuit(CMD_On); - HandleGetState(); // Reply with current state -} - -void HandleCircuitOff() { - SetCircuit(CMD_Off); - HandleGetState(); // Reply with current state -} - -void HandleCircuitToggle() { - SetCircuit(CMD_Toggle); - HandleGetState(); // Reply with current state -} - -// { -// "id": "5c:cf:7f:c0:52:82", -// "name": "3-Way Switch", -// "state": 0, -// "sense": 56, -// "ip": "192.168.1.23", -// "rssi": -63, -// "countdown": "3:45", -// "uptime": "0:11:45", -// "wifimode": "station"|"ap", -// } -// -void HandleGetState() { - int day, hr, min, sec; - char _upTime[15]; // 0000.00:00:00\0 + 1 spare - char _timeout[10]; // 00:00:00\0 + 1 spare - - sec = millis() / 1000; - min = sec / 60; - hr = min / 60; - day = hr / 24; - if (day) - snprintf(_upTime, sizeof(_upTime), "%dd %d:%02d:%02d", day, hr % 24, min % 60, sec % 60); - else if (hr) - snprintf(_upTime, sizeof(_upTime), "%d:%02d:%02d", hr, min % 60, sec % 60); - else - snprintf(_upTime, sizeof(_upTime), "%02d:%02d", min % 60, sec % 60); - - sec = autoOffTimer; - min = sec / 60; - hr = min / 60; - if (hr) - snprintf(_timeout, sizeof(_timeout), "%d:%02d:%02d", hr, min % 60, sec % 60); - else - snprintf(_timeout, sizeof(_timeout), "%d:%02d", min, sec % 60); - - GetMac(); - String modeText = (isStationMode) ? "Station" : "Access Point"; - String message = "{ \"id\": \"" + String(clientMac) + "\", "; - message += "\"name\": \"" + wifiConfig.getName() + "\", "; - message += "\"version\": \"" + MyVer + "\", "; - message += "\"state\": " + String(CurrStatus) + ", "; - message += "\"raw\": " + String(iRaw) + ", "; - message += "\"sense\": " + String(iRawSum / AVG_RATIO) + ", "; - message += "\"ip\": \"" - + String(WiFi.localIP()[0]) - + "." + String(WiFi.localIP()[1]) - + "." + String(WiFi.localIP()[2]) - + "." + String(WiFi.localIP()[3]) - + "\", "; - message += "\"rssi\": " + String(WiFi.RSSI()) + ", "; - message += "\"countdown\": \"" + String(_timeout) + "\", "; - message += "\"uptime\": \"" + String(_upTime) + "\", "; - message += "\"wifimode\": \"" + modeText + "\", "; - message += "\"toggle\": " + String(!digitalRead(SW_TOGGLE)) + ", "; - message += "\"reset\": " + String(!digitalRead(SW_RESET)); - message += " }"; - if (DebugValue) - Serial.println(message + "\0"); - server.sendHeader("Access-Control-Allow-Origin", String("*"), true); - server.send(200, "text/plain", message); -} - - -// Prototypes: -// const char Button_css[] -// const char favicon_ico[] -// const char Green1x1_png[] -// const char index_htm[] -// const char index_js[] -// const char rssi_htm[] -// const char rssi_js[] - -void HandleSWUpdateCheck() { - updateCheck = true; - HandleAPConfigPage(); -} -void HandleButton_css() { - server.sendHeader("Access-Control-Allow-Origin", String("*"), true); - server.send_P(200, "text/plain", Button_css); -} -void HandleIndex_js() { - server.sendHeader("Access-Control-Allow-Origin", String("*"), true); - server.send_P(200, "text/plain", index_js); -} -void HandleAbout_htm() { - server.sendHeader("Access-Control-Allow-Origin", String("*"), true); - server.send_P(200, "text/html", about_htm); -} -void HandleAbout_js() { - server.sendHeader("Access-Control-Allow-Origin", String("*"), true); - server.send_P(200, "text/plain", about_js); -} -void HandleMyIP_js() { - server.sendHeader("Access-Control-Allow-Origin", String("*"), true); - String message = "var mySite = 'http://"; - message += String(WiFi.localIP()[0]); - message += "." + String(WiFi.localIP()[1]); - message += "." + String(WiFi.localIP()[2]); - message += "." + String(WiFi.localIP()[3]); - message += "';\n"; - server.send(200, "text/plain", message); -} void StartWebServer() { - // path /firmware - //httpUpdater.setup(&server, update_path, update_username, update_password); - server.on("/", HandleRootPage); - server.on("/myip.js", HandleMyIP_js); - server.on("/button.css", HandleButton_css); - server.on("/index.js", HandleIndex_js); - server.on("/about", HandleAbout_htm); - server.on("/about.js", HandleAbout_js); - server.on("/favicon.ico", HandleFavIcon); - server.on("/PlantModel.png", HandlePlantModel); - server.on("/Heater.png", HandleHeater); - server.on("/Water.png", HandleWater); - server.on("/config", HandleAPConfigPage); - server.on("/swupdatecheck", HandleSWUpdateCheck); - server.on("/scan", HandleAPScan); - server.on("/green1x1.png", HandleGreen1x1); - server.on("/rssi", HandleRSSIPage); - server.on("/rssi.js", HandleRSSI_JS); - server.on("/curr", HandleCurrPage); - server.on("/curr.js", HandleCurr_JS); - server.on("/on", HandleCircuitOn); - server.on("/off", HandleCircuitOff); - server.on("/toggle", HandleCircuitToggle); - server.on("/state", HandleGetState); - server.on("/icon.png", HandleIcon); - server.on("/Open.png", HandleOpenDoor); - server.onNotFound(HandleNotFound); - server.begin(); - Serial.println("HTTP server started"); + // path /firmware + Serial.println("HTTP server starting ..."); + //httpUpdater.setup(&server, update_path, update_username, update_password); + server.on("/", HandleRootPage); + server.on("/config", HandleAPConfigPage); + server.on("/myip.js", HandleMyIP_js); + server.on("/nav.js", HandleNav_js); + server.on("/plantmodel.png", HandlePlantModel); + server.on("/plantmodel.css", HandlePlantModel_css); + server.on("/button.css", HandleButton_css); + server.on("/index.js", HandleIndex_js); + server.on("/about.htm", HandleAbout_htm); + server.on("/about.js", HandleAbout_js); + server.on("/favicon.ico", HandleFavIcon); + server.on("/soilheater_on.png", HandleHeaterOn); + server.on("/soilheater_off.png", HandleHeaterOff); + server.on("/thermometer.png", HandleThermometer); + server.on("/soilmoisture.png", HandleSoilMoisture); + server.on("/pointer.png", HandlePointer); + server.on("/water.png", HandleWater); + server.on("/green1x1.png", HandleGreen1x1); + server.on("/rssi.htm", HandleRSSIPage); + server.on("/rssi.js", HandleRSSI_js); + server.on("/curr.htm", HandleCurrPage); + server.on("/curr.js", HandleCurr_js); + server.on("/icon.png", HandleIcon); + server.on("/open.png", HandleOpenDoor); + server.on("/swupdatecheck", HandleSWUpdateCheck); + server.on("/scan", HandleAPScan); + //server.on("/on", HandleCircuitOn); + //server.on("/off", HandleCircuitOff); + //server.on("/toggle", HandleCircuitToggle); + server.on("/state", HandleGetState); + server.on("/description.xml", HTTP_GET, []() { + Serial.printf("description.xml handler.\n"); + SSDP.schema(server.client()); + }); + server.onNotFound(HandleNotFound); + server.begin(); + Serial.println("HTTP server started."); + + // + // SSDP Startup + // + Serial.printf("SSDP server starting ...\n"); + SSDP.setSchemaURL("description.xml"); + SSDP.setHTTPPort(80); + SSDP.setName(wifiConfig.getName().c_str()); // "Philips hue clone"); + SSDP.setSerialNumber("001788102201"); + SSDP.setURL("/"); // Root Page + SSDP.setModelName(AP_NAME.c_str()); // "Philips hue bridge 2012"); + SSDP.setModelNumber("929000226503"); + SSDP.setModelURL("https://www.smart-family.net/GrowController"); + SSDP.setManufacturer("Smartware Computing"); + SSDP.setManufacturerURL("https://www.smart-family.net"); + SSDP.setDeviceType("upnp:rootdevice"); + SSDP.begin(); + Serial.println("SSDP server started."); } -void HandleNotFound() { - Serial.printf("not found: %s\n", server.uri().c_str()); - const DirEntry *de = Directory; - boolean found = false; - while (*de->Filename) { - if (0 == strcmp(de->Filename, server.uri().c_str())) { - Serial.printf("send %s\n", de->Filename); - server.send_P(200, de->Filetype, de->Filedata, de->Filesize); - found = true; - break; - } else { - de++; - } - } - if (!found) { - Serial.printf("!found - redirect to home\n"); - server.sendHeader("Location", String("/"), true); - server.send(302, "text/plain", "Not supported. Heading for home."); - } -} - -void GetMac() { - unsigned char mac[6]; - WiFi.macAddress(mac); - clientMac = macToStr(mac); -} - -String macToStr(const uint8_t * mac) { - String result; - - for (int i = 0; i < 6; ++i) { - result += String(mac[i], 16); - if (i < 5) - result += ':'; - } - return result; +void FactoryReset(bool forceRestart) { + Serial.println("Factory Reset Configuration...\n"); + wifiConfig.factoryReset(); + wifiConfig.save(); + if (forceRestart) { + Serial.println("Restart in 3 sec ..."); + delay(3000); + ESP.restart(); + } } diff --git a/Firmware/GrowController.h b/Firmware/GrowController.h deleted file mode 100644 index db12f33..0000000 --- a/Firmware/GrowController.h +++ /dev/null @@ -1,23 +0,0 @@ - -#ifndef GROWCONTROLLER_H -#define GROWCONTROLLER_H - -bool GetCircuitStatus(); - -/// Command for the circuit -typedef enum { - CMD_Off, ///< Command it off - CMD_On, ///< Command it on - CMD_Toggle ///< Command a toggle -} CircuitCmd_T; - - -/// Set the state -/// @param[in] newState -/// - 0 = Off -/// - 1 = On -/// - 2 = Toggle -/// -void SetCircuit(CircuitCmd_T newState); - -#endif // GROWCONTROLLER_H diff --git a/Firmware/GrowController.ses b/Firmware/GrowController.ses new file mode 100644 index 0000000..3258f31 --- /dev/null +++ b/Firmware/GrowController.ses @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Firmware/PlantModel.cpp b/Firmware/PlantModel.cpp new file mode 100644 index 0000000..02dc719 --- /dev/null +++ b/Firmware/PlantModel.cpp @@ -0,0 +1,246 @@ +// +// +// PlantModel +// +// + +#include "ProjGlobals.h" +#include "PlantModel.h" +#include "WiFiStateHandler.h" +#include "Utility.h" + + +PlantData_T plant; /// This keeps track of everything relevant to this system + + +String OnOffText(bool isOn) { + if (isOn) + return String("On"); + else + return String("Off"); +} + +String DrumStateText(DrumState_E state) { + switch (state) { + case DrumIsOpen: + return String("Open"); + case DrumIsClosed: + return String("Closed"); + case DrumIsMoving: + return String("Moving"); + default: + return String("Error"); + } +} + +String DrumMotorText(DrumMotor_E state) { + switch (state) { + case DrumOff: + return String("Stopped"); + case DrumCW: + return String("CW Rotation"); + case DrumCCW: + return String("CCW Rotation"); + default: + return String("Error"); + } +} + +String DrumOpenText(bool isOpen) { + if (isOpen) + return String("Open"); + else + return String("not open"); +} +String DrumClosedText(bool isClosed) { + if (isClosed) + return String("Closed"); + else + return String("not closed"); +} + +String WaterInTankText(bool waterInTank) { + if (waterInTank) + return String("OK"); + else + return String("Empty"); +} + +// { +// "id": "5c:cf:7f:c0:52:82", +// "name": "3-Way Switch", +// "state": 0, +// "sense": 56, +// "ip": "192.168.1.23", +// "rssi": "-63", +// "countdown": "3:45", +// "uptime": "0:11:45", +// "wifimode": "station"|"ap" +// } +// +void HandleGetState() { + int day, hr, minute, sec; + char _upTime[15]; // 0000.00:00:00\0 + 1 spare + + sec = millis() / 1000; + minute = sec / 60; + hr = minute / 60; + day = hr / 24; + if (day) + snprintf(_upTime, sizeof(_upTime), "%dd %d:%02d:%02d", day, hr % 24, minute % 60, sec % 60); + else if (hr) + snprintf(_upTime, sizeof(_upTime), "%d:%02d:%02d", hr, minute % 60, sec % 60); + else + snprintf(_upTime, sizeof(_upTime), "%02d:%02d", minute % 60, sec % 60); + + String modeText = (WiFiStateGet() == WFC_JoinedAP) ? "Station" : "Access Point"; + String message = "{\n"; + message += "\t\"id\": \"" + GetMacString() + "\",\n"; + message += "\t\"name\": \"" + wifiConfig.getName() + "\",\n"; + message += "\t\"version\": \"" + AP_VERS + "\",\n"; + //message += "\t\"state\": " + String(CurrStatus) + ",\n"; + //message += "\t\"raw\": " + String(iRaw) + ",\n"; + //message += "\t\"sense\": " + String(iRawSum / AVG_RATIO) + ",\n"; + message += "\t\"ip\": \"" + + String(WiFi.localIP()[0]) + + "." + String(WiFi.localIP()[1]) + + "." + String(WiFi.localIP()[2]) + + "." + String(WiFi.localIP()[3]) + + "\",\n"; + message += "\t\"rssi\": \"" + String(WiFi.RSSI()) + "\",\n"; + message += "\t\"uptime\": \"" + String(_upTime) + "\",\n"; + message += "\t\"wifimode\": \"" + modeText + "\",\n"; + + snprintf(_upTime, sizeof(_upTime), "%02u:%02u", plant.SecondsToday/3660, (plant.SecondsToday/60)%60); + message += "\t\"TimeOfDay\": \"" + String(_upTime) + "\",\n"; + message += "\t\"Fahrenheit\": \"" + String(plant.Fahrenheit) + "\",\n"; + + message += "\t\"ChamberTemp_C\": \"" + String(plant.ChamberTemp_C) + "\",\n"; + message += "\t\"ChamberHumi\": \"" + String(plant.ChamberHumi) + " % \",\n"; + message += "\t\"SoilHeater\": \"" + OnOffText(plant.SoilHeater) + "\",\n"; + message += "\t\"SoilTemp_C\": \"" + String(plant.SoilTemp_C) + "\",\n"; + message += "\t\"AmbientTemp_C\": \"" + String(plant.AmbientTemp_C) + "\",\n"; + message += "\t\"DrumDoorIcon\": \"" + DrumStateText(plant.DrumDoorIcon) + "\",\n"; + message += "\t\"DrumOpenSensor\": \"" + DrumOpenText(plant.DrumOpenSensor) + "\",\n"; + message += "\t\"DrumClosedSensor\": \"" + DrumClosedText(plant.DrumClosedSensor) + "\",\n"; + message += "\t\"DrumMotorStatus\": \"" + DrumMotorText(plant.DrumMotorStatus) + "\",\n"; + message += "\t\"DrumMotor_V\": \"" + String(plant.DrumMotor_V) + "\",\n"; + message += "\t\"DrumMotor_I\": \"" + String(plant.DrumMotor_I) + "\",\n"; + + snprintf(_upTime, sizeof(_upTime), "%02u:%02u", plant.DrumMotorOn_sec/60, plant.DrumMotorOn_sec%60); + message += "\t\"DrumMotorOn_sec\": \"" + String(_upTime) + "\",\n"; + message += "\t\"WaterInTank\": \"" + String(plant.WaterInTank) + "\",\n"; + message += "\t\"WaterMotor_V\": \"" + String(plant.WaterPumpStatus) + "\",\n"; + message += "\t\"SoilMoisture_X\": \"" + String(plant.SoilMoisture_X) + "\",\n"; + + snprintf(_upTime, sizeof(_upTime), "%02u:%02u", plant.WaterCyclePeriod_sec/60, plant.WaterCyclePeriod_sec%60); + message += "\t\"WaterCyclePeriod_sec\": \"" + String(_upTime) + "\",\n"; + + snprintf(_upTime, sizeof(_upTime), "%02u:%02u", plant.WaterCycleOn_sec/60, plant.WaterCycleOn_sec%60); + message += "\t\"WaterCycleOn_sec\": \"" + String(_upTime) + "\",\n"; + + snprintf(_upTime, sizeof(_upTime), "%02u:%02u", plant.WaterCycle_sec/60, plant.WaterCycle_sec%60); + message += "\t\"waterCycle\": \"" + String(_upTime) + "\"\n"; + //message += "\t\"toggle\": " + String(!digitalRead(SW_TOGGLE)) + ",\n"; + //message += "\t\"reset\": " + String(!digitalRead(SW_RESET)); + message += "}\n"; + server.sendHeader("Access-Control-Allow-Origin", String("*"), true); + server.send(200, "application/json", message); +} + + + + +void simulation() { + if (++plant.SecondsToday >= (24*3600)) { // Seconds are advancing really fast for the simulation + plant.SecondsToday -= (24 * 3600); + } + static int lastMinutesToday = -1; + int hoursToday = plant.SecondsToday / 3600; + int minutesToday = plant.SecondsToday / 60; + // Simulate Ambient temp rising and falling + if (lastMinutesToday != minutesToday) { + lastMinutesToday = minutesToday; + Serial.printf("%02u:%02u, Ambient %3.1f\n", hoursToday, minutesToday % 60, plant.AmbientTemp_C); + + if (hoursToday < 15) { + // warming part of the day + if (plant.AmbientTemp_C < 45.0) { + plant.AmbientTemp_C += (float)(rand() % 10)/1000.0; + } + } else { + // cooling part of the day + if (plant.AmbientTemp_C > 10.0) { + plant.AmbientTemp_C -= (float)(rand() % 10)/1000.0; + } + } + if (plant.SoilTemp_C > 40.0) { + plant.SoilHeater = false; + } else if (plant.SoilTemp_C < 20.0) { + plant.SoilHeater = true; + } + if (plant.SoilHeater) { + if (plant.SoilTemp_C < 50.0) { + plant.SoilTemp_C += (float)(rand() % 10)/1000.0; + } + } else { + if (plant.SoilTemp_C < plant.ChamberTemp_C) { + plant.SoilTemp_C += (float)(rand() % 10)/1000.0; + } else { + plant.SoilTemp_C -= (float)(rand() % 10)/1000.0; + } + } + if (plant.DrumMotorStatus == DrumCW) { + plant.DrumMotorOn_sec++; + } else if (plant.DrumMotorStatus == DrumCCW) { + plant.DrumMotorOn_sec++; + } else { + plant.DrumMotorOn_sec = 0; + } + if (plant.ChamberTemp_C > 50.0) { + if (!plant.DrumOpenSensor) { + plant.DrumMotorStatus = DrumCW; + if (plant.DrumMotorOn_sec > 50) { + plant.DrumOpenSensor = true; + plant.DrumClosedSensor = false; + } + } + } else if (plant.ChamberTemp_C < 40.0) { + if (!plant.DrumClosedSensor) { + plant.DrumMotorStatus = DrumCW; + if (plant.DrumMotorOn_sec > 50) { + plant.DrumOpenSensor = false; + plant.DrumClosedSensor = true; + } + } + } + if (plant.DrumDoorIcon == DrumIsOpen) { + if (plant.ChamberTemp_C > plant.AmbientTemp_C) { + plant.ChamberTemp_C -= (float)(rand() % 10)/1000.0; + } else if (plant.ChamberTemp_C < plant.AmbientTemp_C) { + plant.ChamberTemp_C += (float)(rand() % 10)/1000.0; + } + } else { + if (plant.ChamberTemp_C > plant.AmbientTemp_C) { + plant.ChamberTemp_C -= (float)(rand() % 5)/1000.0; + } else if (plant.ChamberTemp_C < plant.AmbientTemp_C) { + plant.ChamberTemp_C += (float)(rand() % 20)/1000.0; + } + } + plant.ChamberHumi = (float)(rand() % 73) + 25; + if (++plant.WaterCycle_sec >= plant.WaterCyclePeriod_sec) { + plant.WaterCycle_sec -= plant.WaterCyclePeriod_sec; + } + if (plant.WaterCycle_sec >= plant.WaterCycleOn_sec) { + plant.WaterPumpStatus = false; + } + if (plant.SoilMoisture_X < 60.0 && plant.WaterCycle_sec < plant.WaterCycleOn_sec) { + plant.WaterPumpStatus = true; + } + if (plant.WaterPumpStatus) { + plant.SoilMoisture_X += (float)(rand() % 40)/100.0; + } else { + plant.SoilMoisture_X -= (float)(rand() % 5)/100.0; + } + } +} diff --git a/Firmware/PlantModel.h b/Firmware/PlantModel.h new file mode 100644 index 0000000..1c2c54e --- /dev/null +++ b/Firmware/PlantModel.h @@ -0,0 +1,9 @@ +// +// +// + +#include "ProjGlobals.h" + +void HandleGetState(); +void simulation(); + diff --git a/Firmware/ProjGlobals.h b/Firmware/ProjGlobals.h index a1fc2a2..7a0b410 100644 --- a/Firmware/ProjGlobals.h +++ b/Firmware/ProjGlobals.h @@ -1,5 +1,5 @@ // -// Some settings +// Project Global Settings // #ifndef PROJGLOBALS_H @@ -7,10 +7,60 @@ #include +// Manage the WiFi Configuration, AP, SSID, etc. #include "WiFiConfiguration.h" -extern bool isStationMode; +typedef enum { + DrumIsOpen, + DrumIsClosed, + DrumIsMoving, + DrumIsStuck, +} DrumState_E; + +typedef enum { + DrumOff, + DrumCW, + DrumCCW +} DrumMotor_E; + +typedef struct { + uint32_t SecondsToday; // elapsed seconds from midnight (for simulation) + bool Fahrenheit; // Show temp in Fahrenheit. + + float ChamberTemp_C; // Chamber Temp + float ChamberHumi; // Chamber Humidity - if installed + + bool SoilHeater; + float SoilTemp_C; // Soil Temp - if installed + float SoilMoisture_X; // Soil Moisture - unitless number, if installed + + float AmbientTemp_C; // + + DrumState_E DrumDoorIcon; // Current State: open/close/moving + bool DrumOpenSensor; + bool DrumClosedSensor; + DrumMotor_E DrumMotorStatus; // Off, CW, CCW + uint32_t DrumMotorOn_sec; + float DrumMotor_V; + float DrumMotor_I; + + bool WaterInTank; // controls image of the WaterLevelIcon + bool WaterPumpStatus; // WaterLevelIcon pump on + float WaterMotor_V; + uint32_t WaterCyclePeriod_sec; // Total Time (allows WaterLevelIcon to soak in) + uint32_t WaterCycleOn_sec; // WaterLevelIcon Pump on time + uint32_t WaterCycle_sec; // Running timer +} PlantData_T; + + +extern void FactoryReset(bool forceRestart); +extern const String AP_NAME; +extern const String AP_VERS; +// extern bool isStationMode; extern ESP8266WebServer server; extern ConfigManager wifiConfig; -#endif // PROJGLOBALS_H \ No newline at end of file +extern PlantData_T plant; /// This keeps track of everything relevant to this system +extern bool updateCheck; + +#endif // PROJGLOBALS_H diff --git a/Firmware/Resources/Button.css b/Firmware/Resources/Button.css index 9411547..13e94d3 100644 --- a/Firmware/Resources/Button.css +++ b/Firmware/Resources/Button.css @@ -1,8 +1,12 @@ + + input.BigButton { width: 150px; - padding: 20px; + height: 100px; + padding: 10px; white-space: normal; cursor: pointer; + text-align: center; font-weight: bold; font-size: 120%; background: #3366cc; @@ -19,3 +23,26 @@ input.BigButton:hover { background: #000; border: 5px solid #fff; } + +input.SmallButton { + width: 150px; + height: 50px; + padding: 10px; + white-space: normal; + cursor: pointer; + font-weight: bold; + font-size: 100%; + background: #3366cc; + color: #fff; + border: 5px solid #112233; + border-radius: 10px; + -moz-box-shadow: 6px 6px 5px #999; + -webkit-box-shadow: 6px 6px 5px #999; + box-shadow: 6px 6px 5px #999; +} + +input.SmallButton:hover { + color: #ffff00; + background: #000; + border: 5px solid #fff; +} diff --git a/Firmware/Resources/Heater.png b/Firmware/Resources/Heater.png deleted file mode 100644 index d3bfd5177d09fecbf5d674b2fc2dd901455348dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 443 zcmeAS@N?(olHy`uVBq!ia0vp^UO+6t!3-p`JZA3)QjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`)dPG&T>mpL{4Xf@Z(#7hzyE(gz<&;o{}K}a9UT5gMEqA!_%9&vfBJNw z+NzL=(Ljo~B*-uLKN4WDeWBC_l;AAzh%9Dc;5!7ujG`J|4M59TJY5_^JiOlq-xh0D z;1OP5{OSMw-Da5!OYJJoeandB5ty{X;L84o8+Y}mnQCxlFtV>*d}*T0W#Nn|7Bv>h zxs34#(hCB*G$Ic!KJqXuB1u=R$lfbbH|R>&BsOWoiCbr!@L9a7sPh_-D>yaxc8+Iu z<)U}ngI1*aWS4g4sK#x0W!JP+HEWrmqxRCRyOt#W-zIhMTgaPlA}q6ZJU;cxtY~Xa z>6fEV4U}g5UhR5P>R#N0HOD@fdjEf*WH3oJcmhYp)rT{yRC-?h&)eG6qHd}fS-DIu z{Zhkj3b_jG+-bxc)I$ztaD0e0sx8qyIcSO diff --git a/Firmware/Resources/Open.png b/Firmware/Resources/Open.png index e39cad78c401d0e22c9ae9d14359f8fd9dbca058..72bc390e9ff90cf0060c31dfe56f45e04978aa40 100644 GIT binary patch literal 14893 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 delta 636 zcmV-?0)zdnbdLogiBL{Q4GJ0x0000DNk~Le0001V0001V2m=5B0Aobv6_Ftze;80q zR7Ljo_W1bt^78Wc_xJVn_4D)d^z`%q003Z`I$Zz&00?waPE-H?|NsC0{{Y^Dy;%SN z010qNS#tmY4#NNd4#NS*Z>VGd00HbtL_t(&L+#qxa)U4o1yD#>{{N3FOKJ%Ti>>I2 z>7e^imdtxW31@Ff2eUdTTwBM zBg=|%akgGU=5tzRL|to+9i`UlvN_+N=KOE8Wh8r{G#%6*$_eG0yXs^4p!$$dTNQoK z#-ixdz1&n?KaUey)cWD;g*MeEKeQoJkJiIz_#cqI;%&z@wJe?~-ZANYAHuzMNhQn!ZDD8C*JL?5=g!D2X>gr#qm(?~_7Nstvq|MKyOp=lKVv WJZO~^=Igou0000FJl$PS&+V?N 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 literal 28345 zcmV*$KsmpOP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>DZca%=K~#8N?VSgF z6lMCypG_wP(hEr-0fHb+dR0IHQQ<_zf`9d}oPu{2&cf+=XF2bb^AtTj`-vwO&IX<+ z2&f>T2uLp>p(P=WR6+tNB=g_j?7N%U-I?9ln%Uj=`(eqvv$LDY?)>I?-sgSZ=Oqq@ z;~(hQPmYgKSy?GGG&G3Y_*qp|C2kv$+b1O>BZERhLRiaybYFIMHorD}4E}{_oa4uj z3w3pMgvZH~CqEG#Mn+tk#= zp3xol6>+xzej+>7{|ceQ@?m2fdaNt1d*RLOU$K443Al<~FLx+U@ z`}b2`UY=V;(Am*sPe;>nGlH;Tu`@F>`Ss`m{KIpBva&MKg@%BQW4^9n3?AX3_2D0k zb3@?97yyLsDzUM#qNpcNp3JXHC*U8N6Tn)nU%%dEHyT#gDBhf$9H0L#;GG!7?W*;L zs3%OAKuJkS{2EmW|DYVeRT2A}c5@Ryu++R?tqlKQYyc6%59jKYKm=Ltr3N3of-a&7M8m@3Y7P;(}eZYL$2=w+Fs-xMn;d z!FNE)C<2)FTyGRAM0d%bhY3$NUc7j*SpC8lJW?H4sJXeLB-8x)^L_rB@QaHY<$IPbTV}HY zrZ2eFrKgI8zrXuuYHn?&d*?htgZlDpGk2iI?e+&j`~1a%pvQ+FerVI3@)fuG(HG_k z8@8_%x5GliY3ZW>QC3DDpZ|`^%gcomm9^B~-p=+I=$RNx>FMcS`TI~M25z^lAuI&O zZn@Hvfh-o4yvl-SDMo)ng*N z(yS?S?7qg+Y(H>VsB37X&CSuYsv(kED2P2{U_wMAT@lqtF=4?pVW@ZJfG=6HL@Z^b z1Tz2T&YkO%@f4psVI#=X#n6*2Fm~)ql^)k`TO%y|$9&c@XJF1n^r!iYWG(eOpS~iz z`}sdvtAhuB{YRQ})g4~{`wyKc7EV-D)AO~7w4o`Q?Nw%A=s9{kzKZ%MMA6W`y*z%t z%a<<~3nD0iF4;{t-Q;t1+I;F{jbQFE67Fq*OfFv>c6#RZM}=?Jf5BSj#6)$a5A?2g z_vDW8(W=^0!d3T-Wi4~ysxNiF@W@BO=O(Zg?ume`UrjrH`WR~}?7 z18X<0WLws>=w0ruyMJOW&jTSpQxfTvkio|dvGibR9R0NWfWUTn3`~(kKvW5I-QfAb z17y22k57piLdMiZCD7l2d*tgixF(I7ru+9_ztH{nrSHT(vy}Y>yJ_>T4WRk36EfkiX3Z-w)#;`rkv9l$To;lS`yfLs{9s>y@C}scypoA|8+GoU!57eHJ5xDTD zderD2Kl|V-I!i$#&}Ah5#6h+tPtWw;Y|FD8ud1VeosMTM*I0Kpn)aM-qner;kBbOy zGz@?(L1T6nf~~BnS$smw#yo2!Fr@I7Or&=ExxoH(X3dV(gVHwyGOEPERgQU`yD)Cf8Mz}fC0GcuDe8oAO~D-jGAB= zlQCZUw!peOUQPekxe9hX*}Le*O}d%@xH?OR@U+!aJg*-#ZZ>{jW^!VoS-!+W_(ae zlP2&1x#hpCUv z!25=_wXl|VK~N0CR!U&$qE9~gL{oy+oS2bnXKRfoB!u{SjjqM-KPybReW-Bn)Bh(X zfgptwSzPmLeOrT^wEAuU z`3klYOR(@A$~LoRr=uw`V=UQL&MfYfzFY?xR`|-h#|X>5T_W~*E!lbCXS#LauW03u zpWD1ZuABCMy8kZzj*{b3*&cZkyddWAurNvpZeuO?g7?*hgt1oVfW#8y_$z^IM6C>2 zX-3S((y2=L`jRjY{_S=FR=B#ZlI@WP!%lyBW1(F^BR@Mh*tXS5h)rZ$o+G(iGz||w z$6D@XK*(8&>*`uYnLEH_9V}2M2S!?K4V`)u&4}675EMR0Uz+_S1qBCgeRPJfMJ7iY zmUGyE(Xx5i5cIx$+i8Slm3GP_DU2~6K7LTZ&Ek`9-V<9=KrjO3@eNZB2pm(Os>FeDJg{|M+w%GHC^IgAHN{n^~7u| zAp`8Y>xt{dn-AON5EF(C*8MG^g04!1(7$Jl-ZBMIukKN#Yj39Azig#0I{Cx^to78VPaoDYaOlJtYB_ISenyVy zE+N!AJ&K0(vCaYZ2LD<9hTaPPgS8A`SP9W+)|3U2ZUo4T$XQqb_xPIMDFW4SlC(mXU1uoFj$+xPFu70kd@e3 z$xIIa(xQs9!h7Eo(&qiuY>&1H3kjkT{o-i&1+g@9y!XbY(I-W}*T`M7@2B6~@POUl z4~q_wO5JT(Y*=pA6tO4fuF>5nHL*M8pE$(!m@{$YRMBg&d>%J}cc1;tshsZIy@!PR zPj(ZhF*-}n;AUEqRza7J80@w0${B2xAL^{~y$=1tP5Y{Z=a%NHvW!{;*7}~Sv+43t zDPH-YVV!p!+9uZUnl^r>>fiaq%MS?Bq5}}#-yeC??Dh7J(`j>sZsZ4nF z3;V8`FEDLn3OzhWyYrqAs6zkN2m)psKRRf3zDO>)@%NXrmVNLZH(hl*{r2WZtp08} zK_f8*bbemhZ+ z2G3wkXH1@LI$xxMB7;l~upTZH)?0W^fT>-3KcOiF_e&?Tt7;Bqc9@9k(AdoQ$>wo z@&RrnJMwC&;hb`+;gh%bqw#|hHF*J9R@@wW(Ixcq<4a8EYD>&GC{^G0z46Lli=tFB zSuV$Ey1wZe}54C< z-ETak&8#vxH~ND`Uz;M$_AIlS$hjOC3PTXgGT_Eh2HA^mzWJtX(vvq=%CI@k{N1(+ zw+b1nGb#lPY~{bY0*0pkcJ~0?eb-sf?Zw}QE(B|83e^9y%nbYQs*e6yb4y3G+nvA~ zb0IqhiW-a=GlsRy!K5K?O~$Y(W(+}D0&C`skWn>c$BrGWWe)CMo-U1xVX1KgtzGyn z`>iduRguosMarhqvYK#Dyj5rb!7c>Mq}U3OX@Mu^|DA0az|={kiSEgh_i~KHck}#= zDULaqo{NMLIri`0FAim~rbmz!^T8AKvVG+%$Jm}ftAx@D6mUzfxZ(=0_Rlg?y0EPd z5V2>Qngao^d*?jNS_UBK|NZ!x`Xm94*Fff%Qn{hkt5>rv&mb%2EeC4YRtM;B_Q{BL z`1(QTUn%G{Wy%z`vLq~2xpo%Bi!w%-sDZ>2JWyZ|(=XLj3FX)a zMGBOxv#q6MUBODs$4bw#tqw4K&{5DgP_oKO^_0AUWuF;dM`z7>c7-fEt5ql!^TX6k zh}W`=5rS%%M-72P)Xo+v;B=s5ol(^jc^9ndHmt%YH#F!)T88udcr!JiCNAn5B4LgECsH$Ged1!p;=Oi#2%Qm zvB+XwD$H+Q{MdVhMcu!Bd#et!q|}JIyBAi;@F$SwsWk5FZtH9&=89VD3#3#8U;$BM-ZU0>mm31Zbjm06&vP6D^P1&=b#^Ca zVlF;qUCbO4D;zplA$$Z}M&&M0ocHeJR{%yKE5naPe>W~E8m+$tMDNgxOo!Ki0m ze^j{hkJpL8C9E}N940abpHMtsX=Mw`626wevf_7HmIJ!!%G=E_N6ozdOFk(%+Y~Q|JkeeBWh+d#uWmsM;42RlY5G;aGn9{hvK>5o=mQYlb9=N ztrzZg#KlJG6s2j7S`_ov?Yjg|4BRVW?87R7QavbfiwCyl_;T&XVnPSD8_rs|P-noeP|%(V@zY^#HmIQ7*klw9o2Ox;wXxU`aX z>ANWnjhSunz z@;kDc2FJ4~88@X-AV=u1%ra90Q{t^B^2?!gSFv35O)FG4=;&OFKzj;_PL`B5e{ z=Rp8^D9NJ;7QWEs&FwBb%=c*BhfjtmzacF{6OICGnC83ARuYvlatidHF|$ zEr$&^uC;qwsj$ep)|nQ8i;fH|DN=JQXL_%ldb3k2I&wUVk}g~wbMCOr_12bI%>)a$ z*r+~e2{K+fqmqa{s;g@$uf(w3&?L~_qIRFK&S2J*Ic&=s%RhjRDQg!cS6gW`NG&EY zTP{DNw!DtgvX)x3$`CEY3lSUfCF_h_YBiG~xg*h8_uT6HFfCXPXZy{fm@P}|f~bgK zwxx`(h`F+=hIXB>U6m8o`Bc63yUlsWErtOtPPuQ^g=~wXb=>W0i(-~TO*GpV`pa0s zzqD46?JHZd^>7RAKbWssMI&Fk@vMBsQzJ_0p&aeu5i!@vGeRs5>(Yio`RGv7GnDb?<+2LP2CwP(_3aW zRGt<{XtNFmYJ~$w_OLApl0R)=&QP|+@fFzWwcx}-wk1!Wp7JwtINHUXuC^#8_zgF$afs zp^OA|1}ip7@0RPF`ba#^fdZM}mjv!&`z}hlakNIA;+1P_`lC`+5iN>2IWd;{q^c8W zT5J$?iFB;!zqhbgCz}Vqd>19%INEO(ukw~w$09^ZzeI~-&g$7iH?)_!zWjh5!IYL9 z$6DILo|t*&m+zva8%O)iqL}3-TG+yu#0(PSqN#tnZR;GZcSHtc1Y_J!lR>1iN{gIq z3)1+4Za#}rqLq>dtc2_pZZDNnNz9mZ%{Dc~(82w6Ge?GrePSi14-KK7J-V}&_OKPn z#!@tV4JhA5DRIOpH`@|hshlWw&o<3aT2xvqOu1x)ZvN$wG@`f8Ow@@nME6XMpo<45 zQAT=qO$q`z*=$pmp51vQ+n34AlrJRVsF=k!nfCi!vx@~)IhQ^$LiQIR&1~7SWvtZ! zDkt1}>#dr%4k+kXQ&X$Iiy0DS1YH>Q?$wi$lT?PhI{~Z;iN)lUKsjC1;$}@%l$9M5 z3JXuMmh*&!w9|+Y<23)hYn|twdrr2N-qTM%t@^Xop=8i)f8D{F25gCW3Zel9CK7Y&grILm$(H7v9XjcNbZ*WQib` z!Z~;DT*}VQR`vPXjta>jH&Y5Y;$~x7;-14tgw1;nm^}_0Ij*;wH4crfaSZEJaXN=n zr%nmK9Ll%4mX8${IdmN>1;OO3wGwUEarF{C4-zvGXop+f7B~So9U|ZUUbi??)1&MZnU!{((JMPT%7pabp0`J9ciEq zzwG6L))OA4e$6kAXQ`;J5!P+rE&T0RJ6&9sLkp`@X>C(it84j##sr#O-h*x^&!ms? zDk*o@KAYFFI|9hEVh#&+*kDscg#5&e6J-^`r(5?4*Ov95*Xk4LOuPN}#xc*h*ZCE6js9Bxut8mNQCV9kJy4ZK^GXwG?e;y2 z*Rj$hB}c}Z9agQ9WtJ1Oco#cSL${QtQ+2!JGpY*P!s+Jn4BC+ITBUz~r@588;hyH$ z$x`9-qO){YMVcyuWXb;4E_72_I;~a^v^!=TI($}2eP+3n*?i(_TRsjSevevP6WCFK1&q=U#i!|s>SVUZIbhK4DNmK{J}SA{ z4)vKUYSkYMl*DW~@SVGJuduMnH6a^;pr5NwpzQ|^2c)1Ay4g;XEi668wp^#Sb}Gfi zO%{inq>t9t{&enKPj*ybk$3C_Ev&S^ERY)DZN5_*BL>jeE}M8Xnyn@PhT)|HO(B%u zYCmvu_sDKUvto63v$hf&nxd(!!Lb{UzmS#D$L2VrtyE8EkW0%A4h~Gm2%{=%&&Am8 zCdPzQ!PSQA*z~Z$rw!extg@Q547j5Zrt4-?hP>i3daKUf$%WE4`VZjkbe*aJae(*4 z_%v$<6!ylF_vP;jOtpEK6D4Kz@6)!fW&L%0X)wL;)oG#?bpm~VPACurp`f3#wBW6N z*3gxX7uinJ1)UNAlhV?3j`p|ME<1Gh$Vj?Mr_+ty-lF;<+}a#P^`{-1N#ZZqt0ZD? ziX_K58uVQ}M5L8zrK`R=OK-ClooS{QN{Mp%b+u`va+{*4q`Ko;RvHa*1l^t^b;2XB zo3D~Eq)#_`;od>AC-dZ!Ps)nVm_vHwCR)Y ztUlifb04DN<6pB9v(oYYK<}}?q8|s{N$)l|Fi#)-=Sw3ff5&OM%Jvj=`YySEE+02i z)D31MzV_N{;(jTPh}mH`+g_%Mpue{qZ`TXdLzJ{fP!~JVT@J?`1Sj;c<6>J9M2km8 zP>#O)XivzXvOScls|^WJ&Sq9haeDwPI3$F+2YGH)h$LMLH82W|D0ln^98 z6f4KwBV%YmSDkLG9rxNuTu>V&B*fXYx{gG--ENt~!onyeSl!xA&X5q?My+SvI~2p= z$Z@`*hEjCuhC_}0WONs|uzmK33F@f5=V*x_IUE+VQrelZmUdcdlCEE5ha=Pp&rG}ih?P|w_(<7{OobehqK5Sjf zlfzF_SBX%SGQB)1W+gXUD(1L|FuF3#cKxEax3fWZi^qa9>;M^NhLlt7{`IWI;dq{k z{OxpkL@jH{aHg4Zj0qzST+3I5R#H+z$B>sJX`4#8EdVBs#zh7P(b(2P>Kp352>^Jn zUgxXn)DiQc5e~ilhNFNfoO zj<0!_uBhHfzmIUvIKd+SD`GEIt$SNEN?p1pAX3bp?W6#hnnkYK_3lF?PF7FJPajd- z_7CZ^Zu{w~F6xs#(69J7dM`DvdWkCc{=oKfIGxAQ|Gi8X=B?0Q%Liy!*jcvMHZVx@ zx|GtJ5xc48e~YN@*e=8Vgj6#x_vA_Wi85-swMN_~W~tAwqc%#&=*wCpiZTDAKhdof z-_kd6`{{}3B5{~W8X&_^*2IVg@wqke`{~-URdjIa<2(nOqbW)^e@-P|JWEfsZlM*i z`{{Sl<)W}LZfpeYsS)+`_oxE;G-e--J^WwsT9$SblY3rB$tm%s>@THsPNnsm<#1Tc zO6y5UEpu90k}fvIyeh@H`YOs_`I`QZ`Xlw)`X)Wnw258{-bq_i^Tfxqw4Hue|D*Wa zt|gDs(N%Bqv`vmCfhhNX^k+J{>`5BE``@Cl--y^_x|Y$tt7a|5{`5NSUh*&%=6+7C zP3D$7NwNg5(mKqJF2v|mpIOQDOV^>2o~#sz`sCgXbYR&twDY}(Y0XP_ijTejd5jKy z{=E1c7cs{dXsjux|97f@h>LYO+PM{E*oJ~QJ0*OjuR`P(Aa7xT-EVIzwLNW2$UA&ybkf$%mBK-p|4o)3y*mX z{pfoAemwVS`qkpGcnx0bDrvokvMr*5f&#Y;O97`WGf?_vhYlSwom}RHW7!smqYXkM zBB|faPtliYSI||p1I5)yZ56o3b6A}e$Ko}3E#AXf5J!rXSb3$)FGu^!z-cj~YM>m_ z)!%W_JP5|o3J~FdTb`w-f=1I9O^#bWyauoBeZ!xf7Ia#l5v0>~M6#uNk&=<&_yYPK z6*Ep6C(q$@HgJz~uKy!F-a1%ZkKQ3E?-r04hoVLtB$*-68n|lqrlx=Z1okMt3H;T&{MW3H_-;%T+Hlw&Z&-Y*b2Uh6_e7FWG4+`(mL)PeWJ zd#lY9gJm}2?*1~66?211F$1N3^R8VT>jg{y2oA@aghqCy>Nfku=A8xajo)DpbT!fC zG~#X-8@SYG2CDkaA)%CFNBW#PPdwQ~N;H2wVi^B;#22PyKwhSnV*_rWWBchn2To5z*&2o9#sA(k4 zJIx+4iGoA;0_hy@g1$ah4)ql2K}~e-wEV0mBk)SYB09#mH*VZ08(edxzYJVDYeKmIGYi;+H&(R5qg(KwUc`EGu6}PaJ)tJfsJ%|gzL+{Sc3P&d)oru zXlPhRH&n?gV`7CPWp(9ni)98%cNOW$r|VsfoKaV>7Kh^S6;?%<(a<52!1hjAhiW|M;uf7Kh^<5Cp3_ zw25wss9<|s=eH5XRQ~fEShWVfAh*-MxFkjrjiEe^+f7)?7D=scJS?4|@rtm-*$LqAWwbK3% z|3q`^Hqf6VkBf`CsReyxyaum5`uTI>d)Xpu@Fa@r){z;uWy=<`Tx_`8=z_v34;nPc zWfvQ`)iNU*r&R7FH#e7U83JJ=XU=0S4##^yg!#+=K|OZ7FD~kKe`JZ-0*030xksW) z=s!_=#n<4q_Jj<^U%$XC@Fl(e!OuVcOruAScAHfOZWS}IHRdc`Ad6dPPG^GtE*5ng zzHh0xfFV{VeJ|#q*#oPQ;<b7EAEJ58xh5v66bi0 zUL_EfQ(9PV{rdH6%V3=cPP~D&I2`YTNOa-PUyBPEVs+BSZ~kHSz-pv;u5jmCn^9{^ zM$Pz*O{)wcV@?BHY)1>-+rsUZ8GQZq*Jg8?jaXXe0TZv|`Pv*!fGjS{x!TUGMw*z> zm%1i(RMxSy%E0JiPntA|?Qsu^Vs>Osvn9X&^{?rdUw&aNbEMWevqze4;H2wWi^K7K z#_9XYw(_tMy~emQ+-s%c9?oJz%x!GTaqhhHPF+b!iR^0dmezUL^ts$RbNm8W<>Ve6 zOV6OJmZgX4DXR=bF^7e^^#&pG@WT(o#b7OScI?=}wzzfX_z#v=S?YxX7&lnvi4!Nf z-6{i7%(2n#ua9)|%{SB0qeo>I#jhhs8!}`FO`STG?Qt)P zZgxwn`T=!0($dm&vuDqyojZ53Jsm*c%a<=Vx!Rdo>AEr3JiuBUj_)z`&Sz~}WnA-n z_U!SPRR)S;u07*=b%x*l?stl_L|~nzSz$RNrigtG4#(FRGUXQPeL)|SK=<(}Tf?H8gP{8(>vvOreEp6P@rrh~g*5Yt{10+5TzkDuh8CbpA zdRpYBO`B-SlqocJ>{yRjWgv+8j~CDOh{a!P`3 z)UW38G*6CCkd`xyGA|g(T85H9(vcb?7>=4YZJJx=EZai4&s=XmnOrSTJ@pjr-Mg2y z%xP+BqR&42%yj4InVqQ{H~T@>;&8MHaw8_+`bSDj??~H3x6yL+238ugqn>%@8MeoB zc(l)K*QxtZQi_@ zUViyy*77V~vCLq>f(5$e%a_xrQKQ%%b1Z{lxa(aqXCZ5GINAUP=E~nLru57dlckjl zdI6*^j~Fq+D^?jOirJY;BlfuIrkg~!BQY_N?J);;H?xW)!zWSip;K6k!|8lrU@jOm z&?HV|dTrghm9@+{c<>-S`skyq<$1hjnE_nwS6_XVrca;F_LzgfWC&b{|vW=_n$ePg|VLu!@_on{baf5HHeCe5(8g|6R}-h zK~cpu^`2Qd&$whILiw|1DQA1}{xe4_IMPqXXiZB?ix?mBHi}|yId9UD+c8>a)8I%~~{ZR}EdDcU3Qg%*n)AfcJkCJvP_`d14;+ zB}~7xGsOJhgAWQld-gO%{cPR&@PQ%Jj|wJi7w!0Qweam553v?UOTYquw&f%hl(WpJ z(N_`O^arBsL58**5b}3Rh`xN8sJ4P4!h&hexJ=4Uj$#LR9(3WZee`|Gxv;}c#_Eme z2P=U1(P!4X&t`Wr^huOL{us)FprwmaZ~Xed!jDTm zKO=>sp7U*jzCV1NimT5NMRg;3>?5Lq6WFsVfT&-*lj!GfC?q(D=8VszoK(-pNiYO8 z`>_wqBG;Gz1R-0_hBAVFveBhZO-)6G5szxd7N%&nJC=2I6j)h&7}9!RzxmB?6vv;@ zr?$L9_8&8aM*V6&YjL!|^6e!CA;+ZKC^>#PLVJa!N+;WTJ>?%aK-+1E< z(|IK(CFq7;b^{H#WH#HQ4VtniQ2qFO#YcOTd@j0_v;D4c`gkGOe!sHeq8pq#{>&K1 zvX~B)oS}V1r-?%KzvB=38!!6B&T{|jM8l>~Q%f6txvhll^bD8(=5I7`#27QH3Lz^6 zWnpj-@M2B+&wu{o@k%20@V+^=0DTR7Fw%@KtiOZ1oRXlCDhGF*H7O-6SvP+6?=&N5 zh^6MrXHDX%AES2}Z2ax$P+; zNfi#K!3{xg;bEC^qwoY*&VP|cOrCBgWLR1l4mohW&Yjy)_v^6iSk{(ee2z6cfXjWYq4Lbuf@<-n zyMSwb-NN^+gbdG5NysoTC?PEk#J=*%E8--g&c>!?ZaME-?QFH6-+|J*(rP0BcRHmR zRsiKorTuMK=nfkzc z#!M@zRSmB1=;ulIOOaa1pr#HtQqA$w_m}RMBDJd0_g8bg+54-o&Zc3g3D+8aT2j(V z-w1**Bi-V%OAn>1bUNKvO5I{a#Pu#af?)+^)3BTXF#J}tzg7A;ojk;ljtSu@2EAJ8t5SUzs$W+#SNrbnhUJmo7XMd(Ma1jQ zx>jgX%W?NwJT`3C;ZVVQuRswx! zX_OlvI(g%tKlW%Y_qkpZsB+E{(*q&_5E+Erb<-PS8(3OfsdaSpcpQt@NRO9352V%< z$A_2hp{`s1&Gy(nK5F-;6nwhG?D)FN7MlI7(ns;6KN$|faFh++&TFCq;k?k{YTI$K zjU@LFf4Gvrja+M_XlC{4WfCQf2ZCKyRfe0E94P%`EEz3j$&w`kL@w<=cP2K?u`6pd zI|JMmIak}rt+(E4Q_#4x;)|)QtTbI1s3iuMDmJwz+v6RKA~T8Rq#M0w!(Q<|bj9{5!rt5yPEM(l{$J;4UG;0}i=kxg zhf8(MLvK^x(O0rP?jyLNiXw`)n>`})R+$70q}J1DZKYOGDtKV;c&UJa^myZOmR8w# zyi}+_?s%zyaeTL*UbgxhEgy-*1W{XI_^C)ceOlUPa<$=N7v$9oHeGDM-ZwfTSp4Y- z7vJ~@UHa?CDKjg>Bub=cLdZ(v$UvIiWeJ8-F+|nb!%x5!kZ%dlAL9TpCsih7c?#XH=9`3diKRas+8p84XS!E%07Xxl=^gj2z#p|tXcX6k!sIOYG)Knv^*A;0;1qSf!w%;9M? zvUfb&X&VH(ezo9D>O0^Ggxccg=Y0jKEUe$*!OqMx0uJilM z0CzeJz+)hu?UDs|Oj}WIq~M|dy?y(3)BB{PCF#aanBUQV=@B6pO5nOzMV_QY&-wY!Gs;9_rKdlkX^>D_Ehhg35q5^nYMd!92} z&}#ynd$ z0bxb|veXnb>bAl5vLz5B`pd@Sm8`50M~{biBaY{G9Pffv2GJ2AG&YCzXVJ%Hg$7*W zhmXY@1K!(KUl~gQ%emES*RB<(Fv_hsVZ@kgEsd`zf#58Hv|1UCl43fc4^|fnAFe58 zEd#eq%cR?;_w2Nj&dSOXwrts=`h&wz1HL$05lVoX-6-|Tnj)nor-YM-chFBCKTl`t z-J1g(NFV_A&(#G~*VwA}cdsLQ$b}ok;q63E%phuQRt$V$>==vmV{LCN3Cwnj*qR$} z1o0Wn(v!}Sw}oEF7?<|wqUp|Jvdo@baNSv8Z83bH7R<@FUL_rf^~HB_#Os#d*c^|A_LA?Xt?Un%oc?V5nBowi9qNZ&wA)B(HcvI z47VCJ5MEqXz*+`6+cHCJmX%1D_b8~Z9OCF`~-5z>ZT$ngGt7yeJRnK`NEWvNh7+gV@i&T3 z>!Ek4|}GG3OaSEpx0fehim-P>*gV5o3na zxa;nx%z@*ndz!f=21o#bORZF+%Lv?R-$;D zfL6qe)J+Ui>0M@*&PA=;4G=`b1t8~+!BQXI`ZewP?gJkA_5g@b55M9L${aA3x_7s> z#0YS$UcFizZnOuA?pam_aTIr5f1bv4a&lrGH!y*oy2Ja+Y{;Q^frTYYmbfLc9b<)9 zX;KZC{-!i*rbOSTKC)vS?Oe5l&eW8$y&Px3SpS%7?xo}&{lw7)w%Y{yt;pa~``uwY z*d6O5PntAIK;cPSDV|!ubaHZH9@3{9y>PGnj2Lf#xypO?>_IA>Th7OkyF1)8TT|gm zORI$916v6F>Z+6ZY%fPGS%W9hs2RVZu1VcxMT~M%aHrMuivheU1T@{@61yX2<1I`l zsC6*|N0Ug@uyNx?@osOg-(|$sv^Ye+Tbj<%eto|>Z}V5&1-Ahr)5E6Ut{3t|{moJ* z7Gz{knShA#-PlUQl!AB%x<>Atme|>=R5*g^1W_aVw!iLREdyE;GZFz#pFT~`KmWYj z&q-}W)Cfe4SzAg82c=~-LQP2l?f>aZI=W*mkAmw#R2pN%L#N$FVG&WXk!gU~21IPD zjE^O@xx1i!u}WK&CoI8mhpo~vRh6|ui{9uL@6V;Z>p!Kk zf}QM{zyOn2vW8qjLoS;`@##6TQE4O2h*&8{z#aI)aFi6&Ny>@Y)62R#gE!nB40&J} zOHI_<2repE2V27*WhIqDn;=ld(LHp0&rei(mfoT{KZI;Jy?R zBv>VRNWtfgLKBYMM5CjlMbF65EG|dT->8M<%a?b`TFcI0I!Rv5<)H zWc+kRp{4?92wZiENucz;!$s?x+;b3-&}vt_0B$rUx!~a_NW+APT}k|K1aDts?!fFs zeMQX3=0YWs)vH%~_1sXz4MQaM@_*&P#Ry?%Wo4R~n1 zlu_$B^K&^}SxnWXM_J1nSk;IwtjrH1GA@b2BV)zw_Lj5yn@F(DzOEb)0>q1lBY`YS z5Q9L{M`wJ$zBC*q#q4A)#T?xwgueW%`7)PU0a;vMef1TJ_I29%Iot1(!zgS#va_>& z<|4uf0ECNSJy*nQ1n~xROFA>?PGewRB4&1chjX<=>oO8u9k%IhbSYdDVhi&0&!%cN z2A$b`a}~1_zVXRzg5}DOS{Ad`CyZkl4Wf1=v&^4Cj=OQ#PK#r=7`1r%>8EM^`t?31 zWVO9zP+UzEEgBLaxJ!bC;0_bqgS!QHcXtnNg9jVjg1ftGf_rdx7~CcI->M_=7>$6ag#e^F=y>qcIpGKjMnwPHW1<*>jR8ZevUxl?cf2kv z)@~zb$tx2%GzrWKrZgyn+rWy$_>;)z%4&yAVW^d}N`QX}9zIaC&B)H?k`ZK_fx+s4 zv1-=FMMPiUZqZtIpP7zY{rCoJkDG|{nfBbY|D^I7*kpqFB}UbEyf@bZ*nTRMPpo!4 zvq!)R5!#ytc;*G$ns1Ni#qI9y3M(pNP*N{f1?*Xl%5T`qpd%lEzStgN%tJuWJwJsWsQYf)S8bTeq51V5L=iTEoPmiuH!W= zEbuz5yBZOw!@Q1|^Tfsv1D?z(O2C*rJI+k=TXuQ!o@u{>)^Iw~5{MDFd?l=_9YfA-CS3ZKhFO zTQmm~uA|8dvdy4Uhm>F&*g!pHITal>sFKiA2gDIyoY*W&6zh)x7ZMx^l|okeZ@QGM z(!9H4ROGkKK?4mJE+;?D7cj59LGQ9edwW<4miSIO;D&;mj<#_hhk>y5^nWBg>DZbR zN!q#7&-J%DD7YzJc3``&;U6Q&i_-$WmD=D_cYh^SvGuK*X<)y8X|b5E{h5jP?2u+5 zmgzsVN*TDBW@O9P7|vU+=}47^M9-(b&Pdvia?hf=5%`AYZLU=buCSQQk=<>R+vnVY z_8+mlh#x@tScqz5qLzA%k=Uf|H}l&6fzZjerKP38+ZBf8yWigDP-WzcT zynCCiAtquA^EyATM#p>hz03v{udA?dkQ|;er$0(y28>JZky-twH@-Wi3R}?#UUGL^ z(=Y(0Rpmg7yOvAX!h)tC#KVqEMtIT_9P4f~X59dr0rA9=+SriPUz9X5%46dHnbfeN z5IF9fVDeUeRFW)}&GLuFea7k5JuP4+DJeuNOvd82j~~2Zg!??+j8@!lvEb&F3)-(U zW|SN9wtt=bn8zADR&TDKHL-e6L>%*DxFXjtpLz===>ST-fNYY!gY58XyPQVn zCdJFPA7fs4WEro7#1j}+tG!mUJ=Le}5O#CVsrIJ|umu->`tqtn`*Dt(Hfzt#b^Ti# z@|G11HF;74pGY_OBc?nF5VxP)t?aFU6%fYKaQE< zuU%WUhbgx0sCE9;ZAZI23}?!&U{iSV<5RX9!jJ-vwfO9yD&0zr+FdX}-Huc)?e9*i zlZ~*+8JZrSE=GRxQW@?(!N1o=Wns54)LomtMA|&4A=7FoOL8NcD-Og(m`V?#4-J_P zU(024yRMe+lIN?jcvNUZN3d5Hn+7PPD(Zw0h*m}V5(|@zw6<(!-EevjI&YW0ywfme zP@dKVn6?fw11Wz!2)6?K`F`<+wL51fz_8S0dFiGcRLr4bt^SM=Wd1F1&f~ zV?BpKX;5IFi6d_OzDQXO{VXNzW-#xteYSEimD4_p#bg*G4Pb~YypCu4EmHfmlmxhC zS{QpjhbW&*i>(YFN6G?T-9cPx&lG7(UzH zvT(Ph$f7Bw^jqM#78^f1yJ`{K=Xb22rzJ8+=v(}+YHG>qN5Qs#>Xkjr<;XJ+Rw@gI zgcdeO>D^ycrGW3@zdK+b-jA7Ury?cDydkQOo|9ui~{J>z0_| z{NPhm^AL2kZS@P$?uY}3l`m8Das(RGi?5ybR(x38>1xShB!GuUNoA`>aAp19&c$Sg zn3d-5Nb|S(d^?M^zG_(TY54Z*CocuPkE&{(g}v~6bbeZFtD4OaN(0sIo8yJH1}wxu zUH5(U=`{YVbn;{5_PZdx$@j4}$xr7)Vl$Zom5_WgK6P}dNYdI<`Q!F|#m|g4Te8#@ zPL*OgO$!`Tg%w@Rb3AS2=*#-m^m_+P0hD_!&ikzu<&!`TRd6gPhc(C0(()`j)=PDh zSO(^xTMO(Kp`4r?5Z3+U-}KwRZ4s|qS0s}~9Y38{Q;Uj-#tOCBKZU<>r)lZ}>rO>u zLv4|W$?W3_NY?dQl-Bo3#^5et*FWWQAlYo`c0?})>J)BG+8Mz0ei`>1646qab$9At zCPnf7Dh6Tw%yNE|&!i$CI5po?&d4F|)CqF8?zeu5P3J?*3Tn#O$Ir%84=s_Vv$C{? zIip$LsvE0txz_k>&5h<>Q?Y5+_*UZ)TgIO!O*Al7k>1_mZi(bv>lUvefps^GNSBRY zal@z)#>qGS>KFmle0(w&%Pwi|eESuTj?T?z%*ZZjw}yUiHaOhB<7q6FRU!1s z9tRIGeBNm`Ah+}fK~HW&%D;-@Hj)?7s^3^uI7=PUuBp4lt%y{pcuf1CbujAC<{qCp zfRTTO%R7KS^fj<3z}rh{?LB^hj&|Tj={v8)K?Hyev@$ z88^2^XkH{!ZK~+E)tqhaKk|Wz3yoKeVOQsi+q~WGJ#LN+8+MJ-HmJ&@EHX?j zk<(h4W5pckK8r(zkaxC&iHt0)?^#`Ten`rz&P~NT*(K{5`YF-R&1RV~I%fb*3Pug> z9u1QjYnIQYlo#Nf0vaz@6>=`M33#qo_;FRbs^ndY>8z23@5xri+}>!ww@~~TG+Wbm zOZq+YwxQ|QUHXGVB2P1fxWD!+>INJ?u!9$Rlh4j9H@SJS!_ue_Q%_R3z1BenKE1Ye zVCD0j*Q)a2lIEuZ^0cmO-m`ZL8$4#l@9mk}+Kfp3k=u@8 zo1aIJ`x2V^zH_#Zu?{<@J`NP|vt_saMC<@*WL^zXh?d_a!DJv=5*r@V7QpA+IoD^* z;ihH`<+K2Gp}4fPqZ?H^A6zCg>bTY=xv`2_Apb=7v@%aFkaWetlWciPsEYoJWxIUQ z$m*Dz2AN||bSzp5KNzaPl{LTeg9f}^D1kCjl|}!+&!KOhvw$lyV9exP*S22lj<&qS zLscsIPCu*E9IEgKh%ozbEpJKo@M(<}iIIsYJ0oXW8YwhK)BRp8`s)OLH={dv`yo6} zDu}$q*FNi6c>HHmM0hNYr*K<<1l)CS2n3~ z;pL2X6wBT@q+3R?sJCAtxGcUuk&PeXz3zL5NUvTgI*F-(=ylBS8WkRnVK$Z)0=EV0 zo-BI%zS-0bYnw$i{dH@G(7fsD#eHCF0`VIr>d4RZZ!WD0UB+9iBKEFDRN=y$*z@Cj zTJ`D}Ha9(}T(4f?uN`0J9o{`WJg}LM|Lv(L1ZV`RIE|7joOw3B>%!=Rk2UaDr%mfI zHY`5qI+G~C01FACm7zgb>tyUx`5pL^RA*|DoH2DdG?*K~WQH9X{?k~Zx!L7hLvAh( z?OP1AcRe5F+rMAgEmYLR=WDO!Q%3H6vx6##I?{^HoRL0W?E@ffxBwl6R{Kr!)?ST`{0l_SU_R(x|f7wXN#lF6ZodGwhRM3X4L&If3PiUP(AgKvjZw*{}Il zi~-#Fx4cy3ij+FO9r^Xy_PMKny=8IghUNT7y=)1m+EcExhH?4?XfYlOII;O}dVJ?;X^|F-7w6H7c@COEn@6KT4Vo zv0WURTi}%zf~LD1h3h3c6ns_;|F~@Bf81fgI5n^kp+@jxT|P6Kh04_o(cKwqdX=jI z0gj*@NF1<{oGxT*wyYM*`rn4`@y1TNc5SW!v4{Xdy%>NZ|&V{$-H>O)`9f} zMC4KFU?3Mp{WyEsF|Cr$uo%+$tJM(fCyHD#EfB&#sj-m3Xqb~o4!W(j| zZDU&ch)7Mwv1l7#v*yLdN$*Jd3D|^RbB+5(gobC{&-WMpPN_CvZZ?R1j@1DHw%8&q z-(^+uhC##j<>|GhW%{qV&`8}lb!M8@KjH+t))5c9RG_OjkSl-|a$K9B5oDZFUF^{} zSVGpPKxjj2XYI22Z?+)w5Ff=lUwABFJA z8CB5M(4|2l^jP-}Wh1yxTu^ghZ4WWJBoWe=x z@GoviJqU|k)H7||VK;cpk4rEg8nCk@d$fya_S}x<1OqloPtnt$>H0$anTjgSY5Ly0 zFqA~Zp2f!Jp;jmu`bK#EE~O@F3|CzT(_u>c`)*5oZqU;;x{f6I)6iAfG@{x| zwXQ~cZE6G8w>)x}dIND-T|T?!!=+y7Sm(Xb+|@QpxE_$@+k$|{7?x4>P+nb48w~!& zo1EgUAansq00s8x)-U21c<$|ZXDRt9Qfh-p^}myhw!Ro|%;hMLj9m*wRAJPi)T**_ zc_rg4ncr@b`pLK#cuxCLv(9YFd4ivM9%SD3j)2Jw{c@&|xHnRtbB5c!%44(7gzDe` zYN^ELwIjw+MUUgF(c#sg;aQiLC;ZIqb!~CMeI5PI@!%IpA^J}I!X2V_48(lf0n|45 z>&LgvGoMZpMQS#y2JoF z4ed3YC8zx1cW<{5wxS=r&}o|oFQ@}gNbeQZN*exX9yYyprE4+s@L_3vDdhJOPwggr zXjXnk993)UvE~u+v@HJhC`M6CZ4tL!cVRm5pgC%Dvj#q4VKyBCoB8%*~I3A@u5gcdS-4%7n4kIhSWIyoAx)06T8Fkh&U*|u$QZE7d zh>UifE*o~792XI^m4JH3eas52f$4*Ejb1a>>ew5W&OZk-6cc9`+ZtX}kK(Pl->()+}i0qcucYcs0 zF26ph$xWjdnq}0gu~7z zBjMLfmErO@1c&txibjJDD(dc~ymflAHCsdFw?~*q@uUccf$5&Xn51i7R z=e?bI){`Ve!WTRf&AlG$!w%n9xg+x+o-jT!;p5Ld;b-&Fp&^;3jCWsXOC!D+d1e}! zZ-RHZ`uznKd1Q@UI1OjzMT7}yK_I1NV`qZU$kc5X-`?e7`{Eba*rujzyoGQhx%3qb z-?Se}7}?uwd61E^7l%Q_ZQwir0_IPs z9lH2Lg+}=E36T0~425pRZYGqKj&Gq0Y2f?Vz0s`45vhYk+!m0eU*X7Z5jd{*#O z<*F!>r}pZ7yvWKjnF#r1hjgv)$iS%!f47>05Jlb}79NRtDXdpsHusz;H0iQr`i39`w`vTCq zSU5Ko;v&)y(>D7*?KAy*#`SQJL~9DER=X3kvS-{P}|ZBsjd z{@=$yn!Tk*yqca(2OoT;QO5n{0r;@K3*F}QvCVr#ol&Bg?Cycl|Gyte!Q7Mr!Zr?E zMC-r{`2TiM5$CEztMfNp*tSeKeW_nlg|LUCW1hO(RU)AC&1RJT~=D> zU)I&R>LV{=7Z5sM-**DJWBo7I#Pu+{vX0J4%^5odMKHj<_j#r29~gBc%)+{Q4SMK} zX}6*)yBSsI<)MZ!b(qxqg?m2b5^Tnv5#hLhxOflR-rDj=_8mI9(M_M(YNQ@$chRLh z<=OlQT6Z_)8q4@HE!ZFReUH5A4FA94Ri2iC6MjNk`+&AzZZe8S=J`Bfz)ZE=W?$a_^#OQAn8R1Dz z%3K4=NQWo9UP6>FRivB`bx{)qETZ2`^KGA=|!BIc9O#`}C2d8;5>&*gfQ=&+-KnKX+~@1}s9 zd7cv&ZSZwJ&xTl6fFiNgEjkzQ%AQu-ZFvkwJi9v?%_yP~*qYrr8y8$j_W-dp|H#F+ z?vb8X6K%oI(`t`y=E!sGwV8T_eqI=Ip9rK6X;&@I{W}G&GU>q|@z4CSNp|y%IJ%3z zdXczCc%B9L8aM2kEOh3u}|;^S4>V1?w1jW-}% zZz?ceuPx171MW^5UcJ<)PXs{>=VHfM_4!z`^7Wwm*zDv_&wL4q-*8jXeouX9n<}Oa zR08@K_Y}*yb45UaIc4~`sqro`bh~eqw4c!bVL_T&o-9heNx*{Gf^=o-bKQ|Mg`Amu7>th^x}+ z{M>QM>w#60_r+toMP7lS=FsdaRhdZrPs3eY_47U+={cp}R|#HBE#pjMac4vP4wOu|j%uBfU?t2Y~f zu=P&x#1>Dz(xk0DRBF^PcV4`;vZv{tfs+*3xWM&GmwdF!BNDZYbO?V)Xe5u~qB@15 zT!rD7mAw%Ge%}|y310{xd*|aAZ5G8ENnQSTA~Q)mk4*TWgx9AkF{-GB$Q+ukC}LkO zaIBuHH|{WYz>>!OIS4owc%P<$0O99PBXA2tsIuoR$Pnsi5Bw5{JtR^1aLTpb!_)w- zb4N0&hYT9e=2m})C1nHO{cK1n8FR;_yZ-g~?h1+h4X$$OxCf{29K~KD*YOrC-@B-7 zgt0NXMD^bUL`#l8lVXT&)>x9{Mn+k?xnd^s+;><4vW?$R29{YJX^dP!`ZLlndY)2< zQi=uoLKxtLzUGd3ucDvI z`xSHiH$T}d`z<%j)_)WSnSQT|I-Qw02IpP_$i~d;$X-lQNRVr**yGu~w;PHQ8UMo; zTw;qI=W0W#65n2YqEYMJyFAWMhlY=@oW2lxzK*(W{^}}=Qzn=yP~iIAffww*UKU9x217>9;&d>gvK3q%Uc7HA^Z4@dEiT@Mv2t(aD+5LdlE*S<~U&2F{!df z9BtJ4uwhFwYg;utER?n}Xs#d#$V(ZVs&*9fT?TX_IQ-BwW3x4y(Zj z^)GbJDyToBUu|ccc5yZxb%=gx8f|ks#j35X4TeL;`w*Nlm2yxh2xKM5)aO-hUo3It zc`{?7W_%r!le@kgVOH*XeG!uxU;B*$jJRuqTOHx}gFYrl%xyqYFkFc0NpLUOZ3Qf%!>t|?MORQ1|+POzFo3eQk zS@OGe1%tt`8Y&5KpB_1tAlS!ktB({@nG+G|SNju1pZuPuC@fe(5+k!P+jbmb#@$n$ zZSj*EZeE84DaAxD#?8}rFOmG)6s-G%Bwhx&(Hh~4UKy!vi$oP~+!w(0lFGA-y4Up% zMVR5%RWw)`w633sbMyNiBnCE;EFv-+hLgL6hYBWvc#<3p$eB~yY){2A`fOZopgN+B z1fV*`MUy(U57n%Oew`;WHsP*#UlETY*n)h$dd7m}r6CByXfn0MRv>cMt3#yApI0672M2ypxO1k<9tufiAwcv|}pWf-o`iQ?nlk>rv0J<9Hm)Zot<@(A(JL#Un- zb^Dl`=EbN@Ugj|d0&CMKsh(MRDt_H|@#iH}T_L}GZ4AP{y^tCs{g$LoI?CUN3v;7$ zoo#JGkpP!r)OM)3Aqlc84ShVaiX%FkZa`k%fFM{JmZa7E3e84p&s-3N>-Eg-n`_+u zhpa_Pwg9E)Eh|g*jmLJ}rNs%N-Gj)}MV-WEUIT+wmwbJ)7q%plaVX~XZMkWAU1U28NhTSH>Z<&n3x&+x}~#{1}m-=_o&W}c+x4Jt%KJi!&iLA>Pg|L8L53U;`yEDq34M15BJt}orHzsi12fBajP{E2 z%_m%1t(tEz%tlh?fd@sf4*;2`}>|)ru;g{DkPjFPn^ES zsI`Wbb+o8(G8uAfZ&|cfF{GZf$%;c(M~nlPXsLfj ze8-)UbZk}o{d+WLv|dFun^+t+3Y)Q7fOQMQNMvFObvXpT6Dea?*YPS%kpIVE6x+3- zZ2(s5NHQZUTU=fAr4U3l1o5LdOGd+~c2JzAAYmmBL;EZlq0(~!E6FNDy#|Bd8S)ko zg*Dq|ZVNdh$UjJGh2@!HI*v+}MBq^XxEB^iJDRN?_hN2>g4#yo%v@B@cSA@^5d05w zRwOMv8HMshC68$$zp{(6zb~K3(+9Dqzx~1L0YJ%i}^24;f%r(Ui*Y>@WFN8fYN_=Za79q zV4_~fj*1g-Z@ev=P>wc*54(&-Ubo>Ev%bBbaM7ZW7GM!MtC6eK^D1OjY`49WjF{C_ zI~LWVo-mykFh!Mf3*l?be)S9?b4uRmIM1q_?6PmPyNvrlkhZ(*oE80b*j*1#NaVdq z9e-x5+$S3cdnrgpjb~S`FquU9vlETJM*~Mp!^(R=7X(m11wH2>yK?GG%c0;se33*+ zb@zmgCP)FX#x^RJ=X2M^_ zNUSqW50Gb)9`@+*`u(v_sn&R_M;O2L-S|!>4GE z`jax8wl40iFViejx;MD}KjTKoZ+uN`sT3BUX_O=gQ}vU5I!dDM0PPbwxoCe!BZUA! z_QF6eW%ww*GM(>BI?1DIFjsxPD-$7(@SSYr&tKS~mbWISYxqSm)s=Mjr)p1;BF^m! zKqN3J`z`}=ycBrw?0JVeRZvKA$kb*M3FPVJ>BN$QLqOV8<_-Y@WKEVdKSa zGfI}h;?|m$1eo-eYdpq(`q%oh^R8&nFbH>AW`7}Meiage-bG5pwo7t43&ZoXv1UA4 z{3JxW^VBsusg^HqRNfi+ul^TMSoLt`8BJ_c`J%Vmzg_>MzsG`mug9uZquXk2m zc{LChz5pHWJj=u09%P~@xZ01H@4_iBpF32EnlE~MV$=lV{@7DScJTW`lMR4cGntV- z7DM0slGFOS{s6Ee&xadB50ZX-RhL+v$mPU~sq><7FqY-Nk&-cDJPSxwcdV%)iS{t3 zd_UC;B6k@~)9nOXf#@~&*_Y`LMo=krCJ8da=!Rz*Qu7Y{e&;*w24yj@U3GgG-QvX0HzIcZo{S(9&Wel^unr5ztDq_?X)Y zeg27jCcOCTV(S~-mVA-}$ohTLGt4lC_t~=WQoQ=e?LAuOH*}q{e?No)NA4WK=ccyz z2Wz@qQD#vxNyMGgbQ&UMK(;iiI%3$i*h(o6if)gs?!%oU&yMZ3Jb#{k#-H_By5G{H_s)vUG;NfCY$nVeoS)k~Zg7WksgW(t7uF!>_Q<0Cj1)f=8m6+sLbVB<$_u5p v(Vuw1k($;HAa{~1EY`3-0Cf}ni+ Grow Controller - + + + - +

Grow Controller

by Smartware Computing
- +
This Grow Controller is an IOT device based on an ESP8266-12 module. The software for it has been derived from various sources and where copyrights have been identified, they are listed below.
  • The composite work is Copyright © 2018-2021 by Smartware Computing, all rights reserved.
  • -
  • Library for WEMO emulation, Copyright © 2016 by Xose Pérez
  • Libraries; Copyright © 2001-2013 Free Software Foundation, Inc.
  • -
  • Libraries; Copyright (c) 1997 Silicon Graphics Computer Systems, Inc.
Toggle Button
@@ -36,20 +36,6 @@ Uptime: - - - - - - -
NAV: - Home | - Config | - Scan | - RSSI | - Current | - Factory Reset | - About -
+ diff --git a/Firmware/Resources/curr.htm b/Firmware/Resources/curr.htm index 67119b1..a18b94d 100644 --- a/Firmware/Resources/curr.htm +++ b/Firmware/Resources/curr.htm @@ -2,11 +2,13 @@ Grow Controller - + + + - +

Grow Controller - Current Sense

@@ -25,19 +27,6 @@
- - - - - -
NAV: - Home | - Config | - Scan | - RSSI | - Current | - Factory Reset | - About -
+ diff --git a/Firmware/Resources/curr.js b/Firmware/Resources/curr.js index f59731f..458b553 100644 --- a/Firmware/Resources/curr.js +++ b/Firmware/Resources/curr.js @@ -10,7 +10,7 @@ var axes = {}; var totalSamples = 400; // Width of the graph for (var i = 0; i < totalSamples; i++) rawData[i] = avgData[i] = 0; -setInterval(RefreshStatus, 250); +setInterval(RefreshStatus, 500); // ------------------------- diff --git a/Firmware/Resources/index.htm b/Firmware/Resources/index.htm index 02da567..168a91e 100644 --- a/Firmware/Resources/index.htm +++ b/Firmware/Resources/index.htm @@ -2,133 +2,16 @@ Grow Controller - - + + + + + + - +

Grow Controller

@@ -137,19 +20,44 @@
- +
-
92°F
-
8%
-
74°F
-
ON
-
65°F
-
12.3V
-
1.2A
-
0.0V
-
OK
-
-
+
--:--
+ +
--.- °F
+
+ +
--.- °F
+
-- %
+
+
Heat
+
+
+ +
+
+
--.- °F
+
-- %
+ +
+
O
+
C
+
Motor
+
Off
+
12.5 V
+
1.2 A
+
10 s
+ +
Low Water
+
Pump
+
On
+
+
10.7 V
+
90 s
+
8 s
+
10 s
+
+
@@ -174,33 +82,19 @@

- - - - - - -
NAV: - Home | - Config | - Scan | - RSSI | - Current | - Factory Reset | - About -
+ + + + + + + + +
- +
GrowController by Origin TechnologiesGrowController by Smartware Computing Firmware: v0.00.00
diff --git a/Firmware/Resources/index.js b/Firmware/Resources/index.js index 2093fb5..ec3d477 100644 --- a/Firmware/Resources/index.js +++ b/Firmware/Resources/index.js @@ -1,9 +1,9 @@ // -// rssi script +// Main Page period status update // -// var mySite = 'http://192.168.1.23' from myip.js +// var mySite = 'http://192.168.1.23'; // from myip.js var url = mySite + '/state'; -setInterval(RefreshStatus, 250); +setInterval(RefreshStatus, 2500); getIt = function (aUrl, callback) { var xhr = new XMLHttpRequest(); @@ -17,6 +17,14 @@ getIt = function (aUrl, callback) { xhr.send(); }; +function ConvertTempToString(tempC, showF) { + var tempF = tempC * 9 / 5 + 32; + if (showF) + return tempF.toFixed(1) + "°F"; + else + return tempC.toFixed(1) + "°C"; +} + function RefreshStatus() { getIt(url, function(data) { @@ -27,18 +35,72 @@ function RefreshStatus() { state = "Off"; document.getElementById('version').innerHTML = obj.version; document.getElementById('name').innerHTML = obj.name; - document.getElementById('state').innerHTML = 'Output: ' + state; - document.getElementById('raw').innerHTML = 'raw: ' + obj.raw; - document.getElementById('sense').innerHTML = 'Sense: ' + obj.sense; - document.getElementById('toggle').innerHTML = 'Toggle: ' + obj.toggle; - document.getElementById('reset').innerHTML = 'Reset: ' + obj.reset; - document.getElementById('countdown').innerHTML = obj.countdown; + //document.getElementById('state').innerHTML = 'Output: ' + state; + //document.getElementById('raw').innerHTML = 'raw: ' + obj.raw; + //document.getElementById('sense').innerHTML = 'Sense: ' + obj.sense; + //document.getElementById('toggle').innerHTML = 'Toggle: ' + obj.toggle; + //document.getElementById('reset').innerHTML = 'Reset: ' + obj.reset; + //document.getElementById('countdown').innerHTML = 'Countdown: ' + obj.countdown; document.getElementById('uptime').innerHTML = 'Uptime: ' + obj.uptime; - document.getElementById('wifimode').innerHTML = 'Mode: ' + obj.wifimode; + document.getElementById('wifimode').innerHTML = 'WiFi Mode: ' + obj.wifimode; + // IP Address var elms = document.querySelectorAll('.' + 'ip'), i; for (i = 0; i < elms.length; ++i) { elms[i].textContent = obj.ip; } + // Plant status + document.getElementById('TimeOfDay').innerHTML = obj.TimeOfDay; + var userF = obj.Fahrenheit; + + if (typeof obj.AmbientTemp_C != "undefined") { + document.getElementById('AmbientTemp_C').innerHTML = ConvertTempToString(obj.AmbientTemp_C, userF); + } else { + document.getElementById('AmbientTemp_C').innerHTML = "--"; + } + + if (typeof obj.ChamberTemp_C != "undefined") { + document.getElementById('ChamberTemp_C').innerHTML = ConvertTempToString(obj.ChamberTemp_C, userF); + document.getElementById('ChamberHumi').innerHTML = parseInt(obj.ChamberHumi) + "%"; + } else { + document.getElementById('ChamberTemp_C').innerHTML = "--"; + document.getElementById('ChamberHumi').innerHTML = "--" + } + + if (typeof obj.SoilHeater != "undefined") { + document.getElementById('SoilHeater').innerHTML = obj.SoilHeater; + } else { + document.getElementById('SoilHeater').innerHTML = "--"; + } + + if (typeof obj.SoilTemp_C != "undefined") { + document.getElementById('SoilTemp_C').innerHTML = ConvertTempToString(obj.SoilTemp_C, userF); + } else { + document.getElementById('SoilTemp_C').innerHTML = "--"; + } + if (typeof obj.SoilTemp_C != "undefined") { + document.getElementById('SoilMoisture_X').innerHTML = obj.SoilMoisture_X; + } else { + document.getElementById('SoilMoisture_X').innerHTML = "--"; + } + + if (obj.DrumDoorIcon == 1) { + document.getElementById('DrumDoorIcon').style.display === "none"; + } else { + document.getElementById('DrumDoorIcon').style.display === "block"; + } + document.getElementById('DrumOpenSensor').innerHTML = obj.DrumOpenSensor; + document.getElementById('DrumClosedSensor').innerHTML = obj.DrumClosedSensor; + document.getElementById('DrumMotorStatus').innerHTML = obj.DrumMotorStatus; + document.getElementById('DrumMotorOn_sec').innerHTML = obj.DrumMotorOn_sec + "s"; + document.getElementById('DrumMotor_V').innerHTML = parseFloat(obj.DrumMotor_V).toFixed(1) + "V"; + document.getElementById('DrumMotor_I').innerHTML = parseFloat(obj.DrumMotor_I).toFixed(1) + "A"; + + document.getElementById('WaterInTank').innerHTML = obj.WaterInTank; + document.getElementById('WaterPumpStatus').innerHTML = obj.WaterPumpStatus; + document.getElementById('WaterMotor_V').innerHTML = parseFloat(obj.WaterMotor_V).toFixed(1) + "V"; + document.getElementById('WaterCyclePeriod_sec').innerHTML = obj.WaterCyclePeriod_sec + "s"; + document.getElementById('WaterCycleOn_sec').innerHTML = obj.WaterCycleOn_sec + "s"; + document.getElementById('WaterCycle_sec').innerHTML = obj.WaterCycle_sec + "s"; } ); } diff --git a/Firmware/Resources/myip.js b/Firmware/Resources/myip.js new file mode 100644 index 0000000..085cb81 --- /dev/null +++ b/Firmware/Resources/myip.js @@ -0,0 +1,5 @@ + +// Normally provided by the application intercepting this request, +// but for debug it can be handy to fix it. +// +var mySite = 'http://192.168.1.10'; // from myip.js diff --git a/Firmware/Resources/nav.js b/Firmware/Resources/nav.js new file mode 100644 index 0000000..c21b324 --- /dev/null +++ b/Firmware/Resources/nav.js @@ -0,0 +1,20 @@ +// +// +function NavInit() { + nav = document.getElementById('nav'); + var txt = ""; + txt += ""; + txt += " "; + txt += " "; + txt += ""; + txt += "
NAV:"; + txt += " Home | "; + txt += " Config | "; + txt += " Scan | "; + txt += " RSSI | "; + txt += " Current | "; + txt += " Factory Reset | "; + txt += " About"; + txt += "
"; + nav.innerHTML = txt; +} diff --git a/Firmware/Resources/navigation.htm b/Firmware/Resources/navigation.htm new file mode 100644 index 0000000..0942763 --- /dev/null +++ b/Firmware/Resources/navigation.htm @@ -0,0 +1,22 @@ + + + + + + + + + + + +
NAV: + Home | + Config | + Scan | + RSSI | + Current | + Factory Reset | + About +
+ + \ No newline at end of file diff --git a/Firmware/Resources/plantmodel.css b/Firmware/Resources/plantmodel.css new file mode 100644 index 0000000..79ce1bc --- /dev/null +++ b/Firmware/Resources/plantmodel.css @@ -0,0 +1,249 @@ + \ No newline at end of file diff --git a/Firmware/Resources/pointer.png b/Firmware/Resources/pointer.png new file mode 100644 index 0000000000000000000000000000000000000000..2573d93b639b782b9fa3acd800a7bb0fd6865e5f GIT binary patch literal 418 zcmeAS@N?(olHy`uVBq!ia0vp^!ayv>!3-otox^>B6k~CayA#8@b22Z19F}xPUq=Rp zjs4tz5?O)#%mAMd*FS&$oIG{r+qZ8|o<7@s;N-2__l})76IFlY*ojl`-o0DB?X+9b zk?AW>ojHFctLtc3?UAovzwSPGx_Q>|Bgam8l^i*A^z^S^zk;fc9y@V5t^Me!vzMx- z9=&nv?!+Z09zA|?Ealo5nS6B$#=+rhn0C@67gjnh-EO;k)iSjkX4lJHLY`QhNwwX*>k#Afwu!Q(x_Y&> znq5^-4z#-6wRkIjT#>=@l?97T-{#8#3oIX*u*^AEAjYK9KDV{ubm-hxhLeSwEO*|$ ikvs1n_vw4L#QiLLjh5*jHRl7J$KdJe=d#Wzp$PyIPt*JW literal 0 HcmV?d00001 diff --git a/Firmware/Resources/rssi.htm b/Firmware/Resources/rssi.htm index e1ec8b9..3a92689 100644 --- a/Firmware/Resources/rssi.htm +++ b/Firmware/Resources/rssi.htm @@ -2,11 +2,13 @@ Grow Controller RSSI - + + + - +

Grow Controller - RSSI

@@ -25,19 +27,6 @@
- - - - - -
NAV: - Home | - Config | - Scan | - RSSI | - Current | - Factory Reset | - About -
+ diff --git a/Firmware/Resources/soilheater_off.png b/Firmware/Resources/soilheater_off.png new file mode 100644 index 0000000000000000000000000000000000000000..30f4b17a36c8ec22152650eb5f98c2dc9d6d4c2b GIT binary patch literal 488 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 Hu0mjfWBO$h literal 0 HcmV?d00001 diff --git a/Firmware/SmartSwitch.sln b/Firmware/SmartSwitch.sln deleted file mode 100644 index 25a4150..0000000 --- a/Firmware/SmartSwitch.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27130.2020 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SmartSwitch", "SmartSwitch.vcxproj", "{C5F80730-F44F-4478-BDAE-6634EFC2CA88}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x86 = Debug|x86 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C5F80730-F44F-4478-BDAE-6634EFC2CA88}.Debug|x86.ActiveCfg = Debug|Win32 - {C5F80730-F44F-4478-BDAE-6634EFC2CA88}.Debug|x86.Build.0 = Debug|Win32 - {C5F80730-F44F-4478-BDAE-6634EFC2CA88}.Release|x86.ActiveCfg = Release|Win32 - {C5F80730-F44F-4478-BDAE-6634EFC2CA88}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {2245D551-F0E5-4A91-B978-826DFEF0D6BF} - EndGlobalSection -EndGlobal diff --git a/Firmware/SmartSwitch.vcxproj b/Firmware/SmartSwitch.vcxproj deleted file mode 100644 index e730035..0000000 --- a/Firmware/SmartSwitch.vcxproj +++ /dev/null @@ -1,163 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {C5F80730-F44F-4478-BDAE-6634EFC2CA88} - - - SmartSwitch - - - - Application - true - - - MultiByte - - - Application - false - - - true - MultiByte - - - - - - - - - - - - - Build - - - - Level4 - Disabled - true - $(ProjectDir)..\Firmware;$(ARDUINO_ESP8266_SDK)\libraries\esp8266\src;$(ARDUINO_ESP8266_SDK)\libraries\Wire;$(ARDUINO_ESP8266_SDK)\libraries\ESP8266WiFi\src;$(ARDUINO_ESP8266_SDK)\libraries\ESP8266WebServer\src;$(ARDUINO_ESP8266_SDK)\libraries\ESP8266httpUpdate\src;$(ARDUINO_ESP8266_SDK)\libraries\ESP8266HTTPClient\src;$(ARDUINO_ESP8266_SDK)\libraries\EEPROM;$(ARDUINO_ESP8266_SDK)\libraries;$(ARDUINO_ESP8266_SDK)\cores\esp8266;$(ARDUINO_ESP8266_SDK)\cores\esp8266\libb64;$(ARDUINO_ESP8266_SDK)\cores\esp8266\spiffs;$(ARDUINO_ESP8266_SDK)\cores\esp8266\umm_malloc;$(ARDUINO_ESP8266_SDK)\variants\espino;$(ARDUINO_ESP8266_SDK)\tools\sdk\include;$(ARDUINO_ESP8266_SDK)\tools\sdk\lwip2\include;$(ARDUINO_ESP8266_SDK)\tools\sdk\libc\xtensa-lx106-elf\include;c:\Program Files (x86)\Arduino\libraries\ESPAsyncTCP-master\src;$(ProjectDir)..\..\..\Users\David\Documents\Arduino\libraries;$(ProjectDir)..\..\..\Users\David\Documents\Arduino\libraries\ESPAsyncTCP-master\src;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\xtensa-lx106-elf;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\lib\gcc\xtensa-lx106-elf\4.8.2\include;$(ProjectDir)..\..\..\program files (x86)\microsoft visual studio\2019\preview\common7\ide\extensions\mbsqucm2.qs1\Micro Platforms\visualmicro\ide\libraries;%(AdditionalIncludeDirectories) - $(ProjectDir)__vm\.Firmware.vsarduino.h;%(ForcedIncludeFiles) - false - WIN32;__ESP8266_ESp8266__;__ESP8266_ESP8266__;DEBUG_FAUXMO=Serial;__ets__;ICACHE_FLASH;F_CPU=80000000L;LWIP_OPEN_SRC;TCP_MSS=536;ARDUINO=10807;ARDUINO_ESP8266_ESP12;ARDUINO_ARCH_ESP8266;ESP8266;__cplusplus=201103L;_VMICRO_INTELLISENSE;%(PreprocessorDefinitions) - - - true - - - cd $(ProjectDir)\Tools -MakeResourceFiles.cmd -pause - - - - $(ProjectDir)\Resources\*.*;%(Inputs) - - - - - Level3 - Disabled - true - true - true - $(ProjectDir)..\Firmware;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\esp8266\src;$(ProjectDir)..\..\..\Users\David\Documents\Arduino\libraries\ESPAsyncTCP-master\src;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\Wire;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\ESP8266WiFi\src;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\ESP8266WebServer\src;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\ESP8266httpUpdate\src;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\ESP8266HTTPClient\src;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\EEPROM;$(ProjectDir)..\..\..\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\mcovr5xb.z02\Micro Platforms\visualmicro\ide\libraries;$(ProjectDir)..\..\..\Users\David\Documents\Arduino\libraries;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266\libb64;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266\spiffs;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266\umm_malloc;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\variants\espino;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\tools\sdk\include;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\tools\sdk\lwip2\include;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\tools\sdk\libc\xtensa-lx106-elf\include;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\xtensa-lx106-elf;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\lib\gcc\xtensa-lx106-elf\4.8.2\include;$(ProjectDir)..\..\..\Users\David\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.4.1\tools\sdk\include;%(AdditionalIncludeDirectories) - $(ProjectDir)__vm\.Firmware.vsarduino.h;%(ForcedIncludeFiles) - false - __ESP8266_ESp8266__;__ESP8266_ESP8266__;__ets__;ICACHE_FLASH;F_CPU=80000000L;LWIP_OPEN_SRC;TCP_MSS=536;ARDUINO=10801;ARDUINO_ESP8266_ESP12;ARDUINO_ARCH_ESP8266;ESP8266;__cplusplus=201103L;_VMICRO_INTELLISENSE;%(PreprocessorDefinitions) - - - true - true - true - - - cd $(ProjectDir)\Resources -\tools\MakeByteArray.pl *.* -o=..\Web_Resources.h -pause - - - - $(ProjectDir)\Resources\*.*;%(Inputs) - - - - - - - - - - - true - - - - true - - - - - true - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - VisualMicroDebugger - - - - - - - - - - \ No newline at end of file diff --git a/Firmware/Utility.cpp b/Firmware/Utility.cpp new file mode 100644 index 0000000..622c469 --- /dev/null +++ b/Firmware/Utility.cpp @@ -0,0 +1,29 @@ +// +// +// Utility functions +// +// +#include + +#include "Utility.h" + +static String macToStr(const uint8_t * mac); + +String GetMacString() { + unsigned char mac[6]; + WiFi.macAddress(mac); + String clientMac(macToStr(mac)); + return clientMac; +} + +String macToStr(const uint8_t * mac) { + String result; + + for (int i = 0; i < 6; ++i) { + result += String(mac[i], 16); + if (i < 5) + result += ':'; + } + return result; +} + diff --git a/Firmware/Utility.h b/Firmware/Utility.h new file mode 100644 index 0000000..7242004 --- /dev/null +++ b/Firmware/Utility.h @@ -0,0 +1,11 @@ +// +// +// Utility.h +// +// + +#include + +// Returns the MAC Address as a string object +String GetMacString(); + diff --git a/Firmware/WeMo.h b/Firmware/WeMo.h deleted file mode 100644 index 2c91f17..0000000 --- a/Firmware/WeMo.h +++ /dev/null @@ -1,262 +0,0 @@ -/* - -FAUXMO ESP 2.4.0 - -Copyright (C) 2016 by Xose Pérez - -The MIT License (MIT) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ - -#pragma once - -const char UDP_TEMPLATE[] PROGMEM = - "HTTP/1.1 200 OK\r\n" - "CACHE-CONTROL: max-age=86400\r\n" - "DATE: Mon, 22 Jun 2015 17:24:01 GMT\r\n" - "EXT:\r\n" - "LOCATION: http://%s:%d/setup.xml\r\n" - "OPT: \"http://schemas.upnp.org/upnp/1/0/\"; ns=01\r\n" - "01-NLS: %s\r\n" - "SERVER: Unspecified, UPnP/1.0, Unspecified\r\n" - "ST: %s\r\n" - "USN: uuid:Socket-1_0-%s::" - "%s\r\n" // %s = urn:Belkin:device:** (Echo Dot 2Gen, Echo 1Gen) or %s = upnp:rootdevice (Echo 2Gen, Echo Plus) - "X-User-Agent: redsonic\r\n" - "\r\n"; - -const char SETUP_TEMPLATE[] PROGMEM = - "\n" - "\n" - " \n" - " 1\n" - " 0\n" - " \n" - " \n" - " urn:Belkin:device:controllee:1\n" - " %s\n" - " Belkin International Inc.\n" ///< must be "Belkin..." for Alexa discovery - " http://www.smart-family.net\n" ///< - " Smartware Grow Controller\n" ///< - " Grow Controller\n" ///< - " 1.0.0\n" -#if 0 - " http://www.smart-family.net\n" ///< This causes it to fail to send completely -#endif - " uuid:Socket-1_0-%s\n" - " %s\n" - " \n" - " jpg\n" - " 100\n" - " 100\n" - " 100\n" - " icon.jpg\n" - " \n" - " http://%s:%d\n" -#if 0 - " \n" - " \n" - " urn:Belkin:service:WiFiSetup:1\n" - " urn:Belkin:serviceId:WiFiSetup1\n" - " /upnp/control/WiFiSetup1\n" - " /upnp/event/WiFiSetup1\n" - " /setupservice.xml\n" - " \n" - " \n" - " urn:Belkin:service:timesync:1\n" - " urn:Belkin:serviceId:timesync1\n" - " /upnp/control/timesync1\n" - " /upnp/event/timesync1\n" - " /timesyncservice.xml\n" - " \n" - " \n" - " urn:Belkin:service:basicevent:1\n" - " urn:Belkin:serviceId:basicevent1\n" - " /upnp/control/basicevent1\n" - " /upnp/event/basicevent1\n" - " /eventservice.xml\n" - " \n" - " \n" - " urn:Belkin:service:firmwareupdate:1\n" - " urn:Belkin:serviceId:firmwareupdate1\n" - " /upnp/control/firmwareupdate1\n" - " /upnp/event/firmwareupdate1\n" - " /firmwareupdate.xml\n" - " \n" - " \n" - " urn:Belkin:service:rules:1\n" - " urn:Belkin:serviceId:rules1\n" - " /upnp/control/rules1\n" - " /upnp/event/rules1\n" - " /rulesservice.xml\n" - " \n" - " \n" - " urn:Belkin:service:metainfo:1\n" - " urn:Belkin:serviceId:metainfo1\n" - " /upnp/control/metainfo1\n" - " /upnp/event/metainfo1\n" - " /metainfoservice.xml\n" - " \n" - " \n" - " urn:Belkin:service:remoteaccess:1\n" - " urn:Belkin:serviceId:remoteaccess1\n" - " /upnp/control/remoteaccess1\n" - " /upnp/event/remoteaccess1\n" - " /remoteaccess.xml\n" - " \n" - " \n" - " urn:Belkin:service:deviceinfo:1\n" - " urn:Belkin:serviceId:deviceinfo1\n" - " /upnp/control/deviceinfo1\n" - " /upnp/event/deviceinfo1\n" - " /deviceinfoservice.xml\n" - " \n" - " \n" - " urn:Belkin:service:smartsetup:1\n" - " urn:Belkin:serviceId:smartsetup1\n" - " /upnp/control/smartsetup1\n" - " /upnp/event/smartsetup1\n" - " /smartsetup.xml\n" - " \n" - " \n" - " urn:Belkin:service:manufacture:1\n" - " urn:Belkin:serviceId:manufacture1\n" - " /upnp/control/manufacture1\n" - " /upnp/event/manufacture1\n" - " /manufacture.xml\n" - " \n" - " \n" -#endif - " \n" - "\n"; - -const char EVENTSERVICE_TEMPLATE[] PROGMEM = - "" - "" - "" - "SetBinaryState" - "" - "" - "" - "BinaryState" - "BinaryState" - "in" - "" - "" - "" - "" - "GetBinaryState" - "" - "" - "" - "BinaryState" - "BinaryState" - "out" - "" - "" - "" - "" - "" - "" - "BinaryState" - "Boolean" - "0" - "" - "" - "level" - "string" - "0" - "" - "" - "\r\n" - "\r\n"; - -const char METAINFO_TEMPLATE[] PROGMEM = - "" - "10" - "" - "" - "GetMetaInfo" - "" - "" - "GetMetaInfo" - "MetaInfo" - "in" - "" - "" - "" - "" - "" - "MetaInfo" - "string" - "0" - "" - "" - "\r\n" - "\r\n"; - -const char SETSTATE_TEMPLATE[] PROGMEM = - "" - "" - "" - "%d" - "" - "" - "\r\n"; - -const char GETSTATE_TEMPLATE[] PROGMEM = - "" - "" - "" - "%d" - "" - "" - "\r\n"; - -const char HEADERS[] PROGMEM = - "HTTP/1.1 200 OK\r\n" - "CONTENT-LENGTH: %d\r\n" - "CONTENT-TYPE: text/xml\r\n" - "DATE: Sun, 01 Jan 2017 00:00:00 GMT\r\n" - "LAST-MODIFIED: Sat, 01 Jan 2017 00:00:00 GMT\r\n" - "SERVER: Unspecified, UPnP/1.0, Unspecified\r\n" - "X-USER-AGENT: redsonic\r\n" - "CONNECTION: close\r\n\r\n"; - -const char HEADERJPG[] PROGMEM = - "HTTP/1.1 200 OK\r\n" - "CONTENT-LENGTH: %d\r\n" - "CONTENT-TYPE: image/jpg\r\n" - "DATE: Sun, 01 Jan 2017 00:00:00 GMT\r\n" - "LAST-MODIFIED: Sat, 01 Jan 2017 00:00:00 GMT\r\n" - "SERVER: Unspecified, UPnP/1.0, Unspecified\r\n" - "X-USER-AGENT: redsonic\r\n" - "CONNECTION: close\r\n\r\n"; - -const char HEADERPNG[] PROGMEM = - "HTTP/1.1 200 OK\r\n" - "CONTENT-LENGTH: %d\r\n" - "CONTENT-TYPE: image/png\r\n" - "DATE: Sun, 01 Jan 2017 00:00:00 GMT\r\n" - "LAST-MODIFIED: Sat, 01 Jan 2017 00:00:00 GMT\r\n" - "SERVER: Unspecified, UPnP/1.0, Unspecified\r\n" - "X-USER-AGENT: redsonic\r\n" - "CONNECTION: close\r\n\r\n"; diff --git a/Firmware/Web_APConfig.cpp b/Firmware/Web_APConfig.cpp deleted file mode 100644 index eedda09..0000000 --- a/Firmware/Web_APConfig.cpp +++ /dev/null @@ -1,253 +0,0 @@ - -#include - -#include "ProjGlobals.h" -#include "Web_APConfig.h" - -static String EncType_str(uint8_t encType) { - switch (encType) { - case ENC_TYPE_NONE: - return "open"; - break; - case ENC_TYPE_WEP: - return "wep"; - break; - case ENC_TYPE_TKIP: - return "wpa psk"; - break; - case ENC_TYPE_CCMP: - return "wpa2 psk"; - break; - case ENC_TYPE_AUTO: - return "wpa wpa2 psk"; - break; - default: - return "unknown"; - break; - } -} - -void HandleAPScan() { - // WiFi.scanNetworks will return the number of networks found - Serial.println("Scan ..."); - int n = WiFi.scanNetworks(false, true); // blocking call and show hidden. - Serial.println("scan done."); - if (n == 0) { - Serial.println("no networks found"); - } else { - Serial.print(n); - Serial.println(" networks found"); - server.sendContent_P("HTTP/1.1 200 OK\r\n"); - server.sendContent_P("Content-Type: text/html\r\n"); - server.sendContent_P("\r\n"); - server.sendContent_P( - "\n" - "\n" - "Grow Controller - Scan\n" - "\n" - "

Grow Controller - Scan

" - ); - - server.sendContent_P( - "
\n" - "
\n" - " \n" - " \n" - ); - - for (int i = 0; i < n; ++i) { - // Select, Network #, RSSI, SSID, BSSID, Channel, Hidden - String bgcolor = (i & 1) ? "#E0E0E0" : "#FFFFFF"; - String record = - " \n" - + " \n" - + " \n" - + " \n" - + " \n"; - - record += " \n"; - record += " \n"; - record += WiFi.isHidden(i) - ? " \n" - : " \n"; - record += " \n"; - server.sendContent(record); - // - Serial.print(i + 1); - Serial.print(": "); - Serial.print(WiFi.SSID(i)); - Serial.print(" ("); - Serial.print(WiFi.RSSI(i)); - Serial.print(")"); - Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*"); - } - server.sendContent_P( - " \n" - " \n" - " \n" - "
NetRSSISSIDBSSIDEncryptionChannelHidden
" + (i + 1) + "" + WiFi.RSSI(i) + "" + WiFi.SSID(i) + "
" - + "
" + WiFi.BSSIDstr(i) + "" + EncType_str(WiFi.encryptionType(i)) + "" + String(WiFi.channel(i)); - record += "YesNo
 \n" - " \n" - " \n" - "
\n" - "
\n" - "
\n" - "NAV:  " - " Home | " - " Config | " - " Scan | " - " RSSI | " - " Current | " - " Factory Reset | " - " About\n" - "
\n" - "\n" - "\n" - ); - } -} - -void FactoryReset(bool forceRestart) { - Serial.println("Factory Reset Configuration...\n"); - wifiConfig.factoryReset(); - wifiConfig.save(); - if (forceRestart) { - Serial.println("Restart in 3 sec ..."); - delay(3000); - ESP.restart(); - } -} - -void HandleAPConfigPage() { - String name = wifiConfig.getName(); - String ssid = wifiConfig.getSSID(); - String pass = wifiConfig.getPassword(); - String url = wifiConfig.getURL(); - //String ntp = wifiConfig.getNTPServerName(); - char _onref[6], _offref[6], _autoOff[6]; - - snprintf(_onref, sizeof(_onref), "%d", wifiConfig.getOnRef()); - snprintf(_offref, sizeof(_offref), "%d", wifiConfig.getOffRef()); - snprintf(_autoOff, sizeof(_autoOff), "%d", wifiConfig.getAutoOff()); - String onref = String(_onref); - String offref = String(_offref); - String autooff = String(_autoOff); - - if (server.hasArg("ssid") && server.hasArg("pass")) { - String _ssid = server.hasArg("_ssid") ? server.arg("_ssid") : ""; - String _pass = server.hasArg("_pass") ? server.arg("_pass") : ""; - name = server.arg("name"); - ssid = server.arg("ssid"); - pass = server.arg("pass"); - url = server.hasArg("url") ? server.arg("url") : ""; - onref = server.hasArg("onref") ? server.arg("onref") : ""; - offref = server.hasArg("offref") ? server.arg("offref") : ""; - autooff = server.hasArg("autooff") ? server.arg("autooff") : ""; - //ntp = server.hasArg("ntp") ? server.arg("ntp") : ""; - if (ssid == "reset" && pass == "reset") { - FactoryReset(true); - } - wifiConfig.setName(name); - wifiConfig.setSSID(ssid); - wifiConfig.setPassword(pass); - wifiConfig.setURL(url); - wifiConfig.setOnRef(onref.toInt()); - wifiConfig.setOffRef(offref.toInt()); - wifiConfig.setAutoOff(autooff.toInt()); - //wifiConfig.setNTPServerName(ntp); - wifiConfig.save(); - Serial.println("Settings saved."); - if (ssid != _ssid || pass != _pass) { - // They changed stuff that requires a restart. - server.send(200, "text/html", "Configuration Saved! Restarting in 3 sec..."); - Serial.printf("Config saved. Restarting in 3 sec . . ."); - delay(3000); - ESP.restart(); - return; - } - } - - String modeText = (isStationMode) ? "Station mode
" : "Access Point mode
"; - if (server.hasArg("ssid") && !server.hasArg("pass")) { - ssid = server.arg("ssid"); - pass = ""; - Serial.println("ssid: " + ssid + ", pass: " + pass); - } - if (server.hasArg("url")) - url = server.arg("url"); - //if (server.hasArg("ntp")) - // ntp = server.arg("ntp"); - server.send(200, "text/html", - "\n" - "\n" - "Grow Controller - Config\n" - "\n" - "

Grow Controller - Configuration

" - "
\n" - "
\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" -// " \n" -// " \n" -// " \n" -// " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "
Node Name
SSID **\n" - "
Password **\n" - "
Update URL
NTP Server
Auto-Off (time in seconds when non-zero)
On Reference (sense above this indicates power is on)
Off Reference (sense below this indicates power is off)
 \n" - " \n" - " ** Changes to these will trigger a module restart.\n" - "

 Check for SW update (module will restart if updated)
\n" - "
\n" - "
\n" - "NAV:  " - " Home | " - " Config | " - " Scan | " - " RSSI | " - " Current | " - " Factory Reset | " - " About\n" - "
\n" - "\n" - "\n" - ); -} diff --git a/Firmware/Web_APConfig.h b/Firmware/Web_APConfig.h deleted file mode 100644 index 720b8de..0000000 --- a/Firmware/Web_APConfig.h +++ /dev/null @@ -1,12 +0,0 @@ - -#ifndef WEB_APCONFIG_H -#define WEB_APCONFIG_H - - -void FactoryReset(bool forceRestart = false); - -void HandleAPScan(); - -void HandleAPConfigPage(); - -#endif // WEB_APCONFIG_H diff --git a/Firmware/Web_FavIcon.cpp b/Firmware/Web_FavIcon.cpp deleted file mode 100644 index 77ec92d..0000000 --- a/Firmware/Web_FavIcon.cpp +++ /dev/null @@ -1,39 +0,0 @@ - -#include - -#include "ProjGlobals.h" -#include "Web_FavIcon.h" -#include "Web_Resources.h" - -void HandleGreen1x1() { - Serial.printf("Green1x1.png\n"); - server.send_P(200, "image/png", Green1x1_png, sizeof(Green1x1_png)); -} - -void HandleFavIcon() { - Serial.printf("favicon.ico\n"); - server.send_P(200, "image/x-icon", favicon_ico, sizeof(favicon_ico)); -} - -void HandleIcon() { - Serial.printf("icon.png\n"); - server.send_P(200, "image/png", icon_png, sizeof(icon_png)); -} - -void HandleOpenDoor() { - Serial.printf("Open.png\n"); - server.send_P(200, "image/png", Open_png, sizeof(Open_png)); -} - -void HandlePlantModel() { - Serial.printf("PlantModel\n"); - server.send_P(200, "image/png", PlantModel_png, sizeof(PlantModel_png)); -} -void HandleHeater() { - Serial.printf("Heater\n"); - server.send_P(200, "image/png", Heater_png, sizeof(Heater_png)); -} -void HandleWater() { - Serial.printf("Water\n"); - server.send_P(200, "image/png", Water_png, sizeof(Water_png)); -} diff --git a/Firmware/Web_FavIcon.h b/Firmware/Web_FavIcon.h deleted file mode 100644 index 8b4967a..0000000 --- a/Firmware/Web_FavIcon.h +++ /dev/null @@ -1,13 +0,0 @@ - -#ifndef WEB_FAVICON_H -#define WEB_FAVICON_H - -void HandleGreen1x1(); -void HandleFavIcon(); -void HandlePlantModel(); -void HandleHeater(); -void HandleWater(); -void HandleIcon(); -void HandleOpenDoor(); - -#endif // WEB_FAVICON_H \ No newline at end of file diff --git a/Firmware/Web_RSSIGraph.cpp b/Firmware/Web_RSSIGraph.cpp deleted file mode 100644 index 1eed749..0000000 --- a/Firmware/Web_RSSIGraph.cpp +++ /dev/null @@ -1,22 +0,0 @@ - -#include - -#include "ProjGlobals.h" -#include "Web_RSSIGraph.h" -#include "Web_Resources.h" - -void HandleRSSIPage() { - server.send_P(200, "text/html", rssi_htm); -} - -void HandleRSSI_JS() { - server.send_P(200, "text/html", rssi_js); -} - -void HandleCurrPage() { - server.send_P(200, "text/html", curr_htm); -} - -void HandleCurr_JS() { - server.send_P(200, "text/html", curr_js); -} \ No newline at end of file diff --git a/Firmware/Web_RSSIGraph.h b/Firmware/Web_RSSIGraph.h deleted file mode 100644 index 4a5048f..0000000 --- a/Firmware/Web_RSSIGraph.h +++ /dev/null @@ -1,10 +0,0 @@ - -#ifndef WEB_RSSIGRAPH_H -#define WEB_RSSIGRAPH_H - -void HandleRSSIPage(); -void HandleRSSI_JS(); -void HandleCurrPage(); -void HandleCurr_JS(); - -#endif // WEB_RSSIGRAPH_H diff --git a/Firmware/Web_Resources.h b/Firmware/Web_Resources.h index 6d2a2f5..fbc3d4f 100644 --- a/Firmware/Web_Resources.h +++ b/Firmware/Web_Resources.h @@ -1,9 +1,14 @@ // -// Command : MakeByteArray -ESP -DIR *.* -o=..\Web_Resources.h +// Command: MakeByteArray -ESP -DIR -ROOT *.* -o=..\Web_Resources.h // version: 1.0 -// From cwd : D:/Projects/GrowController/Firmware/Resources -// Generated: Tue Sep 28 16:12:34 2021 -// Run script in command shell, not PowerShell +// From cwd: D:/Projects/GrowController/gcfw/Resources +// Generated: Mon Oct 25 17:32:22 2021 +// NOTE: Run script in command shell, not PowerShell +// +// PROGMEM is not recognized by Win32 tools... +#ifdef WIN32 +#define PROGMEM +#endif // File: about.htm // @@ -12,25 +17,25 @@ const char about_htm[] PROGMEM = { "\n" "\n" " Grow Controller\n" - " \n" + " \n" + " \n" " \n" " \n" + " \n" "\n" - "\n" + "\n" "

Grow Controller

\n" " by Smartware Computing\n" "
\n" " \n" " \n" - " \n" + " \n" "
\n" " This Grow Controller is an IOT device based on an ESP8266-12 module. The software for it has been\n" " derived from various sources and where copyrights have been identified, they are listed below.
\n" "
    \n" "
  • The composite work is Copyright © 2018-2021 by Smartware Computing, all rights reserved.
  • \n" - "
  • Library for WEMO emulation, Copyright © 2016 by Xose Pérez
  • \n" "
  • Libraries; Copyright © 2001-2013 Free Software Foundation, Inc.
  • \n" - "
  • Libraries; Copyright (c) 1997 Silicon Graphics Computer Systems, Inc.
  • \n" "
\n" "
\n" "
Toggle Button
\n" @@ -46,24 +51,10 @@ const char about_htm[] PROGMEM = { " Uptime: \n" "\n" " \n" - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - "
NAV:\n" - " Home |\n" - " Config |\n" - " Scan |\n" - " RSSI |\n" - " Current |\n" - " Factory Reset |\n" - " About\n" - "
\n" + " \n" "\n" "\n" -}; // about_htm, 1839 bytes +}; // about_htm, 1468 bytes // File: about.js // @@ -98,16 +89,20 @@ const char about_js[] PROGMEM = { " }\n" " );\n" "}\n" -}; // about_js, 605 bytes +}; // about_js, 635 bytes -// File: Button.css +// File: button.css // -const char Button_css[] PROGMEM = { +const char button_css[] PROGMEM = { + "\n" + "\n" "input.BigButton {\n" " width: 150px;\n" - " padding: 20px;\n" + " height: 100px;\n" + " padding: 10px;\n" " white-space: normal;\n" " cursor: pointer;\n" + " text-align: center;\n" " font-weight: bold;\n" " font-size: 120%;\n" " background: #3366cc;\n" @@ -124,7 +119,30 @@ const char Button_css[] PROGMEM = { " background: #000;\n" " border: 5px solid #fff;\n" "}\n" -}; // Button_css, 404 bytes + "\n" + "input.SmallButton {\n" + " width: 150px;\n" + " height: 50px;\n" + " padding: 10px;\n" + " white-space: normal;\n" + " cursor: pointer;\n" + " font-weight: bold;\n" + " font-size: 100%;\n" + " background: #3366cc;\n" + " color: #fff;\n" + " border: 5px solid #112233;\n" + " border-radius: 10px;\n" + " -moz-box-shadow: 6px 6px 5px #999;\n" + " -webkit-box-shadow: 6px 6px 5px #999;\n" + " box-shadow: 6px 6px 5px #999;\n" + "}\n" + "\n" + "input.SmallButton:hover {\n" + " color: #ffff00;\n" + " background: #000;\n" + " border: 5px solid #fff;\n" + "}\n" +}; // button_css, 912 bytes // File: curr.htm // @@ -133,11 +151,13 @@ const char curr_htm[] PROGMEM = { "\n" "\n" " Grow Controller\n" - " \n" + " \n" + " \n" " \n" " \n" + " \n" "\n" - "\n" + "\n" "

Grow Controller - Current Sense

\n" "
\n" " \n" @@ -156,23 +176,10 @@ const char curr_htm[] PROGMEM = { " \n" "
\n" "
\n" - " \n" - " \n" - " \n" - " \n" - " \n" - "
NAV:\n" - " Home |\n" - " Config |\n" - " Scan |\n" - " RSSI |\n" - " Current |\n" - " Factory Reset |\n" - " About\n" - "
\n" + " \n" "\n" "\n" -}; // curr_htm, 1196 bytes +}; // curr_htm, 956 bytes // File: curr.js // @@ -189,7 +196,7 @@ const char curr_js[] PROGMEM = { "var totalSamples = 400; // Width of the graph\n" "for (var i = 0; i < totalSamples; i++)\n" " rawData[i] = avgData[i] = 0;\n" - "setInterval(RefreshStatus, 250);\n" + "setInterval(RefreshStatus, 500);\n" "\n" "// -------------------------\n" "\n" @@ -318,7 +325,7 @@ const char curr_js[] PROGMEM = { " ctx.fillText('Current Graph', axes.x0, axes.y0 - 6);\n" " ctx.stroke();\n" "}\n" -}; // curr_js, 3615 bytes +}; // curr_js, 3756 bytes // File: favicon.ico // @@ -593,9 +600,9 @@ const char favicon_ico[] PROGMEM = { 0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07, }; // favicon_ico, 4286 bytes -// File: Green1x1.png +// File: green1x1.png // -const char Green1x1_png[] PROGMEM = { +const char green1x1_png[] PROGMEM = { 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, 0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x08,0x02,0x00,0x00,0x00,0x90,0x77,0x53, 0xDE,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, @@ -604,40 +611,7 @@ const char Green1x1_png[] PROGMEM = { 0x66,0x1F,0x78,0x00,0x00,0x00,0x0C,0x49,0x44,0x41,0x54,0x18,0x57,0x63,0x50,0xDA, 0xE8,0x03,0x00,0x02,0x18,0x01,0x20,0xE2,0xE0,0x90,0x6F,0x00,0x00,0x00,0x00,0x49, 0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, -}; // Green1x1_png, 119 bytes - -// File: Heater.png -// -const char Heater_png[] PROGMEM = { - 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, - 0x00,0x00,0x00,0x4A,0x00,0x00,0x00,0x18,0x08,0x03,0x00,0x00,0x00,0x6A,0x48,0x9B, - 0xBF,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, - 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, - 0x00,0x27,0x50,0x4C,0x54,0x45,0xFF,0x00,0x00,0xFF,0x70,0x70,0xFF,0x30,0x30,0xFF, - 0x8F,0x8F,0xFF,0x50,0x50,0xFF,0x08,0x08,0xFF,0x18,0x18,0xFF,0x40,0x40,0xFF,0x58, - 0x58,0xFF,0x20,0x20,0xFF,0x10,0x10,0xFF,0x97,0x97,0x00,0x00,0x00,0x7A,0x54,0x91, - 0x5B,0x00,0x00,0x00,0x0D,0x74,0x52,0x4E,0x53,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x3D,0xE8,0x22,0x86,0x00,0x00,0x00,0x09,0x70,0x48, - 0x59,0x73,0x00,0x00,0x0E,0xC2,0x00,0x00,0x0E,0xC2,0x01,0x15,0x28,0x4A,0x80,0x00, - 0x00,0x01,0x04,0x49,0x44,0x41,0x54,0x48,0x4B,0xED,0x53,0xDB,0x16,0x83,0x20,0x0C, - 0x13,0xAF,0x73,0xF2,0xFF,0xDF,0xBB,0x36,0x69,0xA1,0x75,0x3E,0x78,0xCE,0xF6,0x68, - 0x5E,0x0C,0x10,0x92,0xA8,0x30,0xD4,0xBF,0xE1,0xB1,0xBA,0x8F,0x66,0x35,0x28,0x0A, - 0x68,0x01,0x07,0xAD,0xA3,0xD2,0x91,0x1C,0xD3,0x13,0x68,0x94,0x38,0x7C,0x38,0x63, - 0x6D,0x01,0x5F,0xC0,0x67,0x70,0x50,0x8A,0x28,0x59,0xC1,0xA3,0xC4,0xE1,0x56,0x58, - 0x62,0x2D,0x26,0x72,0x3F,0x4A,0x59,0x2D,0x52,0xD4,0x8A,0x92,0x06,0x1B,0x31,0x91, - 0xB5,0x98,0xC8,0x4C,0xA3,0xAA,0x72,0x89,0xD6,0x8A,0x92,0x06,0x11,0x95,0x6D,0xDB, - 0x6C,0x49,0x6B,0x79,0xA2,0xEE,0xB7,0x52,0xA8,0x65,0x4C,0x6B,0x75,0x89,0x6C,0x25, - 0x5E,0xB0,0xEA,0x3E,0x82,0xA5,0x25,0x6A,0xA6,0x11,0x41,0x2B,0xA5,0xB5,0xBA,0xA4, - 0x61,0xFF,0xB6,0x1A,0xDE,0xF6,0x54,0xEC,0xF6,0x14,0x04,0x9A,0xB8,0xE3,0xCA,0xEA, - 0x36,0x72,0xB5,0x6C,0x75,0xF4,0xC5,0xE5,0x30,0x22,0x98,0xFB,0xAB,0x45,0xC9,0x1A, - 0xDE,0x5E,0x90,0xAC,0xC6,0xF0,0x35,0x4B,0xFF,0xE0,0x22,0x30,0x92,0x25,0x53,0x90, - 0x08,0x68,0xD5,0xE1,0x99,0x7A,0x24,0x8C,0xEA,0xFF,0x6E,0xB5,0x82,0x84,0x27,0x35, - 0x21,0x59,0x79,0xA6,0x1E,0x54,0xCF,0xD4,0x79,0xA3,0x7A,0x50,0x5D,0xC2,0xFB,0x93, - 0x90,0xAC,0x2C,0x93,0xD7,0x07,0x94,0x87,0xD0,0x6A,0x61,0x9A,0x92,0x8B,0x52,0x27, - 0x2B,0x66,0xF2,0x52,0xB3,0x16,0x28,0x6D,0x79,0xA9,0x29,0xB9,0x28,0x75,0xB2,0xFA, - 0x09,0x8F,0xD5,0x5D,0xD4,0xFA,0x01,0xFE,0x53,0x35,0x93,0x78,0xB2,0x5F,0x66,0x00, - 0x00,0x00,0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, -}; // Heater_png, 443 bytes +}; // green1x1_png, 119 bytes // File: icon.png // @@ -1197,133 +1171,16 @@ const char index_htm[] PROGMEM = { "\n" "\n" " Grow Controller\n" - " \n" - " \n" + " \n" + " \n" + " \n" + " \n" + " \n" " \n" + " \n" " \n" "\n" - "\n" + "\n" "

Grow Controller

\n" "
\n" " \n" @@ -1332,19 +1189,44 @@ const char index_htm[] PROGMEM = { "
\n" "
\n" " \n" - " \n" + " \n" "
\n" - "
92°F
\n" - "
8%
\n" - "
74°F
\n" - "
ON
\n" - "
65°F
\n" - "
12.3V
\n" - "
1.2A
\n" - "
0.0V
\n" - "
OK
\n" - "
\n" - "
\n" + "
--:--
\n" + " \n" + "
--.- °F
\n" + "
\n" + " \n" + "
--.- °F
\n" + "
-- %
\n" + "
\n" + "
Heat
\n" + "
\n" + "
\n" + " \n" + "
\n" + "
\n" + "
--.- °F
\n" + "
-- %
\n" + " \n" + "
\n" + "
O
\n" + "
C
\n" + "
Motor
\n" + "
Off
\n" + "
12.5 V
\n" + "
1.2 A
\n" + "
10 s
\n" + " \n" + "
Low Water
\n" + "
Pump
\n" + "
On
\n" + "
\n" + "
10.7 V
\n" + "
90 s
\n" + "
8 s
\n" + "
10 s
\n" + "
\n" + "
\n" "
\n" " \n" "
\n" @@ -1369,49 +1251,35 @@ const char index_htm[] PROGMEM = { "
\n" "
\n" "

\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "
NAV:\n" - " Home |\n" - " Config |\n" - " Scan |\n" - " RSSI |\n" - " Current |\n" - " Factory Reset |\n" - " About\n" - "
\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" "
\n" " \n" " \n" - " \n" + " \n" " \n" " \n" "
GrowController by Origin TechnologiesGrowController by Smartware ComputingFirmware: v0.00.00
\n" "\n" "\n" -}; // index_htm, 5713 bytes +}; // index_htm, 5346 bytes // File: index.js // const char index_js[] PROGMEM = { "//\n" - "// rssi script\n" + "// Main Page period status update\n" "//\n" - "// var mySite = 'http://192.168.1.23' from myip.js\n" + "// var mySite = 'http://192.168.1.23'; // from myip.js\n" "var url = mySite + '/state';\n" - "setInterval(RefreshStatus, 250);\n" + "setInterval(RefreshStatus, 2500);\n" "\n" "getIt = function (aUrl, callback) {\n" " var xhr = new XMLHttpRequest();\n" @@ -1425,6 +1293,14 @@ const char index_js[] PROGMEM = { " xhr.send();\n" "};\n" "\n" + "function ConvertTempToString(tempC, showF) {\n" + " var tempF = tempC * 9 / 5 + 32;\n" + " if (showF)\n" + " return tempF.toFixed(1) + \"°F\";\n" + " else\n" + " return tempC.toFixed(1) + \"°C\";\n" + "}\n" + "\n" "function RefreshStatus() {\n" " getIt(url,\n" " function(data) {\n" @@ -1435,1845 +1311,2764 @@ const char index_js[] PROGMEM = { " state = \"Off\";\n" " document.getElementById('version').innerHTML = obj.version;\n" " document.getElementById('name').innerHTML = obj.name;\n" - " document.getElementById('state').innerHTML = 'Output: ' + state;\n" - " document.getElementById('raw').innerHTML = 'raw: ' + obj.raw;\n" - " document.getElementById('sense').innerHTML = 'Sense: ' + obj.sense;\n" - " document.getElementById('toggle').innerHTML = 'Toggle: ' + obj.toggle;\n" - " document.getElementById('reset').innerHTML = 'Reset: ' + obj.reset;\n" - " document.getElementById('countdown').innerHTML = obj.countdown;\n" + " //document.getElementById('state').innerHTML = 'Output: ' + state;\n" + " //document.getElementById('raw').innerHTML = 'raw: ' + obj.raw;\n" + " //document.getElementById('sense').innerHTML = 'Sense: ' + obj.sense;\n" + " //document.getElementById('toggle').innerHTML = 'Toggle: ' + obj.toggle;\n" + " //document.getElementById('reset').innerHTML = 'Reset: ' + obj.reset;\n" + " //document.getElementById('countdown').innerHTML = 'Countdown: ' + obj.countdown;\n" " document.getElementById('uptime').innerHTML = 'Uptime: ' + obj.uptime;\n" - " document.getElementById('wifimode').innerHTML = 'Mode: ' + obj.wifimode;\n" + " document.getElementById('wifimode').innerHTML = 'WiFi Mode: ' + obj.wifimode;\n" + " // IP Address\n" " var elms = document.querySelectorAll('.' + 'ip'), i;\n" " for (i = 0; i < elms.length; ++i) {\n" " elms[i].textContent = obj.ip;\n" " }\n" + " // Plant status\n" + " document.getElementById('TimeOfDay').innerHTML = obj.TimeOfDay;\n" + " var userF = obj.Fahrenheit;\n" + "\n" + " if (typeof obj.AmbientTemp_C != \"undefined\") {\n" + " document.getElementById('AmbientTemp_C').innerHTML = ConvertTempToString(obj.AmbientTemp_C, userF);\n" + " } else {\n" + " document.getElementById('AmbientTemp_C').innerHTML = \"--\";\n" + " }\n" + "\n" + " if (typeof obj.ChamberTemp_C != \"undefined\") {\n" + " document.getElementById('ChamberTemp_C').innerHTML = ConvertTempToString(obj.ChamberTemp_C, userF);\n" + " document.getElementById('ChamberHumi').innerHTML = parseInt(obj.ChamberHumi) + \"%\";\n" + " } else {\n" + " document.getElementById('ChamberTemp_C').innerHTML = \"--\";\n" + " document.getElementById('ChamberHumi').innerHTML = \"--\"\n" + " } \n" + "\n" + " if (typeof obj.SoilHeater != \"undefined\") {\n" + " document.getElementById('SoilHeater').innerHTML = obj.SoilHeater;\n" + " } else {\n" + " document.getElementById('SoilHeater').innerHTML = \"--\";\n" + " }\n" + " \n" + " if (typeof obj.SoilTemp_C != \"undefined\") {\n" + " document.getElementById('SoilTemp_C').innerHTML = ConvertTempToString(obj.SoilTemp_C, userF);\n" + " } else {\n" + " document.getElementById('SoilTemp_C').innerHTML = \"--\";\n" + " }\n" + " if (typeof obj.SoilTemp_C != \"undefined\") {\n" + " document.getElementById('SoilMoisture_X').innerHTML = obj.SoilMoisture_X;\n" + " } else {\n" + " document.getElementById('SoilMoisture_X').innerHTML = \"--\";\n" + " }\n" + " \n" + " if (obj.DrumDoorIcon == 1) {\n" + " document.getElementById('DrumDoorIcon').style.display === \"none\";\n" + " } else {\n" + " document.getElementById('DrumDoorIcon').style.display === \"block\";\n" + " }\n" + " document.getElementById('DrumOpenSensor').innerHTML = obj.DrumOpenSensor;\n" + " document.getElementById('DrumClosedSensor').innerHTML = obj.DrumClosedSensor;\n" + " document.getElementById('DrumMotorStatus').innerHTML = obj.DrumMotorStatus;\n" + " document.getElementById('DrumMotorOn_sec').innerHTML = obj.DrumMotorOn_sec + \"s\";\n" + " document.getElementById('DrumMotor_V').innerHTML = parseFloat(obj.DrumMotor_V).toFixed(1) + \"V\";\n" + " document.getElementById('DrumMotor_I').innerHTML = parseFloat(obj.DrumMotor_I).toFixed(1) + \"A\";\n" + " \n" + " document.getElementById('WaterInTank').innerHTML = obj.WaterInTank;\n" + " document.getElementById('WaterPumpStatus').innerHTML = obj.WaterPumpStatus;\n" + " document.getElementById('WaterMotor_V').innerHTML = parseFloat(obj.WaterMotor_V).toFixed(1) + \"V\";\n" + " document.getElementById('WaterCyclePeriod_sec').innerHTML = obj.WaterCyclePeriod_sec + \"s\";\n" + " document.getElementById('WaterCycleOn_sec').innerHTML = obj.WaterCycleOn_sec + \"s\";\n" + " document.getElementById('WaterCycle_sec').innerHTML = obj.WaterCycle_sec + \"s\";\n" " }\n" " );\n" "}\n" -}; // index_js, 1408 bytes +}; // index_js, 4528 bytes -// File: Open.png +// File: myip.js // -const char Open_png[] PROGMEM = { +const char myip_js[] PROGMEM = { + "\n" + "// Normally provided by the application intercepting this request,\n" + "// but for debug it can be handy to fix it.\n" + "//\n" + "var mySite = 'http://192.168.1.10'; // from myip.js\n" +}; // myip_js, 167 bytes + +// File: nav.js +// +const char nav_js[] PROGMEM = { + "//\n" + "//\n" + "function NavInit() {\n" + " nav = document.getElementById('nav');\n" + " var txt = \"\";\n" + " txt += \"\";\n" + " txt += \" \";\n" + " txt += \" \";\n" + " txt += \"\";\n" + " txt += \"
NAV:\";\n" + " txt += \" Home | \";\n" + " txt += \" Config | \";\n" + " txt += \" Scan | \";\n" + " txt += \" RSSI | \";\n" + " txt += \" Current | \";\n" + " txt += \" Factory Reset | \";\n" + " txt += \" About\";\n" + " txt += \"
\";\n" + " nav.innerHTML = txt;\n" + "}\n" +}; // nav_js, 684 bytes + +// File: navigation.htm +// +const char navigation_htm[] PROGMEM = { + "\n" + "\n" + "\n" + " \n" + "\n" + "\n" + " \n" + " \n" + " \n" + " \n" + " \n" + "
NAV:\n" + " Home |\n" + " Config |\n" + " Scan |\n" + " RSSI |\n" + " Current |\n" + " Factory Reset |\n" + " About\n" + "
\n" + "\n" + "\n" +}; // navigation_htm, 557 bytes + +// File: open.png +// +const char open_png[] PROGMEM = { 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, - 0x00,0x00,0x00,0x74,0x00,0x00,0x00,0x74,0x08,0x03,0x00,0x00,0x00,0x63,0x44,0xE6, - 0x15,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, + 0x00,0x00,0x00,0xDD,0x00,0x00,0x00,0xDD,0x08,0x06,0x00,0x00,0x00,0x3F,0xC4,0x77, + 0x1A,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, - 0x00,0x18,0x50,0x4C,0x54,0x45,0xF6,0xF6,0xF6,0xF8,0xF8,0xF8,0xF2,0xF2,0xF2,0xF7, - 0xF7,0xF7,0xF5,0xF5,0xF5,0xF3,0xF3,0xF3,0xF4,0xF4,0xF4,0x00,0x00,0x00,0x60,0x9A, - 0x3A,0x5D,0x00,0x00,0x00,0x08,0x74,0x52,0x4E,0x53,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0x00,0xDE,0x83,0xBD,0x59,0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00, - 0x0E,0xC3,0x00,0x00,0x0E,0xC3,0x01,0xC7,0x6F,0xA8,0x64,0x00,0x00,0x01,0xEC,0x49, - 0x44,0x41,0x54,0x68,0x43,0xED,0xDA,0xD9,0x72,0x83,0x30,0x0C,0x05,0x50,0x48,0x58, - 0xFE,0xFF,0x8F,0x2B,0x4B,0x6A,0x09,0x09,0x8B,0xAD,0xE8,0x8A,0xE9,0xA0,0xFB,0x50, - 0x96,0xCE,0x70,0x6A,0x63,0x64,0xA0,0x74,0xF3,0x05,0xB9,0x0C,0xED,0xBA,0xBE,0x44, - 0x76,0x44,0x84,0xD0,0xFE,0xA1,0xD1,0x5D,0xF8,0x10,0xFA,0x54,0x73,0x85,0x0E,0x43, - 0x87,0x6B,0xFA,0x1E,0xFA,0xB9,0xC7,0x31,0x84,0x76,0x02,0x6C,0xA0,0xA3,0x6E,0x78, - 0xE7,0x10,0xA5,0x5F,0x42,0xF2,0x77,0xDC,0xB7,0xE1,0xCB,0xA8,0xAE,0xBB,0x67,0xA7, - 0x31,0x32,0xA2,0x75,0x83,0xD3,0x3F,0x46,0xB7,0x91,0x75,0xD0,0x83,0xFD,0x53,0x57, - 0x38,0x53,0xF9,0x2B,0x26,0xDD,0xF8,0x32,0xD5,0xA7,0x8D,0x9B,0xEE,0xD4,0xE1,0xB5, - 0xA8,0x5C,0x57,0xAB,0xB6,0xDB,0x53,0x8B,0xB2,0xE9,0x35,0xB2,0xAA,0xBB,0xF7,0x39, - 0xBA,0x9D,0xD2,0x7A,0x94,0xE2,0x56,0x18,0x5B,0xD0,0x75,0x46,0xFB,0x09,0x36,0xA3, - 0x74,0x25,0x9B,0xAB,0xA4,0x19,0xE5,0x81,0x35,0xE8,0x46,0x63,0xAC,0xE8,0xC0,0xA8, - 0x71,0x38,0x5B,0x51,0x31,0x8D,0x23,0xCB,0x8A,0x72,0x71,0xB6,0x5E,0x42,0xE6,0x73, - 0x5A,0x66,0x44,0x5D,0x6B,0x8E,0x1D,0xA5,0xD6,0xEA,0xB2,0x39,0xDF,0xA0,0xE6,0xFC, - 0x6F,0xB4,0x65,0x24,0x7B,0xA1,0x34,0x1D,0xD4,0x1F,0xCA,0x09,0xE5,0x9B,0xBB,0xEA, - 0x63,0xF9,0xA0,0xFA,0x90,0x50,0x5B,0x15,0x7D,0xD0,0xC6,0xA2,0xE8,0xD4,0xBD,0xDC, - 0x54,0x5D,0x3F,0x8F,0x13,0x5A,0xD4,0xFA,0xE1,0xEB,0x85,0x36,0xD5,0x27,0x3F,0xB4, - 0x21,0x89,0x42,0x83,0x41,0x4F,0x8E,0x0A,0x41,0xA7,0x93,0x7B,0x0A,0x04,0x4A,0xC5, - 0xFF,0xB8,0x22,0x02,0xD0,0x62,0x1E,0x57,0x7F,0x00,0xCA,0xE6,0x61,0x51,0x44,0x74, - 0x2F,0x9B,0x47,0x05,0x0A,0x81,0x9E,0x3E,0x71,0x20,0x50,0x9A,0xEA,0x74,0xB9,0x13, - 0x0C,0x7A,0x92,0x44,0xA1,0x49,0x14,0x1A,0x34,0x3A,0x6C,0x95,0x43,0x2C,0x5A,0xEE, - 0x4C,0x37,0x66,0x39,0x28,0x2A,0xF3,0xCD,0x67,0x15,0x86,0xA2,0x7B,0x37,0xFE,0xD8, - 0xEE,0xBD,0x04,0xBD,0xE2,0x9C,0x96,0xB3,0xBA,0x35,0xAF,0x82,0xD1,0xED,0x24,0x0A, - 0x4D,0xA2,0xD0,0x24,0xEA,0x9C,0x7E,0x7C,0xFD,0x47,0x52,0x08,0xCA,0x2F,0x7C,0x5E, - 0xEA,0x7E,0x08,0x2A,0xF3,0xAA,0x6E,0x50,0x62,0xBA,0x97,0xD1,0x85,0x0A,0x44,0x97, - 0xA6,0xC6,0xA0,0xE5,0x16,0x22,0x7A,0x20,0xBD,0x33,0x41,0xE8,0x3A,0x89,0x42,0x93, - 0x28,0x34,0x89,0x42,0x13,0x89,0x96,0x4F,0x25,0x78,0x25,0x0E,0x95,0xCF,0x9E,0x64, - 0x95,0x7F,0x46,0x44,0x6E,0x1F,0xF8,0x79,0x2A,0xB0,0x7B,0x19,0xE5,0xB7,0x86,0xD1, - 0x28,0xBF,0x1E,0x0D,0x44,0x27,0x22,0xE5,0xF3,0x97,0x40,0x74,0x49,0xA2,0xD0,0x24, - 0x0A,0x4D,0xA2,0xD0,0xDC,0x01,0x95,0x0F,0x7A,0x43,0x51,0x9E,0x67,0x48,0x8D,0x47, - 0xE9,0x91,0xF1,0x26,0x28,0x89,0x37,0x41,0xA7,0x3B,0xA0,0xBF,0xEF,0x93,0x42,0x51, - 0xAA,0x0D,0xBC,0x88,0x45,0x35,0x77,0x41,0xE7,0xF9,0x07,0xA5,0x3C,0x68,0x95,0x14, - 0xE6,0xEB,0xBA,0x00,0x00,0x00,0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, -}; // Open_png, 655 bytes + 0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0E,0xC2,0x00,0x00,0x0E,0xC2,0x01,0x15, + 0x28,0x4A,0x80,0x00,0x00,0x39,0xC2,0x49,0x44,0x41,0x54,0x78,0x5E,0xED,0x9D,0x09, + 0x78,0x94,0xE5,0xB9,0xFE,0x27,0xEB,0x64,0xDF,0x77,0x02,0x24,0x40,0x20,0x43,0xC8, + 0x06,0x04,0x08,0x02,0x09,0xB2,0x94,0x4D,0x45,0x6B,0xD5,0xA0,0xB6,0xA2,0xD6,0xA3, + 0xE8,0xF1,0xDF,0xD3,0xF6,0x68,0x7B,0x5A,0x4B,0x6D,0x3D,0xAD,0xD6,0x53,0xA9,0x4B, + 0x6B,0x5D,0x51,0x51,0x82,0x0B,0x46,0x45,0x04,0x59,0x43,0x12,0x16,0x09,0x10,0xF6, + 0x84,0x84,0x90,0x8D,0x2C,0x64,0x27,0x3B,0x59,0xFF,0xF7,0xFD,0xE5,0x9D,0x30,0x5B, + 0x42,0x80,0x04,0xB2,0xBC,0xBF,0xEB,0x1A,0xE6,0x7B,0x9F,0xEF,0x1B,0x66,0x32,0xF3, + 0xDD,0xEF,0xF3,0x3C,0xEF,0xAA,0x92,0x48,0x24,0x92,0x61,0x4D,0x41,0x41,0x81,0xB5, + 0x38,0xEC,0x02,0xB6,0xB0,0xFD,0xFB,0xF7,0x5B,0xF1,0x38,0x21,0x21,0xC1,0x5D,0x31, + 0xEA,0x50,0x53,0x53,0xF3,0xA3,0xEA,0xEA,0xEA,0x48,0x1E,0x5F,0xB8,0x70,0xC1,0x3F, + 0x2B,0x2B,0x6B,0x84,0x72,0x02,0x14,0x17,0x17,0xDB,0x8A,0x43,0xC9,0x00,0xC1,0x4C, + 0x3C,0x4B,0x6E,0x20,0x10,0x82,0xA3,0xAF,0xAF,0x6F,0x2D,0xC4,0xF2,0x68,0x45,0x45, + 0xC5,0x31,0x98,0x6A,0x4F,0x9F,0x3E,0xED,0x56,0x5F,0x5F,0xDF,0x18,0x1D,0x1D,0xFD, + 0xCF,0x73,0xE7,0xCE,0xA5,0x35,0x34,0x34,0x94,0x42,0x48,0x36,0x78,0x5C,0x8C,0x8A, + 0x8A,0xFA,0x6B,0x51,0x51,0xD1,0xB9,0xC6,0xC6,0xC6,0x0A,0x33,0x33,0x33,0xDF,0xD6, + 0xD6,0xD6,0xF3,0x13,0x26,0x4C,0xC8,0xF0,0xF1,0xF1,0xB1,0xB4,0xB2,0xB2,0xF2,0xC0, + 0x63,0x51,0x47,0x47,0x87,0xAA,0xBD,0xBD,0x3D,0xF7,0xEC,0xD9,0xB3,0x56,0xF6,0xF6, + 0xF6,0x23,0x2E,0x5E,0xBC,0xB8,0xD7,0xDA,0xDA,0xFA,0xE2,0xC8,0x91,0x23,0xBD,0xF0, + 0x9A,0xAC,0xF2,0xF2,0xF2,0xCF,0x26,0x4D,0x9A,0xF4,0x15,0xDF,0x7F,0xDD,0xBA,0x75, + 0x16,0x0F,0x3E,0xF8,0x60,0x1B,0x8F,0x25,0x37,0x1E,0x29,0xBA,0x7E,0x24,0x27,0x27, + 0x47,0x1D,0x18,0x18,0x78,0x89,0xC7,0xDB,0xB7,0x6F,0xB7,0xB3,0xB1,0xB1,0x99,0x16, + 0x1C,0x1C,0xEC,0x07,0xD1,0xFC,0xD1,0xDC,0xDC,0x3C,0x03,0xA2,0xB8,0xAD,0xA5,0xA5, + 0xA5,0xBD,0xA9,0xA9,0xA9,0x16,0x9E,0xCC,0x39,0x2F,0x2F,0xAF,0xD1,0xCE,0xCE,0xCE, + 0x16,0xE2,0x52,0x5D,0xBA,0x74,0x49,0x85,0xF3,0xAA,0xE6,0xE6,0x66,0x15,0x05,0xD5, + 0xD6,0xD6,0xA6,0x3C,0x5B,0x58,0x58,0xA8,0x1C,0x1D,0x1D,0x55,0x8B,0x17,0x2F,0x56, + 0x79,0x79,0x79,0xA9,0x20,0x28,0xE5,0x41,0x2A,0x2B,0x2B,0x55,0x89,0x89,0x89,0xF4, + 0x76,0x2A,0xFC,0xBF,0x2A,0xBC,0x87,0xCA,0xD5,0xD5,0x55,0xF9,0x7F,0x6A,0x6B,0x6B, + 0x9B,0xF0,0xDA,0x83,0x78,0x9C,0x77,0x72,0x72,0x72,0xB6,0xB5,0xB5,0x2D,0x57,0xAB, + 0xD5,0xC7,0x71,0xBE,0x05,0xC2,0xE4,0xFF,0x79,0x1A,0xFF,0x45,0xB1,0xBB,0xBB,0x3B, + 0x9F,0x25,0xFD,0x88,0x14,0x5D,0x1F,0x92,0x9E,0x9E,0x6E,0xA1,0xD1,0x68,0xDA,0xD2, + 0xD2,0xD2,0x16,0x9D,0x38,0x71,0xE2,0xFC,0xCC,0x99,0x33,0xE3,0x8F,0x1D,0x3B,0x76, + 0xA4,0xAE,0xAE,0xAE,0x11,0x37,0xFD,0x64,0x7F,0x7F,0xFF,0xA8,0x90,0x90,0x10,0x95, + 0xA7,0xA7,0xA7,0x72,0x3D,0x45,0x41,0xE0,0x95,0x54,0xBB,0x77,0xEF,0x56,0x65,0x67, + 0x67,0x2B,0xE5,0x2B,0x41,0xD1,0x2D,0x5D,0xBA,0x54,0x35,0x62,0x44,0x57,0x14,0xA9, + 0x00,0xCF,0xC9,0xF0,0x53,0x05,0xAF,0x26,0x2C,0x97,0xD1,0x0A,0x93,0xC2,0x85,0x67, + 0x54,0x1E,0x14,0xF0,0x5D,0x77,0xDD,0xA5,0x72,0x70,0x70,0x50,0xCA,0x10,0xEA,0x29, + 0x88,0xFD,0x35,0x78,0xCC,0x0A,0x7C,0x66,0x07,0x88,0xBA,0x00,0x2F,0x39,0x8C,0xCF, + 0x7B,0x51,0x79,0xB1,0xA4,0x4F,0x90,0xA2,0xEB,0x03,0x20,0xB6,0xA0,0xFC,0xFC,0xFC, + 0xE0,0x51,0xA3,0x46,0xAD,0xDC,0xB5,0x6B,0x57,0x25,0xC4,0xF0,0x08,0xC2,0xBC,0x06, + 0xDC,0xC8,0x76,0x55,0x55,0x55,0x8A,0xB8,0x78,0xB3,0x23,0xEC,0x53,0x2D,0x59,0xB2, + 0x44,0xE5,0xE7,0xE7,0xD7,0x25,0x38,0x42,0xAF,0xB4,0x6D,0xDB,0x36,0x55,0x46,0x46, + 0x86,0xB0,0xF4,0x0C,0x05,0x74,0xF7,0xDD,0x77,0xAB,0xF0,0x7E,0xC2,0xD2,0x09,0xDF, + 0x6B,0xEB,0xD6,0xAD,0x2A,0x84,0xA2,0xC2,0xD2,0x33,0x1E,0x1E,0x1E,0xAA,0x05,0x0B, + 0x16,0x28,0x9F,0x87,0x68,0xBD,0x29,0x3C,0x71,0xC7,0xE1,0xC3,0x87,0xCD,0x78,0x8C, + 0x90,0x77,0x8B,0xA5,0xA5,0xE5,0x06,0x3C,0x72,0xE0,0xA5,0xDD,0x83,0x82,0x82,0x94, + 0x10,0x55,0x72,0xED,0x48,0xD1,0x5D,0x25,0xB8,0xA1,0x3D,0x70,0x93,0x96,0x23,0x2F, + 0x7B,0x1A,0x62,0xB1,0xC8,0xCD,0xCD,0x5D,0x86,0xBC,0x2B,0x1C,0xCF,0xEE,0xBC,0x49, + 0xE9,0x6D,0x70,0xD3,0x8A,0xAB,0x8D,0x99,0x33,0x67,0x8E,0x0A,0x39,0x9A,0x28,0x75, + 0xC2,0x50,0x12,0x62,0xA5,0x78,0x95,0x9B,0xFE,0x4A,0x20,0x3C,0x54,0x2D,0x5B,0xB6, + 0x4C,0x85,0xBC,0x50,0x58,0x3A,0x3D,0x18,0x45,0x47,0xF1,0x16,0x16,0x16,0x0A,0x6B, + 0xCF,0x30,0xAC,0xA4,0xE8,0x18,0x82,0xEA,0x82,0xBF,0x4D,0xB5,0x69,0xD3,0x26,0x86, + 0xA4,0x4A,0x68,0x8A,0x50,0x54,0x05,0xD1,0x5D,0x0A,0x08,0x08,0x50,0x17,0x14,0x14, + 0x3C,0x35,0x71,0xE2,0x44,0xDB,0x88,0x88,0x88,0x22,0x84,0xBE,0x3B,0xBC,0xBD,0xBD, + 0x4B,0xC5,0xCB,0x24,0xBD,0xE4,0x72,0x75,0x2B,0xB9,0x22,0xC8,0x95,0x66,0xE0,0x29, + 0xB5,0xAC,0xAC,0xEC,0x20,0x6E,0xC2,0x57,0x71,0xF3,0xBF,0x82,0x3C,0xEA,0x56,0x78, + 0x05,0xF7,0x8A,0x8A,0x0A,0x25,0xA7,0xEA,0x49,0x70,0x04,0xF9,0x9B,0x92,0xA7,0xE9, + 0x42,0xAF,0x47,0x21,0x69,0x05,0xA7,0x0D,0x05,0x09,0x43,0x40,0x96,0x19,0xFE,0x51, + 0x00,0x78,0x5F,0x25,0xBC,0xE4,0xFF,0x43,0xF8,0x7E,0x7C,0xD0,0x4B,0x21,0x2C,0xA4, + 0x67,0x52,0xFE,0x3F,0xDD,0xFF,0xA3,0x3B,0xB4,0xFF,0x97,0x21,0xDA,0x9C,0x92,0xF0, + 0xB3,0x32,0xFC,0xC5,0xDF,0xA7,0x3E,0x7A,0xF4,0x28,0x43,0xD7,0x37,0xE0,0x91,0x5F, + 0x4E,0x4A,0x4A,0xFA,0x64,0xDF,0xBE,0x7D,0xF1,0xA8,0x28,0xFE,0xE7,0xC8,0x91,0x23, + 0xB3,0x94,0x8B,0x25,0xBD,0x42,0x7A,0xBA,0x1E,0x80,0xE7,0x98,0xFB,0xC5,0x17,0x5F, + 0x24,0x22,0xAC,0x8A,0x77,0x71,0x71,0x69,0x45,0x4E,0x76,0x37,0x84,0xA1,0xE6,0xCD, + 0x4A,0x81,0xF0,0x46,0xCF,0xCA,0xCA,0x52,0xED,0xDC,0xB9,0xB3,0xEB,0x26,0xED,0x09, + 0x0A,0x81,0xA1,0xDC,0x6D,0xB7,0xDD,0xD6,0x95,0x53,0x51,0x24,0x10,0x4B,0xDD,0xC1, + 0x83,0x07,0xAD,0x71,0xB3,0x5B,0x53,0x38,0x0D,0x0D,0x0D,0x4D,0xB8,0xF6,0x90,0x5A, + 0xAD,0xB6,0xC1,0x7B,0x4E,0xC5,0x73,0x6D,0x49,0x49,0xC9,0x4E,0xD8,0x53,0x70,0xDE, + 0x1E,0x9E,0x27,0x7C,0xCC,0x98,0x31,0xB6,0xCE,0xCE,0xCE,0x0D,0xF8,0x1C,0x81,0xB8, + 0x36,0x18,0x82,0xCC,0xC3,0x67,0x70,0x80,0xD7,0x1D,0x09,0x6F,0xDB,0x06,0x91,0x34, + 0x42,0x7C,0x0E,0x78,0x8D,0x92,0xE3,0xF1,0xBD,0xF8,0x99,0x29,0x28,0x8A,0x94,0x7F, + 0x03,0xFE,0x2E,0x55,0x4C,0x4C,0x8C,0xCA,0xC6,0xC6,0x46,0x7C,0xC2,0xCE,0x50,0xF7, + 0xE4,0xC9,0x93,0xAA,0xE4,0xE4,0x64,0xE5,0xB8,0x27,0xF8,0x3A,0xD1,0x50,0xC3,0xFC, + 0x75,0x1B,0xC2,0xE7,0x22,0x1C,0xAB,0xE1,0xFD,0x9E,0x41,0xC5,0x64,0x85,0x5C,0xB0, + 0xE7,0xFF,0x60,0x98,0x22,0x45,0x67,0x00,0xC2,0x27,0x6F,0x84,0x5D,0x17,0xB6,0x6C, + 0xD9,0xF2,0x2B,0xE4,0x66,0xFF,0x77,0xE0,0xC0,0x81,0x52,0xDC,0x7C,0x5E,0xCC,0x9F, + 0x18,0x16,0xDA,0xD9,0xD9,0x89,0x2B,0x3B,0x41,0x58,0xA9,0xC2,0xB5,0x14,0x8A,0xB0, + 0xE8,0xC3,0x9B,0x9D,0xE2,0x14,0x5E,0xAA,0x4A,0xA3,0xD1,0xB8,0x8E,0x1B,0x37,0x8E, + 0x37,0x7E,0x1A,0x4E,0xD7,0xE1,0xFC,0x4E,0x88,0xE5,0x1B,0x1C,0xB7,0xE1,0x39,0x0A, + 0x22,0xB3,0xA3,0x27,0x9D,0x3C,0x79,0xF2,0x0F,0x7C,0xFD,0xFE,0xFD,0xFB,0x03,0x60, + 0xB3,0xC1,0x67,0xD2,0x4B,0xF8,0x0E,0x1D,0x3A,0x64,0x31,0x75,0xEA,0x54,0xA5,0xD9, + 0xFF,0xF4,0xE9,0xD3,0x23,0x20,0xB0,0x2A,0x1C,0xB6,0xE2,0xFF,0x8B,0x70,0x70,0x70, + 0xB0,0x82,0x98,0x4B,0x20,0xB2,0x29,0x75,0x75,0x75,0x7E,0x08,0x13,0x1B,0xF0,0x19, + 0xBC,0xF1,0x9E,0xA1,0xA8,0x48,0xDA,0x70,0x0E,0x3A,0x35,0x0B,0x45,0x78,0xEA,0x88, + 0x50,0x71,0x24,0x2B,0x00,0xFE,0x5D,0x14,0x3C,0x3D,0x1B,0x2B,0x91,0xDE,0xE6,0x97, + 0x24,0x3A,0x3A,0x5A,0x85,0xCF,0xA2,0x54,0x24,0xF4,0xC0,0x78,0xDF,0x4F,0xF1,0x39, + 0x5C,0xF0,0xBD,0xDD,0x86,0xF7,0xB1,0xC7,0xFB,0x54,0x8B,0x4B,0x25,0x40,0x8A,0x4E, + 0x87,0x84,0x84,0x84,0x59,0x10,0x44,0x3C,0xC2,0xA8,0x0B,0xF0,0x18,0xBC,0x61,0xBB, + 0xC2,0x38,0x36,0x3A,0xB0,0xF1,0x82,0x8D,0x21,0xBA,0xF0,0xBC,0xEE,0x4D,0xAA,0x6D, + 0x20,0x61,0xB8,0x48,0x2F,0x00,0x2F,0xD5,0x06,0xDB,0xB7,0x78,0x5D,0x2B,0xC2,0xCF, + 0x47,0x11,0xCE,0xCD,0x84,0xA0,0x7C,0x71,0x43,0x7E,0x86,0xB0,0xED,0xD2,0x94,0x29, + 0x53,0xF4,0x63,0xCD,0x7E,0x64,0xFB,0xF6,0xED,0x66,0xC8,0xE1,0x94,0x18,0x76,0xDD, + 0xBA,0x75,0xEA,0x19,0x33,0x66,0x84,0xC3,0x83,0xFF,0x09,0x9F,0x4B,0x0D,0x91,0xD4, + 0xE1,0x33,0x05,0xE0,0x54,0x30,0xFE,0x7E,0xCB,0xBC,0xBC,0x3C,0xC5,0x2B,0x5E,0x09, + 0x7A,0xCC,0xF9,0xF3,0xE7,0xAB,0xD8,0x2A,0x4B,0xE8,0x4D,0x21,0x34,0xC5,0xF3,0x23, + 0xFF,0x3D,0xE8,0xE5,0xE5,0x15,0x88,0x4A,0x21,0x16,0xE2,0x6E,0x84,0xF8,0x72,0x94, + 0x8B,0x86,0x39,0xC3,0x5E,0x74,0xF0,0x52,0x56,0x3E,0x3E,0x3E,0xF1,0xD9,0xD9,0xD9, + 0x2D,0xC5,0xC5,0xC5,0x3F,0x41,0x6D,0x6F,0xC1,0xDC,0xCC,0x10,0x86,0x52,0x10,0x88, + 0x0A,0x37,0xAA,0xB0,0x74,0xC2,0x50,0xED,0x87,0x1F,0x7E,0x50,0x42,0x32,0x76,0x05, + 0xA0,0x9C,0x1B,0x16,0x16,0x66,0x81,0xF0,0xEE,0x53,0x84,0x6F,0x07,0x70,0xE3,0x5E, + 0xC0,0x0D,0x97,0x22,0x2E,0x1F,0x90,0xA0,0xC2,0xB0,0xC6,0x67,0x6D,0x86,0xD8,0x2C, + 0xDC,0xDC,0xDC,0xEE,0x82,0x70,0xFE,0xA3,0xB4,0xB4,0x94,0x23,0x5B,0x2E,0xE0,0xF3, + 0xBB,0x23,0x5C,0x0D,0xA1,0x88,0x18,0x6E,0xF2,0xEF,0xD5,0x85,0x8D,0x31,0xEC,0x33, + 0x64,0xB7,0x03,0xC5,0xA6,0x85,0x82,0x85,0x97,0x56,0xC1,0x6B,0xB3,0x22,0x2A,0x8C, + 0x8D,0x8D,0x1D,0x81,0xEF,0xF7,0xCE,0x59,0xB3,0x66,0x0D,0xFB,0xD6,0xCF,0x61,0x2B, + 0x3A,0xD4,0xC2,0xEE,0xC8,0xD7,0xEC,0x51,0xD3,0xC7,0x43,0x68,0x33,0x73,0x72,0x72, + 0x94,0x9B,0x86,0x35,0x75,0x77,0x40,0x3C,0x2A,0xE4,0x2E,0xDA,0xD6,0x3C,0x15,0xBC, + 0x21,0xAF,0xCF,0xC0,0x73,0x70,0x5A,0x5A,0xDA,0x93,0x08,0xB3,0x46,0xE2,0xFF,0x7D, + 0x03,0xF9,0x56,0x6B,0x60,0x60,0xE0,0x05,0xF1,0xB2,0x41,0x09,0xFE,0x1E,0xA7,0xC8, + 0xC8,0xC8,0x1A,0x1E,0x23,0xC4,0xFE,0x15,0xFE,0xDE,0x25,0xF8,0xDB,0xA6,0x67,0x66, + 0x66,0x9E,0xC5,0x71,0x38,0x5B,0x4A,0xC9,0xA4,0x49,0x93,0x54,0xB7,0xDE,0x7A,0xAB, + 0x12,0x5A,0xEA,0xC2,0x0E,0xFA,0xAF,0xBF,0xFE,0x5A,0x69,0x01,0x25,0xF4,0xFA,0xF0, + 0xFE,0x4D,0x08,0x6D,0x57,0x20,0x9A,0xB0,0x87,0x50,0x3F,0x56,0x4E,0x0C,0x43,0x86, + 0xA5,0xE8,0x70,0xF3,0xAC,0x81,0xD0,0x96,0x22,0x9C,0x54,0xE3,0x26,0x18,0xD5,0x9B, + 0x30,0x4A,0x2B,0xC8,0xE5,0xCB,0x97,0xF3,0x06,0xBB,0x08,0xE1,0xBD,0x84,0xFC,0x67, + 0x02,0x72,0xB4,0x87,0x70,0x23,0x86,0x8C,0x1F,0x3F,0xFE,0x94,0xB8,0x74,0xC8,0xB2, + 0x69,0xD3,0x26,0x0F,0x78,0xBD,0x66,0x54,0x3E,0x5B,0x8E,0x1C,0x39,0x52,0x8E,0x0A, + 0xEB,0x76,0x54,0x2E,0x4A,0x7F,0x21,0x73,0x57,0x3E,0x08,0x43,0xEE,0x83,0x07,0x0F, + 0xAA,0x8E,0x1F,0x3F,0xAE,0xD7,0xC0,0xC4,0xEF,0x10,0xB9,0x6D,0x2B,0x04,0x68,0x09, + 0x8F,0xF9,0x5C,0x44,0x44,0x84,0xCD,0xEC,0xD9,0xB3,0x7F,0x0F,0x0F,0x68,0x89,0xD0, + 0xB3,0xE7,0x66,0xDF,0x21,0xC4,0xB0,0x11,0x5D,0x61,0x61,0x61,0x08,0x87,0x3A,0x41, + 0x38,0xF1,0x08,0x93,0xEE,0x65,0xCD,0xCC,0x96,0x47,0xF6,0x47,0x5D,0x09,0x84,0x4E, + 0x4D,0x7E,0x7E,0x7E,0x36,0xB8,0x69,0xBE,0x98,0x3B,0x77,0xEE,0x24,0xD4,0xE2,0x71, + 0xB8,0x61,0x8E,0x8A,0xD3,0xC3,0x0E,0x78,0x41,0x1B,0x78,0xC1,0x26,0x88,0xE5,0x5F, + 0xF0,0x78,0x6C,0x25,0xF5,0x41,0xF8,0xBD,0x08,0x15,0x91,0x1B,0x23,0x00,0x36,0xC6, + 0xD0,0xCB,0xB1,0xBF,0xAF,0x27,0xFC,0xFD,0xFD,0x19,0x31,0x7C,0xBC,0x68,0xD1,0x22, + 0x8E,0x45,0x5D,0x2E,0xCC,0x43,0x9E,0x61,0x21,0x3A,0xD4,0xCA,0xBF,0xF4,0xF0,0xF0, + 0xF8,0x3B,0xC2,0x9B,0x4C,0xDC,0x20,0xE3,0x85,0x59,0x09,0x0F,0x11,0x3A,0xA9,0x4E, + 0x9D,0xD2,0x77,0x52,0x6C,0x0C,0x61,0x4B,0x1E,0xC2,0x44,0x36,0xE9,0x7F,0x87,0xE7, + 0x17,0xDC,0xDD,0xDD,0xC7,0x47,0x45,0x45,0x7D,0x88,0x1C,0xC5,0x0E,0xB9,0x9B,0xE9, + 0xA6,0xCA,0x61,0x4C,0x7A,0x7A,0xFA,0x42,0x54,0x68,0x31,0xF0,0x64,0xB7,0x22,0x54, + 0x9F,0x01,0x61,0x2A,0xDD,0x21,0x3D,0xA1,0x8D,0x1E,0x18,0xB6,0xE3,0x3B,0x8D,0x47, + 0x98,0xBA,0x22,0x3F,0x3F,0xDF,0x07,0x9E,0xB3,0x44,0x5C,0x32,0x24,0x19,0xB2,0xA2, + 0xC3,0x0F,0xCF,0xA9,0x2E,0xD9,0x1B,0x37,0x6E,0x7C,0x6E,0xF4,0xE8,0xD1,0xBF,0x0E, + 0x0F,0x0F,0x57,0x79,0x7B,0x7B,0xEB,0x25,0xFB,0x84,0x37,0xC7,0xE1,0xC3,0x87,0x95, + 0x0E,0x60,0xE2,0xE3,0xE3,0xC3,0x30,0xA9,0xC2,0xDE,0xDE,0xFE,0xA5,0xD0,0xD0,0xD0, + 0x09,0x61,0x61,0x61,0x8F,0x2A,0x27,0x24,0xBD,0xE2,0xD8,0xB1,0x63,0x01,0x10,0xD2, + 0xBC,0xFD,0xFB,0xF7,0xCF,0x71,0x76,0x76,0xFE,0xE9,0xB9,0x73,0xE7,0xBA,0x3A,0xEE, + 0xBB,0x03,0xD7,0x29,0x0D,0x54,0x01,0x01,0x01,0x05,0xF0,0x92,0xA5,0xB8,0x36,0x06, + 0x15,0x5D,0xCF,0x8A,0x1D,0xC4,0x0C,0x49,0xD1,0xC1,0xB3,0xFD,0x04,0xA2,0x89,0xDF, + 0xB3,0x67,0x4F,0x29,0xC2,0x4A,0x65,0xAC,0x14,0x7F,0x54,0x3E,0xB4,0x79,0x87,0x16, + 0xE6,0x1C,0xDF,0x7E,0xFB,0xAD,0xAA,0xB4,0xB4,0x94,0x89,0xFE,0xA7,0x31,0x31,0x31, + 0x21,0x10,0x6C,0xDC,0xD2,0xA5,0x4B,0x4F,0x8A,0x4B,0x24,0xD7,0x08,0x84,0xB7,0xF0, + 0xE4,0xC9,0x93,0xD3,0x51,0xD9,0xFD,0x09,0x95,0x5B,0x07,0x22,0x08,0x33,0xC3,0xD6, + 0x4F,0xC2,0x16,0x50,0x8E,0x49,0x65,0x0B,0x28,0xFB,0x3B,0xF1,0x1B,0x6D,0x42,0xD8, + 0xBA,0x0B,0xE2,0xDD,0x33,0x61,0xC2,0x04,0xF6,0x67,0x0E,0x29,0x86,0x9C,0xE8,0x12, + 0x12,0x12,0x9E,0xC6,0x8F,0xF7,0x2A,0xFB,0xCD,0x74,0x47,0xDB,0xB3,0xF3,0x97,0x4D, + 0xDB,0xA8,0x4D,0x85,0xA5,0x73,0x88,0x93,0x76,0x54,0x49,0x66,0x66,0xE6,0x23,0x0F, + 0x3F,0xFC,0xF0,0xFB,0x38,0xB6,0x09,0x0A,0x0A,0xEA,0xEC,0x9C,0x93,0xF4,0x09,0x10, + 0x5F,0x18,0x2A,0x42,0x0D,0x72,0xB8,0x0D,0xFC,0xAE,0x29,0x2C,0x7E,0xEF,0xC4,0xCD, + 0xCD,0x4D,0xB5,0x70,0xE1,0x42,0x65,0x1C,0x29,0xC3,0x7A,0x42,0xAF,0xC8,0xC6,0x18, + 0x84,0xFF,0x67,0x8E,0x1E,0x3D,0x1A,0x8B,0x28,0xE5,0x92,0x46,0xA3,0xE9,0x6C,0x2E, + 0x1D,0x02,0x0C,0x09,0xD1,0xA1,0x56,0x1C,0xED,0xEA,0xEA,0x9A,0xF7,0xD6,0x5B,0x6F, + 0xFD,0x05,0xB5,0xE4,0x6F,0xD9,0x37,0xA4,0xED,0xD4,0xD6,0xC2,0x11,0x21,0x10,0x93, + 0xD2,0xE4,0x4F,0x01,0xF2,0x1A,0xF0,0xB6,0x5A,0xAD,0x1E,0x85,0xDC,0xE3,0xB5,0x90, + 0x90,0x90,0x2D,0xCA,0x85,0x92,0x7E,0x23,0x2F,0x2F,0xEF,0xBF,0x10,0xC6,0x47,0x43, + 0x48,0x8B,0x20,0x28,0x47,0x0E,0x0E,0xE7,0xE8,0x9C,0x59,0xB3,0x66,0x29,0x83,0x09, + 0x0C,0xD9,0xBE,0x7D,0xBB,0xEA,0xCC,0x99,0x33,0x27,0xEE,0xBC,0xF3,0xCE,0x91,0xA8, + 0x40,0x6F,0x9F,0x3D,0x7B,0x76,0xB2,0x38,0x35,0xA8,0x19,0xF4,0xA2,0x43,0x28,0x78, + 0x27,0x3C,0x5B,0xFC,0xE7,0x9F,0x7F,0x7E,0xB2,0xB2,0xB2,0x72,0x0A,0xC3,0x17,0x26, + 0xE7,0xA6,0x60,0x4E,0xC7,0x51,0xFE,0x6C,0x61,0x6B,0x6C,0x6C,0x7C,0x3E,0x32,0x32, + 0xF2,0x8F,0xB9,0xB9,0xB9,0x56,0xF0,0x7E,0x72,0x8C,0xE0,0x0D,0x64,0xDF,0xBE,0x7D, + 0x4B,0xE1,0xD5,0x62,0xF0,0x3C,0x0F,0x5E,0x6E,0xB2,0xE1,0x14,0x25,0x7A,0x3A,0xCE, + 0x2D,0xD4,0x76,0xAE,0xF3,0x77,0xF3,0xF4,0xF4,0x2C,0xC4,0x71,0xEC,0xAA,0x55,0xAB, + 0xCE,0x8A,0xCB,0x06,0x2D,0x83,0x5A,0x74,0xF8,0xD1,0x56,0x99,0x99,0x99,0xFD,0x93, + 0xFD,0x41,0x45,0x57,0x98,0x43,0xC6,0xD1,0x22,0xF0,0x7E,0xDF,0xDD,0x71,0xC7,0x1D, + 0x7B,0xD8,0xCF,0x06,0xA1,0xBD,0x25,0x4E,0x49,0x6E,0x12,0x87,0x0F,0x1F,0x1E,0xEF, + 0xEC,0xEC,0x9C,0x88,0x87,0x1A,0xBF,0xA3,0x1B,0xA3,0x11,0xC2,0x8A,0x93,0x33,0xE0, + 0x8F,0x1D,0xE3,0x4A,0x16,0x9D,0x70,0x40,0x02,0xEC,0x87,0x90,0xFB,0xC5,0xE3,0xBA, + 0x8C,0x49,0x93,0x26,0x7D,0x27,0x4E,0x0D,0x3A,0x06,0xAD,0xE8,0x0A,0x0A,0x0A,0xFE, + 0x54,0x58,0x58,0xF8,0x1C,0x72,0x05,0x65,0xF4,0x43,0x77,0xB0,0x3F,0x6E,0xEC,0xD8, + 0xB1,0x4C,0xCE,0xDF,0xBB,0xE7,0x9E,0x7B,0x64,0x4B,0xE4,0x00,0x03,0x21,0xE7,0x24, + 0x3C,0x9D,0x43,0x8E,0xF7,0x1D,0x84,0x15,0xC3,0xB1,0xAD,0x14,0x5B,0x52,0x52,0x92, + 0xD1,0x14,0x28,0xC2,0xD6,0x65,0xA4,0x09,0x17,0xE9,0xF5,0xE2,0xE2,0xE2,0x06,0x65, + 0x5F,0xE9,0xA0,0x14,0x1D,0x72,0x81,0x77,0x51,0xEB,0x3D,0xC2,0xA1,0x48,0x9C,0x82, + 0x02,0x01,0x1A,0x8D,0x09,0x24,0x1C,0x7A,0xC4,0x16,0xCB,0x96,0x96,0x96,0x17,0x90, + 0x0F,0x3C,0x27,0xCC,0x92,0x01,0x08,0xC2,0x49,0x5F,0x88,0x6E,0x1B,0x7E,0xDB,0x92, + 0xCC,0xCC,0xCC,0xF9,0xEC,0xC6,0xE9,0x0E,0xE6,0x7F,0x48,0x11,0x38,0xFC,0x2E,0x16, + 0x15,0xA9,0xAF,0x46,0xA3,0x19,0x54,0xE2,0x1B,0x54,0x93,0x58,0xF1,0x83,0x38,0xE1, + 0xB1,0x19,0x87,0x8F,0x30,0x2F,0x63,0xC8,0xC8,0xB1,0x7F,0x86,0xE3,0xFE,0xD8,0x50, + 0x82,0x70,0x65,0xFB,0xB2,0x65,0xCB,0xBE,0xF3,0xF5,0xF5,0x7D,0x4A,0x0A,0x6E,0xE0, + 0x83,0x68,0x84,0xC3,0x57,0x66,0x04,0x07,0x07,0x2F,0xB0,0xB1,0xB1,0xD9,0xCC,0x59, + 0x0B,0x86,0x7D,0xAA,0x5A,0xD8,0x00,0x83,0xFC,0x3D,0xD8,0xD1,0xD1,0xF1,0x58,0x43, + 0x43,0xC3,0xE1,0xAD,0x5B,0xB7,0xCE,0x16,0xA7,0x06,0x05,0x83,0xC6,0xD3,0x1D,0x3D, + 0x7A,0x74,0x02,0xF2,0xB0,0x78,0x24,0xE0,0xCA,0xFA,0x8E,0x5A,0xD8,0x68,0x82,0xDC, + 0x4E,0x19,0x59,0xC2,0x3E,0x38,0x36,0x3D,0x23,0x54,0xF9,0xF0,0xF1,0xC7,0x1F,0x7F, + 0xA8,0xB8,0xB8,0xD8,0x02,0x65,0xB9,0xD4,0xDC,0x20,0x03,0x39,0xBA,0x23,0x2A,0xD2, + 0xB8,0xAF,0xBE,0xFA,0x2A,0x18,0x15,0xE8,0x7F,0x99,0x9A,0xF5,0xA1,0xC5,0xDD,0xDD, + 0x9D,0xC3,0xC9,0x0A,0xBD,0xBC,0xBC,0x62,0x66,0xCD,0x9A,0xD5,0xBB,0x95,0x9D,0x6E, + 0x32,0x83,0x42,0x74,0xAB,0x57,0xAF,0x8E,0xE5,0xEC,0xED,0xC8,0xC8,0x48,0x1F,0xED, + 0x22,0x3A,0x5A,0x28,0x3A,0x0E,0x58,0x4E,0x49,0x49,0x51,0x96,0x1E,0x80,0x28,0x5F, + 0x5C,0xB0,0x60,0xC1,0x6F,0xC5,0x69,0xC9,0x20,0xE7,0xEB,0xAF,0xBF,0xDE,0x80,0xDF, + 0xF7,0x5E,0xAE,0x1F,0xD3,0x1D,0xB1,0xB1,0xB1,0xAA,0xF0,0xF0,0xF0,0x54,0x54,0xBA, + 0xB1,0x97,0x2E,0x5D,0x82,0xFE,0xBC,0x72,0xC5,0xA9,0x01,0xC9,0x80,0x0D,0x2F,0x73, + 0x72,0x72,0x94,0x0A,0x01,0x82,0x5B,0x81,0xA7,0xDD,0x19,0x19,0x19,0x3E,0x1C,0x52, + 0xA4,0x9D,0x52,0xA2,0x85,0x21,0x08,0x3B,0x55,0x39,0xD7,0xCD,0xDB,0xDB,0xFB,0x17, + 0x52,0x70,0x43,0x0B,0x1F,0x1F,0x9F,0xB8,0x69,0xD3,0xA6,0x25,0xA1,0xB2,0xFD,0x5A, + 0x77,0x59,0x09,0x2D,0x38,0x47,0xC1,0x31,0xCA,0x89,0x42,0x05,0x7C,0xAC,0xBD,0xBD, + 0xFD,0x68,0x5E,0x5E,0x5E,0x84,0x38,0x3D,0x20,0x19,0x90,0x9E,0x0E,0x82,0x1B,0x8B, + 0xA7,0xDF,0x7C,0xF8,0xE1,0x87,0x67,0xF0,0x45,0xBE,0xDC,0x69,0xED,0x84,0x73,0xB7, + 0xD8,0xC9,0xCD,0x56,0x2E,0x0A,0x8E,0xC3,0xB8,0xEA,0xEA,0xEA,0x38,0xB0,0x2F,0x2E, + 0x30,0x30,0xF0,0xB3,0xCE,0xAB,0x24,0x43,0x09,0xDC,0x0F,0xCA,0xA2,0xBD,0x1F,0x7C, + 0xF0,0xC1,0x3B,0xF8,0xCD,0x1F,0x65,0xE5,0x4B,0x10,0xF9,0x28,0x82,0xE3,0xA8,0x16, + 0x6D,0xFE,0xC7,0x41,0x11,0xC8,0xF9,0x32,0x5A,0x5A,0x5A,0x62,0x34,0x1A,0xCD,0x80, + 0x5C,0xA9,0x6C,0xC0,0x89,0x0E,0x5F,0xB0,0x25,0x9E,0xB6,0xA4,0xA6,0xA6,0xCE,0x37, + 0x1C,0xFD,0x4F,0xD8,0x5F,0xB3,0x68,0xD1,0x22,0x65,0x90,0x2C,0x84,0xB7,0xA5,0xB5, + 0xB5,0x35,0x14,0xC2,0xA3,0xE0,0x06,0xF4,0xEC,0x6C,0x49,0xDF,0x70,0xF8,0xF0,0xE1, + 0xCD,0x85,0x85,0x85,0x33,0x21,0x2C,0x17,0x36,0xA2,0x71,0x26,0x88,0x21,0x8C,0x86, + 0x90,0x07,0xEE,0x82,0x28,0xE7,0x09,0xD3,0x80,0x62,0xC0,0x85,0x97,0x10,0x4F,0xEB, + 0x86,0x0D,0x1B,0x2E,0x99,0x12,0x1C,0x61,0xFE,0xC6,0xD5,0x90,0x2F,0x5C,0xB8,0xF0, + 0x6B,0xC4,0xEE,0x4B,0x50,0xC3,0x85,0x4A,0xC1,0x0D,0x1F,0xE0,0xD5,0xEE,0x09,0x0D, + 0x0D,0x9D,0x34,0x7E,0xFC,0xF8,0x7F,0x70,0xA4,0x8A,0x21,0xCC,0xF1,0x19,0xFD,0xA4, + 0xA5,0xA5,0xDD,0xFA,0xCA,0x2B,0xAF,0x7C,0x5C,0x56,0x56,0xE6,0x81,0x87,0x7E,0x43, + 0xC0,0x4D,0x66,0x40,0x79,0x3A,0xE4,0x6F,0xFC,0x16,0xE3,0xF1,0x98,0xAB,0x18,0x0C, + 0x60,0xEB,0x24,0xBF,0x54,0xC4,0xED,0xF7,0x3F,0xFF,0xFC,0xF3,0xEB,0x85,0x59,0x32, + 0x4C,0xC9,0xCC,0xCC,0xDC,0x80,0x3C,0xEF,0x5E,0x17,0x17,0x17,0x61,0xE9,0x5C,0x26, + 0xE2,0x9B,0x6F,0xBE,0x51,0xBA,0x15,0x98,0xEB,0x4F,0x9C,0x38,0xB1,0x62,0xE6,0xCC, + 0x99,0xE7,0x10,0x76,0xC6,0x8C,0x1D,0x3B,0xF6,0xCA,0x4B,0x04,0xDC,0x00,0x06,0x8C, + 0xA7,0x83,0xE0,0x98,0xFC,0x26,0xE2,0x61,0x52,0x70,0xEC,0x10,0xF5,0xF4,0xF4,0x2C, + 0xC1,0x97,0x3C,0x57,0x0A,0x4E,0x42,0xDA,0xDA,0xDA,0xE2,0xEA,0xEB,0xEB,0x93,0x29, + 0x30,0xC2,0x95,0xAD,0xB9,0x32,0x9B,0x76,0xF2,0x2C,0xC7,0x70,0x9E,0x3C,0x79,0xD2, + 0x1D,0x21,0x69,0x54,0x73,0x73,0x33,0x2B,0xF3,0x01,0xC1,0x80,0x10,0x1D,0xC2,0xC9, + 0xC5,0xF0,0x62,0x14,0x5C,0x70,0xA7,0x45,0x1F,0x8E,0x2C,0x41,0x58,0x91,0x06,0xC1, + 0xC5,0x3E,0xFB,0xEC,0xB3,0xBC,0x4E,0x22,0x51,0x69,0x34,0x1A,0x8E,0x6C,0x8F,0x83, + 0x17,0x3B,0xCB,0x81,0xD1,0x5C,0x91,0x8D,0xF9,0x9C,0x76,0xDA,0x90,0x16,0x8E,0x6E, + 0xC9,0xCE,0xCE,0xBE,0x03,0x21,0xE7,0x9B,0xC2,0x74,0x53,0xB9,0xE9,0xA2,0x43,0x2D, + 0xF5,0xC8,0x84,0x09,0x13,0xBE,0x1B,0x31,0x62,0x84,0xB3,0x30,0xE9,0xC1,0xD0,0xC1, + 0xD9,0xD9,0x99,0x83,0x5B,0x63,0x57,0xAE,0x5C,0x79,0xA6,0xD3,0x2A,0x91,0x74,0x02, + 0xE1,0x15,0xDA,0xDA,0xDA,0xC6,0xE1,0x1E,0x39,0x74,0xFE,0xFC,0xF9,0x64,0x43,0xC1, + 0x69,0x49,0x4D,0x4D,0xE5,0x8C,0x85,0xC7,0x93,0x93,0x93,0x57,0x0B,0xD3,0x4D,0xE3, + 0xA6,0xE6,0x74,0x10,0xDC,0xEF,0xF1,0xF4,0x67,0x1E,0x73,0x90,0x2B,0x3B,0x40,0x19, + 0x22,0x68,0x61,0x33,0xB0,0x5A,0xAD,0x7E,0xEF,0xB7,0xBF,0xFD,0xAD,0x1C,0xA8,0x2C, + 0xE9,0x91,0xF2,0xF2,0x72,0xEB,0xF7,0xDF,0x7F,0xDF,0xC6,0xD1,0xD1,0x71,0x0F,0x3C, + 0x5F,0x04,0xD7,0xBF,0x31,0x84,0xB3,0x18,0x22,0x22,0x22,0xB8,0x86,0xE9,0x7F,0xCC, + 0x9B,0x37,0xEF,0x6D,0x61,0xBE,0xE1,0xDC,0x34,0xD1,0x41,0x5C,0x6F,0xD8,0xD9,0xD9, + 0x3D,0xC9,0xC6,0x11,0x2D,0x47,0x8F,0x1E,0xE5,0xA4,0x45,0x15,0x6A,0x2C,0x61,0x51, + 0xFD,0x19,0xF9,0xDB,0x1F,0xC4,0xB1,0x44,0x72,0x45,0xD6,0xAF,0x5F,0xCF,0x7D,0x1D, + 0x12,0xB9,0x3C,0xBE,0x29,0xE1,0xB1,0x7F,0x97,0x0B,0x21,0x21,0xDF,0xBB,0xED,0xF6, + 0xDB,0x6F,0xFF,0x56,0x98,0x6F,0x28,0x37,0x5C,0x74,0x59,0x59,0x59,0xD6,0x96,0x96, + 0x96,0xF1,0x10,0xDC,0x5D,0x1C,0x61,0xA0,0xED,0xD4,0x24,0x5C,0x41,0x98,0x5D,0x05, + 0x7C,0x94,0x94,0x94,0x3C,0x09,0xC1,0xFD,0x4B,0x9C,0x92,0x48,0x7A,0x4D,0x42,0x42, + 0x02,0x1B,0xE3,0x76,0xB1,0x13,0x5D,0xDB,0xC8,0xA2,0x0B,0x1B,0xE5,0x82,0x82,0x82, + 0xEA,0xD8,0x46,0xB0,0x70,0xE1,0xC2,0xEE,0xA7,0x33,0xF4,0x13,0x37,0x54,0x74,0x39, + 0x39,0x39,0x0E,0x1D,0x1D,0x1D,0xDB,0x1B,0x1B,0x1B,0x67,0x70,0xA0,0x2A,0x67,0x03, + 0x18,0xD2,0xD0,0xD0,0xD0,0x01,0x6F,0xB7,0x32,0x26,0x26,0xE6,0x43,0x61,0x92,0x48, + 0xAE,0x9A,0x1D,0x3B,0x76,0xAC,0x68,0x6D,0x6D,0xFD,0x84,0xAB,0xBD,0x71,0x94,0x8A, + 0x2E,0xDA,0x39,0x96,0xA1,0xA1,0xA1,0x59,0xB8,0x07,0x63,0xC7,0x8C,0x19,0xD3,0xBB, + 0x5D,0x34,0xFB,0x88,0x1B,0xDA,0x90,0x12,0x18,0x18,0x58,0x87,0x2F,0xE3,0x12,0x9B, + 0x75,0x39,0x07,0xCE,0xB0,0x16,0x62,0x12,0x0C,0x6F,0x67,0x36,0x6A,0xD4,0x28,0xFD, + 0x5D,0x3A,0x24,0x92,0xAB,0x64,0xFE,0xFC,0xF9,0xEB,0xE1,0xC9,0x7E,0xCD,0x1C,0x8E, + 0xFD,0x75,0xBA,0x70,0x60,0x3C,0xE7,0x59,0x7A,0x78,0x78,0x04,0xA1,0x18,0x0F,0x8F, + 0x78,0x43,0x9D,0xCF,0x0D,0x7D,0xB3,0xD5,0xAB,0x57,0xD3,0x7B,0xFD,0x94,0xC7,0xDC, + 0x05,0x87,0x43,0x78,0xF8,0xA5,0xF0,0x4B,0x60,0x68,0xC9,0x5D,0x72,0x10,0x6B,0x3F, + 0x0B,0x71,0xFE,0x8D,0xD7,0x48,0x24,0xD7,0xCB,0xA1,0x43,0x87,0xFE,0xAF,0xB4,0xB4, + 0xF4,0x57,0xDC,0xE4,0x85,0x70,0xB9,0x3F,0xEE,0x62,0xAB,0x8D,0xB2,0xC4,0xCE,0x4C, + 0x9F,0xE2,0x5E,0xBC,0x4F,0x31,0xDC,0x00,0x6E,0x88,0xE8,0x36,0x6E,0xDC,0xE8,0x8E, + 0xB0,0x31,0xBE,0xB8,0xB8,0x78,0x81,0xEE,0xAA,0xBF,0xEC,0x0E,0xE0,0x54,0x1D,0xEE, + 0x6F,0xC6,0xA9,0xF9,0xC8,0xF5,0x7E,0x1A,0x10,0x10,0xB0,0x4E,0x9C,0x96,0x48,0xFA, + 0x04,0x84,0x98,0x9F,0x14,0x15,0x15,0xAD,0x60,0x64,0xB5,0x74,0xE9,0x52,0x61,0xBD, + 0x0C,0x17,0x1A,0x86,0xF0,0xD6,0x20,0xCF,0xFB,0xA5,0x30,0xF5,0x2B,0xFD,0x2E,0xBA, + 0xC3,0x87,0x0F,0x87,0x56,0x54,0x54,0xAC,0xCF,0xCA,0xCA,0x9A,0xC4,0x05,0x5D,0x0D, + 0xA1,0xE8,0x34,0x1A,0x0D,0x37,0xA3,0x88,0x0B,0x0B,0x0B,0xDB,0x21,0xCC,0x12,0x49, + 0x9F,0x92,0x97,0x97,0xB7,0x0B,0xDE,0x6D,0xAE,0x5A,0xAD,0x16,0x96,0xCB,0x70,0x68, + 0x21,0xB7,0xAF,0x2E,0x2B,0x2B,0x7B,0x76,0xFA,0xF4,0xE9,0xFD,0x1E,0x65,0xF5,0x6B, + 0x4E,0x87,0xDA,0x65,0x21,0xC4,0x94,0x78,0xFE,0xFC,0x79,0x93,0x82,0xE3,0x8C,0x01, + 0x0B,0x0B,0x8B,0x13,0x55,0x55,0x55,0xB1,0x52,0x70,0x92,0xFE,0x04,0x51,0x54,0x5C, + 0x5B,0x5B,0x5B,0x86,0x61,0xE7,0x39,0x87,0x8A,0xB1,0x05,0x9D,0x3B,0xEA,0x42,0x98, + 0x2F,0x6D,0xDE,0xBC,0xF9,0x41,0x71,0xAA,0xDF,0xE8,0x57,0xD1,0x21,0x64,0xD4,0x24, + 0x25,0x25,0xB9,0xE1,0x8F,0x11,0x16,0x7D,0xF0,0x07,0x7F,0x8F,0xB0,0x33,0xE6,0x8E, + 0x3B,0xEE,0x18,0xF2,0xDB,0x4C,0x49,0x6E,0x2E,0x23,0x46,0x8C,0xB8,0x40,0xE1,0xE1, + 0x9E,0xAB,0xD1,0x0A,0x8F,0xB3,0x11,0x18,0x5A,0xB2,0x61,0x6F,0xCF,0x9E,0x3D,0x14, + 0x1D,0x5B,0x36,0x3F,0xDA,0xBD,0x7B,0x77,0xBF,0x4E,0x09,0xEA,0xB7,0xF0,0xF2,0x5F, + 0xFF,0xFA,0x57,0x40,0x65,0x65,0x25,0xB7,0xA5,0xD2,0xDF,0xBA,0x54,0x30,0x6E,0xDC, + 0xB8,0xD6,0xD8,0xD8,0xD8,0xE9,0x48,0x6C,0x8F,0x08,0x93,0x44,0xD2,0xEF,0x94,0x94, + 0x94,0x2C,0x81,0xF0,0x36,0xD3,0xBB,0x71,0x9C,0x26,0x17,0xB4,0xCD,0xCF,0xCF,0x17, + 0x67,0x3B,0x1B,0xF8,0x26,0x4D,0x9A,0x54,0x86,0x28,0x2C,0x76,0xC6,0x8C,0x19,0xA7, + 0x85,0xB9,0x4F,0xE9,0x17,0x4F,0x97,0x92,0x92,0x32,0xD3,0xD3,0xD3,0x33,0x11,0x35, + 0x8B,0x49,0xC1,0x71,0xE6,0x37,0xFE,0xA0,0x02,0x1C,0xCA,0x45,0x83,0x24,0x37,0x14, + 0x1F,0x1F,0x9F,0xEF,0xE0,0xE9,0x1E,0xE5,0x7E,0x0A,0x7B,0xF7,0xEE,0xD5,0x13,0x1C, + 0xE1,0xFE,0x17,0x39,0x39,0x39,0x9E,0xC8,0xFD,0xE2,0xD3,0xD2,0xD2,0x5C,0x85,0xB9, + 0x4F,0xE9,0x73,0xD1,0x65,0x64,0x64,0x38,0xA3,0xB6,0xF8,0xAA,0xA6,0xA6,0x66,0x34, + 0x27,0x9C,0x1A,0x02,0x37,0xCF,0xC6,0x93,0x7D,0xF5,0xF5,0xF5,0xB1,0xF0,0x72,0x97, + 0x97,0xF0,0x95,0x48,0x6E,0x10,0xB8,0xEF,0xDE,0xAB,0xAB,0xAB,0x7B,0x4E,0x77,0x33, + 0x19,0x5D,0x18,0x66,0x66,0x66,0x66,0x86,0x59,0x5B,0x5B,0xF7,0xCB,0x74,0xA0,0x3E, + 0x17,0x1D,0x04,0x65,0x65,0x61,0x61,0x51,0xC8,0xE5,0x14,0xD8,0xFF,0xA6,0x0B,0x6D, + 0x76,0x76,0x76,0x5F,0xD4,0xD6,0xD6,0xC6,0x44,0x44,0x44,0xE8,0x57,0x31,0x12,0xC9, + 0x0D,0x24,0x3C,0x3C,0xFC,0x05,0x57,0x57,0xD7,0x7F,0x72,0x8D,0x15,0x53,0x9C,0x3E, + 0x7D,0x9A,0x03,0x38,0x7E,0x04,0x01,0xAE,0x15,0xA6,0x3E,0xA3,0x4F,0x73,0xBA,0xA2, + 0xA2,0xA2,0x50,0x88,0x8A,0x6B,0x53,0x86,0x70,0xAD,0x42,0xCE,0x71,0xE2,0xF2,0xD8, + 0xEC,0x9B,0x63,0xF2,0x8A,0x70,0xF3,0xF5,0xE7,0x9E,0x7B,0xEE,0x69,0x71,0xB9,0x44, + 0x72,0xD3,0xD9,0xB3,0x67,0xCF,0x97,0x10,0xD6,0x9D,0xDC,0xB0,0xC4,0x14,0x77,0xDC, + 0x71,0x07,0x47,0x52,0x45,0x43,0xA0,0x07,0x84,0xE9,0xBA,0xE9,0x33,0xD1,0x41,0x70, + 0x91,0x1D,0x1D,0x1D,0x3B,0x6C,0x6C,0x6C,0xDC,0xB4,0x2B,0x2E,0x73,0x94,0x09,0xFB, + 0x3F,0xB8,0x18,0x2C,0x27,0xA2,0x4E,0x9C,0x38,0x71,0x15,0xF2,0xB9,0x01,0x31,0x91, + 0x50,0x22,0x21,0x3B,0x77,0xEE,0x54,0xB7,0xB6,0xB6,0x26,0x42,0x74,0x33,0x4C,0xED, + 0x89,0x81,0x7B,0xB9,0x1E,0x8F,0x99,0xCF,0x3E,0xFB,0xEC,0x71,0x61,0xBA,0x6E,0xFA, + 0x2C,0xBC,0x84,0x17,0x3B,0x6F,0x6B,0x6B,0x6B,0xAE,0x15,0x1C,0xE1,0x31,0x37,0x7C, + 0xE0,0x52,0x69,0xBE,0xBE,0xBE,0xDF,0xC3,0xDB,0x6D,0x10,0xA7,0x24,0x92,0x01,0xC1, + 0xBC,0x79,0xF3,0x2E,0x35,0x36,0x36,0xC6,0xE1,0xFE,0xCC,0xD3,0x5D,0x6B,0x45,0x07, + 0x7B,0xA4,0x45,0xF1,0x9F,0x7C,0xF2,0x89,0xA7,0x28,0x5F,0x37,0x7D,0x22,0x3A,0x84, + 0x90,0x81,0xF0,0x68,0x9B,0x20,0x3C,0xBD,0x4F,0xCD,0x9E,0x7E,0xB6,0x12,0x21,0x21, + 0x5D,0x3B,0x6D,0xDA,0xB4,0x45,0xC1,0xC1,0xC1,0x43,0x66,0x37,0x4D,0xC9,0xD0,0x61, + 0xF9,0xF2,0xE5,0xB9,0x70,0x08,0x71,0x9E,0x9E,0x9E,0xCD,0x86,0x23,0x56,0xB8,0x31, + 0x0D,0x22,0xB6,0x89,0xFE,0xFE,0xFE,0x7D,0xD6,0xA8,0x72,0xDD,0xA2,0x43,0xC2,0x39, + 0xF3,0xD2,0xA5,0x4B,0x89,0xC7,0x8F,0x1F,0x9F,0xAE,0xBB,0x9F,0x18,0x61,0x5F,0x48, + 0x7B,0x7B,0x7B,0xAE,0x46,0xA3,0x79,0x58,0x98,0x24,0x92,0x01,0xC9,0xDD,0x77,0xDF, + 0xBD,0xBF,0xAE,0xAE,0x6E,0x85,0x6E,0xA4,0xC6,0x11,0x53,0xEC,0xB7,0x9B,0x3C,0x79, + 0x32,0x07,0xE7,0xCF,0x3B,0x7B,0xF6,0x6C,0x9F,0x8C,0x0B,0xBE,0x6E,0xD1,0xE1,0x83, + 0xDD,0x93,0x9F,0x9F,0x3F,0x8A,0x4B,0x2D,0x70,0x23,0xBF,0x83,0x07,0x0F,0x2A,0x79, + 0x1C,0x61,0x8C,0x5C,0x59,0x59,0x59,0x98,0x99,0x99,0xE9,0xA6,0x18,0x24,0x92,0x01, + 0xCC,0xE3,0x8F,0x3F,0xBE,0x11,0x1E,0xEF,0x37,0x3C,0xF6,0xF2,0xF2,0x52,0xB6,0x66, + 0x9E,0x3F,0x7F,0x3E,0xE7,0xDD,0x29,0x2D,0xEF,0x0E,0x0E,0x0E,0x0F,0xE0,0x9E,0x56, + 0x66,0xC9,0x5C,0x0F,0xD7,0xD5,0x90,0x92,0x90,0x90,0xE0,0x99,0x93,0x93,0x13,0x5F, + 0x5B,0x5B,0x3B,0x8F,0x63,0xD8,0xB4,0x70,0xE5,0x5D,0x36,0x9C,0x38,0x39,0x39,0x7D, + 0x81,0x22,0xD7,0xA2,0x37,0xDE,0x3C,0x4E,0x22,0x19,0x60,0x14,0x17,0x17,0x53,0x0F, + 0x1F,0x9E,0x39,0x73,0xE6,0x41,0x7A,0x39,0x4E,0x03,0x82,0xD0,0x3A,0x4F,0x02,0xA4, + 0x4B,0xDC,0x26,0x3B,0x1A,0x02,0xBC,0xAE,0xD9,0xE6,0xD7,0x2C,0xBA,0xB2,0xB2,0xB2, + 0x31,0x85,0x85,0x85,0x9B,0xF6,0xEE,0xDD,0x3B,0xD1,0x70,0x30,0x33,0xC3,0xCA,0x51, + 0xA3,0x46,0x7D,0xF6,0xF0,0xC3,0x0F,0xDF,0x2B,0x4C,0x12,0xC9,0xA0,0x20,0x2F,0x2F, + 0xCF,0x9F,0xAD,0x99,0x10,0xDD,0x58,0x5D,0xC1,0x11,0xB6,0x51,0x34,0x35,0x35,0x65, + 0x22,0x9D,0x8A,0xC5,0xFD,0xCD,0xFD,0xF4,0xAE,0x89,0xEB,0x09,0x2F,0xEB,0x51,0x23, + 0xF8,0x99,0x9A,0x3D,0xC0,0x8D,0xDB,0xA3,0xA3,0xA3,0x1D,0x10,0x72,0xEA,0xEF,0xD6, + 0x28,0x91,0x0C,0x70,0x46,0x8F,0x1E,0x7D,0x9E,0x8D,0x2A,0xC8,0xEF,0x1A,0x38,0x20, + 0x5A,0x17,0xB1,0x9E,0xCF,0x78,0x44,0x76,0xD7,0xD5,0xA8,0x72,0x4D,0xA2,0x4B,0x4D, + 0x4D,0xB5,0xDA,0xBF,0x7F,0xFF,0xBF,0x73,0x73,0x73,0x4D,0xB6,0xB1,0x82,0xAD,0x25, + 0x25,0x25,0xF7,0x6B,0x34,0x1A,0xBA,0x63,0x89,0x64,0x50,0x31,0x7E,0xFC,0xF8,0x54, + 0x73,0x73,0x73,0xAE,0x1E,0xAD,0x4C,0xFD,0x21,0x7C,0xE6,0x80,0x0F,0x2E,0x76,0x74, + 0xF4,0xE8,0xD1,0x98,0xB4,0xB4,0xB4,0x6B,0x16,0xDE,0xB5,0x7A,0x3A,0xB3,0x9A,0x9A, + 0x9A,0xC9,0xEC,0x0E,0x30,0x04,0x09,0x68,0x3E,0xC2,0xCA,0xC5,0x73,0xE7,0xCE,0x35, + 0x5E,0xFF,0x4C,0x22,0x19,0x24,0x8C,0x1B,0x37,0xEE,0x1B,0x1B,0x1B,0x9B,0x27,0x28, + 0x36,0x2E,0xE9,0xC0,0x55,0xA2,0x39,0xC8,0x63,0xEB,0xD6,0xAD,0x1C,0x97,0xC9,0x30, + 0xF4,0x9A,0x07,0x43,0x5F,0x93,0xE8,0xF0,0x01,0x5E,0xC8,0xCA,0xCA,0x1A,0x25,0x8A, + 0x5D,0x30,0x06,0x0E,0x0A,0x0A,0x6A,0x85,0x27,0x34,0x3D,0x92,0x54,0x22,0x19,0x44, + 0xF8,0xF8,0xF8,0xFC,0x1B,0xE9,0xD3,0xFB,0x1B,0x37,0x6E,0xE4,0x92,0x0F,0xCA,0x9A, + 0xAC,0x5A,0x8E,0x1F,0x3F,0x1E,0xF3,0xDA,0x6B,0xAF,0x4D,0x17,0xC5,0xAB,0xE2,0xAA, + 0x45,0x77,0xE2,0xC4,0x89,0xF7,0xEC,0xED,0xED,0xFF,0x5B,0x14,0xF5,0x70,0x72,0x72, + 0xBA,0x88,0x1A,0x20,0x26,0x2A,0x2A,0x6A,0x40,0x6F,0x3F,0x2B,0x91,0xF4,0x06,0x38, + 0x16,0x1B,0x0B,0x0B,0x8B,0xE9,0x6C,0xC9,0x44,0x1E,0x27,0xAC,0x9D,0x58,0x59,0x59, + 0xD9,0x78,0x7B,0x7B,0xC7,0xEF,0xDA,0xB5,0x6B,0xA4,0x30,0xF5,0x9A,0xAB,0x16,0xDD, + 0xC1,0x83,0x07,0x1B,0xCF,0x9E,0x3D,0x2B,0x4A,0x97,0xE1,0x6E,0x98,0x08,0x29,0x9D, + 0xEF,0xBE,0xFB,0xEE,0xD1,0xC2,0x24,0x91,0x0C,0x6A,0x10,0xB5,0x35,0x95,0x95,0x95, + 0x3D,0x88,0x94,0xA9,0x86,0xC2,0xD3,0x85,0x6B,0x69,0x22,0xE7,0x0B,0x84,0x37,0x8C, + 0x4F,0x4F,0x4F,0xBF,0xAA,0x5E,0x80,0xAB,0x12,0x1D,0xDC,0xEB,0x1F,0xEC,0xEC,0xEC, + 0x9E,0xA4,0xC0,0x74,0xE1,0xBA,0x82,0xD6,0xD6,0xD6,0xA5,0xF0,0x72,0xF3,0x5C,0x5D, + 0x5D,0xF7,0x0A,0xB3,0x44,0x32,0xE8,0x99,0x39,0x73,0x66,0x5A,0x49,0x49,0x49,0x9C, + 0x28,0xEA,0x81,0xFB,0x9D,0x1B,0x94,0xA6,0x89,0xDD,0x83,0x7A,0x4D,0xAF,0x15,0x5A, + 0x5D,0x5D,0xBD,0xB8,0xB5,0xB5,0xF5,0x3B,0xEE,0x3D,0xC0,0x16,0x1C,0x2E,0x16,0x4B, + 0x8F,0x47,0xB7,0xCB,0x81,0xA2,0xD1,0xD1,0xD1,0xFF,0x98,0x31,0x63,0xC6,0x7F,0x89, + 0xCB,0x25,0x92,0x21,0xC5,0x17,0x5F,0x7C,0xB1,0x0D,0xA9,0xD5,0x02,0x51,0xEC,0x82, + 0xEB,0x67,0xBA,0xBB,0xBB,0xFF,0xE4,0xD1,0x47,0x1F,0xE5,0x40,0x90,0x5E,0xD1,0x6B, + 0x4F,0x07,0x57,0xAA,0x74,0x0F,0x50,0x74,0x5C,0x92,0x1A,0xA1,0x24,0x47,0x68,0xAB, + 0x66,0xCD,0x9A,0xA5,0x9A,0x30,0x61,0x02,0xC7,0xA8,0x65,0x28,0x17,0x4A,0x24,0x43, + 0x10,0xDC,0xE3,0x66,0xA3,0x47,0x1B,0x67,0x4E,0x6C,0xDD,0x1C,0x31,0x62,0x04,0x97, + 0x76,0xB8,0x45,0x98,0xAE,0x48,0xAF,0x44,0x57,0x5A,0x5A,0x1A,0x8E,0xC4,0x71,0xBD, + 0x76,0x79,0x6A,0x3E,0xB3,0xA3,0x50,0xAC,0x07,0x7F,0xC9,0xD7,0xD7,0xF7,0x8E,0x71, + 0xE3,0xC6,0xBD,0xA5,0x9C,0x94,0x48,0x86,0x20,0x85,0x85,0x85,0x71,0xB8,0xEF,0x4F, + 0x71,0xBB,0x2D,0x5D,0x98,0xDB,0x15,0x15,0x15,0x59,0x22,0xDA,0x7B,0x28,0x27,0x27, + 0xA7,0x57,0x91,0x63,0xAF,0x44,0xD7,0xD1,0xD1,0x61,0x09,0x0F,0x57,0x69,0x69,0x69, + 0x29,0x2C,0x9D,0x70,0x36,0x38,0xC2,0xCB,0x76,0x7C,0x10,0xB9,0xA2,0x97,0x64,0x48, + 0xB3,0x68,0xD1,0xA2,0xF2,0xB2,0xB2,0xB2,0xB8,0xE6,0xE6,0x66,0xA3,0xFE,0x67,0xA6, + 0x5A,0xEB,0xD7,0xAF,0xAF,0x0A,0x0C,0x0C,0xEC,0x55,0x6E,0x77,0x45,0xD1,0xC1,0xCB, + 0x8D,0xC0,0xD3,0x1E,0xBC,0x99,0x9B,0xEE,0xA0,0x66,0x42,0x95,0x83,0x3F,0x84,0x84, + 0x84,0x74,0x6D,0x28,0x27,0x91,0x0C,0x55,0x96,0x2D,0x5B,0x56,0x33,0x7B,0xF6,0x6C, + 0xA3,0x51,0x56,0xF4,0x7E,0xFE,0xFE,0xFE,0xFF,0x9D,0x98,0x98,0xD8,0xAB,0x36,0x8D, + 0x2B,0x8A,0x2E,0x35,0x35,0xB5,0x36,0x25,0x25,0x25,0x9F,0xD3,0x76,0x38,0xCE,0x92, + 0x8B,0x73,0x6A,0xC5,0x47,0xD1,0x41,0x8C,0xDB,0x95,0x82,0x44,0x32,0xC4,0xD1,0x68, + 0x34,0x79,0x10,0xD8,0x26,0xAE,0x68,0x47,0xD8,0x8D,0x00,0xB1,0xA9,0xA6,0x4F,0x9F, + 0xAE,0x6C,0x84,0x33,0x72,0xE4,0xC8,0xFB,0xB2,0xB2,0xB2,0x8C,0xF7,0x7F,0x33,0xA0, + 0xC7,0x18,0x14,0x31,0xAA,0x3D,0x42,0xC8,0xE4,0x1D,0x3B,0x76,0x44,0x16,0x17,0x17, + 0x2B,0x7D,0x71,0x6C,0xA9,0xE4,0x0A,0x4A,0xCC,0xEB,0x10,0x72,0xBE,0x05,0x2F,0xF7, + 0xB8,0xB8,0x5C,0x22,0x19,0x16,0xBC,0xF1,0xC6,0x1B,0xDB,0x20,0xB0,0x05,0xD4,0x02, + 0x97,0x22,0xA1,0xF3,0xE1,0xE4,0xD7,0xFA,0xFA,0xFA,0x24,0x88,0x30,0x46,0x5C,0xD6, + 0x2D,0x57,0x4C,0xFC,0x3E,0xFE,0xF8,0xE3,0x6D,0x50,0x6F,0x57,0x53,0x29,0x1B,0x50, + 0xA8,0xF0,0xA8,0xA8,0x28,0xCE,0x99,0x5B,0x8C,0x37,0xDD,0x2A,0x4E,0x49,0x24,0x43, + 0x9E,0x0B,0x17,0x2E,0x38,0xC0,0x11,0xED,0xC5,0x23,0x8C,0x13,0x5B,0x75,0xE1,0x76, + 0xCB,0x0D,0x0D,0x0D,0x1B,0x82,0x83,0x83,0x4D,0xF6,0xEB,0x69,0xE9,0x31,0xBC,0x84, + 0xA7,0xFB,0xA4,0xB5,0xB5,0x55,0xAF,0x6F,0x82,0x73,0x8A,0xB8,0xAD,0x55,0x5E,0x5E, + 0xDE,0x6E,0x14,0xD3,0x3A,0xAD,0x12,0xC9,0xF0,0xC0,0xDB,0xDB,0xBB,0x0E,0xE9,0xD5, + 0x9B,0xEC,0x3A,0xA3,0x16,0x74,0xA1,0xE7,0x73,0x72,0x72,0x9A,0x9D,0x9F,0x9F,0xDF, + 0x19,0x7F,0x76,0x43,0x8F,0xA2,0x3B,0x74,0xE8,0x50,0x3D,0x84,0x27,0x4A,0x97,0xF1, + 0xF4,0xF4,0x64,0x0C,0xBB,0x01,0x5E,0xCE,0x78,0xCD,0x32,0x89,0x64,0x88,0x83,0x10, + 0xF2,0xDF,0x6A,0xB5,0xFA,0x79,0x43,0xD1,0xB1,0xAD,0x03,0x0E,0xC9,0xE3,0xE2,0xC5, + 0x8B,0xFE,0xC2,0x64,0x92,0x6E,0x45,0xC7,0xBD,0xBA,0xA0,0xE6,0x9F,0x53,0xD1,0xBA, + 0xB0,0xDB,0x00,0xE1,0xE5,0x79,0x78,0xC0,0x7E,0xD9,0x5C,0x41,0x22,0x19,0xE8,0x20, + 0xCA,0x33,0xAF,0xAB,0xAB,0x1B,0xC9,0x75,0x5D,0xB5,0x70,0xC2,0x2B,0xCB,0xB9,0xB9, + 0xB9,0x6A,0xA4,0x60,0xF1,0xA5,0xA5,0xA5,0x46,0xB3,0x70,0xB4,0x74,0x2B,0xBA,0xCC, + 0xCC,0xCC,0xD6,0x8C,0x8C,0x0C,0xA5,0x2F,0x4E,0x17,0x0E,0x7B,0x09,0x08,0x08,0x88, + 0x47,0x4E,0x97,0x22,0x4C,0x12,0xC9,0xB0,0x62,0xF4,0xE8,0xD1,0xED,0xF0,0x72,0x6F, + 0x40,0x78,0x35,0x4C,0xB5,0xB2,0xB2,0xB2,0x94,0xA9,0x3F,0x9F,0x7F,0xFE,0xB9,0x8A, + 0xDB,0x2C,0x9F,0x3D,0x7B,0xD6,0x07,0xC2,0xF3,0x16,0x97,0x1B,0xD1,0xAD,0xE8,0x6A, + 0x6B,0x6B,0x27,0xE8,0x2E,0x47,0x46,0xD8,0x88,0x42,0x1B,0x3C,0x9D,0x1C,0xF2,0x25, + 0x19,0xD6,0xC0,0xF1,0xA4,0x41,0x78,0x71,0xBB,0x76,0xED,0x52,0x6D,0xDB,0xB6,0x4D, + 0x59,0x05,0x8F,0xAB,0xDF,0x71,0x62,0x37,0x52,0x32,0xDB,0xE4,0xE4,0x64,0x93,0x3B, + 0x56,0x11,0x93,0xA2,0xDB,0xBB,0x77,0x6F,0x40,0x7A,0x7A,0x7A,0xA8,0xE1,0xCC,0x70, + 0x8A,0xCE,0xD5,0xD5,0xF5,0xF3,0x69,0xD3,0xA6,0xBD,0x2F,0x4C,0x12,0xC9,0xB0,0xA5, + 0xA2,0xA2,0x62,0x34,0x3D,0x1D,0xBB,0x0C,0x74,0x43,0x4D,0x96,0xA1,0x93,0x15,0xFB, + 0xF7,0xEF,0xD7,0x9F,0x0F,0x24,0x30,0x29,0x3A,0x27,0x27,0xA7,0x7B,0x1C,0x1D,0x1D, + 0x67,0x18,0x8E,0x40,0x21,0x9E,0x9E,0x9E,0x75,0xE2,0x50,0x22,0x19,0xD6,0x20,0xC5, + 0x7A,0xB3,0xB1,0xB1,0x71,0xB7,0xE1,0xF0,0x48,0x8A,0x2E,0x25,0x25,0xA5,0x21,0x3A, + 0x3A,0xDA,0x78,0xAF,0x38,0x60,0x52,0x74,0xA7,0x4E,0x9D,0x52,0x76,0xDD,0x31,0x24, + 0x30,0x30,0x50,0x35,0x65,0xCA,0x14,0xDB,0xB2,0xB2,0x32,0xFD,0xD6,0x15,0x89,0x64, + 0x18,0x52,0x55,0x55,0xE5,0xB8,0x64,0xC9,0x12,0x4F,0xB6,0x73,0x18,0xE2,0xE5,0xE5, + 0x75,0xEB,0x96,0x2D,0x5B,0x56,0x8A,0xA2,0x1E,0x46,0xA2,0x2B,0x2F,0x2F,0xBF,0x07, + 0x0A,0xFE,0xA9,0xB7,0xB7,0xB7,0xB2,0xA4,0xB4,0xEE,0x8C,0x59,0xB8,0xD0,0xE4,0x33, + 0x67,0xCE,0xFC,0x14,0xDE,0x4E,0xEE,0xA0,0x2A,0x19,0xF6,0x20,0x84,0xAC,0x2D,0x2D, + 0x2D,0x7D,0x8B,0xAB,0x41,0x1B,0xC2,0x11,0x5C,0x27,0x4F,0x9E,0x2C,0x13,0x45,0x3D, + 0x8C,0x46,0xA4,0x14,0x16,0x16,0x3E,0x6A,0x63,0x63,0xF3,0x0E,0x63,0x55,0x3E,0x72, + 0x73,0x73,0x95,0x31,0x97,0x5C,0x11,0x69,0xEA,0xD4,0xA9,0x6C,0x40,0x99,0x1A,0x1A, + 0x1A,0x5A,0xDF,0x79,0xB5,0x44,0x22,0x79,0x01,0xB4,0xB6,0xB6,0xFE,0x4E,0xB7,0xDF, + 0x8E,0x0D,0x8E,0x61,0x61,0x61,0x75,0x78,0x1E,0xBB,0x78,0xF1,0x62,0xBD,0xC5,0x61, + 0x8D,0x3C,0x9D,0xB5,0xB5,0x75,0x83,0x85,0x85,0x45,0x9B,0xBD,0xBD,0xBD,0xB2,0x34, + 0x3A,0x5E,0xA8,0x4C,0x56,0x9D,0x34,0x69,0x52,0x7E,0x75,0x75,0xF5,0xDD,0x52,0x70, + 0x12,0xC9,0x65,0x10,0x42,0x9A,0x23,0xE5,0x1A,0x65,0xB8,0x1A,0x34,0x1B,0x56,0x10, + 0x15,0xFE,0x60,0x28,0x38,0xA2,0x27,0xBA,0xF3,0xE7,0xCF,0xC7,0xB6,0xB5,0xB5,0x7D, + 0x8C,0xC3,0xAE,0x9C,0x4D,0xDB,0x39,0xAE,0x56,0xAB,0x7D,0x1D,0x1D,0x1D,0x3B,0x77, + 0x06,0x91,0x48,0x24,0x0A,0x10,0x55,0x7B,0x51,0x51,0xD1,0xEB,0x0D,0x0D,0x0D,0x46, + 0x8D,0x26,0xD0,0xCC,0xBC,0x6D,0xDB,0xB6,0xFD,0x49,0x14,0xBB,0xD0,0x13,0x1D,0x04, + 0x57,0x66,0x69,0x69,0xD9,0xA8,0x9D,0x21,0xAE,0x85,0x6E,0x13,0x79,0xDC,0xDE,0x88, + 0x88,0x88,0x12,0x61,0x92,0x48,0x24,0x82,0x89,0x13,0x27,0x56,0x20,0x02,0x34,0x12, + 0x5D,0x4D,0x4D,0x0D,0xDB,0x45,0x9E,0x43,0x7E,0x17,0x25,0x4C,0x0A,0x86,0xA2,0x8B, + 0x44,0x6C,0x6A,0xA7,0x1B,0x9B,0xF2,0x58,0xF4,0xD7,0xC9,0xC1,0xCD,0x12,0x89,0x09, + 0xA2,0xA3,0xA3,0xCF,0x21,0xF5,0xDA,0xAA,0xDB,0x75,0xC0,0x08,0x91,0x21,0x66,0x7A, + 0x7A,0x7A,0xD1,0x59,0x83,0x35,0x2B,0xF5,0x44,0x77,0xEE,0xDC,0xB9,0x39,0x5C,0xC5, + 0xF6,0xD4,0xA9,0x53,0x6C,0xC5,0x54,0x94,0xCA,0x17,0x42,0x8C,0xE9,0xBE,0xBE,0xBE, + 0xBF,0x14,0x97,0x49,0x24,0x12,0x03,0x82,0x83,0x83,0x93,0x38,0xD5,0x87,0xDD,0x07, + 0x9C,0xE4,0xCA,0xF5,0x83,0x16,0x2D,0x5A,0xC4,0x89,0x01,0x7E,0x41,0x41,0x41,0x7A, + 0xFB,0x1E,0x74,0xB5,0x5E,0x56,0x55,0x55,0xC5,0x42,0x6C,0xBB,0x77,0xEC,0xD8,0xA1, + 0x74,0x13,0x68,0xFB,0x1E,0xFC,0xFC,0xFC,0xB8,0xC4,0xD8,0x51,0x37,0x37,0xB7,0xE8, + 0xB0,0xB0,0x30,0x65,0x7D,0x06,0x89,0x44,0xA2,0xCF,0x81,0x03,0x07,0xEE,0xC1,0xD3, + 0xA7,0x1C,0xB5,0x45,0xCD,0xB0,0xF5,0xD2,0xC6,0xC6,0x46,0xD9,0x3E,0x19,0x5E,0xF0, + 0xA5,0x71,0xE3,0xC6,0x29,0x9B,0x4D,0x92,0x2E,0x4F,0x07,0xCF,0xE6,0xC6,0xAE,0x01, + 0xC2,0x70,0x92,0x9E,0x8E,0x0F,0x4E,0xED,0x71,0x75,0x75,0x1D,0x8B,0xFF,0x4C,0xBF, + 0x79,0x46,0x22,0x91,0x74,0x31,0x63,0xC6,0x8C,0xCF,0x10,0x0D,0x26,0x6B,0x34,0x1A, + 0x65,0xD7,0x56,0x3A,0x2D,0xB6,0x8D,0x30,0x3D,0x83,0x00,0x9F,0x85,0xF0,0x66,0x89, + 0x4B,0x2F,0x8B,0x2E,0x3F,0x3F,0xBF,0xA2,0xB0,0xB0,0xF0,0x92,0x6E,0x3E,0x47,0xA8, + 0x5C,0x6B,0x6B,0xEB,0x83,0x48,0x14,0xCB,0x85,0x49,0x22,0x91,0x18,0x00,0xE7,0x64, + 0x09,0x91,0x59,0x19,0x0E,0x9D,0x64,0x6E,0x87,0x07,0x3B,0xC9,0xD3,0x3B,0x2D,0x3A, + 0xA2,0xC3,0xC5,0x81,0x10,0x9C,0x5A,0x14,0xBB,0xA0,0x9B,0x6C,0x6A,0x6A,0xDA,0x2C, + 0x8A,0x12,0x89,0xC4,0x04,0x81,0x81,0x81,0xAD,0x70,0x4E,0x4F,0x42,0x43,0x7A,0x29, + 0x18,0x1B,0x57,0x1A,0x1B,0x1B,0xDD,0x72,0x73,0x73,0xBB,0xE6,0xD7,0x75,0x89,0x0E, + 0xC6,0x09,0xDC,0x04,0xCF,0x10,0x27,0x27,0xA7,0x93,0x91,0x91,0x91,0x6B,0x44,0x51, + 0x22,0x91,0x74,0x03,0x9C,0xD3,0x64,0xE4,0x70,0x36,0xDA,0x68,0x91,0xF9,0x1C,0x47, + 0x75,0x41,0x78,0x16,0x08,0x37,0xBB,0x16,0x54,0xE9,0x12,0x5D,0x45,0x45,0x45,0x9B, + 0xE1,0x76,0xAF,0xC4,0xD6,0xD6,0x56,0x86,0x95,0x12,0x49,0x2F,0x80,0xB0,0xBC,0xD9, + 0x1E,0xC2,0xB6,0x91,0x93,0x27,0x4F,0xB2,0xBB,0x80,0x1B,0x8C,0x70,0xE7,0x56,0xA6, + 0x69,0xCF,0x65,0x65,0x65,0x29,0xCB,0x43,0x2B,0xAD,0x97,0x28,0x3C,0x9C,0x96,0x96, + 0xF6,0x1E,0xBB,0x0A,0x74,0x61,0x2B,0xE6,0xBC,0x79,0xF3,0xD2,0xA1,0xD4,0xE9,0xF0, + 0x76,0xFA,0x1B,0x74,0x49,0x24,0x12,0x3D,0x20,0xAE,0x60,0xE8,0x28,0x11,0x11,0xA3, + 0x37,0xC7,0x2A,0x73,0x8A,0x0F,0xE1,0x62,0xB4,0x08,0x3F,0xDF,0x8C,0x8B,0x8B,0x5B, + 0xC5,0xB2,0xE2,0xE9,0x6A,0x6B,0x6B,0xEB,0x4A,0x4A,0x4A,0xF4,0x5B,0x50,0x00,0x5B, + 0x60,0xBC,0xBD,0xBD,0xCF,0x4B,0xC1,0x49,0x24,0x57,0x06,0xB9,0x5B,0xA1,0x87,0x87, + 0xC7,0x85,0xB2,0xB2,0x32,0x1E,0x2B,0x2D,0x97,0x7C,0x30,0xC4,0xAC,0xAC,0xAC,0x3C, + 0x27,0x2E,0xEB,0x14,0x1D,0xC2,0x4A,0x77,0x9C,0x34,0x9A,0x71,0xC0,0x98,0x14,0x2F, + 0xEE,0x6A,0x75,0x91,0x48,0x24,0xDD,0x13,0x1D,0x1D,0x0D,0xFF,0x55,0xBB,0x5F,0x77, + 0x64,0x8A,0x16,0x38,0xB0,0x27,0x93,0x93,0x93,0x95,0xA5,0xF9,0x14,0xD1,0x41,0x5C, + 0xA1,0x7C,0xD6,0x85,0x5D,0x05,0xEE,0xEE,0xEE,0xCA,0x9C,0x3A,0x89,0x44,0xD2,0x3B, + 0xAC,0xAC,0xAC,0x36,0x20,0x2D,0x6B,0x16,0x45,0x05,0x7A,0xBB,0xF6,0xF6,0x76,0x1B, + 0x1C,0x2A,0x8E,0x4D,0x11,0x1D,0x62,0x50,0x6B,0x7A,0x35,0x0A,0x4D,0x0B,0x2F,0xAC, + 0xAE,0xAE,0xDE,0x04,0xE1,0xFD,0x3F,0x61,0x92,0x48,0x24,0x57,0x00,0x1A,0x72,0xC4, + 0x93,0xFE,0x7E,0x5A,0x00,0x39,0x9E,0x0F,0x9E,0xEE,0xE2,0xB1,0x22,0x3A,0xE4,0x6D, + 0x6D,0xB1,0xB1,0xB1,0xCA,0x06,0x8F,0xDC,0xA7,0x80,0xBD,0xEA,0x1C,0x3B,0xE6,0xE4, + 0xE4,0x64,0xFF,0xCE,0x3B,0xEF,0xE8,0x2F,0x09,0x26,0x91,0x48,0xBA,0x65,0xCA,0x94, + 0x29,0x11,0xBE,0xBE,0xBE,0xA2,0x74,0x19,0xF6,0x0C,0xB8,0xB9,0xB9,0x29,0x1B,0x47, + 0x2A,0xAE,0xED,0xFC,0xF9,0xF3,0x7B,0xE0,0x12,0xE7,0xF0,0x98,0x9D,0xE1,0x4C,0x02, + 0xB9,0x3B,0x4F,0x43,0x43,0xC3,0x96,0x88,0x88,0x88,0x25,0xB4,0x4B,0x24,0x92,0xDE, + 0xF1,0xEA,0xAB,0xAF,0xEE,0xAB,0xAA,0xAA,0x8A,0x66,0xB4,0xA8,0xC5,0xD1,0xD1,0x51, + 0x15,0x12,0x12,0x12,0xBF,0x78,0xF1,0xE2,0x15,0xE6,0x45,0x45,0x45,0xAE,0xE6,0xE6, + 0xE6,0x23,0x99,0xFC,0x51,0x70,0x84,0x5D,0x05,0xCC,0xE7,0x60,0x93,0xD3,0x79,0x24, + 0x92,0xAB,0x20,0x21,0x21,0xC1,0xDB,0xCF,0xCF,0x2F,0xC4,0x70,0x4E,0x2A,0xBB,0x0F, + 0x0A,0x0B,0x0B,0x8F,0xF3,0xD8,0x1C,0x17,0x54,0x41,0x5C,0x25,0xBA,0xF9,0x1C,0xE1, + 0x18,0xB2,0x96,0x96,0x16,0xB9,0x34,0x83,0x44,0x72,0x15,0x04,0x04,0x04,0x54,0x43, + 0x70,0x79,0x86,0x2B,0xA3,0x13,0xA4,0x6E,0x7F,0x85,0x07,0x9C,0x6E,0x5E,0x5C,0x5C, + 0x0C,0xBD,0x99,0xB9,0x0B,0x7B,0x17,0x8C,0x41,0x61,0x37,0x6E,0xFB,0x94,0x48,0x24, + 0x3D,0xD1,0xAC,0x56,0xAB,0x1D,0x4C,0x39,0xB1,0x0B,0x17,0x2E,0x14,0xB8,0xBA,0xBA, + 0xFE,0x60,0x8E,0x0B,0x9E,0x81,0x32,0xC7,0xEB,0xC6,0x9F,0xDA,0x63,0x0B,0x0B,0x8B, + 0x4C,0xE5,0x40,0x22,0x91,0xF4,0x0A,0x7F,0x7F,0xFF,0x08,0x3C,0x02,0xB5,0xE9,0x9A, + 0x36,0x65,0xE3,0xA8,0x14,0x68,0xCD,0x3A,0x3D,0x3D,0x7D,0xB4,0x19,0xDC,0x5D,0x12, + 0x6C,0xB3,0xB5,0x0B,0x10,0x11,0xAA,0xB2,0xB6,0xB6,0xB6,0xB1,0xBA,0xBA,0x3A,0x26, + 0x34,0x34,0x34,0x55,0x98,0x25,0x12,0x49,0x2F,0x78,0xF7,0xDD,0x77,0x7F,0x15,0x18, + 0x18,0xF8,0x7F,0x1C,0x87,0xE9,0xE4,0xE4,0xA4,0x08,0x8F,0x13,0x5A,0x39,0x32,0x05, + 0xE2,0x0B,0x30,0xBB,0x78,0xF1,0x22,0xE7,0xD0,0x59,0xEB,0x26,0x7E,0x14,0x1D,0x57, + 0x78,0xAE,0xAB,0xAB,0x5B,0x16,0x16,0x16,0x26,0xA7,0xF5,0x48,0x24,0xBD,0x24,0x3F, + 0x3F,0x9F,0x71,0xE5,0x3F,0xE0,0xD5,0x9E,0x66,0x83,0x24,0xB5,0x44,0x6D,0x31,0x7A, + 0x2C,0x2F,0x2F,0x4F,0x1D,0x3B,0x76,0xEC,0x34,0x73,0xC4,0x9E,0x4F,0xB0,0x8B,0x80, + 0x6B,0xA1,0x50,0x89,0xDA,0x04,0x90,0x03,0x36,0xE1,0xED,0xAA,0x94,0x82,0x44,0x22, + 0xE9,0x15,0xA3,0x46,0x8D,0x62,0x6E,0x76,0x09,0xA2,0x53,0xCA,0x5A,0x67,0xC6,0x1C, + 0x0F,0x5E,0x2E,0xAA,0xAC,0xAC,0xEC,0x65,0xB3,0xF5,0xEB,0xD7,0xAF,0x70,0x74,0x74, + 0xFC,0x84,0x22,0xA3,0x2B,0xE4,0x54,0x73,0x8A,0x0F,0x2F,0x2A,0xBC,0xE5,0x96,0x5B, + 0x7A,0xDC,0x51,0x52,0x22,0x91,0x18,0x53,0x58,0x58,0xF8,0x96,0xBD,0xBD,0xFD,0x63, + 0x86,0xD1,0x23,0xFB,0xBE,0xF1,0xBC,0xD2,0x1C,0xFF,0x54,0x9F,0x3A,0x75,0xAA,0x85, + 0xAB,0x80,0xA5,0xA6,0xA6,0xAA,0xB8,0xDF,0xD6,0xBE,0x7D,0xFB,0x94,0xB9,0x40,0x09, + 0x09,0x09,0x52,0x74,0x12,0xC9,0x55,0x50,0x51,0x51,0x61,0x8D,0xFC,0x2D,0x8A,0x22, + 0xD3,0x85,0x9E,0x8E,0xB9,0x5D,0x53,0x53,0x93,0x99,0xB9,0x85,0x85,0xC5,0x68,0x28, + 0xD2,0x8A,0x31,0x27,0x1F,0x0C,0x2F,0xF9,0x80,0x2B,0x1C,0x81,0x0B,0x64,0x97,0x81, + 0x44,0x72,0x15,0xB8,0xBB,0xBB,0x37,0x23,0x55,0x7B,0xB0,0xA1,0xA1,0xA1,0x8E,0xDD, + 0x6E,0x4C,0xDD,0xD8,0x31,0x4E,0x11,0x72,0x49,0x4B,0x44,0x94,0x6D,0x66,0x9B,0x36, + 0x6D,0x7A,0x35,0x2B,0x2B,0xEB,0x69,0xBA,0x3E,0x5D,0xBC,0xBD,0xBD,0x8F,0xAC,0x5A, + 0xB5,0x6A,0x8A,0x28,0x4A,0x24,0x92,0x5E,0xB2,0x71,0xE3,0xC6,0x58,0x38,0xAD,0xDD, + 0x5C,0x4D,0x8F,0x7B,0x82,0x30,0xCC,0xA4,0x23,0xF3,0xF1,0xF1,0x69,0x2D,0x2D,0x2D, + 0x8D,0x32,0x87,0xCB,0x6B,0xA5,0x12,0x0D,0x81,0x32,0x4D,0x6E,0xF3,0x23,0x91,0x48, + 0x7A,0x06,0x22,0xAB,0xCF,0xCD,0xCD,0x6D,0xC8,0xCF,0xCF,0x57,0x16,0x6E,0x3E,0x71, + 0xE2,0x84,0x92,0xAE,0x1D,0x3B,0x76,0xAC,0x06,0xA7,0xEB,0xCC,0xA1,0x40,0x5B,0x6D, + 0x8B,0xA5,0x16,0x2A,0x13,0x0F,0xAF,0x37,0xDF,0x7C,0xD3,0x78,0xB7,0x3B,0x89,0x44, + 0x72,0x25,0xDA,0xA1,0x29,0x6B,0xDD,0xBC,0x8E,0xA9,0x1B,0x1C,0x9C,0x1B,0x1C,0x9C, + 0x9B,0xB9,0xA7,0xA7,0xE7,0x54,0x6D,0xF3,0xA6,0x2E,0x38,0x59,0xF0,0xC4,0x13,0x4F, + 0xE8,0x6F,0x3A,0x2E,0x91,0x48,0xAE,0x88,0x83,0x83,0x43,0x14,0x34,0x65,0xD4,0x1E, + 0x82,0x1C,0x0F,0x29,0x5D,0x5D,0x31,0x3D,0x9D,0x39,0xBB,0x08,0x74,0xA1,0x42,0x43, + 0x42,0x42,0x6E,0xAF,0xAA,0xAA,0xFA,0x99,0x30,0x49,0x24,0x92,0x5E,0x02,0xD1,0xD9, + 0x1B,0x46,0x8F,0x04,0x3A,0xCB,0x86,0x23,0x2B,0xA0,0xE0,0x6A,0x4D,0x85,0x97,0xF0, + 0x74,0x1D,0xD5,0xD5,0xD5,0x72,0x7D,0x14,0x89,0xE4,0x2A,0x81,0x47,0x6B,0x31,0x6C, + 0x98,0x24,0x2E,0x2E,0x2E,0xE1,0x79,0x79,0x79,0xBF,0x37,0x77,0x75,0x75,0x75,0xE7, + 0x70,0x15,0x5D,0xE8,0xE9,0xE0,0x06,0xB9,0xD3,0x7F,0x71,0xA7,0x45,0x22,0x91,0xF4, + 0x16,0x47,0x47,0xC7,0x09,0x9C,0xB4,0xAA,0x0B,0xFB,0xE9,0xE8,0xDC,0xF0,0xDC,0x66, + 0x9E,0x92,0x92,0xF2,0x33,0x14,0xF4,0xE3,0x4B,0x80,0xA4,0xCF,0x3D,0x37,0x37,0x97, + 0xEB,0x3A,0x48,0x24,0x92,0x5E,0x92,0x95,0x95,0x65,0xE5,0xE4,0xE4,0x14,0x20,0x8A, + 0x5D,0xB0,0x21,0x45,0x0C,0x7E,0xB6,0x31,0xF7,0xF5,0xF5,0x8D,0xB2,0xB7,0xB7,0x37, + 0x5A,0x48,0xA5,0xBC,0xBC,0xFC,0x12,0x44,0x27,0x57,0x77,0x96,0x48,0xAE,0x82,0xA0, + 0xA0,0xA0,0x16,0x44,0x89,0x17,0x91,0x9A,0x09,0xCB,0x65,0xE8,0xED,0x90,0xB6,0x15, + 0x9A,0x07,0x04,0x04,0xB8,0x70,0xAE,0x8F,0x21,0xF5,0xF5,0xF5,0x19,0x2B,0x57,0xAE, + 0xCC,0x11,0x45,0x89,0x44,0xD2,0x4B,0xE0,0xD5,0x5C,0x4D,0x69,0x0A,0x82,0x23,0xC7, + 0xCD,0x2D,0x2D,0x2D,0x2F,0xD5,0xD6,0xD6,0x9A,0x5A,0xDD,0x39,0xFC,0xD4,0xA9,0x53, + 0x2F,0x88,0xA2,0x44,0x22,0xE9,0x05,0x08,0x2F,0xD9,0x46,0x32,0x8B,0x5E,0x4D,0x17, + 0x96,0x5D,0x5C,0x5C,0x6C,0xA0,0x37,0x17,0x73,0x77,0x77,0xF7,0x11,0x1E,0x1E,0x1E, + 0xFA,0x57,0x00,0xBA,0x47,0x78,0xBB,0x3A,0x51,0x94,0x48,0x24,0xBD,0x00,0x9E,0x4C, + 0x55,0x54,0x54,0x54,0xCC,0x67,0x43,0xDC,0xDC,0xDC,0xD8,0x9D,0xD0,0xCC,0x85,0x89, + 0x9E,0xA9,0xA9,0xA9,0x31,0x5A,0xF5,0x8B,0xAD,0x2F,0x10,0x1D,0x57,0xA5,0x95,0x48, + 0x24,0xBD,0x24,0x34,0x34,0xB4,0x02,0x0E,0xAB,0x45,0x77,0x34,0x0A,0x11,0xAD,0x97, + 0x65,0x36,0x36,0x36,0x69,0xE6,0x09,0x09,0x09,0x81,0xF0,0x76,0x61,0x86,0xEE,0x90, + 0x23,0xA4,0x73,0x73,0x73,0x3B,0xF7,0x43,0x96,0x48,0x24,0xBD,0x22,0x35,0x35,0x35, + 0x48,0xAD,0x56,0x4F,0x10,0xC5,0x2E,0x38,0xAD,0xC7,0xC2,0xC2,0x22,0x03,0x87,0x16, + 0x6C,0x48,0x71,0x44,0xAC,0xD9,0xCE,0x26,0x4D,0x5D,0x20,0xBA,0x66,0x53,0x1E,0x50, + 0x22,0x91,0x74,0x4F,0x5D,0x5D,0x9D,0x67,0x6D,0x6D,0xED,0xE5,0x05,0x87,0x04,0x70, + 0x6A,0x8D,0xA7,0x4F,0x9F,0xFE,0xB9,0xAB,0xAB,0x6B,0x39,0x45,0x97,0xDF,0xDC,0xDC, + 0x5C,0x69,0xE8,0xE9,0x80,0xF5,0xB8,0x71,0xE3,0x5E,0x87,0x72,0x8D,0x07,0x66,0x4A, + 0x24,0x12,0x93,0x20,0xB4,0x2C,0xAD,0xAC,0xAC,0x34,0xEA,0x2F,0x80,0x97,0xEB,0x80, + 0xC6,0x94,0x1E,0x73,0xCE,0x27,0x9F,0x30,0x72,0xE4,0x48,0x6F,0xC3,0x26,0x4E,0xAE, + 0x99,0x82,0x17,0x5F,0x8A,0x8A,0x8A,0x32,0xDE,0x9E,0x55,0x22,0x91,0x74,0x87,0x2F, + 0xF2,0x39,0x17,0x71,0xDC,0x85,0x1D,0x40,0x3E,0xA7,0x88,0x8C,0xC3,0xC0,0x7E,0x28, + 0x28,0x28,0xF8,0x33,0x77,0xED,0xD1,0x45,0x24,0x7E,0x33,0xCF,0x9C,0x39,0x73,0xBF, + 0x30,0x49,0x24,0x92,0x2B,0xD0,0xD4,0xD4,0x34,0xD1,0x70,0x2C,0x33,0x81,0xA7,0x2B, + 0x87,0xE8,0xCE,0xF2,0x58,0x59,0x39,0x45,0xA3,0xD1,0x84,0x73,0xEF,0x02,0x5D,0x98, + 0xE3,0xD5,0xD7,0xD7,0x73,0xE6,0xAB,0xAB,0x30,0x49,0x24,0x92,0x2B,0x00,0xD1,0xB5, + 0x73,0x89,0x06,0x43,0xE0,0xC4,0x2E,0xC4,0xC5,0xC5,0x29,0x0D,0x93,0x8A,0xE8,0x0E, + 0x1E,0x3C,0x78,0x3F,0x2E,0xCE,0xE7,0xB1,0x2E,0x6C,0xF6,0x4C,0x4B,0x4B,0x93,0x5B, + 0x65,0x49,0x24,0xBD,0xA4,0xA1,0xA1,0xC1,0xCA,0xD0,0xD3,0x31,0x6A,0x74,0x76,0x76, + 0xF6,0x48,0x48,0x48,0x50,0xF6,0xD0,0x52,0x44,0x37,0x6A,0xD4,0xA8,0xF1,0x01,0x01, + 0x01,0xA3,0x0C,0x1B,0x53,0xD8,0x41,0x9E,0x9D,0x9D,0x6D,0x24,0x46,0x89,0x44,0x62, + 0x4C,0x4E,0x4E,0xCE,0x6C,0x0F,0x0F,0x8F,0x3F,0x19,0xF6,0xD1,0xB1,0xBB,0xC0,0xD3, + 0xD3,0xB3,0xD6,0xC7,0xC7,0x47,0x99,0xEF,0xA3,0x88,0x2E,0x22,0x22,0xA2,0xDD,0xD1, + 0xD1,0xD1,0x68,0xF4,0x09,0xE7,0xD5,0x45,0x46,0x46,0xC6,0xA7,0xA6,0xA6,0x8E,0x14, + 0x26,0x89,0x44,0xD2,0x0D,0xCD,0xCD,0xCD,0xE6,0x75,0x75,0x75,0xAE,0x86,0x9E,0x8E, + 0xED,0x25,0x96,0x96,0x96,0x27,0xA3,0xA3,0xA3,0x95,0x95,0x18,0x14,0xD1,0x21,0x7F, + 0x2B,0x84,0x1A,0xF3,0xED,0xEC,0xF4,0x97,0x44,0xE1,0x8C,0xF2,0xF4,0xF4,0xF4,0xC3, + 0x51,0x51,0x51,0x05,0xC2,0x24,0x91,0x48,0xBA,0x21,0x3F,0x3F,0x7F,0x0A,0xD2,0x34, + 0x45,0x53,0xBA,0x70,0x01,0x67,0x2F,0x2F,0xAF,0xAE,0x6E,0x04,0xE5,0x02,0x37,0x37, + 0xB7,0x32,0x84,0x96,0x5F,0x51,0x64,0x86,0x38,0x38,0x38,0xCC,0x28,0x2E,0x2E,0x7E, + 0x51,0x14,0x25,0x12,0x49,0x37,0xE4,0xE6,0xE6,0xDA,0x9B,0x9A,0x31,0x0E,0x6D,0xA5, + 0x4E,0x9C,0x38,0x71,0xA5,0x28,0x76,0x8A,0x8E,0xD0,0xCB,0x51,0x91,0x86,0x14,0x14, + 0x14,0x74,0x64,0x02,0x51,0x94,0x48,0x24,0xDD,0x50,0x53,0x53,0xD3,0x62,0xCA,0x71, + 0x71,0x76,0x41,0x7C,0x7C,0xBC,0x93,0x28,0x5E,0x16,0xDD,0xB4,0x69,0xD3,0x7E,0x27, + 0xC6,0x86,0xE9,0x81,0xB0,0xD3,0x4C,0xAD,0x56,0x3F,0x0B,0x6F,0xE7,0x21,0x4C,0x12, + 0x89,0xC4,0x80,0xAC,0xAC,0xAC,0xBB,0x7D,0x7D,0x7D,0xFF,0x2A,0x8A,0x5D,0xD0,0x99, + 0x05,0x07,0x07,0x3B,0x8E,0x1B,0x37,0xAE,0x2B,0xD1,0xEB,0x12,0xDD,0xFE,0xFD,0xFB, + 0x83,0xFC,0xFD,0xFD,0x47,0x43,0x78,0xC2,0xD2,0x49,0x6D,0x6D,0xAD,0xAA,0xA4,0xA4, + 0x84,0x46,0x39,0x32,0x45,0x22,0xE9,0x86,0xD2,0xD2,0xD2,0x96,0xF2,0xF2,0xF2,0x36, + 0xC3,0x31,0xCC,0x6C,0xC9,0x84,0xA6,0xF6,0x47,0x45,0x45,0x75,0x6D,0x25,0xDE,0x25, + 0xBA,0xE8,0xE8,0xE8,0x2C,0x24,0x82,0x4F,0x18,0xBE,0x88,0xDD,0x08,0x70,0x9B,0x63, + 0xF1,0x1F,0xCA,0x91,0x29,0x12,0x49,0x37,0x40,0x23,0x93,0x20,0x30,0x3D,0x8F,0x45, + 0xED,0x70,0x8A,0x9C,0xBD,0xBD,0x7D,0x96,0x30,0x29,0x74,0x89,0x8E,0x4C,0x99,0x32, + 0x25,0xCC,0xCB,0xCB,0x4B,0x94,0x3A,0xA1,0x08,0x2B,0x2A,0x2A,0xE8,0x26,0x43,0x85, + 0x49,0x22,0x91,0x18,0x50,0x59,0x59,0x19,0xC2,0x9D,0x57,0x75,0xA1,0x76,0xE0,0xE5, + 0x92,0x35,0x1A,0xCD,0x6A,0x61,0x52,0xD0,0x13,0x1D,0xBC,0xDD,0xAF,0xEA,0xEB,0xEB, + 0x8F,0x89,0x62,0x17,0x1C,0xFC,0x7C,0xFA,0xF4,0xE9,0x31,0xA2,0x28,0x91,0x48,0x74, + 0xA8,0xAA,0xAA,0x5A,0xE1,0xE6,0xE6,0x16,0xC7,0x39,0xA8,0x86,0x38,0x39,0x39,0xB5, + 0x88,0xC3,0x2E,0xF4,0x44,0x87,0xBC,0x6E,0x34,0xBC,0x5D,0x38,0x37,0x29,0xD7,0x85, + 0x63,0x30,0xE1,0xE9,0x16,0x15,0x17,0x17,0xCF,0x11,0x26,0x89,0x44,0x22,0x38,0x7A, + 0xF4,0xA8,0x73,0x5E,0x5E,0x9E,0x28,0x5D,0x86,0x4B,0xEE,0x4D,0x9C,0x38,0xD1,0x23, + 0x2D,0x2D,0x4D,0xAF,0x03,0xDC,0xD0,0xD3,0xE5,0x9D,0x39,0x73,0xE6,0x97,0x86,0xC3, + 0xC1,0x48,0x76,0x76,0xB6,0xEA,0xF8,0xF1,0xE3,0xFA,0xAB,0xD2,0x4A,0x24,0x12,0x0E, + 0xFF,0x6A,0x44,0x0A,0xA6,0x3F,0xF6,0x0B,0x34,0x37,0x37,0x67,0xA7,0xA7,0xA7,0xDF, + 0x1D,0x19,0x19,0xA9,0x17,0x77,0xEA,0x89,0x8E,0xC4,0xC4,0xC4,0x34,0x8D,0x1A,0x35, + 0x4A,0x94,0x2E,0xC3,0x85,0x56,0xC6,0x8C,0x19,0xF3,0x72,0x56,0x56,0x96,0xDC,0xC9, + 0x47,0x22,0x11,0x40,0x0F,0xF3,0x7D,0x7C,0x7C,0xD6,0xB6,0xB7,0xB7,0xEB,0x69,0x89, + 0xBD,0x00,0x41,0x41,0x41,0xFE,0xB6,0xB6,0xB6,0x46,0xBD,0xE5,0x46,0xA2,0x43,0x42, + 0xB8,0x15,0xB1,0x69,0xBE,0x61,0xD7,0x01,0x07,0x3F,0xEF,0xDA,0xB5,0xEB,0x38,0xFE, + 0x23,0xB9,0x93,0x8F,0x44,0x22,0x80,0x97,0xAB,0xC8,0xCD,0xCD,0x6D,0x34,0x9C,0x8F, + 0x4A,0xBC,0xBC,0xBC,0x52,0xEE,0xBC,0xF3,0x4E,0xA3,0x75,0x86,0x8C,0x44,0x87,0x84, + 0xB0,0x60,0xEC,0xD8,0xB1,0xB9,0x86,0x23,0xA5,0x39,0x88,0x13,0xE7,0xEE,0x47,0x7C, + 0xBA,0x42,0x98,0x24,0x92,0x61,0x0F,0xC2,0xCA,0x70,0x44,0x81,0x46,0x69,0x17,0x47, + 0x77,0xD9,0xDB,0xDB,0x1F,0x16,0x45,0x3D,0x8C,0x44,0xA7,0xD1,0x68,0x20,0xDA,0xD6, + 0xA3,0x86,0x1B,0x20,0x90,0xCC,0xCC,0xCC,0xC6,0xCD,0x9B,0x37,0x1F,0x12,0x45,0x89, + 0x64,0xD8,0x03,0xD1,0xC5,0x70,0x00,0x89,0x21,0xEE,0xEE,0xEE,0xA7,0xA6,0x4C,0x99, + 0xF2,0xAC,0x28,0xEA,0x61,0x24,0x3A,0x02,0xE1,0xBD,0x07,0xAF,0x66,0x34,0xD5,0x07, + 0xDE,0xCF,0x36,0x30,0x30,0x30,0x3E,0x29,0x29,0xC9,0x41,0x98,0x24,0x92,0x61,0x4B, + 0x72,0x72,0xF2,0x7C,0x17,0x17,0x97,0x87,0x0C,0xA3,0x42,0xB6,0xFE,0x3B,0x38,0x38, + 0x64,0xEE,0xDF,0xBF,0xDF,0x68,0x63,0x48,0x62,0x52,0x74,0xC0,0x15,0xB9,0x9B,0x83, + 0xE1,0x16,0x5A,0x8C,0x5B,0xCD,0xCC,0xCC,0x26,0xFB,0xFA,0xFA,0xFE,0x59,0x98,0x24, + 0x92,0x61,0x4B,0x49,0x49,0xC9,0xB4,0xA2,0xA2,0x22,0x51,0xBA,0x0C,0x04,0x57,0xDC, + 0xD2,0xD2,0x72,0x77,0x74,0x74,0xB4,0x71,0xA2,0x07,0x4C,0x8A,0x6E,0xE4,0xC8,0x91, + 0x7B,0x90,0x1C,0x3E,0x60,0xAA,0xEB,0xE0,0xEC,0xD9,0xB3,0x2A,0x84,0x98,0x27,0x45, + 0x51,0x22,0x19,0x96,0xE4,0xE4,0xE4,0x84,0xF8,0xF9,0xF9,0xFD,0xAF,0xA9,0x0E,0x71, + 0x31,0x5B,0xC7,0x5F,0x29,0x98,0xA0,0x3B,0x4F,0xC7,0x21,0x61,0xDB,0x10,0x4A,0x1A, + 0xF7,0xF8,0x01,0x7F,0x7F,0xFF,0x77,0x53,0x53,0x53,0xE7,0x89,0xA2,0x44,0x32,0xEC, + 0x48,0x4F,0x4F,0x9F,0x78,0xF8,0xF0,0xE1,0x76,0xC3,0x56,0x4B,0x1B,0x1B,0x1B,0xD5, + 0xD4,0xA9,0x53,0x7D,0xF1,0x30,0x19,0x5A,0x92,0x6E,0x45,0x07,0xEA,0x91,0x0C,0x96, + 0xB3,0x57,0x5D,0x17,0xB6,0x62,0x72,0x2C,0x26,0x84,0xF7,0x72,0x71,0x71,0xB1,0xEC, + 0x2C,0x97,0x0C,0x3B,0xE0,0xE5,0x7C,0x03,0x02,0x02,0xE2,0xE1,0xE5,0x8C,0xF4,0x63, + 0x61,0x61,0xD1,0x76,0xEA,0xD4,0xA9,0x1F,0xC3,0x61,0x9D,0x13,0x26,0x23,0xBA,0x15, + 0x9D,0x46,0xA3,0x69,0xC0,0x7F,0x1E,0xD7,0xD4,0xD4,0x64,0x14,0xB4,0x5E,0xB8,0x70, + 0x41,0xF5,0xED,0xB7,0xDF,0x1E,0x47,0x6E,0x67,0xBC,0xD6,0x98,0x44,0x32,0xC4,0x81, + 0x97,0xF3,0x4A,0x4A,0x4A,0x2A,0xA9,0xAB,0xD3,0x6F,0x6B,0x64,0xDF,0xF6,0xA4,0x49, + 0x93,0x2C,0x82,0x83,0x83,0x8D,0x13,0x3D,0x1D,0x7A,0xF2,0x74,0xAA,0xF0,0xF0,0xF0, + 0xDC,0xB0,0xB0,0x30,0xA3,0x8D,0x21,0xE9,0xED,0xEC,0xED,0xED,0x7F,0x96,0x9C,0x9C, + 0x7C,0x8F,0x30,0x49,0x24,0xC3,0x02,0x08,0xCE,0x01,0x5E,0xEC,0x8B,0x96,0x96,0x96, + 0x11,0xC2,0xD4,0x05,0x5B,0x2D,0xE1,0x90,0x7E,0x1B,0x19,0x19,0x79,0x40,0x98,0x4C, + 0xD2,0xA3,0xE8,0xA2,0xA2,0xA2,0x5A,0xCC,0xCD,0xCD,0x8F,0xB9,0xB8,0x18,0xAD,0x12, + 0xCD,0xB1,0x98,0xF5,0x3B,0x77,0xEE,0x94,0x7D,0x76,0x92,0x61,0x05,0xA2,0xBF,0xF6, + 0xC4,0xC4,0xC4,0xB2,0xF2,0x72,0xE3,0x9D,0xC1,0xE1,0xE1,0x54,0x33,0x66,0xCC,0xD0, + 0x9B,0x3B,0x67,0x8A,0x1E,0x45,0x47,0xA6,0x4D,0x9B,0xF6,0x8E,0xAB,0xAB,0x6B,0xD7, + 0xAC,0x57,0x2D,0xF0,0x76,0xF6,0x6E,0x6E,0x6E,0xF1,0x9F,0x7C,0xF2,0x89,0xDC,0xC3, + 0x4E,0x32,0x2C,0x80,0x97,0xB3,0x80,0x97,0xFB,0x08,0x8E,0x28,0x5A,0x98,0xBA,0xE0, + 0x5E,0x20,0x17,0x2F,0x5E,0x7C,0x1F,0x69,0xD9,0x46,0x61,0xEA,0x96,0x2B,0x8A,0x0E, + 0xB8,0x87,0x86,0x86,0x22,0x9A,0xB4,0x17,0xC5,0x4E,0x38,0x41,0x0F,0xEE,0x74,0x9A, + 0x9F,0x9F,0x5F,0xBC,0x30,0x49,0x24,0x43,0x1A,0x08,0xAA,0x0D,0xB9,0x5C,0x83,0xA9, + 0xBE,0x39,0x7F,0x7F,0x7F,0x7A,0xB9,0x53,0xA2,0xD8,0x23,0x57,0x14,0x9D,0xA7,0xA7, + 0xE7,0xCE,0x82,0x82,0x82,0x87,0x0C,0x3B,0xCA,0x09,0x1B,0x54,0xE0,0xF1,0x96,0xC3, + 0xE5,0xCE,0x14,0x26,0x89,0x64,0xC8,0x92,0x96,0x96,0xF6,0xBC,0x5A,0xAD,0x7E,0x50, + 0x14,0xBB,0xE0,0x0A,0xCE,0xED,0xED,0xED,0xC9,0xF5,0xF5,0xF5,0x9F,0x0A,0x53,0x8F, + 0xF4,0xC6,0xD3,0xA9,0x96,0x2F,0x5F,0xFE,0x21,0x5C,0xE7,0xFF,0x88,0xA2,0x1E,0x7B, + 0xF7,0xEE,0x55,0x7D,0xF9,0xE5,0x97,0x72,0xBF,0x03,0xC9,0x90,0xE7,0xC0,0x81,0x03, + 0x4D,0xB9,0xB9,0xB9,0xA2,0x74,0x19,0x6E,0xBE,0x33,0x67,0xCE,0x9C,0x93,0x53,0xA7, + 0x4E,0x2D,0x14,0xA6,0x1E,0xE9,0x95,0xE8,0xC8,0x8F,0x7F,0xFC,0xE3,0x86,0xB1,0x63, + 0xC7,0x8A,0xD2,0x65,0xD8,0x4C,0xEA,0xE5,0xE5,0x15,0xBF,0x75,0xEB,0xD6,0xF1,0xC2, + 0x24,0x91,0x0C,0x39,0x20,0xB8,0x3F,0x22,0xDA,0xFB,0x8B,0xE1,0x28,0x2D,0xDE,0xFF, + 0x36,0x36,0x36,0x17,0x6A,0x6A,0x6A,0x3E,0x17,0xA6,0x2B,0xD2,0x6B,0xD1,0x35,0x34, + 0x34,0x6C,0x83,0xB8,0x4A,0x1D,0x1C,0xF4,0xC7,0x3A,0x73,0xFD,0x14,0x9C,0xF3,0xF5, + 0xF1,0xF1,0x89,0x47,0x98,0x29,0x27,0xB8,0x4A,0x86,0x1C,0x65,0x65,0x65,0xE1,0x08, + 0x21,0x57,0x17,0x16,0x16,0x2A,0x4B,0xEA,0xE9,0xC2,0xB6,0x8E,0xD0,0xD0,0xD0,0x43, + 0x91,0x91,0x91,0xBB,0x85,0xE9,0x8A,0xF4,0x5A,0x74,0x53,0xA6,0x4C,0x49,0x2F,0x29, + 0x29,0x89,0x33,0x9C,0xDC,0x4A,0x98,0x58,0x8A,0x19,0xE5,0xFA,0xEB,0xF7,0x49,0x24, + 0x43,0x80,0x5D,0xBB,0x76,0x85,0x24,0x26,0x26,0x2A,0x7B,0x7B,0xE8,0xC2,0x0D,0x76, + 0xE0,0x6C,0xF8,0xFC,0x8D,0x30,0xF5,0x8A,0x5E,0x8B,0x8E,0x3C,0xF4,0xD0,0x43,0xBB, + 0x3A,0x3A,0x3A,0x9E,0x16,0x45,0x3D,0x32,0x32,0x32,0x82,0xB7,0x6C,0xD9,0xF2,0x63, + 0x51,0x94,0x48,0x86,0x04,0xA9,0xA9,0xA9,0xFE,0xBE,0xBE,0xBE,0x1F,0x9B,0x5A,0x2E, + 0x1D,0x5A,0x68,0x86,0xC3,0xB9,0x7D,0xF2,0xE4,0xC9,0x6F,0x0B,0x53,0xAF,0xB8,0x2A, + 0xD1,0x91,0x25,0x4B,0x96,0x84,0x8D,0x1F,0x6F,0x9C,0xBE,0x51,0xF5,0x08,0x3F,0xD7, + 0xED,0xD9,0xB3,0x47,0x0E,0x84,0x96,0x0C,0x19,0x52,0x52,0x52,0x7C,0xE1,0xE5,0x4A, + 0xB9,0x46,0x90,0x2E,0x1C,0x7D,0x32,0x6D,0xDA,0x34,0xEB,0xD8,0xD8,0xD8,0x62,0x61, + 0xEA,0x35,0x57,0x2D,0xBA,0xF2,0xF2,0xF2,0x5F,0x20,0xA1,0x3C,0x64,0xD8,0x6F,0xC7, + 0x9A,0x80,0x5D,0x08,0xCE,0xCE,0xCE,0xF1,0xD9,0xD9,0xD9,0x13,0x85,0x59,0x22,0x19, + 0xB4,0xC0,0xCB,0xDD,0x3E,0x62,0xC4,0x88,0x44,0x33,0x33,0x33,0x6F,0x61,0xEA,0x42, + 0xAD,0x56,0x73,0xBD,0xCB,0x5F,0x47,0x45,0x45,0x5D,0xF5,0xA8,0xAC,0xAB,0x16,0xDD, + 0xEC,0xD9,0xB3,0xEB,0x91,0xDB,0xAD,0x68,0x6D,0x6D,0x35,0xEA,0x21,0x2C,0x2D,0x2D, + 0x65,0x98,0xE9,0x69,0x67,0x67,0xF7,0x54,0x71,0x71,0xB1,0xF1,0x64,0x3C,0x89,0x64, + 0x10,0x81,0xF0,0x71,0x0E,0x1C,0x89,0x9D,0xE1,0xF4,0x1D,0x32,0x7D,0xFA,0x74,0x46, + 0x7D,0xCA,0xC6,0xFD,0x57,0xCB,0x55,0x8B,0x8E,0xAC,0x5A,0xB5,0x2A,0x4B,0xA3,0xD1, + 0x7C,0x29,0x8A,0x7A,0xA4,0xA7,0xA7,0xAB,0xFE,0xFD,0xEF,0x7F,0x9F,0x47,0x1C,0x2C, + 0x1B,0x55,0x24,0x83,0x96,0xCF,0x3E,0xFB,0x2C,0x38,0x29,0x29,0x69,0x1E,0xA7,0xB1, + 0x19,0xE2,0xE7,0xE7,0xC7,0xF0,0xF2,0xDF,0xAE,0xAE,0xAE,0x5F,0x0B,0xD3,0x55,0x71, + 0x4D,0xA2,0x23,0x01,0x01,0x01,0xE6,0x61,0x61,0x61,0xA2,0xA4,0x0F,0x3C,0xDD,0xFF, + 0xBE,0xF9,0xE6,0x9B,0x5D,0x9B,0xE0,0x49,0x24,0x83,0x89,0xAC,0xAC,0xAC,0x30,0xAE, + 0x9E,0x00,0x61,0x45,0x70,0xB8,0xA3,0x21,0xB0,0x7F,0x74,0xCB,0x2D,0xB7,0x3C,0x21, + 0x8A,0x57,0xCD,0x35,0x8B,0x2E,0x32,0x32,0xF2,0x49,0xC4,0xB5,0x09,0x9E,0x9E,0x9E, + 0xC2,0x72,0x19,0xF6,0xDD,0x39,0x39,0x39,0xBD,0xFF,0xED,0xB7,0xDF,0xFE,0x48,0x98, + 0x24,0x92,0x41,0x43,0x79,0x79,0x79,0xEE,0xF1,0xE3,0xC7,0xAD,0x90,0xB3,0x09,0xCB, + 0x65,0x38,0x93,0x60,0xE1,0xC2,0x85,0x8E,0x05,0x05,0x05,0xDD,0xCE,0x0C,0xBF,0x12, + 0xD7,0x2C,0x3A,0x82,0x0F,0x15,0x67,0x6E,0x6E,0x7E,0x80,0x23,0xAC,0x75,0xA1,0xE8, + 0xCA,0xCA,0xCA,0x94,0x46,0x95,0xB4,0xB4,0x34,0xD3,0xEE,0x50,0x22,0x19,0x80,0x6C, + 0xD8,0xB0,0xC1,0xFF,0x87,0x1F,0x7E,0xD8,0x5C,0x54,0x54,0xE4,0x2A,0x4C,0x5D,0x70, + 0x8C,0x65,0x5B,0x5B,0xDB,0xC7,0xF0,0x82,0x77,0xE1,0x61,0x72,0xD1,0xA1,0xDE,0x70, + 0x5D,0xA2,0x7B,0xF0,0xC1,0x07,0x2F,0xD5,0xD5,0xD5,0xC5,0xB5,0xB7,0xB7,0xE7,0x0B, + 0x53,0x17,0xAC,0x25,0xB2,0xB3,0xB3,0x5D,0x1D,0x1C,0x1C,0x3E,0x82,0xBB,0x56,0x0B, + 0xB3,0x44,0x32,0x60,0xC9,0xC8,0xC8,0x88,0xF2,0xF6,0xF6,0x66,0x6B,0xE5,0x2C,0x61, + 0xD2,0x63,0xD4,0xA8,0x51,0xF9,0x0F,0x3C,0xF0,0x80,0xD1,0x80,0xE7,0xAB,0xE5,0xBA, + 0x44,0x47,0x9E,0x79,0xE6,0x99,0xDC,0xD1,0xA3,0x47,0x3F,0x87,0x0F,0x6A,0x14,0xFC, + 0xE6,0xE4,0xE4,0x70,0xE5,0xB0,0x83,0x41,0x41,0x41,0x72,0x17,0x57,0xC9,0x80,0x07, + 0xE9,0xD2,0x4F,0x72,0x73,0x73,0xC7,0x56,0x56,0x56,0x0A,0xCB,0x65,0x38,0x75,0x07, + 0xA1,0x65,0x09,0x97,0x6A,0x10,0xA6,0x6B,0xE6,0xBA,0x45,0x47,0xA2,0xA3,0xA3,0x27, + 0x46,0x45,0x45,0x99,0xEC,0x22,0xA8,0xA9,0xA9,0xF9,0xF9,0x8B,0x2F,0xBE,0xF8,0x73, + 0x51,0x94,0x48,0x06,0x24,0x6F,0xBF,0xFD,0xB6,0xCB,0xBA,0x75,0xEB,0x42,0x4D,0xCD, + 0x22,0x60,0xFA,0x84,0x34,0xEA,0x6B,0xA4,0x4C,0xB1,0x1A,0x8D,0xC6,0x68,0x6F,0x82, + 0xAB,0xA5,0x4F,0x44,0x07,0x4F,0xF6,0x1B,0x84,0x91,0x9F,0x07,0x04,0x04,0x08,0xCB, + 0x65,0xD8,0xFA,0x83,0x58,0xF8,0xED,0x35,0x6B,0xD6,0x2C,0x15,0x26,0x89,0x64,0x40, + 0x91,0x9A,0x9A,0xAA,0x61,0x58,0x69,0x6B,0x6B,0xBB,0x48,0x98,0xF4,0xC0,0xFD,0xFB, + 0xE5,0x23,0x8F,0x3C,0xB2,0x7C,0xE9,0xD2,0xA5,0x7D,0xB2,0x10,0x57,0x9F,0x88,0x8E, + 0xD4,0xD6,0xD6,0xC6,0xD9,0xD8,0xD8,0xA4,0x18,0xCE,0x42,0xE0,0xA8,0x6C,0x6E,0x0B, + 0x8B,0x0F,0x1E,0xBF,0x76,0xED,0xDA,0xC9,0xC2,0x2C,0x91,0x0C,0x08,0x0A,0x0A,0x0A, + 0xBC,0x3C,0x3D,0x3D,0x13,0xB9,0x11,0x88,0xE1,0xEA,0x5E,0x24,0x30,0x30,0x50,0x75, + 0xDB,0x6D,0xB7,0x39,0x21,0xAC,0xD4,0x6F,0x2D,0xBC,0x0E,0xFA,0x4C,0x74,0xCB,0x96, + 0x2D,0x6B,0x63,0x6B,0x66,0x5B,0x5B,0x5B,0xB6,0x30,0x75,0xC1,0x1E,0xFD,0xC6,0xC6, + 0x46,0xEE,0x48,0x12,0xFF,0xD1,0x47,0x1F,0xF9,0x76,0x5A,0x25,0x92,0x9B,0xCF,0xA7, + 0x9F,0x7E,0x5A,0xF1,0xCD,0x37,0xDF,0x14,0x99,0xDA,0x49,0x95,0x43,0x1D,0xE1,0xFD, + 0x76,0x96,0x97,0x97,0xAF,0x40,0x58,0x69,0x3C,0xE2,0xF9,0x1A,0xE9,0x33,0xD1,0x91, + 0x55,0xAB,0x56,0x9D,0x87,0xB8,0xB8,0x95,0x96,0x91,0x1B,0x66,0x2D,0x72,0xF1,0xE2, + 0xC5,0xF1,0x88,0x8F,0xE5,0x9A,0x2A,0x92,0x01,0xC1,0x67,0x9F,0x7D,0x36,0xD2,0xCD, + 0xCD,0x6D,0x4F,0x4D,0x4D,0x4D,0x84,0x30,0xE9,0xD1,0xD2,0xD2,0xF2,0xF1,0xBD,0xF7, + 0xDE,0x3B,0x7F,0xF6,0xEC,0xD9,0x65,0xC2,0xD4,0x27,0xF4,0xA9,0xE8,0xC8,0xF3,0xCF, + 0x3F,0x7F,0x30,0x22,0x22,0xE2,0x0D,0x51,0xD4,0x83,0xDD,0x08,0xF8,0x03,0x63,0x12, + 0x12,0x12,0xA4,0xF0,0x24,0x37,0x95,0xE4,0xE4,0xE4,0x69,0xF0,0x64,0x89,0xF5,0xF5, + 0xF5,0xB7,0xB0,0x5F,0xD9,0x90,0xA0,0xA0,0x20,0xD5,0xED,0xB7,0xDF,0x7E,0xC5,0x95, + 0xBD,0xAE,0x85,0x3E,0x17,0x1D,0x89,0x8D,0x8D,0xF5,0xBF,0xF5,0xD6,0x5B,0x45,0x49, + 0x1F,0xCE,0xBE,0x85,0xD7,0xBB,0x6F,0xD7,0xAE,0x5D,0x7F,0x17,0x26,0x89,0xE4,0x86, + 0x82,0x50,0xF2,0x0E,0x78,0xB8,0xC4,0xFC,0xFC,0xFC,0x31,0xA6,0xD6,0xAF,0xE4,0x9A, + 0x27,0x5E,0x5E,0x5E,0x3F,0x74,0x74,0x74,0x1C,0x13,0xA6,0x3E,0xA5,0x5F,0x44,0xE7, + 0xEA,0xEA,0xBA,0x02,0x35,0x45,0x62,0x78,0x78,0xB8,0xB0,0xE8,0x73,0xEE,0xDC,0x39, + 0x36,0xBC,0xFC,0x32,0x29,0x29,0xE9,0xBF,0x85,0x49,0x22,0xB9,0x21,0x14,0x17,0x17, + 0x5B,0xB4,0xB5,0xB5,0x3D,0xB7,0x77,0xEF,0x5E,0xDB,0x92,0x92,0x12,0x61,0xD5,0x07, + 0xE7,0xBF,0x62,0xF7,0x80,0xA9,0xD5,0xCD,0xFB,0x82,0x7E,0x9B,0x7E,0x93,0x93,0x93, + 0xE3,0x83,0xA7,0xC4,0x94,0x94,0x94,0x09,0xDC,0x5E,0xCB,0x10,0x2E,0xE9,0xC7,0xE9, + 0x11,0x4E,0x4E,0x4E,0x0F,0x4E,0x99,0x32,0xE5,0x63,0x61,0x96,0x48,0xFA,0x95,0x97, + 0x5F,0x7E,0x79,0x62,0x43,0x43,0xC3,0xC6,0xF6,0xF6,0xF6,0x60,0x61,0xD2,0x63,0xC4, + 0x88,0x11,0xA7,0x1E,0x7B,0xEC,0xB1,0x49,0xA2,0xD8,0x2F,0xF4,0x8B,0xA7,0x23,0x81, + 0x81,0x81,0x25,0xCD,0xCD,0xCD,0x71,0x91,0x91,0x91,0xB5,0xDE,0xDE,0x46,0x73,0x00, + 0xD9,0x9A,0xA9,0x3A,0x7E,0xFC,0x38,0x5B,0x36,0xD7,0xA1,0xD6,0x91,0xB3,0xCD,0x25, + 0xFD,0xCE,0x07,0x1F,0x7C,0x30,0x8F,0x79,0x9C,0xB9,0xB9,0xB9,0x49,0xC1,0x85,0x84, + 0x84,0xA8,0x98,0x16,0xC1,0x61,0x5C,0xF7,0xA8,0x93,0x9E,0xE8,0x37,0xD1,0x91,0x09, + 0x13,0x26,0xA4,0x21,0x49,0x8D,0x8B,0x8A,0x8A,0xA2,0x47,0x13,0xD6,0xCB,0x70,0xB8, + 0xCD,0xA1,0x43,0x87,0x38,0xEB,0x3C,0x7E,0xF7,0xEE,0xDD,0x1A,0x61,0x96,0x48,0xFA, + 0x1C,0x44,0x5C,0x0F,0x78,0x78,0x78,0xEC,0x40,0x5A,0xE3,0x69,0x6A,0x52,0x2A,0xFB, + 0xE3,0xE0,0xE5,0x76,0x34,0x35,0x35,0xC5,0xE2,0xF8,0xBA,0x47,0x9D,0xF4,0x44,0xBF, + 0x8A,0x8E,0xC0,0xD3,0x6D,0xC6,0x1F,0xF9,0x73,0x4E,0x89,0x30,0x9C,0x8D,0x40,0x38, + 0xDB,0x3C,0x2B,0x2B,0xCB,0xF3,0xD2,0xA5,0x4B,0xF1,0x09,0x09,0x09,0xC6,0x3B,0x95, + 0x48,0x24,0xD7,0x09,0xD2,0x1B,0xB6,0x1D,0xAC,0xCB,0xCC,0xCC,0x54,0x06,0x6A,0x18, + 0xC2,0xE9,0x69,0xB8,0x37,0xD7,0xDD,0x72,0xCB,0x2D,0x0B,0x26,0x4D,0x9A,0x64,0xDC, + 0xB2,0xD2,0xC7,0xF4,0xBB,0xE8,0x48,0x74,0x74,0xF4,0xBB,0x76,0x76,0x76,0x7F,0x98, + 0x38,0xD1,0xF4,0xD2,0x29,0x6C,0xD1,0xCC,0xCD,0xCD,0x65,0xAB,0x8B,0xEC,0x4A,0x90, + 0xF4,0x29,0x08,0x15,0x5F,0x41,0x44,0xF5,0xB7,0x7D,0xFB,0xF6,0xB1,0x9F,0x58,0x58, + 0xF5,0x41,0x85,0xFF,0xB7,0x15,0x2B,0x56,0xFC,0x54,0x14,0xFB,0x9D,0x1B,0xBA,0x8E, + 0x09,0x42,0xC8,0x7F,0xC2,0xB3,0xAD,0x3A,0x7D,0xFA,0xB4,0xB0,0xE8,0x03,0xF7,0xCE, + 0x51,0x00,0x6B,0xEF,0xBF,0xFF,0xFE,0x87,0x85,0x49,0x22,0xB9,0x66,0xCE,0x9F,0x3F, + 0xCF,0x45,0xB2,0xEE,0xDB,0xB3,0x67,0x8F,0xB2,0xA7,0xA2,0x29,0xE0,0xDD,0xAA,0x91, + 0xFE,0x84,0xB8,0xBA,0xBA,0xF6,0xB8,0x91,0x63,0x5F,0x72,0x43,0x3C,0x9D,0x96,0xB9, + 0x73,0xE7,0x3E,0xE9,0xE5,0xE5,0xF5,0x15,0x72,0x3D,0x61,0xD1,0x87,0x1E,0x0F,0xB5, + 0xD1,0xCA,0x77,0xDF,0x7D,0xF7,0x05,0x61,0x92,0x48,0xAE,0x99,0xC3,0x87,0x0F,0x8F, + 0xDF,0xB5,0x6B,0x57,0xB7,0x82,0x43,0x04,0xC6,0x9D,0x53,0xB9,0x32,0x73,0x9F,0x8E, + 0x38,0xB9,0x12,0x37,0x54,0x74,0x44,0xAD,0x56,0xC7,0x69,0x34,0x9A,0x1F,0xC6,0x8D, + 0x1B,0x27,0x2C,0xFA,0x30,0xC7,0x43,0xDC,0xFD,0xBB,0x35,0x6B,0xD6,0x3C,0x25,0x4C, + 0x12,0xC9,0x55,0xB3,0x7A,0xF5,0xEA,0xE7,0x8F,0x1C,0x39,0x62,0x72,0x80,0x3D,0xD7, + 0xAC,0x0C,0x0D,0x0D,0x55,0x39,0x38,0x38,0xFC,0xCB,0xCF,0xCF,0xEF,0x2E,0x78,0x39, + 0xE3,0x21,0x29,0xFD,0xC8,0x0D,0x17,0xDD,0xCC,0x99,0x33,0xB9,0x6A,0x67,0x5C,0x44, + 0x44,0x44,0x7E,0x77,0x53,0x81,0x38,0x5C,0xAC,0xBD,0xBD,0xFD,0xF5,0x97,0x5E,0x7A, + 0x49,0xAE,0x18,0x2D,0xB9,0x6A,0x20,0xB8,0x77,0xF0,0xF4,0x87,0xCE,0x92,0x3E,0x6C, + 0xCC,0x63,0x17,0x96,0xB9,0xB9,0xF9,0x1F,0x66,0xCD,0x9A,0xF5,0xA4,0x30,0xDF,0x50, + 0x6E,0xDA,0xDA,0x94,0x67,0xCE,0x9C,0x99,0x69,0x65,0x65,0x95,0xB8,0x6D,0xDB,0x36, + 0xAB,0xE2,0x62,0xE3,0x45,0x72,0xB9,0x62,0xB4,0x99,0x99,0x59,0x0B,0x42,0x83,0xD8, + 0x07,0x1E,0x78,0xC0,0x32,0x28,0x28,0x28,0x49,0x9C,0x92,0x48,0x4C,0xF2,0xEA,0xAB, + 0xAF,0x3A,0xD6,0xD5,0xD5,0xC5,0x37,0x37,0x37,0x9B,0x9C,0xBB,0xC9,0x01,0x19,0x6C, + 0xA9,0xC4,0xBD,0xF5,0xF3,0x95,0x2B,0x57,0xBE,0x2B,0xCC,0x37,0x9C,0x1B,0xEE,0xE9, + 0xB4,0x20,0xAF,0xDB,0x07,0x51,0xC5,0xCD,0x9F,0x3F,0x5F,0xE5,0xE6,0xE6,0x26,0xAC, + 0x97,0xE1,0x3C,0x3C,0x08,0xCE,0x0A,0x35,0xD3,0xF7,0xF0,0x7C,0x7B,0x0E,0x1C,0x38, + 0xF0,0x33,0x71,0x4A,0x22,0x31,0x62,0xED,0xDA,0xB5,0xE3,0x1D,0x1D,0x1D,0xD9,0xF1, + 0x6D,0x52,0x70,0x76,0x76,0x76,0xF4,0x70,0x35,0x3C,0x7F,0x33,0x05,0x47,0x6E,0x9A, + 0xE8,0x48,0x60,0x60,0xE0,0x46,0x77,0x77,0xF7,0xA7,0x17,0x2F,0x5E,0xCC,0x38,0xDB, + 0xE4,0x3A,0x2A,0xA8,0xB5,0x1C,0x52,0x52,0x52,0x38,0x3B,0xE1,0x83,0xAF,0xBE,0xFA, + 0x6A,0xA1,0x30,0x4B,0x24,0x5D,0x40,0x70,0x31,0x78,0x4A,0x44,0xE5,0x3C,0xD9,0x70, + 0xCF,0x01,0x2D,0x88,0xAA,0xCE,0xB4,0xB4,0xB4,0xC4,0x42,0x70,0xDF,0x09,0xD3,0x4D, + 0xE3,0xA6,0x8A,0x8E,0x20,0x89,0x7D,0x1D,0x2E,0x3F,0xB6,0xB5,0xB5,0xF5,0x0E,0x96, + 0xE1,0xFD,0x14,0xBB,0x2E,0xEC,0x5F,0x39,0x71,0xE2,0x84,0xAA,0xBA,0xBA,0x3A,0x1E, + 0x21,0x44,0xA8,0x30,0x4B,0x24,0xAA,0x35,0x6B,0xD6,0xC4,0x75,0x74,0x74,0x24,0x96, + 0x96,0x96,0xFA,0xA2,0x62,0x16,0x56,0x23,0x12,0x71,0x0F,0xC5,0x3E,0xF6,0xD8,0x63, + 0x69,0xA2,0x7C,0x53,0xB9,0x69,0x39,0x9D,0x29,0x5E,0x7C,0xF1,0x45,0xEE,0x6D,0xBE, + 0x96,0x22,0x33,0xD5,0xCC,0x2B,0x46,0xB4,0x9C,0x9A,0x3D,0x7B,0xF6,0xCF,0x91,0xE3, + 0xD9,0xFA,0xFA,0xFA,0xEE,0x52,0x4E,0x48,0x86,0x25,0xAB,0x57,0xAF,0xFE,0x25,0xC2, + 0xC5,0xBF,0x33,0xFF,0x37,0x35,0xB4,0x4B,0xB0,0xFE,0xF9,0xE7,0x9F,0xBF,0x5F,0x1C, + 0x0F,0x08,0x06,0x94,0xE8,0xC8,0xBA,0x75,0xEB,0xFE,0x07,0xDE,0xEE,0x7F,0xB3,0xB2, + 0xB2,0x84,0xC5,0x18,0x3F,0x3F,0xBF,0x66,0x0E,0x4C,0x45,0xCD,0x16,0x3B,0x65,0xCA, + 0x94,0xFD,0xC2,0x2C,0x19,0x46,0x40,0x70,0x7F,0xC3,0xD3,0x95,0xA6,0x86,0xFD,0x1D, + 0x82,0xFB,0xB5,0x38,0x1E,0x30,0x0C,0x38,0xD1,0x91,0xDD,0xBB,0x77,0xBF,0x56,0x57, + 0x57,0xF7,0x9F,0x1C,0x0C,0xDD,0x1D,0x1C,0xBD,0x82,0x9C,0x30,0xAF,0xB2,0xB2,0x32, + 0xF6,0xDE,0x7B,0xEF,0x35,0x5E,0x37,0x4D,0x32,0xE4,0xC8,0xC9,0xC9,0xF9,0x09,0x9E, + 0xA6,0x7C,0xF0,0xC1,0x07,0xFE,0x78,0xEE,0xD1,0x7B,0x4D,0x9D,0x3A,0xB5,0x63,0xD2, + 0xA4,0x49,0x93,0x71,0x8F,0x1C,0x15,0xA6,0x01,0xC3,0x80,0x14,0x1D,0x81,0xA7,0xFB, + 0x3C,0x35,0x35,0xD5,0xF1,0xCC,0x99,0x33,0xDD,0xEE,0x87,0xC0,0x56,0x4F,0x0B,0x0B, + 0x8B,0x03,0xC1,0xC1,0xC1,0xCB,0xC6,0x8E,0x1D,0x3B,0x72,0x20,0x7E,0xC1,0x92,0xBE, + 0x01,0x82,0x7B,0xBA,0xB1,0xB1,0xF1,0x55,0x0E,0xE9,0xEA,0x6E,0xF2,0xA9,0x96,0xC8, + 0xC8,0xC8,0x5D,0xE1,0xE1,0xE1,0xF5,0x38,0xBC,0x0F,0xF7,0x84,0xF1,0x08,0xE7,0x9B, + 0xCC,0x4D,0x6F,0x48,0xE9,0x0E,0x4B,0x4B,0xCB,0x7B,0x57,0xAC,0x58,0xB1,0x48,0xAD, + 0x56,0xFF,0xD5,0xD1,0x91,0x0B,0x89,0x19,0xC3,0xA9,0x41,0xE5,0xE5,0xE5,0x33,0xB2, + 0xB3,0xB3,0xCF,0x22,0x0F,0xDC,0xB1,0x6D,0xDB,0xB6,0x7E,0x9D,0x7C,0x28,0xB9,0x39, + 0x9C,0x3D,0x7B,0xF6,0x2F,0xF8,0xAD,0x5F,0xDD,0xBA,0x75,0xEB,0x95,0x04,0x77,0x01, + 0x8F,0x5B,0x97,0x2F,0x5F,0x3E,0x0F,0x62,0xBB,0x7D,0x20,0x0A,0x8E,0x0C,0x58,0x4F, + 0xA7,0xCB,0x5A,0xD0,0xDC,0xDC,0xFC,0x50,0x51,0x51,0xF7,0x63,0x52,0x39,0xCA,0xC0, + 0xD6,0xD6,0xF6,0x64,0x45,0x45,0x45,0xEC,0xD2,0xA5,0x4B,0x5B,0x35,0x1A,0x8D,0xE9, + 0x21,0xE5,0x92,0x41,0x45,0x62,0x62,0xE2,0xDA,0x86,0x86,0x86,0x87,0x8E,0x1C,0x39, + 0xA2,0x6C,0x4C,0xD3,0x03,0x8C,0x72,0xE2,0x90,0xC3,0x65,0x74,0x16,0x07,0x2E,0x83, + 0x42,0x74,0x64,0xC7,0x8E,0x1D,0x5B,0x4B,0x4B,0x4B,0x7F,0x84,0x70,0x53,0x58,0x8C, + 0xB1,0xB2,0xB2,0x62,0xB8,0x79,0x04,0x35,0xDD,0x08,0x88,0x6F,0xF9,0xAC,0x59,0xB3, + 0x0E,0x88,0x53,0x92,0x41,0xC6,0xEB,0xAF,0xBF,0xEE,0x86,0x08,0x87,0x53,0xBD,0x16, + 0x22,0xB4,0xEC,0x34,0x9A,0xC0,0xD5,0xD5,0x95,0x53,0x73,0xB6,0x40,0x98,0x14,0xDC, + 0xA0,0xA8,0x68,0x07,0x8D,0xE8,0x0E,0x1D,0x3A,0xE4,0x6A,0x6F,0x6F,0xFF,0xC9,0xA6, + 0x4D,0x9B,0xEA,0x5B,0x5B,0x5B,0xEF,0xC6,0x17,0x2D,0xCE,0x18,0xE3,0xE3,0xE3,0xC3, + 0xE1,0x3E,0xB9,0x5C,0x5C,0xE6,0xBE,0xFB,0xEE,0x1B,0x85,0x1F,0x26,0x59,0x9C,0x92, + 0x0C,0x70,0x0A,0x0A,0x0A,0x7E,0xB1,0x73,0xE7,0xCE,0xA3,0x17,0x2E,0x5C,0x78,0xCD, + 0xCC,0xCC,0x2C,0xB4,0xBE,0x9E,0xA9,0x99,0x31,0xEC,0x26,0xE0,0x90,0x2E,0x1B,0x1B, + 0x9B,0xF7,0x1F,0x7E,0xF8,0xE1,0x47,0x84,0x79,0x50,0x30,0x68,0x44,0x47,0xD2,0xD3, + 0xD3,0xAD,0x10,0x36,0xB6,0xBC,0xF7,0xDE,0x7B,0x5F,0x74,0x74,0x74,0xFC,0x18,0x3F, + 0x90,0x38,0x63,0x0C,0x87,0xFD,0x38,0x39,0x39,0xD5,0xCC,0x9B,0x37,0xCF,0xA9,0xB0, + 0xB0,0x70,0xE1,0xDC,0xB9,0x73,0xB7,0x8B,0x53,0x92,0x01,0xCA,0xD1,0xA3,0x47,0xDF, + 0xA9,0xAD,0xAD,0x7D,0x34,0x29,0x29,0xA9,0x05,0xE9,0x84,0x95,0x30,0x1B,0xC1,0x88, + 0x46,0xCC,0xF6,0x7E,0x61,0xE5,0xCA,0x95,0xCF,0x09,0xF3,0xA0,0x61,0x50,0x89,0x4E, + 0xCB,0xE6,0xCD,0x9B,0xAD,0xF0,0xA5,0x27,0x66,0x64,0x64,0xF8,0x65,0x67,0x67,0x1B, + 0x4F,0x55,0xD0,0x81,0x6B,0x18,0x22,0xD7,0xAB,0x08,0x0D,0x0D,0xFD,0xC4,0xC3,0xC3, + 0xE3,0xCC,0xB8,0x71,0xE3,0xFE,0x25,0x4E,0x49,0x06,0x08,0x1F,0x7F,0xFC,0xB1,0x13, + 0x42,0xC9,0xF5,0x8D,0x8D,0x8D,0x4B,0xB9,0x67,0x7D,0x4F,0xB8,0xB8,0xB8,0x28,0xF9, + 0x3B,0x22,0x9D,0xA7,0x20,0xB8,0x7F,0x0A,0xF3,0xA0,0x62,0x50,0x8A,0x8E,0xE0,0xC7, + 0x71,0x87,0xD7,0xAB,0x58,0xB3,0x66,0xCD,0x07,0xA8,0xF9,0x7E,0xC6,0x9D,0x5F,0xBB, + 0x03,0x79,0x1E,0xE7,0x4E,0xA9,0x70,0x3D,0xD7,0x3D,0xBC,0x6B,0xF6,0xEC,0xD9,0x87, + 0x82,0x82,0x82,0xBA,0x77,0x93,0x92,0x1B,0x42,0x56,0x56,0xD6,0xB2,0x0D,0x1B,0x36, + 0x64,0xA1,0x02,0x8D,0x6F,0x69,0x69,0x89,0x34,0xB5,0xF0,0xAB,0x2E,0xA3,0x47,0x8F, + 0x56,0x8D,0x1F,0x3F,0xBE,0x19,0xE2,0x8C,0x5B,0xB0,0x60,0xC1,0x97,0xC2,0x3C,0xE8, + 0x18,0xB4,0xA2,0xD3,0xE5,0x7B,0x50,0x5D,0x5D,0xBD,0x90,0xB5,0x24,0xE7,0xE3,0x75, + 0x87,0x5A,0xAD,0x66,0x2E,0xD0,0x32,0x67,0xCE,0x9C,0x56,0xFC,0x70,0x7F,0x44,0xE8, + 0xC9,0x51,0x0D,0x92,0x9B,0xC0,0xB6,0x6D,0xDB,0xDE,0x44,0x65,0xF8,0xF8,0xBE,0x7D, + 0xFB,0xEA,0xF0,0x9B,0x39,0x74,0x37,0xBB,0x9B,0xB9,0x1B,0x67,0x9C,0xE0,0xDA,0x57, + 0x1E,0x7C,0xF0,0xC1,0xF1,0x35,0x35,0x35,0x7F,0x09,0x0F,0x0F,0x1F,0xD4,0xA3,0x90, + 0x86,0x84,0xE8,0x4E,0x9D,0x3A,0xE5,0x86,0xF8,0xFE,0xBE,0x2F,0xBE,0xF8,0x42,0x83, + 0x50,0xF2,0x29,0x4E,0x82,0xED,0x09,0x8A,0x8F,0x1D,0xEB,0x15,0x15,0x15,0x2B,0x97, + 0x2C,0x59,0x62,0x17,0x19,0x19,0x29,0x43,0xCE,0x1B,0x00,0x2A,0xC5,0x15,0xA8,0x1C, + 0x33,0x0F,0x1C,0x38,0xF0,0x7B,0xFC,0x4E,0x77,0x98,0x9A,0x47,0xA9,0x0B,0xF3,0x72, + 0xA4,0x04,0xFC,0x9D,0x7E,0xF1,0xCC,0x33,0xCF,0xBC,0x9A,0x93,0x93,0x63,0x19,0x18, + 0x18,0x78,0xCD,0x7B,0x7D,0x0F,0x14,0x86,0x84,0xE8,0x74,0xD9,0xB4,0x69,0xD3,0xC6, + 0xCA,0xCA,0xCA,0xC9,0xE7,0xCE,0x9D,0xEB,0x31,0xD7,0xD3,0xC2,0xA5,0x01,0x91,0xBC, + 0xAF,0x41,0xC8,0x69,0x8E,0xF0,0xF3,0x17,0x43,0xE5,0x87,0x1D,0x68,0xA0,0x42,0xFC, + 0x9D,0x93,0x93,0xD3,0x0B,0x27,0x4F,0x9E,0x6C,0xBC,0x78,0xF1,0xA2,0xAD,0x30,0x77, + 0x8B,0xAF,0xAF,0xAF,0x6A,0xE4,0xC8,0x91,0xED,0xDC,0xF7,0xF0,0xBE,0xFB,0xEE,0xFB, + 0x4C,0x98,0x87,0x04,0x43,0x4E,0x74,0xC9,0xC9,0xC9,0x96,0x78,0x32,0x3B,0x7A,0xF4, + 0xE8,0x9F,0x90,0xC7,0xFD,0xC6,0xD4,0x76,0xB6,0xBA,0x70,0x2A,0x11,0x43,0x18,0xFC, + 0xC0,0x4C,0xCE,0xBF,0xFB,0xD1,0x8F,0x7E,0x64,0x5D,0x58,0x58,0xF8,0xE4,0xD8,0xB1, + 0x63,0x8B,0xF1,0xC3,0xD7,0x8A,0xCB,0x24,0xD7,0x40,0x6A,0x6A,0xEA,0x7C,0xFC,0x06, + 0x53,0x36,0x6E,0xDC,0xE8,0xEF,0xE8,0xE8,0xF8,0x14,0x04,0x74,0xA5,0x0E,0x6E,0x05, + 0xAE,0x5F,0x82,0x47,0x21,0xF2,0xF4,0xB8,0x59,0xB3,0x66,0x0D,0xB9,0xEE,0x9E,0x21, + 0x27,0x3A,0x5D,0xD2,0xD2,0xD2,0xDE,0x3E,0x74,0xE8,0x50,0x13,0x7E,0xEC,0xFF,0x64, + 0x7F,0x4F,0x0F,0xD3,0x3F,0x14,0x28,0x40,0x0E,0xA4,0x46,0xA8,0x7A,0x26,0x36,0x36, + 0xD6,0xAE,0xA0,0xA0,0xE0,0x09,0x88,0x2F,0x0D,0xE2,0xBB,0x61,0xCB,0xB3,0x0D,0x76, + 0x92,0x92,0x92,0x1C,0x11,0x3A,0xC6,0xE2,0xD9,0x25,0x20,0x20,0xE0,0x23,0x36,0x8E, + 0xF4,0x34,0x92,0x48,0x0B,0x43,0x49,0x1B,0x1B,0x1B,0xCE,0x99,0xFC,0xF5,0x63,0x8F, + 0x3D,0xE6,0x02,0x71,0x7E,0x30,0x6A,0xD4,0x28,0xA3,0x0D,0x46,0x87,0x02,0x43,0x5A, + 0x74,0x5A,0xBE,0xFA,0xEA,0xAB,0xDF,0xA3,0xC6,0xFD,0x33,0x72,0x89,0x0E,0x24,0xE5, + 0x66,0xDD,0x25,0xED,0xBA,0x30,0xE7,0xB3,0xB7,0xB7,0x6F,0x9C,0x36,0x6D,0x5A,0x3B, + 0xC2,0xD5,0xE7,0x20,0xBE,0x1D,0xF0,0x86,0x27,0xC4,0x69,0x89,0x01,0x08,0xE7,0x57, + 0x23,0x52,0x08,0x86,0x77,0x9B,0x60,0x61,0x61,0x11,0xC9,0xD5,0x94,0xB9,0xEA,0xD6, + 0x95,0x2A,0x3A,0xC2,0x30,0x12,0xDF,0xAF,0x79,0x49,0x49,0xC9,0xFD,0x71,0x71,0x71, + 0xEB,0x85,0x79,0xC8,0x32,0x2C,0x44,0x47,0xB2,0xB2,0xB2,0x16,0x6D,0xD9,0xB2,0xC5, + 0x09,0x5E,0xEB,0x53,0x86,0x9C,0xF4,0x7C,0x3D,0xB5,0x74,0x6A,0x61,0xED,0xEB,0xEC, + 0xEC,0xAC,0xE2,0xEA,0xD4,0xA8,0x85,0xDF,0xF4,0xF6,0xF6,0x4E,0x80,0x39,0x2D,0x3A, + 0x3A,0xBA,0xDF,0x97,0xDF,0x1E,0xE8,0x9C,0x3E,0x7D,0x7A,0x11,0xC2,0xC6,0xC9,0xF8, + 0x5E,0x47,0x7A,0x78,0x78,0x3C,0x4E,0xA1,0xB1,0x42,0x6B,0x6E,0xBE,0xF2,0x4E,0xC1, + 0x6C,0xCC,0x62,0x1F,0x6A,0x4D,0x4D,0xCD,0xAB,0xCB,0x96,0x2D,0xFB,0x1E,0xAF,0x6B, + 0x12,0x6B,0x50,0x0E,0x79,0x86,0x8D,0xE8,0xB4,0x1C,0x3F,0x7E,0xFC,0xFF,0xE1,0x07, + 0xFE,0xD9,0xDE,0xBD,0x7B,0x83,0x50,0x0B,0x3B,0x70,0x96,0x3A,0x9B,0xA4,0x7B,0x03, + 0x43,0x20,0x0E,0x31,0x6B,0x6C,0x6C,0xDC,0x81,0x1B,0x26,0xDE,0xCA,0xCA,0x2A,0x2F, + 0x3C,0x3C,0xDC,0x35,0x30,0x30,0xF0,0x0B,0x71,0xC9,0x90,0x67,0xFB,0xF6,0xED,0xAE, + 0x88,0x1A,0x62,0x8E,0x1C,0x39,0xE2,0x3A,0x7A,0xF4,0xE8,0xF7,0xD9,0x02,0xC9,0xB5, + 0x4A,0x7B,0x23,0x34,0xC2,0x10,0x1E,0x42,0x2D,0x9F,0x3E,0x7D,0xBA,0x07,0x04,0xF7, + 0xDB,0x25,0x4B,0x96,0xBC,0x28,0x4E,0x0D,0x1B,0x86,0x9D,0xE8,0x08,0x6E,0x14,0xB3, + 0x33,0x67,0xCE,0x2C,0x46,0x08,0xF9,0x64,0x4A,0x4A,0x8A,0x0F,0xC4,0x33,0x99,0x53, + 0x46,0x7A,0x13,0x0A,0x11,0x36,0xBC,0x20,0xF4,0x64,0xF8,0xD4,0x1C,0x14,0x14,0x64, + 0x8D,0xFF,0xEF,0x97,0x21,0x21,0x21,0x36,0xF0,0x7E,0x7F,0x5D,0xBB,0x76,0xAD,0xF9, + 0xCA,0x95,0x2B,0x7B,0xA7,0xE2,0x41,0x00,0xF2,0x62,0x4E,0x97,0x2A,0x47,0x5E,0xB6, + 0x0A,0x7F,0x6F,0x30,0x22,0x86,0x60,0x88,0x26,0x34,0x3F,0x3F,0x5F,0x11,0x50,0x6F, + 0x1A,0x46,0xB4,0xB0,0xB1,0xAA,0xA9,0xA9,0xE9,0x4B,0x36,0x90,0x3C,0xF0,0xC0,0x03, + 0x31,0xF8,0xEE,0x86,0xE5,0xD0,0xBC,0x61,0x29,0x3A,0x5D,0xE0,0xF1,0xC6,0x41,0x7C, + 0x4F,0xED,0xD9,0xB3,0xC7,0x0B,0x61,0x64,0x1C,0x97,0x89,0xA0,0xE7,0xEB,0x4D,0xE8, + 0x49,0x98,0xB7,0xF0,0x5A,0x0E,0x4D,0xAA,0xA8,0xA8,0x78,0x17,0xE1,0xAB,0x2D,0x3C, + 0xC0,0x59,0xD8,0xB3,0x71,0x93,0xD9,0xC1,0x0B,0xBE,0x25,0x2E,0x1D,0x14,0x9C,0x38, + 0x71,0x22,0x14,0x9C,0x38,0x7C,0xF8,0xF0,0xBA,0x8C,0x8C,0x8C,0x4C,0x84,0xD7,0xCF, + 0x20,0xA7,0xAD,0xAF,0xAA,0xAA,0xF2,0xE6,0x20,0x73,0x7E,0x37,0xBD,0x8D,0x0C,0x08, + 0xB7,0x48,0x43,0x64,0x51,0x39,0x6B,0xD6,0x2C,0x37,0x08,0xF4,0x9F,0x31,0x31,0x31, + 0xC3,0x7E,0xE5,0xEE,0x61,0x2F,0x3A,0x5D,0xD2,0xD3,0xD3,0x9F,0xFC,0xFE,0xFB,0xEF, + 0x3D,0x21,0x9C,0xD5,0xCC,0x4F,0x28,0xA6,0xDE,0x34,0xBA,0xE8,0xC2,0x5C,0xC5,0xD6, + 0xD6,0x96,0xAF,0x6B,0xF7,0xF7,0xF7,0x37,0x2F,0x2C,0x2C,0x7C,0x09,0xA2,0xB6,0x09, + 0x08,0x08,0x28,0x81,0x77,0x3C,0xE1,0xE9,0xE9,0xA9,0x76,0x71,0x71,0x69,0x77,0x75, + 0x75,0xFD,0x4A,0xBC,0xE4,0xA6,0x00,0x0F,0x36,0x22,0x32,0x32,0xB2,0x10,0x79,0xD9, + 0x33,0x28,0x3A,0xE3,0x73,0x5A,0x43,0x70,0xF9,0xB0,0xBD,0x06,0x5B,0xA6,0x85,0x85, + 0xC5,0x78,0x7A,0x7F,0x7A,0xF5,0xAB,0xFD,0x0E,0xF8,0xF7,0xD3,0x0B,0x22,0x47,0xE3, + 0xF7,0x71,0xE8,0xDC,0xB9,0x73,0x1C,0xB6,0xE5,0x8C,0x0A,0xE8,0xB0,0xB8,0x64,0x58, + 0x23,0x45,0x67,0x82,0xFD,0xFB,0xF7,0x2F,0x43,0x4D,0xEF,0x82,0x9B,0x84,0xB5,0x7D, + 0x35,0x6E,0x3A,0x97,0xEE,0xA6,0x98,0xF4,0x04,0x6F,0x3C,0x0A,0x97,0x8D,0x31,0x1C, + 0xFB,0x89,0x72,0x1B,0x3C,0xA2,0x05,0x47,0xC8,0xE3,0xFF,0xFD,0x2B,0xCE,0x5D,0xB0, + 0xB6,0xB6,0x3E,0x8C,0x1B,0xBB,0x03,0xD7,0xD8,0xE1,0x91,0x73,0xE7,0x9D,0x77,0x9E, + 0xDD,0xBD,0x7B,0xF7,0x68,0x5C,0x5F,0x1F,0x15,0x15,0xA5,0x34,0xD6,0x20,0x8F,0x52, + 0xE3,0xA6,0x35,0x9A,0xCB,0x04,0xEF,0x63,0x0F,0xF1,0xD6,0x17,0x14,0x14,0xB8,0x9D, + 0x3F,0x7F,0xFE,0x22,0xC2,0xDB,0x2E,0x75,0xC0,0xB6,0x00,0xB6,0x2A,0xD8,0x0E,0xC5, + 0xC7,0xC7,0xFB,0xF8,0xF9,0xF9,0x85,0x8F,0x19,0x33,0xE6,0xAE,0x43,0x87,0x0E,0x95, + 0x23,0x34,0x3C,0x81,0xE3,0x57,0xE0,0x99,0xAB,0x10,0x52,0x4F,0xE4,0x08,0x1E,0xAE, + 0xB4,0xC6,0xFC,0x96,0x5C,0xAD,0xC8,0x88,0xC8,0xD5,0xD8,0xD7,0xB9,0x6B,0xFE,0xFC, + 0xF9,0xB3,0x51,0x81,0x3D,0x84,0x7C,0xAD,0xAD,0xB6,0xB6,0x76,0x13,0xDE,0x6B,0x40, + 0xCE,0xE0,0xBE,0x59,0x48,0xD1,0xF5,0x00,0xC4,0x37,0xF9,0xEC,0xD9,0xB3,0x96,0xE1, + 0xE1,0xE1,0x89,0x10,0x61,0x01,0x6E,0x20,0x7B,0xDC,0xA0,0x23,0xAE,0x26,0xBC,0x32, + 0x44,0x3B,0x96,0x90,0x61,0x29,0xA7,0xA8,0xE0,0x66,0x6D,0x87,0x57,0x69,0xB1,0xB3, + 0xB3,0x53,0xA3,0xDC,0x88,0x72,0x91,0xBB,0xBB,0x3B,0x9C,0xA1,0x4B,0x07,0xDE,0xEF, + 0x18,0x6C,0x2D,0xB8,0xD6,0x19,0xEF,0x7B,0x1C,0xE1,0x59,0x11,0x5E,0xAB,0x46,0x5E, + 0x54,0x8A,0xE3,0x63,0x10,0xD4,0x3F,0x9A,0x9B,0x9B,0x2F,0xE1,0x66,0x77,0x47,0x9E, + 0x74,0x11,0x79,0xD7,0x09,0x94,0x3B,0x20,0xA4,0xC0,0x11,0x23,0x46,0xC4,0x70,0x03, + 0xC4,0xF2,0xF2,0xF2,0x3C,0x8A,0x08,0xC7,0xA3,0xE9,0x81,0x1A,0x1B,0x1B,0x39,0x02, + 0x47,0x11,0xC9,0xF5,0xFC,0x1D,0x5A,0x58,0x99,0xE0,0xFD,0xCA,0xA6,0x4F,0x9F,0xEE, + 0x09,0xD1,0xBE,0x8A,0x4A,0xE3,0x17,0xA9,0xA9,0xA9,0x9E,0xA8,0x30,0x6E,0xE8,0x4E, + 0x38,0x83,0x09,0x29,0xBA,0x5E,0x80,0x3C,0xCF,0x1F,0x1E,0xA2,0x1A,0x87,0x14,0xC8, + 0x8B,0xF0,0x50,0x31,0xB8,0xC1,0xC3,0x98,0xE3,0xB0,0xD5,0xEE,0x5A,0x3C,0xC3,0x95, + 0xA0,0x28,0xD9,0xB0,0x43,0x71,0x88,0x70,0x55,0x69,0xB4,0xA0,0xD7,0xA4,0xF7,0x84, + 0x60,0x5A,0xF0,0x59,0xAC,0x78,0xCC,0x07,0xAF,0xA3,0xA0,0xF8,0x3A,0xA2,0x7D,0x2D, + 0xCF,0xF5,0x25,0xAC,0x34,0x98,0xA7,0xF1,0x73,0xC0,0x83,0xF1,0x7D,0x0E,0xE4,0xE6, + 0xE6,0xC6,0xCD,0x99,0x33,0xC7,0x05,0xB9,0xA0,0x5C,0x18,0xAA,0x17,0x48,0xD1,0x5D, + 0x23,0xC9,0xC9,0xC9,0xFF,0x89,0x1B,0xFC,0xB6,0x9C,0x9C,0x9C,0x28,0xDC,0x74,0xD9, + 0xC8,0x5D,0xA6,0x70,0x85,0x61,0xDE,0xE8,0xA4,0xAF,0x6F,0xF6,0x9B,0x81,0x56,0xB4, + 0x14,0x19,0x9E,0xDB,0xC6,0x8F,0x1F,0x6F,0x01,0x2F,0xB9,0xED,0xD6,0x5B,0x6F,0x9D, + 0x7D,0xF2,0xE4,0xC9,0x87,0xA6,0x4E,0x9D,0xDA,0x5E,0x5D,0x5D,0xFD,0x0D,0xC2,0xF0, + 0xDE,0xF5,0x17,0x48,0x14,0xA4,0xE8,0xAE,0x13,0xE4,0x4B,0x6E,0xF0,0x76,0x8D,0x61, + 0x61,0x61,0x9B,0x33,0x33,0x33,0xAB,0x90,0xFB,0xB9,0xE2,0x31,0x57,0xEB,0x99,0xEA, + 0xEA,0xEA,0x94,0xEB,0xFA,0xC3,0xEB,0xF4,0x35,0xDA,0xD0,0x57,0x74,0x87,0xA8,0xBC, + 0xBC,0xBC,0xF8,0x7C,0x60,0xDC,0xB8,0x71,0x9E,0x79,0x79,0x79,0x8F,0xCE,0x9C,0x39, + 0x73,0xB2,0xAF,0xAF,0xEF,0x2B,0xC5,0xC5,0xC5,0xEE,0x78,0xAE,0x10,0x2F,0x93,0x5C, + 0x25,0x52,0x74,0x7D,0x44,0x5A,0x5A,0x9A,0x75,0x64,0x64,0xA4,0x52,0xE3,0xA7,0xA7, + 0xA7,0x3F,0x86,0x1B,0xF8,0x16,0xE4,0x51,0x91,0x19,0x19,0x19,0x15,0xF0,0x80,0x96, + 0x10,0xE6,0x2C,0x0A,0x90,0x37,0x36,0xC3,0x40,0x0A,0xF0,0x66,0x0A,0x91,0xEF,0xCD, + 0xB0,0x95,0x15,0x03,0xC5,0x05,0x0F,0x96,0x06,0x71,0x45,0x3A,0x3B,0x3B,0x97,0xC3, + 0x96,0x06,0xDB,0x37,0xC8,0x27,0x3B,0x26,0x4E,0x9C,0xF8,0x4F,0x78,0x73,0x37,0x78, + 0xB3,0x4A,0xF1,0x52,0xC9,0x75,0x22,0x45,0xD7,0x8F,0x40,0x88,0x76,0x08,0x3D,0x1B, + 0xEF,0xBC,0xF3,0xCE,0x0E,0x78,0xC1,0x3F,0xC3,0x03,0x06,0xE1,0x66,0x9F,0x51,0x56, + 0x56,0x56,0x5B,0x55,0x55,0xD5,0x04,0x01,0x8E,0x6D,0x6A,0x6A,0x72,0xC5,0x71,0x19, + 0x3C,0x8C,0x13,0x04,0xA8,0xA6,0x20,0x91,0x27,0x51,0x89,0xCA,0x6F,0xC3,0xDC,0x8C, + 0x42,0xE5,0x83,0xC7,0x84,0xC7,0x86,0x8D,0x20,0xBA,0xD7,0x20,0xD7,0x53,0x3C,0x15, + 0x05,0xCD,0x2E,0x0C,0x5C,0xDB,0x66,0x6D,0x6D,0x6D,0x41,0x0F,0x86,0x0A,0xA0,0x18, + 0xB9,0x98,0x3D,0x04,0x55,0x0E,0x6F,0xE5,0x70,0xFE,0xFC,0xF9,0x3F,0x20,0x6C,0x0C, + 0xD1,0x68,0x34,0x4F,0x6F,0xDF,0xBE,0x7D,0x4C,0x44,0x44,0x84,0x99,0xA7,0xA7,0xE7, + 0x90,0x1C,0x68,0x3C,0x30,0x50,0xA9,0xFE,0x3F,0xF4,0x88,0x17,0xC7,0xC8,0x58,0x48, + 0xF9,0x00,0x00,0x00,0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, +}; // open_png, 14893 bytes -// File: PlantModel.png +// File: plantmodel.css // -const char PlantModel_png[] PROGMEM = { +const char plantmodel_css[] PROGMEM = { + "\n" +}; // plantmodel_css, 3982 bytes + +// File: plantmodel.png +// +const char plantmodel_png[] PROGMEM = { 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, - 0x00,0x00,0x00,0xF3,0x00,0x00,0x01,0xE8,0x08,0x06,0x00,0x00,0x00,0x9C,0x90,0xD9, - 0xD3,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, + 0x00,0x00,0x00,0xEF,0x00,0x00,0x01,0xE8,0x08,0x06,0x00,0x00,0x00,0xA1,0x02,0xB8, + 0xB5,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, 0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0E,0xC3,0x00,0x00,0x0E,0xC3,0x01,0xC7, - 0x6F,0xA8,0x64,0x00,0x00,0x6E,0x4E,0x49,0x44,0x41,0x54,0x78,0x5E,0xED,0x9D,0x07, - 0x7C,0x14,0x65,0xFA,0xC7,0x9F,0x4D,0x27,0x05,0xD2,0x0B,0x49,0x20,0x01,0x82,0x20, - 0x4D,0x7A,0x55,0x40,0x01,0x51,0xE1,0x44,0xC5,0x82,0x7F,0xF5,0xB0,0x9C,0x82,0x77, - 0x16,0xCE,0xC2,0xE9,0x79,0x67,0x39,0xEF,0x94,0xF3,0x14,0x3D,0x3D,0xFB,0x89,0x27, - 0x16,0xCE,0x06,0x9E,0x28,0x08,0xA8,0x20,0xA1,0x08,0x48,0x2F,0x21,0xA1,0x25,0x21, - 0x8D,0x54,0x42,0x02,0x29,0x24,0xF3,0xDF,0xDF,0xEC,0xBB,0x9B,0xD9,0xDD,0x99,0xDD, - 0xD9,0x9A,0xD9,0xDD,0xF7,0xFB,0x61,0xC9,0xBC,0xB3,0xB3,0x9B,0xC9,0xEE,0xFC,0xE6, - 0x79,0xDE,0xE7,0x7D,0xDE,0xE7,0x25,0x0E,0x87,0xE3,0x1F,0xE8,0xD8,0x4F,0x8E,0x8F, - 0x51,0x59,0x59,0x29,0x34,0x34,0x34,0x88,0xDB,0xF8,0x59,0x55,0x55,0x25,0x6E,0x1B, - 0x91,0xDB,0x27,0x25,0x23,0x23,0x83,0x42,0x42,0x42,0x58,0xCB,0x80,0x74,0x5F,0x76, - 0x76,0x36,0xBF,0x36,0x7C,0x0C,0xFE,0x85,0x69,0x9C,0xE3,0xC7,0x8F,0x0B,0x75,0x75, - 0x75,0x84,0xC7,0xC9,0x93,0x27,0x45,0x91,0x96,0x97,0x97,0xB3,0x67,0x3D,0x0F,0x04, - 0x1E,0x1D,0x1D,0x4D,0xA9,0xA9,0xA9,0x94,0x98,0x98,0x28,0x6E,0x73,0xA1,0x6B,0x13, - 0xFE,0xA5,0x68,0x88,0x5D,0xBB,0x76,0x09,0x10,0x2C,0x2C,0x2A,0x04,0xDB,0xD4,0xD4, - 0xC4,0x9E,0xD1,0x1E,0x10,0x35,0xC4,0x0D,0x91,0x43,0xF0,0x83,0x06,0x0D,0xE2,0xD7, - 0x52,0x27,0xC3,0xBF,0x80,0x4E,0x04,0xE2,0x3D,0x71,0xE2,0x04,0xE1,0x01,0xCB,0xEB, - 0xEB,0x40,0xDC,0x59,0x59,0x59,0xE2,0x83,0x8B,0xDB,0xFB,0xF0,0x0F,0xDC,0x8B,0xF8, - 0x9B,0x78,0xED,0x01,0x71,0xF7,0xE9,0xD3,0x47,0x14,0x77,0xFF,0xFE,0xFD,0xF9,0xB5, - 0xE6,0x61,0xF8,0x07,0xEC,0x61,0x36,0x6E,0xDC,0x28,0xEC,0xD8,0xB1,0x23,0x20,0xC4, - 0x6B,0x0F,0xB8,0xE3,0x17,0x5D,0x74,0x11,0x8D,0x1C,0x39,0x92,0x5F,0x77,0x1E,0x80, - 0x7F,0xA8,0x1E,0x00,0x16,0x78,0xF7,0xEE,0xDD,0xA2,0x05,0xF6,0x14,0xC6,0x3E,0x6B, - 0x44,0x44,0x84,0xD8,0x6F,0x95,0x62,0x7C,0xCE,0x1E,0xE8,0x9F,0x9F,0x3F,0x7F,0x9E, - 0xB5,0x0C,0x18,0xCF,0x59,0xEE,0x39,0x77,0x32,0x70,0xE0,0x40,0xEA,0xD7,0xAF,0x1F, - 0x77,0xC7,0xDD,0x08,0xFF,0x20,0xDD,0xC4,0xA1,0x43,0x87,0x84,0xFD,0xFB,0xF7,0x53, - 0x5E,0x5E,0x9E,0x5B,0x45,0xD0,0xD9,0xD1,0x64,0x4F,0x47,0xD3,0x71,0x33,0x82,0xB0, - 0x61,0xB1,0x33,0x33,0x33,0xF9,0xF5,0xE8,0x02,0xFC,0xC3,0x73,0x81,0xB2,0xB2,0x32, - 0xD1,0x85,0x86,0x80,0x8D,0x63,0xBE,0xAE,0x60,0x0C,0x1E,0xE1,0xA1,0xF5,0xE1,0x1F, - 0x8C,0x73,0x43,0xE0,0xC6,0x18,0x00,0x84,0xEE,0x2A,0xB1,0xB1,0xB1,0xA2,0xA8,0x27, - 0x4F,0x9E,0xCC,0xAF,0x4B,0x27,0xE0,0x1F,0x9A,0x13,0xC0,0x5A,0xAD,0x5F,0xBF,0xDE, - 0x65,0x37,0x1A,0x56,0xD7,0x28,0xDE,0x9C,0x9C,0x1C,0x9F,0xFF,0x2E,0xE0,0x9D,0x18, - 0xC5,0xED,0xAA,0xF5,0x86,0xA8,0x27,0x4C,0x98,0x40,0x49,0x49,0x49,0xFC,0x1A,0x55, - 0x09,0xFF,0xA0,0x1C,0xC0,0x55,0x11,0xFB,0x9B,0x78,0xED,0xB1,0x6F,0xDF,0x3E,0x93, - 0xB8,0x6D,0x65,0xA3,0xD9,0x02,0xFD,0xEA,0x49,0x93,0x26,0x51,0x5A,0x5A,0x1A,0xBF, - 0x56,0xED,0xC0,0x3F,0x20,0x15,0xC0,0xE2,0xE4,0xE6,0xE6,0x3A,0xE5,0x4A,0xA2,0x9F, - 0x0B,0x2B,0x73,0xF1,0xC5,0x17,0x07,0xF4,0x67,0x0D,0xB7,0x1C,0x5D,0x12,0xC4,0x15, - 0x9C,0xE9,0x92,0x40,0xD4,0xB0,0xD4,0xBC,0x5F,0xAD,0x0C,0xFF,0x60,0x6C,0x00,0x11, - 0xC3,0x12,0x3B,0xEA,0x32,0xF2,0xA0,0x8E,0x6D,0x5C,0x09,0x16,0xC2,0xAB,0x81,0xA5, - 0xE6,0x29,0xA5,0xD6,0xF0,0x0F,0x44,0x86,0x82,0x82,0x02,0x61,0xDD,0xBA,0x75,0x0E, - 0x8B,0x98,0x0F,0xB7,0x38,0x8E,0xB3,0xC3,0x78,0x10,0xF5,0x94,0x29,0x53,0xF8,0xCD, - 0x52,0x02,0xFF,0x20,0x2C,0x58,0xBA,0x74,0xA9,0x70,0xE4,0xC8,0x11,0xD6,0xB2,0x0F, - 0x86,0x8A,0xE0,0xFE,0x8D,0x1D,0x3B,0x96,0x7F,0x96,0x2E,0xF2,0xE3,0x8F,0x3F,0x0A, - 0x5B,0xB7,0x6E,0x75,0x28,0x27,0x1D,0xDE,0xCF,0x35,0xD7,0x5C,0xC3,0x3F,0x7B,0x3D, - 0xFC,0x43,0x60,0x20,0x53,0x0B,0x2E,0xB5,0x5A,0xB7,0x0F,0xC3,0x28,0x10,0x31,0xCF, - 0x66,0x72,0x3F,0x8E,0x8A,0x1A,0xDD,0x9A,0xE9,0xD3,0xA7,0xD3,0xD0,0xA1,0x43,0x03, - 0xFA,0xBB,0x08,0xF8,0x0B,0x11,0x2E,0xF5,0xEA,0xD5,0xAB,0x55,0x47,0x5B,0x21,0x62, - 0xF4,0xD9,0x02,0xFD,0xC2,0xF1,0x06,0x5B,0xB6,0x6C,0x11,0x03,0x8F,0x6A,0x03,0x66, - 0x18,0x2D,0x98,0x35,0x6B,0x56,0xC0,0x0E,0x67,0x05,0xF4,0x05,0xF9,0xD9,0x67,0x9F, - 0x89,0x81,0x18,0x35,0x20,0x2A,0x0D,0x4B,0xCC,0x45,0xEC,0x7D,0x1C,0x15,0x35,0xBE, - 0xA7,0xA9,0x53,0xA7,0x06,0xDC,0xF7,0x14,0x90,0x17,0x26,0x2E,0x0E,0xB8,0xD4,0x6A, - 0xDC,0x38,0x88,0x18,0x81,0x16,0x3E,0xEB,0xA7,0xF3,0x41,0xB0,0x0C,0x81,0x49,0x35, - 0xA2,0x46,0x2C,0x63,0xC6,0x8C,0x19,0x01,0xF5,0xBD,0x05,0xDC,0x05,0xFA,0xCE,0x3B, - 0xEF,0x88,0x05,0x00,0xEC,0x81,0x7E,0x18,0xEE,0xF0,0x81,0x3E,0x3E,0xAC,0x45,0xD6, - 0xAE,0x5D,0x2B,0xF6,0xA9,0xD5,0xC4,0x37,0x30,0xC2,0x70,0xFD,0xF5,0xD7,0x07,0xC4, - 0x77,0x18,0x30,0x17,0x2A,0xC6,0x36,0x57,0xAC,0x58,0xA1,0xCA,0x1A,0x07,0xD2,0x05, - 0xE0,0xAB,0x20,0x09,0x65,0xE5,0xCA,0x95,0xAA,0x86,0xB4,0xE0,0x5D,0xCD,0x9E,0x3D, - 0xDB,0xEF,0xB3,0xC8,0x02,0xE2,0x82,0x5D,0xB5,0x6A,0x95,0x78,0x27,0xB7,0x07,0xBE, - 0x74,0xB8,0x66,0x3C,0x21,0xC1,0x77,0x40,0xCA,0x28,0x02,0x98,0xF6,0x5C,0x6F,0x14, - 0x2A,0x44,0x77,0xC9,0x9F,0x87,0x10,0xFD,0xFE,0xA2,0x55,0xE3,0x56,0xE3,0x8B,0x46, - 0x84,0x9A,0xBB,0xD4,0xBE,0x8B,0xDA,0x1B,0x36,0x92,0x7A,0xE6,0xCC,0x99,0xE3,0x97, - 0xDF,0xB3,0xDF,0x5E,0xBC,0x6A,0xDD,0x6A,0x7F,0xFE,0x72,0x03,0x8D,0xE2,0xE2,0x62, - 0xD1,0x4A,0xDB,0xBB,0x79,0x63,0x78,0x11,0x6E,0xB7,0xBF,0x65,0x8F,0xF9,0xE5,0x45, - 0xAC,0xE6,0x2E,0x0D,0x6B,0x8C,0x44,0x03,0x9E,0xF4,0xE1,0x7F,0x20,0x40,0x86,0xA1, - 0x2C,0x5B,0xF8,0xA3,0xDB,0xED,0x77,0x17,0xB2,0x1A,0xB7,0x3A,0x50,0x02,0x22,0x81, - 0x0C,0x92,0x81,0x3E,0xFF,0xFC,0xF3,0x80,0xF2,0xCC,0xFC,0xEA,0x62,0x5E,0xBC,0x78, - 0xB1,0x58,0xFD,0xC2,0x16,0x3C,0x52,0x1D,0x58,0xA8,0xB9,0xB9,0xA3,0x24,0xD3,0xFC, - 0xF9,0xF3,0x7D,0xFE,0x9A,0xF0,0x8B,0x8B,0x1A,0xE5,0x7B,0x96,0x2D,0x5B,0x66,0xB3, - 0x02,0xA6,0x2F,0xB8,0xD5,0xA5,0xA7,0x8A,0x85,0xBF,0xBF,0xFB,0x67,0x6A,0x6E,0x6D, - 0xA6,0x7B,0xE7,0x3C,0x42,0x83,0xFA,0xF2,0x6C,0x33,0x77,0xA0,0xC6,0xED,0xF6,0x07, - 0x41,0xFB,0xFC,0xC5,0x82,0xA0,0xC7,0x87,0x1F,0x7E,0x68,0xD3,0x9D,0xF2,0x15,0xB7, - 0xFA,0xD1,0x17,0xE6,0x09,0x1B,0xB6,0xAF,0x15,0xB7,0xC3,0x42,0xC3,0x69,0xE9,0xA2, - 0xFF,0x51,0x56,0x46,0x1F,0x9F,0xFF,0x8E,0xCA,0xCB,0xCB,0x85,0x13,0x95,0xB5,0xD4, - 0xDE,0xDE,0xCE,0xF6,0x18,0xE8,0x99,0x18,0x4B,0xE9,0xE9,0xE9,0x5E,0xF9,0xFB,0x50, - 0x25,0x06,0x6E,0xB7,0xAD,0x21,0x2C,0x04,0xC6,0x6E,0xB9,0xE5,0x16,0x9F,0xCD,0xED, - 0xF6,0xE9,0x0B,0x05,0xFD,0x22,0x58,0x64,0x5B,0x99,0x40,0xBE,0xE4,0x56,0x4B,0xC5, - 0x6C,0x64,0xEA,0xB8,0x19,0x74,0xE5,0xC4,0x6B,0x69,0xDC,0xD0,0x89,0x36,0xFF,0x86, - 0x35,0x9B,0xBE,0x16,0xBE,0xDD,0xF0,0xA5,0x68,0xD5,0x63,0x22,0xBB,0xD2,0xAC,0x29, - 0x73,0xEC,0xBE,0xC6,0xD3,0x6C,0x3F,0x70,0x58,0xA8,0x6B,0x68,0xA4,0xCD,0xCD,0xD1, - 0xB4,0xAA,0x21,0x92,0x5A,0x28,0x88,0x3D,0x63,0x60,0x42,0x44,0x23,0x5D,0x11,0xD5, - 0x48,0x31,0x61,0xC1,0x34,0x61,0xA8,0x77,0xE6,0x80,0x2F,0x59,0xB2,0x44,0x2C,0x65, - 0xA4,0x04,0x32,0xFF,0xE6,0xCE,0x9D,0xEB,0x93,0xF1,0x14,0x9F,0x3B,0x61,0x23,0xC8, - 0xD3,0xC5,0xD0,0x93,0x2D,0x30,0x76,0xEC,0x4B,0x95,0x1E,0xD7,0x6F,0x5B,0x23,0x2C, - 0xFC,0xC7,0x7C,0xD6,0x32,0x67,0x60,0xCE,0x45,0xF4,0xA7,0xF9,0x8B,0x64,0x2D,0xF5, - 0x3B,0x9F,0xBE,0x22,0xBC,0xFB,0xF9,0x3F,0x59,0xAB,0x83,0x07,0x7F,0xFD,0x47,0x9A, - 0x73,0xD5,0x1D,0x5E,0xFF,0xFB,0x0F,0x9D,0x28,0x16,0x4E,0x54,0x54,0xD3,0xF3,0xB5, - 0x89,0xB4,0xA1,0x29,0x9A,0xED,0x55,0x66,0x60,0xE8,0x39,0x7A,0x3C,0xBE,0x8A,0xFA, - 0x27,0x44,0xD1,0xD0,0xBE,0xBD,0x3C,0x7E,0xBE,0xCB,0x97,0x2F,0x17,0x0B,0x22,0x28, - 0x81,0x2E,0xD9,0x4D,0x37,0xDD,0xE4,0x73,0x75,0xDA,0x7C,0xEA,0x64,0x8D,0x60,0xEE, - 0x31,0x12,0xEE,0x6D,0x81,0x4C,0x2E,0x5F,0x1C,0x76,0x7A,0xE6,0xF5,0x47,0x85,0x6F, - 0xD6,0x7F,0xC1,0x5A,0xE6,0xC4,0x44,0x75,0xA5,0x0F,0xF4,0xAE,0x77,0xF7,0xE4,0x8E, - 0xF1,0xD1,0xAA,0xDA,0x53,0xC2,0x55,0xF7,0x8C,0x65,0x2D,0x73,0xE0,0xAA,0x2F,0x7F, - 0x6D,0x3D,0x25,0xC6,0x25,0x7B,0xED,0x73,0xD8,0xAA,0xB7,0xC6,0xCB,0x2A,0x43,0xE8, - 0xE5,0xBA,0x04,0xB6,0x47,0x3D,0x37,0x47,0xD7,0xD1,0xBC,0xC4,0x46,0xBA,0xE4,0xA2, - 0x01,0x1E,0x3F,0x5F,0x7B,0xFD,0x68,0x08,0x1A,0xD7,0x90,0x2F,0xCD,0x92,0x33,0xF7, - 0x7B,0x7C,0x00,0x4C,0x5C,0xB7,0x25,0x64,0x7C,0x09,0xE8,0x1F,0xFB,0xEA,0xF8,0xF1, - 0x9F,0xEF,0xFD,0xBB,0x6E,0xD1,0xC3,0x6F,0x88,0x96,0xD8,0x92,0x33,0x8D,0xF5,0xF4, - 0xA7,0x57,0x1E,0x64,0x2D,0x03,0x6B,0x37,0xAF,0x64,0x5B,0xD6,0xB4,0xE8,0x5D,0xEE, - 0xAD,0xBB,0x7F,0x62,0x2D,0xCF,0x03,0x21,0x3F,0x53,0x12,0xE9,0x94,0x90,0xC1,0xC7, - 0x0D,0xB1,0xF4,0x60,0x69,0x1C,0xFD,0xB4,0xFB,0x80,0xC0,0x76,0x79,0x0C,0x4C,0x91, - 0x44,0x40,0x54,0x09,0x74,0xDD,0xE0,0xF9,0xC1,0x03,0x64,0xBB,0x34,0x8F,0x4F,0x89, - 0x19,0x42,0xC6,0xD4,0x45,0x25,0xD0,0xDF,0x81,0x7B,0xE4,0xEB,0x35,0xB8,0x26,0x8D, - 0x9A,0xA6,0xFB,0xF7,0x5F,0xBF,0xD0,0xFD,0xF7,0xA5,0xEF,0xC4,0x3E,0xB3,0x94,0xFD, - 0x05,0xBB,0x69,0xF3,0xAE,0x0D,0xA6,0x0B,0xAC,0xA8,0xF4,0x38,0xDB,0xEA,0x5C,0xF6, - 0x1D,0x2D,0x14,0x96,0x9E,0x0A,0xA5,0x6F,0xCF,0xC6,0xB0,0x3D,0xCE,0xB1,0xB3,0x25, - 0x92,0x9E,0x39,0xD5,0x4D,0xBC,0x31,0xB0,0x5D,0x1E,0x03,0x09,0x23,0x28,0x66,0x00, - 0x03,0xA0,0x84,0x2F,0x09,0xDA,0x67,0xC4,0x8C,0x0F,0xD4,0x9E,0x90,0x11,0xB8,0xF0, - 0xA7,0x7A,0xD4,0xE8,0x1F,0x3F,0xFB,0xE0,0x2B,0x3A,0x4B,0x41,0x23,0xD0,0x65,0x24, - 0xFF,0xC4,0x41,0xB6,0x25,0x4F,0xCF,0xF4,0xDE,0x6C,0xCB,0xB3,0x1C,0xAF,0xAA,0xA3, - 0x7F,0x9D,0x8E,0x67,0x2D,0xD7,0x58,0x77,0x36,0x9A,0xF6,0x9C,0x6E,0xA3,0x9A,0x9A, - 0x1A,0x8F,0x8B,0x08,0x6E,0x34,0x0C,0x80,0x2D,0x41,0x63,0x76,0x16,0x82,0xAD,0xAC, - 0xA9,0x59,0x7C,0x42,0xCC,0xC6,0x3C,0x6B,0x25,0x30,0xA4,0xF0,0xD8,0x63,0x8F,0xE9, - 0xFC,0x35,0xA3,0xEB,0xD6,0xAB,0xEF,0x61,0x5B,0x06,0xA4,0x11,0xEF,0xC2,0xD2,0x63, - 0x6C,0x4B,0x9E,0xB4,0xA4,0x74,0xB6,0xE5,0x39,0x10,0xB5,0x7E,0xB1,0x16,0xAE,0x75, - 0x10,0x2D,0xBE,0xB4,0x1B,0xD1,0xAC,0x58,0x9D,0xD2,0x03,0xBD,0xFB,0xBB,0x47,0xB2, - 0x63,0x2C,0x90,0xEE,0xC7,0xFB,0x1D,0x3C,0x61,0x7F,0xDE,0xB9,0x3B,0x80,0x01,0xB8, - 0xEB,0xAE,0xBB,0x44,0x83,0x20,0x07,0x5C,0x6E,0x8C,0x9A,0x60,0x18,0x94,0xED,0xD2, - 0x24,0x9A,0x17,0xB3,0x71,0x7C,0x50,0x09,0x0C,0xF6,0x2F,0x58,0xB0,0xC0,0x2F,0x45, - 0x6C,0xE4,0x82,0xEC,0x0B,0x75,0x52,0x0B,0x8B,0xBE,0xF0,0x17,0x6B,0x3E,0x12,0x10, - 0xFC,0x42,0x3F,0x5A,0x09,0x04,0xCC,0xBC,0x11,0xFC,0xC2,0xF0,0x93,0x21,0x6A,0xDD, - 0x4E,0x0B,0x7E,0x38,0xAD,0xF7,0x4D,0xEB,0x04,0x3C,0xEE,0x2E,0x11,0x0C,0x17,0x3F, - 0x6B,0xE3,0xB1,0x45,0xDC,0x61,0x9F,0xFC,0xD6,0x70,0x2A,0x6A,0xF6,0xDE,0xD7,0x0A, - 0x43,0x00,0x41,0xC3,0x30,0xC8,0x01,0x41,0x23,0x9F,0x01,0xF3,0xA8,0xD9,0x2E,0xCD, - 0xA1,0x69,0x31,0x1B,0x33,0xBB,0x94,0xC6,0x91,0xF1,0xC1,0xFB,0x43,0x1A,0x9E,0x1A, - 0xAE,0xBA,0xE4,0x1A,0xB6,0x65,0xE0,0x8D,0x4F,0xFE,0x41,0x5B,0xF7,0x6C,0x64,0x2D, - 0x79,0x7A,0x76,0xEF,0xC5,0xB6,0x3C,0x07,0x12,0x42,0x30,0x8E,0xEC,0x09,0xD6,0x9D, - 0x8D,0xD2,0x77,0x23,0x8A,0xBC,0x26,0x1E,0x24,0x8B,0xC0,0x30,0x28,0x59,0x68,0x24, - 0x26,0x41,0xD0,0x5A,0x45,0xD3,0x62,0xB6,0x95,0xD9,0x85,0x1A,0x4F,0xFE,0x6E,0x91, - 0xA5,0x5C,0x35,0xE9,0x3A,0x71,0xA8,0xC9,0x08,0x2C,0x32,0x52,0x3F,0x6D,0xE1,0x8D, - 0xFE,0x72,0x49,0x6D,0x3D,0xE5,0x9E,0x95,0xBF,0xF8,0x5D,0x65,0x5B,0x53,0x17,0x3A, - 0x55,0xAB,0xB7,0xF4,0x5E,0x06,0xB1,0x17,0xA5,0x3E,0x34,0x52,0x86,0x5F,0x7D,0xF5, - 0x55,0x4D,0x5A,0x67,0xCD,0x8A,0x19,0x93,0x26,0x94,0x52,0xEF,0x70,0xE7,0x44,0xDA, - 0x5D,0x20,0x01,0x77,0xF9,0xAE,0xD9,0xF7,0xB1,0x96,0x81,0xE6,0x16,0xDB,0x33,0x82, - 0xD2,0x12,0x3D,0xDF,0x5F,0x6E,0x6E,0x69,0xA5,0xEA,0x76,0xE5,0xE0,0x91,0x4D,0x24, - 0x7D,0x69,0x3C,0xDE,0x4E,0xD7,0x99,0xDD,0x9C,0xF1,0xBE,0xC2,0xF9,0x56,0xD6,0xF2, - 0x1E,0x70,0xB9,0x6D,0x05,0xC5,0x50,0x96,0xF9,0x8D,0x37,0xDE,0xD0,0x9C,0xA0,0x35, - 0x29,0x66,0x7C,0x50,0x4A,0x93,0x26,0xF0,0x01,0xE3,0x83,0xF6,0x87,0x60,0xD7,0x2F, - 0x07,0xB6,0x0A,0x48,0xC3,0x44,0xE6,0x17,0xFA,0xBF,0x6C,0xB7,0x22,0xBF,0xBE,0x66, - 0xBE,0x0E,0x16,0x5A,0x2D,0xDE,0x08,0x7E,0xB5,0xB5,0x34,0x53,0x59,0x5B,0x28,0x6B, - 0x39,0x88,0xA4,0x2F,0x8D,0x87,0xA9,0x8F,0xCD,0xC0,0xFB,0x86,0xB6,0xB5,0xB0,0x96, - 0x77,0x41,0x50,0x0C,0xC3,0x56,0x4A,0x60,0xE9,0xA2,0x4F,0x3E,0xF9,0x44,0x53,0x82, - 0xD6,0x9C,0x98,0x91,0x6A,0x67,0x6B,0x8D,0x27,0x24,0x84,0xF8,0x7A,0x8D,0xAE,0xC5, - 0xEF,0x3F,0x2B,0x4C,0xB9,0x7D,0xA8,0x70,0xEF,0xD3,0xFF,0x27,0x26,0x81,0x20,0x85, - 0x13,0x59,0x5C,0xF3,0x9F,0xBE,0x59,0x38,0x71,0xF2,0x88,0xCD,0x0B,0x04,0x49,0x25, - 0x8F,0xDE,0xF5,0x8C,0x99,0xCB,0xAD,0x44,0x7C,0x6C,0x12,0xDB,0xF2,0x1C,0xBA,0x90, - 0x50,0x4A,0x08,0x72,0x6C,0xF1,0x37,0xB5,0xE0,0x7D,0x5B,0x83,0x9C,0xB4,0xFA,0x6E, - 0x00,0xF9,0x0A,0xB6,0x12,0x4B,0xB0,0xF0,0x1D,0xCA,0x36,0xB3,0x66,0xA7,0xA3,0x29, - 0x31,0x63,0x2C,0xD9,0x56,0xCE,0x2C,0xEE,0x94,0xBE,0x5C,0x07,0x19,0x56,0xF8,0xCA, - 0xBB,0xC7,0x08,0xCB,0xBE,0x5D,0x22,0xF6,0x79,0x2D,0xD9,0x79,0xE0,0x67,0xBA,0x75, - 0xE1,0xAF,0x68,0xE5,0x8F,0x9F,0xDB,0xBC,0x40,0xAE,0x9B,0xF6,0x7F,0xBA,0xFF,0x2E, - 0xFE,0x8E,0x92,0xE3,0x53,0xD9,0x1E,0x79,0x12,0xBC,0x20,0xE6,0xF0,0xB0,0x30,0x4A, - 0x08,0x6E,0x63,0x2D,0xF7,0x82,0xF7,0xD5,0x85,0x84,0xB1,0x56,0xE7,0x80,0xC4,0x12, - 0xE4,0xF8,0x2B,0x81,0x6C,0x44,0xAD,0x0C,0x59,0x69,0x46,0xCC,0xC6,0xD2,0xA9,0x4A, - 0xF8,0xFA,0x92,0x30,0x0F,0xFE,0xED,0x76,0x01,0x56,0xB8,0xBA,0xAE,0x92,0xED,0x91, - 0x07,0xC3,0x4E,0x7F,0x79,0x63,0xA1,0x5D,0x41,0x23,0x3F,0x3B,0x38,0xD8,0xB6,0xD5, - 0x4A,0x88,0x4D,0x64,0x5B,0x9E,0x23,0xB9,0x5B,0x34,0x0D,0x0F,0x3F,0xC7,0x5A,0xEE, - 0x65,0x40,0xC8,0x59,0x8A,0xEB,0xEA,0x5A,0x46,0x99,0x3B,0xC0,0x64,0x1D,0x2C,0x50, - 0x27,0x07,0x46,0x5A,0x6C,0x0D,0x9D,0x7A,0x13,0xCD,0x88,0xD9,0xD6,0x10,0x14,0x3E, - 0x48,0x5F,0x9A,0xFD,0x24,0x05,0x05,0x07,0x6E,0x7D,0x74,0x86,0xB0,0x45,0x26,0x47, - 0x1A,0x96,0x73,0xD8,0x80,0xD1,0xB2,0x79,0xD8,0x10,0xF4,0xBE,0x7C,0xDB,0x69,0x84, - 0x65,0x95,0x76,0xCA,0x23,0x29,0x8C,0x31,0x1F,0x3E,0x7E,0x50,0xC0,0xCD,0xE2,0x93, - 0x6F,0xDE,0x13,0x70,0x7E,0x6C,0xB7,0x53,0xF4,0xCC,0x48,0xD7,0x4D,0x8D,0x6C,0x64, - 0x2D,0xF7,0x72,0x75,0xD7,0xB3,0x34,0xA0,0x8F,0x36,0xBA,0x54,0x58,0x69,0x12,0xCB, - 0xC8,0xCA,0x81,0xF8,0x8E,0x16,0xFA,0xCF,0x9A,0xF8,0xA0,0x6C,0x4D,0x49,0x43,0x61, - 0x81,0xFB,0xEE,0xBB,0xCF,0x27,0x85,0x0C,0xD1,0xA0,0x3F,0x6C,0x29,0x3A,0xF4,0x77, - 0x11,0x99,0x46,0x40,0x8B,0xED,0x12,0xA7,0x3F,0xC2,0x72,0xC3,0x32,0x1B,0xC1,0xD0, - 0xD2,0xA7,0x8B,0xD7,0x28,0xFE,0xED,0xA3,0x6F,0xE8,0xAD,0x78,0x01,0xA5,0x25,0x65, - 0xD0,0x8A,0x7F,0x6D,0x30,0x7B,0x2D,0x6E,0x0E,0xAF,0x7F,0xF2,0x82,0xE8,0xCE,0x4B, - 0xC1,0x0D,0x05,0xD3,0x2B,0xA5,0xB3,0xB1,0x1C,0x21,0x77,0xE7,0x5E,0xE1,0x8E,0xB2, - 0x14,0x31,0xD1,0xC3,0x5D,0xA0,0xBF,0xFC,0x65,0x5A,0x11,0x4D,0x1C,0x39,0x4C,0x53, - 0xDF,0xFD,0x0B,0x2F,0xBC,0xA0,0x38,0xCA,0x82,0xFE,0x75,0x67,0x16,0x08,0x74,0x9B, - 0x65,0xDE,0x73,0xA4,0x4E,0xC0,0xE3,0x83,0xD5,0x85,0xA6,0xC7,0xF6,0x43,0x35,0xE2, - 0x3E,0x3C,0xD8,0x61,0x56,0xD8,0xEA,0x27,0x1B,0x23,0xD7,0xBE,0x08,0xA2,0xD3,0xBF, - 0x7D,0xE6,0xFF,0xAC,0x84,0x0C,0x2B,0x8C,0x0A,0x22,0x52,0x21,0x03,0x4C,0xAE,0xC0, - 0x6C,0x29,0x29,0x85,0x25,0x47,0x09,0xD6,0x93,0x35,0x5D,0xE2,0x5F,0x1F,0xBF,0x20, - 0xDC,0xF5,0xC4,0x6C,0x2B,0x21,0x03,0xEC,0xBB,0xEB,0x89,0xEB,0xC5,0x9B,0x0F,0xDB, - 0xE5,0x10,0x13,0x86,0x0D,0xD6,0xFD,0x2D,0xA1,0x82,0xB5,0xDC,0xC3,0xFC,0xD8,0x5A, - 0xEA,0x95,0x9E,0xC6,0x5A,0xDA,0x01,0x01,0x58,0x25,0x3A,0xBB,0xFF,0xEC,0xF4,0x5D, - 0xE4,0xC8,0xC9,0x06,0xE1,0xDB,0xAD,0xE5,0xB4,0x69,0x5F,0x0D,0xD5,0x9E,0x51,0x3F, - 0x7C,0xD0,0xBF,0x67,0x8C,0xDE,0x32,0x05,0x51,0xAF,0xEE,0x51,0xA4,0x6B,0x6F,0xA6, - 0xDD,0xBF,0x6C,0xA5,0x2E,0x3A,0xF9,0xC4,0x00,0xAC,0xF5,0xD4,0xA7,0x4F,0x1F,0xD6, - 0x32,0x70,0xE8,0xC4,0x19,0x6A,0x39,0x6F,0x5E,0x7E,0x46,0x8E,0xE8,0x2E,0x21,0xD4, - 0x3B,0x3D,0x8A,0x86,0xF4,0xB1,0xCE,0x01,0xF6,0x06,0xFF,0x59,0xFE,0x86,0xDE,0x0A, - 0xFE,0x83,0xB5,0x0C,0x60,0x58,0x09,0xD1,0x68,0xD6,0x94,0x05,0x91,0x6E,0x04,0xC8, - 0x8C,0xC8,0x59,0x58,0x00,0xF7,0xF8,0x9A,0xDF,0x29,0x07,0x66,0x8C,0xAF,0xC3,0x0C, - 0xAB,0x97,0x3F,0xF8,0xAB,0x78,0x63,0xB0,0x07,0xD2,0x3F,0xFF,0xF5,0xE7,0x8F,0xC4, - 0xF4,0x51,0xB6,0x4B,0x35,0xBB,0xF2,0x8F,0x09,0x2F,0x14,0x05,0x89,0xD3,0x18,0x5D, - 0x65,0x58,0xD8,0x59,0xFA,0x67,0xC6,0x69,0x9A,0x30,0x58,0x9B,0xC1,0x4E,0x5B,0xB3, - 0xF7,0x90,0x95,0xD8,0x59,0xC9,0x4C,0x0E,0xFF,0xD2,0xA2,0x8A,0xB3,0xC2,0x7B,0xDF, - 0x14,0xD2,0xE6,0xFD,0xD5,0x6C,0x8F,0xB6,0x09,0x0B,0x09,0xA2,0x11,0xFD,0xE2,0x68, - 0xF8,0x05,0xB1,0x34,0x73,0xBC,0xF7,0xC6,0xA6,0xD1,0x27,0x45,0xBF,0xD7,0xC8,0x5D, - 0xB3,0xEF,0xA7,0xDF,0xDC,0xF0,0x80,0xDD,0xDF,0x0F,0x8B,0x0E,0x91,0x4A,0xDD,0x6D, - 0x58,0x6C,0x58,0x6E,0xD6,0x14,0xB1,0x27,0xE6,0xAE,0xD1,0xDD,0x28,0x35,0xB1,0x3B, - 0xE5,0x9F,0x38,0xC4,0xF6,0x98,0x33,0x71,0xE4,0x54,0xD1,0x6B,0xB0,0x7C,0x1E,0x37, - 0x81,0x77,0x9F,0xFD,0xCC,0xA9,0x9C,0xEE,0xDC,0xBD,0x87,0x84,0xFB,0x4F,0x76,0x13, - 0xA7,0x31,0x3A,0x4B,0xCF,0xE0,0x66,0x5A,0x92,0x56,0x41,0x97,0x8E,0x18,0xEC,0xB5, - 0xEF,0xCA,0x19,0x6C,0x95,0x1F,0xEA,0xAC,0xF2,0xBD,0x0E,0xFD,0xC2,0x4D,0xFB,0xAA, - 0x84,0xE7,0x96,0xE6,0xAB,0xB2,0x8C,0x5A,0x04,0xD6,0xFA,0x9E,0xAB,0xB3,0xE9,0xF2, - 0x51,0x29,0x5E,0xF9,0xA0,0x61,0x9D,0x77,0x1D,0xDA,0x26,0xD6,0xF0,0x9A,0x36,0x7E, - 0xA6,0xEA,0xDF,0xF9,0xC4,0xCB,0x0F,0x08,0xD2,0xA2,0x03,0x10,0xDE,0xDF,0x1F,0x79, - 0xD3,0xEC,0xF5,0xF6,0xC4,0xAC,0x04,0xFA,0xE1,0xE8,0x1F,0x1B,0x2B,0x7F,0xC2,0xFD, - 0xFE,0x60,0xC5,0x9B,0xE2,0x73,0x46,0xD0,0x87,0x7E,0xE3,0xC9,0x8F,0x9D,0xFA,0x8C, - 0x36,0xEC,0xDC,0x27,0xFC,0xA5,0x2A,0x4E,0x9C,0xC6,0xE8,0x28,0xB0,0xC8,0x2F,0xA4, - 0x54,0xD3,0x65,0xC3,0x7D,0x63,0x3E,0xBA,0xAD,0xFE,0x33,0x86,0x51,0xBD,0x3D,0xFA, - 0xA2,0xFA,0x97,0x7D,0xBD,0xA9,0x4C,0x78,0xF5,0x0B,0xFB,0xAE,0x9A,0x2F,0x30,0x6D, - 0x64,0x0A,0x3D,0x3C,0x47,0xBB,0xF3,0x9E,0x11,0xA8,0x42,0xFF,0xD6,0x08,0x02,0x66, - 0x1B,0x3F,0x3A,0x68,0x76,0xBE,0x48,0x2E,0xB9,0xF1,0xF7,0x97,0xB3,0x96,0x7D,0xF0, - 0x1E,0x37,0x5D,0x75,0x3B,0xFD,0xF6,0xE6,0x47,0xAC,0xFE,0x6E,0x39,0x41,0x23,0x31, - 0x05,0xE3,0xD9,0xAC,0xE9,0x10,0x28,0x2C,0x80,0xF9,0xC8,0x98,0xC6,0xA8,0x26,0x28, - 0x86,0x60,0xD7,0x82,0xB8,0x1A,0xBA,0xB4,0x6B,0x2B,0x8D,0x1B,0xE2,0xF9,0x92,0x41, - 0xEE,0x02,0x33,0xFA,0xDE,0x7F,0xFF,0x7D,0xD6,0x32,0x07,0x73,0x07,0x1E,0x79,0xC4, - 0xFA,0xB3,0xF6,0x24,0xAA,0x7E,0x19,0x2C,0xF2,0xD3,0x4B,0xF2,0x58,0xCB,0x1A,0xB8, - 0xB2,0xFD,0xB3,0x0C,0xE3,0x81,0x83,0x7A,0x75,0x15,0x7F,0x82,0x93,0x95,0x4D,0xA6, - 0xFE,0xB4,0xDA,0xBE,0xAE,0xB7,0x98,0x31,0x2E,0x95,0xEE,0x9F,0xAD,0xDD,0x32,0xB6, - 0xB3,0x7E,0x3B,0x51,0x90,0x06,0xCF,0x60,0x4D,0x67,0x4C,0x9E,0x6D,0x3A,0x5F,0xA4, - 0x82,0x22,0x83,0x4C,0x0D,0xB0,0xEC,0x28,0xEE,0x67,0x2B,0x5A,0x6D,0x59,0x19,0x54, - 0xCE,0x1B,0x70,0x04,0x14,0x16,0xC0,0x7C,0xE4,0x72,0xFD,0xD7,0xFF,0xF9,0x99,0x18, - 0x51,0xD4,0x85,0xE7,0xC3,0xC4,0x7C,0xEB,0x98,0xA0,0x76,0xCA,0x09,0x69,0x12,0x5D, - 0xEA,0xE9,0x31,0xE7,0xE8,0xC2,0x90,0xB3,0x94,0x95,0x99,0x41,0x99,0x69,0xA9,0x9A, - 0xFD,0x3E,0x94,0xB0,0xD5,0x7F,0x1E,0x31,0x62,0x04,0xCD,0x9C,0xA9,0xDE,0x23,0x73, - 0x15,0xBB,0xBF,0x08,0x81,0xAE,0x07,0xFF,0xB9,0x57,0x56,0x88,0x71,0x31,0x61,0x74, - 0xC7,0x55,0x3D,0x1D,0x72,0x5B,0x57,0xFE,0xB0,0x5B,0xF8,0xFE,0x87,0xF5,0x74,0xE6, - 0x7C,0x37,0x6A,0x67,0xC1,0xF4,0x33,0xED,0x86,0x0A,0x15,0x31,0x31,0x31,0x94,0x90, - 0xA0,0x5C,0x3F,0x4A,0x7A,0xA3,0x30,0x22,0xBD,0x91,0x94,0xD7,0x34,0x53,0x45,0x8D, - 0x61,0xF2,0x01,0x6E,0x24,0x3B,0xF2,0x6A,0xA9,0xE1,0x9C,0x72,0xAA,0xE1,0x93,0xB7, - 0xF7,0xA3,0xF1,0x83,0x12,0x35,0x79,0x01,0x59,0x56,0xDC,0x1C,0x7B,0xD1,0x25,0xF4, - 0xF2,0xE3,0x4B,0x4C,0xE7,0x6A,0x4B,0xCC,0x38,0x28,0x55,0xDF,0xF7,0xBD,0xF1,0xCA, - 0x5F,0x8B,0xA2,0x54,0x33,0xE4,0x84,0xBE,0x3A,0x22,0xDA,0xC6,0x1B,0x88,0x3B,0x2B, - 0x7B,0xE6,0x1F,0x2F,0x14,0xAA,0xEA,0x1B,0xA8,0xAD,0xF9,0x1C,0x85,0xB6,0x9F,0xA7, - 0xB6,0xA0,0x10,0xD2,0x85,0x77,0xA1,0x6E,0x51,0x91,0x94,0x16,0xDF,0x8D,0xE2,0xE3, - 0xE3,0x35,0xF9,0x1D,0xA8,0x65,0xE9,0xD2,0xA5,0xC2,0x91,0x23,0x47,0x58,0xCB,0x1C, - 0xCC,0x91,0xF6,0xD6,0x02,0x75,0x76,0x7F,0xC9,0xFC,0x17,0x77,0x09,0x47,0x4B,0xAC, - 0x93,0x02,0x26,0x0D,0x4D,0xA2,0xC7,0x6F,0xBD,0xC0,0xE1,0x93,0x54,0xEA,0x67,0x78, - 0xCA,0x2D,0xC1,0xB0,0xD8,0x7F,0x7F,0x28,0x11,0x85,0x6D,0x09,0xA2,0xDD,0x6F,0x3C, - 0xA4,0xCD,0xAC,0x32,0x39,0x37,0xFA,0x83,0x45,0x5F,0x9B,0x22,0xCD,0xF6,0x2C,0xB3, - 0x9A,0xC8,0xB9,0x1C,0x18,0x0A,0x43,0x10,0xCC,0x32,0xE0,0xC6,0x51,0x06,0xD9,0x8B, - 0x6F,0xBE,0xF9,0xA6,0x6C,0xD2,0x93,0x37,0x57,0xCA,0xB0,0x39,0xCE,0xFC,0xDD,0xB6, - 0x0A,0xB7,0x0A,0x19,0xAB,0x33,0x2A,0x05,0x0C,0x6C,0xE5,0xBF,0xBA,0x02,0x86,0xA6, - 0xFE,0x76,0xF7,0x00,0xDD,0x7D,0xD7,0x59,0xCF,0xED,0xC5,0xDF,0x86,0x2E,0x04,0x6B, - 0x6A,0x0A,0xD4,0xFF,0xB2,0xCC,0x0C,0xFB,0xEF,0xAA,0x8E,0xFE,0x59,0x73,0x4B,0x47, - 0xB4,0xDB,0x9D,0xC0,0x1A,0x73,0x21,0x3B,0x06,0x8A,0x1A,0x8C,0x19,0x33,0x86,0xB5, - 0xCC,0xC1,0xA4,0x21,0x6F,0x4D,0xC6,0xB0,0x29,0x66,0x0C,0x41,0x59,0x02,0x6B,0xE6, - 0x8C,0x90,0x51,0x35,0x64,0xC7,0x8E,0x1D,0xAC,0x65,0x0E,0xEE,0x5E,0x9E,0x2E,0x8D, - 0x8B,0x61,0xA9,0x71,0x03,0xAD,0x5D,0xF8,0x2D,0xFB,0xAD,0x2D,0xB6,0x56,0xB0,0xAC, - 0xFD,0x85,0x7A,0xDA,0xB0,0xC8,0xD8,0xAE,0xB1,0x93,0xE3,0xCD,0xF1,0x2E,0x28,0xDD, - 0x0B,0xEF,0x52,0x0E,0x5B,0x85,0x28,0xDD,0x89,0xA2,0x98,0x61,0x95,0xE5,0x92,0x41, - 0xE4,0x2C,0x9C,0x1A,0x30,0x89,0x42,0x29,0xF7,0xDA,0xD6,0xBC,0x51,0x77,0x32,0x75, - 0xA4,0xF5,0x2C,0x22,0x2D,0x8F,0x97,0xC3,0x42,0xF6,0xCD,0xEA,0xCF,0x5A,0x06,0x90, - 0x1E,0xAA,0x26,0x53,0x2B,0x5C,0xC5,0x14,0x49,0x8E,0x7B,0x41,0xD1,0x7C,0x39,0x50, - 0x2D,0xE7,0xB3,0xCF,0x3E,0xF3,0xB8,0x75,0x56,0x14,0xF3,0x8A,0x8D,0xA5,0x6C,0xAB, - 0x03,0x44,0x80,0x2F,0xCC,0xEA,0xEA,0xB0,0x05,0x45,0xCA,0xA6,0xD2,0xB2,0x9A,0x70, - 0x4F,0xBC,0x55,0x68,0x00,0xC1,0x2E,0x04,0xCC,0xA4,0xD8,0x0A,0x90,0x69,0x81,0x27, - 0xE6,0xFF,0x9D,0x6D,0x19,0xC0,0xD4,0x49,0xA4,0x89,0xEE,0xC9,0x93,0xF7,0x72,0x8C, - 0xC4,0x77,0xF3,0xFC,0x8C,0x29,0x8E,0x39,0x98,0x9E,0x8B,0x84,0x11,0x39,0xF6,0xEF, - 0xDF,0x2F,0x0E,0x65,0xB1,0xA6,0x47,0x90,0x15,0xF3,0xC1,0x13,0xF5,0xB2,0x7D,0xE5, - 0x2B,0xC7,0xD8,0x9E,0x3F,0xAB,0x84,0xD2,0x0A,0x14,0x70,0x4B,0xAE,0xB8,0xE2,0x0A, - 0xAF,0xF6,0xCF,0x32,0x53,0xBA,0xB0,0xAD,0x0E,0x10,0xB1,0x67,0x9B,0x9A,0x03,0x01, - 0xAF,0x7B,0xE7,0x3C,0xCC,0x5A,0x06,0x20,0xE8,0xFF,0xFD,0xF8,0x99,0xFA,0x24,0x01, - 0x8E,0xD7,0x40,0xE6,0x97,0x52,0xB9,0xA1,0xD5,0xAB,0x57,0xB3,0x2D,0xCF,0x20,0x2B, - 0xE6,0x2D,0x07,0x6A,0xD8,0x56,0x07,0xE8,0x6F,0xF6,0xC9,0x88,0x76,0xF8,0xFA,0x41, - 0xE7,0x5F,0x29,0xE8,0x35,0x65,0xCA,0x14,0xB6,0xE5,0x3D,0x52,0xE2,0xAC,0x8B,0xCF, - 0x35,0x36,0x69,0xDB,0x3A,0x63,0x52,0x06,0xD2,0x41,0x2D,0xD1,0xEC,0x1D,0x28,0xC0, - 0xC1,0x9C,0x02,0x39,0x10,0x0C,0x43,0x0D,0x78,0xD6,0x74,0x3B,0xB2,0x62,0x5E,0xBF, - 0xAB,0x8A,0x6D,0x75,0x20,0xD7,0xDF,0x54,0x83,0xD2,0xE2,0x5C,0x19,0x19,0x19,0x9D, - 0x52,0x6C,0x00,0x29,0x9D,0xBE,0x08,0xF2,0xBA,0x91,0x95,0x85,0xC9,0x10,0x1C,0x6D, - 0x83,0xB9,0xF7,0x9D,0x11,0x0C,0xB3,0x12,0x33,0x26,0x52,0x18,0x13,0x2F,0x8C,0xA0, - 0x9F,0xE9,0x4C,0x72,0x85,0x2D,0xAB,0xAC,0x14,0x2C,0xF0,0x34,0x35,0x0E,0xCC,0xF0, - 0xD2,0x1A,0x48,0xAF,0x5C,0xF6,0xD2,0x77,0x62,0x02,0x89,0x3B,0x40,0x7E,0x37,0xA2, - 0xE3,0xC6,0x08,0x39,0xC7,0x7D,0xD8,0xB2,0xCE,0x9E,0x9A,0x26,0x69,0x25,0xE6,0xF5, - 0xBB,0xAC,0x87,0x3C,0xC6,0x0D,0x72,0x6E,0x55,0x3F,0x25,0xAB,0x8C,0x20,0x41,0x67, - 0x55,0xD7,0x6C,0xF5,0xD1,0x49,0x22,0x46,0x30,0x9B,0x09,0x99,0x60,0x53,0x2C,0xD6, - 0x9F,0xB2,0x24,0x2C,0x54,0xB9,0x76,0x16,0xC4,0x8B,0x32,0x46,0x98,0xA8,0x81,0xC4, - 0x13,0x3C,0x50,0x60,0x10,0xD3,0x2F,0xD5,0x54,0x09,0xE5,0xD8,0x07,0x45,0x0A,0x94, - 0xAC,0xB3,0xAD,0xA5,0x64,0x5D,0xC1,0x4A,0xCC,0xC7,0x4A,0xCF,0xB2,0xAD,0x0E,0x30, - 0x7D,0xD0,0x51,0xD0,0x37,0x50,0xB2,0xCA,0x4A,0xF5,0x94,0xBC,0x81,0x65,0x9F,0x19, - 0x5E,0x47,0x67,0xCD,0x79,0x76,0x85,0x2C,0x3B,0xAB,0x55,0x28,0x15,0xF3,0xC3,0xD4, - 0x4C,0x88,0xD7,0xB2,0x8C,0x11,0x82,0x6A,0x98,0x47,0x0D,0x81,0x43,0xD4,0xCE,0x16, - 0x2A,0xE0,0x74,0xA0,0x64,0x9D,0x51,0xD5,0x13,0x79,0x17,0xAC,0xE9,0x36,0xAC,0xC4, - 0xBC,0xF7,0xA8,0x75,0xA1,0x80,0x21,0xBD,0xBB,0xB1,0x2D,0xF5,0x28,0xF5,0x0D,0x90, - 0x20,0xD2,0x99,0x15,0x36,0x6F,0xB8,0x34,0x5D,0xCC,0x29,0x37,0x72,0xCB,0xB4,0x4C, - 0xB6,0xE5,0xDB,0xA8,0xF9,0x40,0x91,0xEF,0x2D,0x9D,0x63,0x2D,0x07,0xE6,0x51,0x43, - 0xD4,0xB7,0x2D,0x9C,0x29,0x96,0x25,0x92,0x3E,0x60,0xBD,0xA5,0xCB,0xC9,0x72,0x6C, - 0x63,0xCB,0x3A,0x7B,0xA2,0xEF,0x6C,0x26,0x66,0x0C,0xD1,0x58,0x8E,0xBB,0x22,0x60, - 0x94,0x9A,0x10,0xE1,0x90,0xF8,0x60,0x95,0x95,0x6A,0x5F,0x7B,0x2A,0x6D,0x53,0x2D, - 0x3D,0x52,0x22,0x75,0xFF,0x7D,0x7A,0x94,0xEE,0x85,0x7B,0x07,0xD2,0xEB,0xBF,0xBF, - 0x88,0x6E,0x9A,0xE2,0x9D,0x24,0x78,0x77,0x53,0x73,0xDA,0x3C,0x48,0x69,0x4F,0x61, - 0xB0,0xC8,0xD2,0x89,0x1B,0x46,0x90,0x32,0xAA,0xB6,0x24,0x2F,0xAC,0x37,0xAA,0x96, - 0x70,0xD4,0xA3,0xE4,0x85,0x7A,0xC2,0x3A,0x9B,0x89,0x59,0xCE,0x2A,0x0F,0xF6,0x23, - 0xAB,0x2C,0x05,0xAE,0xB5,0x33,0x43,0x6D,0x5A,0xA1,0x59,0x52,0x89,0xC4,0x1E,0x98, - 0xB4,0xB1,0xC8,0x62,0x5D,0x2A,0xCC,0x6F,0x5E,0xFC,0xD8,0x7B,0x84,0x45,0xDD,0xBF, - 0x7D,0x7B,0xAB,0x0E,0xB3,0xA4,0xD4,0x88,0xBA,0xBB,0x17,0x56,0xC9,0xF0,0x27,0x90, - 0xE6,0xA9,0x34,0xEE,0xEC,0x6E,0xEB,0x6C,0x26,0xE6,0x8A,0x5A,0xEB,0x0B,0xA4,0x57, - 0x77,0xC7,0x4A,0xC0,0x68,0xD9,0x2A,0x07,0x2A,0x8F,0xBE,0x78,0xAF,0x59,0x19,0x22, - 0x08,0xF9,0xF5,0x27,0x3F,0xA2,0x71,0x43,0x27,0x9A,0x6E,0x66,0x98,0x60,0x01,0x51, - 0x63,0xDE,0x34,0x16,0x77,0x97,0x1B,0x02,0xC3,0x74,0xCA,0x27,0xF4,0xCF,0x73,0x1C, - 0x03,0xF3,0x9A,0xE5,0x80,0x75,0x76,0x27,0x66,0x62,0x2E,0x3E,0x65,0x5D,0xCC,0x1C, - 0x13,0x2B,0x1C,0x41,0xA9,0xD2,0xA6,0x96,0xAC,0xB2,0x16,0x41,0x14,0xD9,0x38,0x4C, - 0xE4,0x8E,0xE0,0x53,0x34,0x13,0x23,0xAA,0x88,0x58,0x16,0xF3,0x5B,0x78,0xD7,0x33, - 0xA6,0xB2,0x41,0x96,0xA0,0x00,0xC2,0xB3,0x0F,0xBE,0xA2,0x5B,0xB7,0x64,0x97,0xEE, - 0xE7,0x4F,0x8F,0x9A,0x3D,0x50,0xAC,0xC0,0x1B,0xEB,0x3D,0xFB,0x1B,0xC8,0x72,0x54, - 0xB2,0xCE,0x28,0x6E,0xC0,0x36,0x5D,0xC6,0x4C,0xCC,0x72,0x29,0x9C,0x99,0xC9,0x8E, - 0x59,0x66,0xA5,0x49,0xDA,0xDC,0x2A,0x1B,0x40,0x49,0x20,0x08,0x16,0xC1,0xA8,0x67, - 0x5E,0x7F,0x54,0xB8,0xF3,0x8F,0xD7,0x89,0xC1,0x25,0xAC,0x35,0x65,0x1C,0x26,0x32, - 0x06,0x9F,0x50,0x3C,0x5F,0x69,0x65,0x0B,0xCB,0x12,0xBE,0x96,0xC0,0xB2,0xE2,0x77, - 0x59,0x96,0x03,0xBA,0xE9,0xCA,0xDB,0xCD,0x2A,0x96,0x70,0xBC,0x83,0x92,0x75,0xB6, - 0xB5,0x1C,0x93,0xA3,0x98,0x89,0xD9,0x72,0x96,0x14,0x86,0x6D,0x10,0x30,0x62,0x4D, - 0xBB,0x6C,0xDF,0xBE,0x5D,0x90,0x9B,0x19,0x85,0x88,0x5E,0xA0,0x5B,0x65,0x58,0x5E, - 0x2C,0x0C,0x87,0xDA,0x5E,0x10,0x2C,0x82,0x51,0x98,0xD2,0xB8,0xBF,0x40,0xF9,0xCB, - 0x44,0xE5,0x4C,0x44,0x9F,0x51,0x42,0xC8,0x32,0x8A,0xDC,0x62,0x67,0x3E,0x73,0x78, - 0x58,0x04,0xFD,0xFD,0xDD,0x3F,0xB1,0x96,0x01,0x14,0xF3,0x5B,0x30,0xF7,0x09,0x2E, - 0xE4,0x4E,0x40,0x69,0x0E,0x02,0x56,0xC3,0x70,0xD7,0x04,0x0C,0x93,0x98,0xE5,0x26, - 0x1B,0xC8,0x4D,0x4A,0xB0,0x85,0xD2,0x5D,0x66,0xE0,0xC0,0x81,0x6C,0x2B,0x70,0xD9, - 0xBA,0xFB,0x27,0xD9,0x02,0xF4,0x6A,0x80,0x15,0x5E,0xF0,0xDC,0x1D,0xB4,0xE8,0x9D, - 0x3F,0x99,0xBE,0xA3,0xEA,0x3A,0xEB,0x94,0x5B,0x29,0xEB,0x7F,0x5E,0x6D,0x55,0x46, - 0x17,0xFD,0x61,0x4E,0xE7,0xA1,0xB4,0xBC,0x0D,0x66,0x54,0xB9,0x03,0x93,0x98,0x2B, - 0x6A,0xAD,0x17,0xEE,0x76,0xC4,0xC5,0x46,0xE9,0x14,0xA5,0x69,0x8E,0x5A,0x14,0xF3, - 0xD6,0xED,0xBB,0x04,0x4F,0x0C,0xDC,0x2B,0x61,0xEC,0xC3,0x2A,0x81,0x52,0x3D,0x28, - 0x71,0x8B,0x07,0xB6,0xE5,0xF8,0x72,0xED,0xC7,0x62,0x42,0x07,0xB6,0x1B,0xCE,0x5A, - 0xAF,0x22,0x29,0xE5,0xBF,0xAB,0x3E,0x60,0x5B,0x06,0xE0,0x5E,0x2B,0xF5,0x93,0x39, - 0xDE,0x41,0x69,0x98,0xCA,0x5D,0x62,0x36,0x7D,0xB9,0x5F,0x6E,0x28,0x11,0xDE,0xFC, - 0xEA,0x38,0x6B,0x19,0xB8,0xE6,0x92,0xEE,0x34,0x7F,0x56,0x2F,0x55,0x17,0x80,0x52, - 0x95,0x42,0x2D,0xAE,0x15,0x55,0x55,0x55,0x25,0x1C,0xCE,0x3F,0x42,0x09,0x89,0x49, - 0xD4,0xAF,0x6F,0x6F,0xAF,0x9D,0xDB,0x17,0x6B,0x3E,0x12,0xD6,0x6D,0xF9,0x46,0xDC, - 0xEE,0xDB,0xF3,0x42,0x8A,0x8E,0x8C,0x11,0xC5,0x3B,0x7C,0xC0,0x18,0xAB,0x73,0x40, - 0xDE,0xF4,0xBB,0x9F,0xBF,0x2A,0xBA,0xE2,0x96,0xC0,0xC2,0xDA,0x4B,0xFE,0x90,0x82, - 0x21,0x27,0x44,0xAA,0x59,0x93,0xD3,0x89,0xFC,0xE5,0x2F,0x7F,0x91,0xED,0x8A,0x62, - 0xD9,0x1B,0xAC,0x07,0xCD,0x9A,0x4E,0x61,0xB2,0xCC,0xB5,0x0D,0xAD,0x6C,0xAB,0x83, - 0x94,0x38,0xF5,0xD5,0x2A,0x94,0x5C,0xEC,0xCE,0x4C,0xDD,0x54,0xA2,0xB8,0xB4,0x92, - 0x76,0xE9,0xBB,0x29,0x0D,0x8D,0x9E,0x59,0x8A,0x54,0x09,0x4C,0x94,0x40,0x71,0x79, - 0x3C,0xD0,0x77,0xC5,0x4C,0x28,0x39,0x21,0x03,0x54,0xD4,0x44,0x41,0x3E,0x0C,0x21, - 0x59,0x8E,0xFF,0x3E,0xFF,0x8E,0x79,0x5F,0xD8,0x1E,0x18,0x43,0xE6,0x68,0x03,0x5B, - 0xC5,0x0B,0x5C,0xA5,0xC3,0xCD,0xAE,0xB1,0x0E,0xA8,0xC4,0xC5,0x84,0xB2,0x2D,0xDB, - 0xA0,0x03,0x8F,0x8E,0xBC,0x1C,0x17,0x5F,0x7C,0xB1,0xE6,0x2C,0xC2,0xB9,0xB3,0x67, - 0x68,0xED,0xBE,0x76,0x6A,0x69,0xB6,0xCE,0x43,0xD7,0x1A,0x10,0x3B,0x96,0xA7,0xC1, - 0xD8,0xB0,0x91,0xD6,0xF3,0xEA,0x67,0x7E,0xC1,0xF2,0x3B,0xB2,0x9A,0x06,0xC7,0xB3, - 0x28,0x19,0x37,0xA5,0x51,0x20,0x47,0xE8,0xB0,0xCC,0x32,0x53,0x03,0x53,0xE2,0xAD, - 0x27,0xF2,0xCB,0xA1,0x74,0x57,0xB1,0x5C,0xF4,0x4D,0x2B,0x54,0x37,0xE8,0xE8,0x5C, - 0x8B,0x40,0x7B,0x0A,0x89,0x4E,0x96,0x94,0x7A,0xAD,0xDF,0xEC,0x2C,0xE8,0xEB,0xCA, - 0x59,0x57,0x7B,0x27,0x8E,0x1B,0xC0,0x83,0xB7,0x3D,0xC1,0x5A,0x1C,0x2D,0x90,0x93, - 0x93,0x23,0x9B,0xAF,0x0D,0xD7,0x1B,0xA3,0x41,0xAC,0xE9,0x14,0x26,0x31,0xA3,0x80, - 0xBC,0x25,0xF1,0x92,0x09,0x09,0xB6,0x50,0x12,0xB3,0x16,0x03,0x5F,0x79,0xF9,0x47, - 0x85,0x2D,0x87,0x0D,0x37,0xAE,0xB5,0x7B,0x5A,0xA9,0xB0,0xC8,0xBA,0xD6,0x99,0x16, - 0x81,0x8B,0x8E,0x0C,0x2C,0x29,0x52,0x73,0x2B,0x67,0x7A,0xAF,0x9D,0x7A,0xB3,0x53, - 0x2B,0x3A,0x72,0x3C,0x8B,0x92,0x2E,0x5C,0x1D,0x73,0xEE,0xB0,0xCC,0xF5,0xD6,0x96, - 0x59,0xCD,0x04,0x0B,0xB8,0xD8,0xA8,0x3E,0x68,0x09,0x32,0x5E,0x3A,0xA3,0x92,0x88, - 0x3D,0xAA,0xAB,0x6B,0x29,0xAF,0xC4,0xB0,0xDD,0xD0,0x24,0xD0,0xDE,0xA2,0x76,0x9F, - 0xB0,0xCE,0x60,0xD6,0x94,0x39,0x6C,0xCB,0x1A,0xCB,0x3F,0x80,0x8F,0x29,0x6B,0x17, - 0x25,0x57,0x5B,0x69,0x34,0x48,0x2D,0x26,0x31,0x5B,0x2E,0x3F,0xA3,0xB6,0xBC,0x8E, - 0xD2,0xB2,0x96,0x5A,0xB4,0xCA,0x10,0x2D,0xC4,0x0B,0x11,0x1B,0xF1,0x25,0xEB,0x8C, - 0x5C,0x6A,0x35,0x93,0x21,0xBA,0x44,0x44,0xD2,0xCB,0x8F,0xFD,0x9B,0xB5,0x38,0x5A, - 0x03,0x85,0x39,0x30,0xCA,0x23,0x87,0x2B,0x35,0xC2,0x44,0x31,0x97,0x57,0x4B,0xAE, - 0x6E,0x86,0xDA,0xE0,0x97,0x92,0x98,0x95,0x06,0xC8,0x3B,0x13,0x88,0x16,0xE2,0x95, - 0xE2,0x6B,0xD6,0x59,0x2F,0x68,0xB6,0x65,0x8E,0xD4,0x04,0xFF,0xEB,0xCF,0x1F,0xAA, - 0x5A,0x5F,0x8A,0xD3,0x79,0x28,0xC5,0x93,0x94,0xF4,0xA4,0x06,0x51,0xCC,0x72,0x75, - 0xB1,0xE2,0xBB,0xAA,0xEB,0x2F,0x2B,0xB9,0x06,0x5A,0x73,0xB1,0xF3,0x8F,0x1C,0x17, - 0x72,0xF3,0xCE,0x9B,0x59,0x65,0x23,0xBE,0x64,0x9D,0xA3,0x23,0xE5,0x93,0x4F,0x8C, - 0x7F,0x15,0x2C,0xF7,0x80,0x3E,0x43,0xB8,0x90,0x35,0x8E,0x92,0xB1,0x73,0x59,0xCC, - 0x72,0x91,0x6C,0x69,0x35,0x0E,0x25,0xD0,0x5F,0x96,0x1B,0x00,0x8F,0x8D,0x75,0xBC, - 0xCC,0x90,0xA7,0x29,0xAF,0xA8,0xA2,0x0D,0x07,0xE4,0x4B,0xEA,0xFA,0x92,0x75,0xAE, - 0x6F,0xB0,0x9E,0x73,0x2E,0xC5,0x72,0x7D,0x2A,0x8E,0x36,0x51,0x9A,0xAB,0xA0,0x34, - 0x7D,0x58,0x0D,0xA2,0x98,0x1B,0xCE,0xB5,0x89,0x0D,0x29,0x6A,0xDC,0x6C,0x5F,0x71, - 0xB1,0xF3,0x0B,0x8E,0x09,0x10,0xB2,0xAD,0x5A,0x7E,0xBE,0x62,0x9D,0xCB,0xAB,0x58, - 0xF4,0xCE,0x88,0xC5,0x25,0x31,0xF4,0xC2,0x51,0x6C,0x8B,0xA3,0x75,0x30,0x2D,0x58, - 0x0E,0x67,0xFB,0xCD,0xA2,0x98,0x2D,0x4B,0xEB,0x82,0xA8,0x88,0x60,0xB6,0xA5,0x8C, - 0xAF,0x88,0xB9,0xB2,0xAA,0x86,0x76,0x9D,0xB0,0x5D,0x95,0x13,0xD6,0xF9,0x54,0xBD, - 0xF6,0xBB,0xCD,0x79,0xC7,0x2D,0x86,0x01,0x2D,0x4E,0xB9,0x6F,0xD6,0x85,0x6C,0x8B, - 0xA3,0x75,0xDC,0xED,0x6A,0x8B,0x62,0x96,0x43,0x4D,0x34,0xDB,0x17,0xFA,0xCB,0x58, - 0xC1,0xBF,0xB4,0x56,0x90,0xED,0x2B,0x5B,0xB2,0xF5,0x70,0x0B,0xED,0x3F,0x98,0xAF, - 0x59,0x45,0x23,0x5F,0xBB,0xF1,0xAC,0x7C,0xC5,0x53,0x23,0x4A,0xE9,0xA1,0x1C,0xED, - 0xE1,0x11,0x31,0xD7,0xC9,0xE4,0x65,0x47,0xD9,0x11,0xB3,0xAF,0xF4,0x97,0x6B,0x6A, - 0x4F,0xD3,0xFE,0x22,0xEB,0xBF,0x4F,0x8E,0x72,0x7D,0x77,0xB4,0xA1,0xD1,0xBA,0x40, - 0x83,0x56,0xB0,0x9C,0xD2,0x28,0x22,0x91,0xAE,0xE5,0x8A,0x91,0x1C,0x6D,0xE3,0xEE, - 0x7E,0xB3,0x28,0xE6,0x96,0x56,0x6B,0x63,0x14,0x16,0x62,0xFB,0x06,0xEF,0x2B,0x2E, - 0x76,0x4D,0xDD,0x19,0x2A,0xD3,0x5B,0x66,0x35,0x54,0x9E,0x16,0x48,0x68,0xB3,0x0E, - 0x06,0x6A,0x85,0x03,0x47,0xF6,0xB0,0x2D,0x09,0x92,0x3F,0x6D,0x60,0xCE,0x50,0xB6, - 0xC5,0xF1,0x15,0xDC,0xD9,0x6F,0x66,0x01,0x30,0x6B,0x0B,0x6B,0x6F,0x68,0xCA,0x57, - 0xC4,0xDC,0xD6,0x7A,0x8E,0x4E,0x56,0xAB,0xFB,0x5C,0x10,0x20,0x6B,0x39,0xAF,0x5D, - 0x2F,0xB5,0xE0,0xC4,0x41,0xB6,0x25,0x4F,0x9F,0x9E,0xF2,0x33,0x72,0x38,0xDA,0xC5, - 0x9D,0xAE,0xB6,0x28,0x66,0x67,0x56,0x41,0x54,0x72,0x05,0xB4,0x36,0xBE,0xAC,0xD3, - 0x9B,0x2E,0x1F,0x5F,0x91,0xC6,0x84,0xAD,0x12,0x43,0x80,0x5B,0x66,0xDF,0x43,0x49, - 0xCC,0x55,0x55,0xB6,0x2B,0xC9,0xC8,0xA1,0x18,0x00,0x93,0x5B,0xFA,0x54,0x8A,0x52, - 0x3E,0x36,0xC7,0x33,0xA0,0xF6,0x35,0x8A,0xD0,0x2B,0x81,0x19,0x52,0x7C,0x52,0x85, - 0xEF,0xA1,0x94,0xD6,0xE9,0x4C,0xBF,0x59,0x14,0xB3,0xDC,0x8C,0x29,0x5B,0x28,0xAD, - 0x62,0xA7,0x74,0x62,0x9D,0x89,0xA0,0xB7,0xCD,0x21,0x8A,0xB7,0x2C,0x6B,0x42,0xEC, - 0x8F,0xC8,0x75,0x0A,0xF9,0x85,0x32,0xC1,0x2F,0x09,0x59,0xE9,0xB6,0xD7,0x9E,0xE2, - 0x68,0x93,0xA4,0xA4,0x24,0xD9,0x1B,0xB0,0xD2,0x3A,0x6D,0xB6,0x70,0xE0,0x32,0xEF, - 0x40,0xE9,0xAE,0xA1,0x45,0x31,0x07,0x87,0x76,0xA1,0x8C,0x04,0x75,0x06,0x2B,0x36, - 0x4A,0xEF,0x96,0xEB,0x9C,0xFA,0x48,0x3C,0xCE,0x81,0x02,0x99,0xE0,0x97,0x04,0xEE, - 0x62,0xFB,0x2E,0x4A,0xBA,0x71,0xB4,0x46,0x9D,0xE2,0x95,0x6B,0x6B,0xFA,0xA3,0x52, - 0x55,0x11,0x2D,0x8A,0x39,0x39,0x31,0x96,0xFA,0xA4,0xAA,0x13,0x68,0x5A,0x6C,0x10, - 0x75,0x89,0x74,0xAC,0xE8,0xBF,0xB7,0xB0,0x57,0x27,0x9B,0x07,0xBF,0x7C,0x17,0x25, - 0xDD,0x38,0xDA,0x6F,0x16,0xAF,0xF2,0x96,0x56,0xC7,0x22,0x44,0x4A,0xBF,0x44,0x8B, - 0x62,0xCE,0xEA,0xD9,0x43,0x37,0xB4,0x97,0xBA,0xBE,0xFC,0x80,0x1E,0xC1,0x94,0x96, - 0x1C,0xC7,0x5A,0xDA,0xC2,0x9E,0x98,0x79,0xE6,0x97,0xEF,0xA2,0xA4,0x1B,0x47,0xFB, - 0xCD,0xA2,0x98,0xE5,0x26,0x5A,0xD8,0xC2,0x97,0xC4,0x0C,0x12,0xE3,0xA2,0xA9,0x7F, - 0xBA,0x6D,0xEB,0x1C,0xAD,0x77,0x44,0x06,0x64,0x04,0x63,0xDC,0x4F,0x93,0x41,0xA4, - 0xB2,0x4A,0x8B,0x9C,0x6C,0x0B,0xD2,0xF8,0x82,0x6E,0x3E,0x8B,0x52,0xA2,0x95,0x92, - 0x07,0xAC,0x84,0xEC,0x15,0x6E,0x2F,0x95,0x53,0x49,0xCC,0x98,0x74,0xCD,0x36,0x35, - 0xC5,0xD0,0xC1,0xFD,0x75,0x33,0x47,0x86,0x89,0x7D,0x62,0x25,0xA6,0x0F,0x0D,0xA1, - 0x9E,0x3D,0xBA,0xB3,0x96,0xF6,0xB0,0x15,0xC9,0xC6,0x52,0x34,0x7C,0x0D,0x28,0xDF, - 0x45,0x29,0x71,0xC4,0x29,0x37,0xDB,0x12,0x5B,0xA9,0x9C,0x28,0x76,0xCF,0x36,0xCD, - 0x50,0x5A,0x54,0x5A,0x2B,0x4C,0xB9,0x64,0x84,0x6E,0xFE,0xE5,0x91,0x34,0xA2,0xB7, - 0xCE,0x4C,0xD4,0x89,0x31,0x44,0xF7,0x4C,0x8D,0xA0,0x8B,0x07,0x27,0x51,0x46,0x7A, - 0x77,0x4D,0x0A,0x02,0x39,0xD9,0x6C,0x53,0x96,0x9E,0xDD,0x79,0x24,0xDB,0x97,0xC9, - 0xCC,0x94,0x2F,0x24,0xE1,0xA8,0x98,0xC5,0x37,0x99,0xF6,0xFB,0x5C,0xB3,0x8B,0x05, - 0x55,0x39,0x97,0x3E,0x31,0x42,0xF6,0x17,0x20,0xCD,0x6C,0xD9,0xB2,0x65,0xAC,0xD5, - 0x01,0x2A,0x27,0xDC,0x7A,0xEB,0xAD,0x9A,0xB7,0x0E,0x28,0xE8,0x57,0x53,0x53,0xAB, - 0xBF,0x8B,0x19,0x12,0x65,0x04,0x5D,0x18,0xF5,0xEE,0xD5,0x93,0x92,0x93,0x54,0x86, - 0xBC,0x3B,0x01,0xAC,0x0A,0x89,0xC5,0xE4,0x94,0x40,0x39,0x5D,0xD4,0xE2,0x66,0x4D, - 0x55,0x94,0x95,0x1D,0x13,0x0A,0x0B,0x4F,0xB1,0x96,0xF3,0x84,0x84,0xB4,0xD3,0x88, - 0x11,0xE3,0x34,0xFF,0xBD,0x6B,0x9D,0xE7,0x9E,0x7B,0x4E,0xB6,0x96,0xDE,0xD3,0x4F, - 0x3F,0xAD,0xFA,0xB3,0xD5,0xA1,0x64,0xD0,0x6D,0x7F,0xDD,0xC1,0x9A,0x06,0x6C,0x89, - 0x79,0xE3,0xC6,0x8D,0xC2,0xBA,0x75,0xEB,0x58,0xAB,0x03,0xAC,0x72,0x37,0x73,0x26, - 0xAF,0xCF,0xEC,0x09,0xB0,0x6A,0x24,0x16,0x9B,0x53,0xC2,0x19,0x31,0x1F,0x3D,0xBA, - 0x47,0x88,0x89,0x79,0x9C,0x92,0x92,0x0C,0x2B,0x6C,0x38,0xCB,0xA1,0x43,0x1F,0xD3, - 0x85,0x17,0xDE,0xCC,0xBF,0x77,0x17,0x59,0xB2,0x64,0x89,0x20,0x97,0xC2,0x39,0x77, - 0xEE,0x5C,0xCA,0xCE,0xCE,0x56,0xF5,0xF9,0xDA,0x8E,0x0A,0xC9,0x20,0x37,0x53,0x0A, - 0x38,0xE2,0x66,0x63,0x5A,0xE2,0x9E,0xC3,0x47,0x84,0xCD,0x7B,0x0E,0x98,0x3D,0x0E, - 0x1C,0x39,0xAE,0xB7,0x9A,0x35,0x0E,0x8D,0xAD,0x71,0x0C,0xEB,0x54,0x71,0x3A,0x87, - 0x53,0xA7,0x4E,0x09,0xBF,0x1C,0xCA,0xB7,0xBA,0x96,0x8F,0x15,0x16,0x39,0x74,0x1D, - 0x2B,0x05,0xC1,0xE4,0xAC,0xB5,0x12,0x6E,0x13,0xB3,0x9A,0xA9,0x8F,0x05,0x85,0xC5, - 0xC2,0x4F,0xDB,0x76,0x08,0x9F,0xE5,0x95,0xD3,0xE3,0x27,0x42,0xE9,0x77,0x25,0x71, - 0x66,0x8F,0x27,0x8E,0x12,0xE1,0xB9,0x4D,0xFA,0x63,0x8A,0x4B,0xBD,0xB7,0xA8,0x9B, - 0xD6,0x69,0xB6,0xB3,0x7C,0x2B,0xC7,0xFB,0x1C,0x3C,0x56,0x28,0x6C,0xFC,0x79,0xBB, - 0xB0,0xE4,0x70,0x0D,0xFD,0xA1,0x30,0xC2,0xEA,0x5A,0x7E,0x2A,0xBF,0x95,0x3E,0xDF, - 0xBA,0x57,0xD8,0xB8,0x7D,0xA7,0xA0,0xEF,0xFB,0x3A,0x7D,0x2D,0xBB,0x2C,0xE6,0x78, - 0x1B,0x25,0x83,0x9C,0x49,0x33,0x03,0x1B,0xF4,0x7F,0xD4,0x2B,0x47,0x9B,0xE9,0xAA, - 0xF2,0x5E,0x74,0xCF,0xA9,0xEE,0xF4,0xCD,0xB9,0x6E,0xB4,0xB3,0x25,0xD2,0xEC,0xB1, - 0xFC,0x5C,0x9C,0xF8,0xDC,0x74,0xFD,0x31,0x6F,0x1D,0x69,0xA0,0x0D,0xBF,0xEC,0xE5, - 0x82,0xD6,0x13,0x1E,0xA6,0x7E,0xCD,0x2F,0x8E,0x67,0xA9,0xA8,0xAE,0x11,0xD6,0x6D, - 0xDF,0x2D,0xFC,0xED,0x58,0x3B,0x5D,0x5C,0x96,0x43,0x0B,0xAB,0x53,0x69,0x6D,0x53, - 0x57,0xAB,0x6B,0xF9,0x83,0xC6,0x04,0x9A,0x5D,0xDE,0x83,0x6E,0x28,0xCF,0xA4,0x8F, - 0xF2,0x2A,0x29,0x77,0xD7,0x3E,0x9B,0xD7,0xB2,0x3B,0x02,0xC8,0xB2,0x62,0x0E,0x0B, - 0x75,0xD8,0x60,0x53,0x44,0x84,0xFC,0xC4,0x8C,0x13,0x65,0x15,0xC2,0xA7,0x5B,0xF7, - 0x09,0xD7,0x96,0xF5,0xA0,0xD7,0xEA,0x13,0xE9,0x4C,0xBB,0xFD,0xF7,0xC6,0x31,0xCF, - 0xD6,0x24,0xD1,0x6D,0xA5,0x29,0xF4,0xF5,0xB6,0xBD,0x42,0x45,0x8D,0xCA,0x09,0xC9, - 0x01,0x4A,0x4D,0x5D,0x25,0xDB,0xE2,0x78,0x92,0xBC,0xC2,0x93,0xC2,0xD7,0xF9,0x15, - 0x74,0x8D,0xFE,0x5A,0xFE,0xB0,0x41,0x5D,0x72,0x51,0x59,0x5B,0x28,0x3D,0x50,0x95, - 0x46,0xF3,0x4A,0x13,0x69,0xED,0xF6,0x3D,0x8A,0xD7,0xB1,0xD2,0x24,0x25,0x47,0xC6, - 0x9A,0x1D,0x56,0xAD,0x92,0x65,0x96,0x13,0xB3,0x78,0x17,0x3B,0x51,0x43,0xB7,0x94, - 0xA7,0x53,0x75,0xBB,0xE3,0x33,0xAA,0x0A,0xDB,0xC2,0xE9,0xE6,0xF2,0x0C,0xDA,0x90, - 0xEF,0x5A,0xA5,0x7F,0x7F,0xA7,0xB9,0x95,0xBB,0xE1,0x9E,0xE6,0xD8,0xC9,0x52,0xE1, - 0xF3,0xA2,0xB3,0x74,0x57,0x45,0x9A,0x2A,0x83,0x64,0xC9,0xFE,0xD6,0x2E,0x74,0x53, - 0x59,0x3A,0xAD,0x56,0x10,0xB4,0x3B,0x66,0x1C,0x3A,0x7C,0x56,0x4A,0x7D,0x66,0xB9, - 0x93,0xD9,0x7C,0xE4,0x24,0xDD,0x5B,0x91,0x42,0x2D,0x8E,0xFF,0x1A,0x13,0xF8,0xE0, - 0xEE,0x3C,0xA5,0xFC,0x21,0x70,0x88,0x5A,0xDC,0xD8,0xA7,0x2E,0x2F,0xBF,0x5D,0x8C, - 0x50,0x5B,0x3E,0x0E,0x1F,0x7E,0x8F,0x5A,0x5B,0x13,0xD8,0x51,0x81,0x05,0x8C,0xD2, - 0x0F,0xC5,0xA7,0xE9,0x89,0xEA,0x64,0xB6,0xC7,0x39,0x60,0xD0,0xEE,0x29,0x4F,0x95, - 0xED,0x3E,0x2A,0xB9,0xD9,0x0E,0xF5,0x99,0x2B,0x6A,0xD5,0x1F,0x0C,0x94,0xC4,0x6C, - 0x39,0xF0,0x9D,0xBB,0x73,0xAF,0xB0,0xB0,0xCA,0x35,0x21,0x1B,0x81,0xA0,0x9F,0xAB, - 0x4E,0xA0,0xED,0x07,0x0E,0x07,0xA4,0xA0,0x13,0xBA,0xD9,0x4E,0x93,0x2D,0x2C,0x3D, - 0xC6,0xB6,0x5C,0xA7,0xB6,0x76,0x2A,0xC5,0xC5,0x4D,0x16,0x87,0x9B,0xA4,0x8F,0xD6, - 0xD6,0xFE,0x74,0xEE,0x5C,0x4F,0x76,0x54,0x60,0x91,0x77,0xEC,0x04,0x2D,0xAC,0xB4, - 0xBF,0x2C,0x90,0x1A,0xE0,0x6D,0xBE,0x53,0x1B,0x23,0x06,0xD0,0xD8,0x2E,0x9B,0x78, - 0x34,0x9A,0xAD,0x26,0x00,0x86,0xE1,0xA5,0x03,0x4D,0x21,0x94,0xDF,0x6A,0x3F,0x70, - 0x73,0xF7,0xC8,0x6E,0x44,0xB3,0x62,0x75,0x77,0xB3,0xB6,0x12,0x1B,0x9A,0xA2,0xA9, - 0xAC,0xC1,0xB1,0x1B,0x8F,0xBF,0x90,0x95,0xD1,0xC7,0xE6,0x38,0xA3,0xAD,0x54,0x4F, - 0x67,0x90,0x4B,0xCB,0x0D,0x0E,0x0E,0x4C,0xC7,0x08,0xA3,0x2A,0x6B,0xCF,0xC5,0xD8, - 0xEE,0x26,0xC6,0x84,0x53,0xC1,0xD5,0x86,0xEB,0xD8,0xF4,0xB0,0xC1,0xA7,0x0D,0xDD, - 0xA8,0xAC,0xB2,0x9A,0xB5,0x0C,0xB8,0xA3,0x10,0xA6,0xEB,0x66,0x53,0x86,0xBC,0xE2, - 0x32,0x7A,0xAB,0xCE,0xDE,0xC9,0x85,0xD2,0x37,0xFA,0x0F,0xE0,0xED,0x74,0x9D,0xAA, - 0x01,0x71,0x80,0xF7,0xC4,0xF8,0x34,0x6B,0x06,0x14,0xF6,0xC6,0x92,0xF7,0xE5,0xEF, - 0x0A,0x4C,0xB5,0x79,0x98,0x13,0x25,0x65,0xF4,0xEF,0xD3,0xB6,0xAE,0x65,0xFD,0x75, - 0x7C,0x69,0x30,0xBD,0xF0,0xD5,0x69,0xA2,0x15,0x75,0x02,0x7D,0x7F,0x4E,0x28,0x10, - 0x04,0xA1,0xA0,0x9F,0xB2,0xB4,0xE0,0xAD,0x7E,0xD6,0xD0,0x95,0x8E,0x17,0xD9,0x4E, - 0xD3,0x05,0x9D,0x12,0x00,0x93,0xD2,0xD2,0x74,0x8E,0xF6,0xB7,0xD8,0x2E,0x3B,0x74, - 0xF7,0xC8,0x48,0xBA,0x4A,0xA7,0xD3,0x8D,0xDD,0xDE,0xA2,0xFA,0x22,0xDC,0xDA,0x1C, - 0x45,0xF5,0xA7,0x1D,0x9B,0x49,0xE2,0x2F,0xD8,0xAB,0x24,0x62,0x6F,0x8A,0x24,0xC7, - 0x39,0x1A,0xF4,0x5D,0x3C,0x44,0xA4,0x95,0x69,0xA5,0xAB,0xBE,0x3A,0x4B,0x6F,0xB3, - 0x16,0x9D,0x69,0xA6,0x17,0x4A,0x89,0x72,0xFA,0x75,0xB5,0x69,0xA4,0x72,0x9B,0xA2, - 0xA8,0xA4,0xBA,0xE3,0x5A,0x56,0x1A,0x0D,0x72,0x04,0xDD,0x9E,0x23,0x75,0xC2,0x23, - 0xAF,0x9B,0xAF,0x92,0x30,0xA4,0x4F,0x37,0x7A,0xE1,0xDE,0x41,0xB2,0x27,0xF3,0xE4, - 0x93,0x4F,0xCA,0x8A,0xCF,0x98,0x43,0x7A,0xF2,0x64,0x99,0xB0,0xA6,0xA8,0x9A,0xEE, - 0x38,0xA5,0x32,0x2B,0x29,0x3D,0x92,0x68,0x64,0x98,0xEE,0x6E,0xFD,0x5D,0xCD,0xF4, - 0x81,0xD8,0xE0,0xDB,0xD4,0xE3,0x34,0x28,0xB3,0x27,0x85,0xF1,0xB1,0x57,0x97,0xA8, - 0xAE,0x3A,0x4C,0x89,0x09,0x7F,0xB2,0x4A,0xE7,0x3C,0x70,0xF0,0x23,0x8A,0x89,0x99, - 0x4A,0x11,0x5D,0xCC,0xA7,0x98,0x55,0x94,0xED,0xA2,0x9E,0x3D,0xEF,0xA7,0xAE,0x5D, - 0x77,0xB2,0x3D,0x06,0x94,0x8E,0xF7,0x07,0xEA,0x4F,0x57,0xD3,0x47,0x25,0xE7,0xE8, - 0xA9,0xDA,0x14,0xB6,0x47,0x1D,0xE8,0x3A,0x8A,0x1E,0x27,0x2C,0xB5,0x0D,0x36,0xA5, - 0xE6,0xD3,0xF8,0x31,0xA3,0x4C,0x3A,0x93,0xD3,0x16,0x0A,0xFE,0xDD,0x7E,0xFB,0xED, - 0xAA,0xBC,0x57,0x87,0xC5,0xFC,0x97,0xBF,0xFC,0x45,0xB6,0xF8,0xBD,0x51,0xCC,0xC7, - 0x8F,0x17,0x0A,0x1F,0x1F,0x3F,0x4D,0x7F,0xAC,0xEF,0x21,0xEE,0xB7,0x8B,0x83,0x62, - 0x7E,0x2F,0xE6,0x20,0x35,0x7E,0xF3,0x0F,0xAA,0x3D,0x79,0x98,0xED,0xE1,0x38,0xC3, - 0xB0,0xAB,0xE7,0xD2,0xA8,0xA9,0xEB,0xAD,0xC4,0xBC,0x6B,0xC7,0x5B,0xB4,0xE9,0x93, - 0xEF,0xAC,0x3E,0xDF,0x09,0x73,0x1F,0xA2,0xE1,0xE3,0x5F,0xB3,0x12,0xB3,0xD2,0xF1, - 0xFE,0x40,0xEF,0xB1,0xBF,0xA2,0x1F,0x07,0xDD,0x49,0xEF,0x36,0x38,0x30,0x4F,0x1F, - 0xFD,0xE7,0x4B,0x23,0x28,0x7F,0xC7,0x69,0xBA,0xCA,0xF6,0x14,0x74,0xFA,0x2E,0xB9, - 0x80,0x2E,0x1F,0x37,0x52,0xD4,0x0D,0x66,0x23,0xBE,0xF6,0xDA,0x6B,0xE2,0x7E,0x29, - 0x8E,0x88,0xD9,0x61,0x37,0xDB,0x5E,0xA6,0x8A,0xA0,0xBF,0xB7,0x1C,0x6F,0xD7,0x0B, - 0xD4,0x43,0x94,0xB4,0x47,0x50,0x17,0x3B,0xD1,0x5D,0x0E,0xC7,0x1D,0x04,0x27,0xF4, - 0xB0,0xE3,0x62,0x5B,0x12,0x44,0x8B,0x47,0x46,0x50,0x8E,0xBE,0xFB,0x68,0x4F,0xC8, - 0xA0,0xB2,0x3D,0x94,0xAA,0xAB,0x0D,0x09,0x51,0xCE,0x66,0x56,0x4A,0x71,0x7B,0x00, - 0x2C,0x38,0x24,0x84,0xBA,0x07,0x79,0x6E,0x55,0x88,0x24,0x5D,0x0B,0x35,0x37,0xDA, - 0x5E,0xD6,0x94,0xC3,0x71,0x07,0x6D,0xF5,0x95,0x94,0x10,0x24,0x3F,0x14,0x2B,0xC7, - 0xDD,0x23,0x63,0x68,0x41,0x57,0x9D,0x6E,0xAC,0x1D,0xF7,0xDA,0x48,0x5C,0x50,0x1B, - 0x25,0x24,0xC4,0xD9,0xB4,0xBA,0x8E,0x44,0xB9,0xDD,0x6E,0x99,0xC3,0xC2,0xC2,0x28, - 0x25,0x58,0xDD,0xDA,0x4E,0xCE,0x90,0x10,0xDC,0x46,0xAD,0x67,0xDD,0x3B,0x14,0xC3, - 0xE1,0xC8,0x71,0xBE,0xA1,0x86,0x52,0x74,0xEA,0x86,0x43,0x8D,0xFD,0x64,0x74,0x17, - 0xB7,0xB0,0x7D,0xF6,0x88,0x09,0xEA,0xA8,0xBD,0xE7,0x68,0x89,0x20,0x39,0x1C,0x16, - 0xB3,0x52,0xDA,0x99,0xB1,0x96,0x76,0x5A,0x6A,0x92,0xAE,0x5F,0xA8,0x67,0xC6,0x83, - 0xF1,0xC7,0xC7,0xEA,0xEF,0x66,0x0D,0xD5,0x65,0x6C,0x0F,0x87,0xE3,0x39,0xEA,0xCA, - 0x8E,0xD1,0x10,0x9D,0x7D,0x91,0x49,0x85,0xAC,0x26,0xEE,0x03,0x7A,0x06,0x37,0x53, - 0x7B,0x90,0xFD,0x22,0xED,0x8E,0x44,0xB9,0xDD,0x26,0x66,0x69,0x50,0x4C,0x68,0x6F, - 0xA7,0x81,0xA1,0xE7,0x58,0x4B,0x1E,0x63,0xB2,0x08,0x82,0x5F,0x68,0xBF,0xCD,0x06, - 0xDB,0x17,0xC7,0x88,0x4F,0xCB,0x32,0x26,0xAC,0x81,0x6A,0x4A,0x0A,0xA8,0xBD,0xCD, - 0x73,0x96,0x9F,0xC3,0x31,0x72,0xBA,0xEC,0x28,0xA5,0x86,0x9C,0xB7,0xED,0x6A,0xC7, - 0x84,0xD3,0x23,0xAC,0x74,0x9C,0xF1,0x1A,0x36,0x3E,0x6C,0x5D,0xCB,0x93,0xC3,0x4F, - 0x53,0x57,0x89,0x50,0x95,0x32,0xBD,0x3C,0x2A,0x66,0x25,0x37,0x5B,0x2A,0xE6,0xB8, - 0x88,0x30,0xBA,0x32,0xCC,0x76,0xFD,0xA2,0xB7,0xB7,0xB3,0x41,0x76,0x8B,0xC7,0x82, - 0x33,0xEC,0x00,0x19,0x66,0x86,0x94,0x53,0xED,0xFE,0xF5,0xAC,0xC5,0xE1,0x78,0x9E, - 0x8A,0xFC,0xED,0x74,0x79,0x44,0x2D,0x6B,0xC9,0x70,0xA6,0x99,0x72,0x8C,0x09,0x23, - 0x0E,0x5C,0xCB,0x57,0x85,0x56,0x52,0x52,0x42,0xC7,0x90,0x97,0x23,0x69,0x9B,0x4A, - 0xB8,0x2D,0x00,0x26,0x8D,0xC6,0x45,0x06,0x07,0xD1,0xD8,0xD6,0x42,0xEA,0x1B,0xEA, - 0xBE,0x09,0x00,0x78,0xAF,0x5E,0xE7,0xAB,0xE9,0xD4,0x11,0xF3,0xA1,0x11,0x0E,0xC7, - 0x93,0x9C,0xDC,0xFC,0x25,0xDD,0x12,0x56,0x46,0x61,0xE4,0xBE,0xD5,0x07,0xAF,0x8B, - 0xA8,0xA2,0x96,0x13,0x3B,0x29,0x2C,0xCC,0xBE,0xD5,0xED,0xD4,0x00,0x18,0x08,0x0E, - 0x0B,0xA7,0x93,0xEB,0xDE,0xA3,0x87,0xC3,0x0A,0xDC,0xF2,0x21,0xE0,0x3D,0x9E,0x0A, - 0x3F,0x4C,0x47,0x56,0xFE,0x93,0xED,0xE1,0x70,0xBC,0x03,0x46,0x4E,0x8A,0xB7,0xAC, - 0xA0,0xC7,0xBA,0x1C,0x67,0x7B,0x5C,0x23,0x2D,0xB8,0x95,0x6E,0xA2,0x63,0x54,0xBA, - 0xF9,0x0B,0x7D,0x77,0xB4,0x8D,0xED,0xD5,0x58,0x00,0x4C,0x6A,0x99,0x23,0xA2,0xBB, - 0x89,0x49,0x04,0xC2,0x8E,0x2F,0x5D,0xFE,0x10,0x20,0xE4,0x17,0xA3,0xF2,0xA9,0x76, - 0xFD,0x12,0xAA,0x3F,0x55,0xC4,0xF6,0x72,0x38,0xDE,0xA3,0x62,0xD7,0x77,0xD4,0xA7, - 0xF8,0x27,0xBA,0x25,0xDC,0xF1,0x95,0x19,0xA5,0x20,0x80,0xFB,0x62,0x97,0x43,0x54, - 0xB2,0x72,0x31,0x85,0x04,0x87,0x52,0xBB,0x8A,0x85,0xFD,0x3D,0xDA,0x67,0x56,0x42, - 0x2A,0xE6,0xB0,0x08,0x83,0xF5,0xC6,0x87,0xD0,0xA3,0xE0,0x3B,0xFA,0x5B,0x97,0xC3, - 0x4E,0x59,0x68,0xFC,0xF1,0xAF,0x45,0x1D,0xA4,0x90,0x9F,0x3F,0xA2,0xEA,0xFC,0x6D, - 0x6C,0x2F,0x87,0xE3,0x7D,0x8E,0xAF,0x79,0x97,0xAE,0xA8,0xDE,0x48,0xBF,0x8F,0x70, - 0xCE,0x38,0xC1,0x22,0xFF,0x2B,0x62,0x2F,0x55,0xAD,0x7B,0x5B,0x34,0x4A,0x5D,0xBA, - 0x26,0x20,0x52,0xCC,0x9E,0xED,0xA4,0x00,0x98,0x9A,0x45,0xAE,0xDA,0xF5,0xEE,0x43, - 0x24,0x4E,0x56,0x4F,0xC9,0x4F,0x1F,0x51,0xDC,0xF6,0x0F,0xE9,0xB3,0x6E,0xFB,0xE9, - 0xAA,0x2E,0xEA,0x93,0x3D,0xD0,0xAF,0xF8,0x38,0x7A,0x2F,0x35,0xAF,0x7A,0x89,0x2A, - 0xF7,0xFE,0xC0,0xF6,0x72,0x38,0x9D,0xC7,0xD1,0xFF,0xBD,0x4C,0x17,0xE6,0xAD,0xD0, - 0x5F,0xCB,0x07,0x68,0x58,0xD8,0x59,0xB6,0xD7,0x36,0x30,0x48,0xF3,0xBA,0x94,0xD2, - 0x9B,0x11,0xBB,0xA9,0xE6,0x7F,0x8B,0xA8,0xEE,0xD8,0x2E,0xC3,0xFE,0x84,0x54,0x33, - 0x2F,0xF7,0xE4,0x49,0xF9,0x89,0x32,0x6A,0xBA,0xB5,0x46,0xDC,0x26,0x66,0xA9,0xCF, - 0xAF,0xA3,0x36,0x4A,0xC8,0xE8,0xCB,0x5A,0x24,0x8A,0x31,0xFF,0xA3,0x3F,0xD1,0xAD, - 0x15,0xDF,0xD2,0x37,0x71,0xFB,0xE9,0x89,0xE8,0x22,0x71,0x98,0x49,0x1A,0x20,0xC3, - 0x50,0xD6,0xC4,0x88,0x06,0xF1,0xB9,0x35,0xF1,0xFB,0xE9,0xDA,0xB2,0x55,0x74,0x70, - 0xE9,0xE3,0x3C,0x07,0x9B,0xA3,0x29,0x4A,0x37,0x7F,0x4E,0x25,0x5F,0x3C,0x4B,0x4F, - 0xB4,0x6E,0xA1,0x15,0xB1,0xFB,0xE9,0x77,0xD1,0xE5,0xA2,0xB0,0x31,0x6E,0x6C,0x04, - 0xED,0xA9,0x11,0xF5,0xF4,0xF7,0xA8,0x02,0xFA,0x34,0x66,0x1F,0x8D,0x3D,0xFC,0x5F, - 0xF1,0x5A,0x96,0x76,0x13,0x93,0x7B,0x5E,0x48,0xC9,0x29,0xF1,0xA6,0xEC,0x2F,0xA5, - 0x74,0x4E,0xA5,0xF5,0x9B,0xE5,0x70,0x58,0xCC,0x4A,0xEB,0x49,0x49,0x2D,0x73,0x5A, - 0x5A,0x92,0x2E,0x36,0xC5,0xBC,0x2A,0xC5,0xB9,0xFA,0x2A,0xCA,0x5F,0xF9,0x9A,0xFE, - 0x8F,0xFA,0x23,0xF5,0xDA,0xFA,0x26,0x3D,0xD2,0xB4,0x89,0x5E,0x0A,0xDE,0x49,0x5B, - 0x53,0xF3,0xC4,0xC7,0xB3,0xB4,0x9D,0x7E,0x57,0xFF,0xA3,0xF8,0xDC,0xAE,0x25,0x8F, - 0xD2,0xD1,0x55,0x6F,0xF2,0xB4,0x4D,0x8E,0x26,0x81,0x28,0xF7,0x7F,0xF4,0x67,0x3A, - 0xBA,0xEC,0x49,0x1A,0xBD,0xFB,0xDF,0xA2,0xB0,0xDF,0x88,0xD8,0x63,0xBA,0x96,0xD1, - 0xBE,0xAB,0x66,0x2D,0xC5,0xFE,0xF4,0x3A,0xED,0x5E,0xF2,0x30,0x15,0xE6,0x7E,0x4E, - 0xAD,0x4D,0xE6,0x96,0x3C,0x49,0xB2,0x04,0xAF,0xD2,0x3A,0xCC,0x8E,0x2E,0xC4,0xE8, - 0x54,0x9F,0x59,0xC9,0xF4,0x4B,0xD7,0xA1,0x92,0x9E,0xAC,0x14,0x88,0xFA,0xE4,0xDE, - 0x0D,0x74,0x60,0xD9,0x33,0xB4,0xF3,0xBD,0x87,0x69,0xCD,0x4B,0x77,0x8A,0x8F,0xBD, - 0xFF,0x79,0x8C,0x0E,0x7D,0xFE,0xBC,0xF8,0x1C,0x17,0x31,0xC7,0x17,0x68,0xAC,0x29, - 0xA7,0xE3,0xDB,0xBE,0x15,0x85,0xBD,0xE3,0x9D,0x05,0xA6,0x6B,0x19,0xED,0xC3,0x2B, - 0x5E,0xA2,0xF2,0xC3,0xDB,0xAC,0x44,0x6C,0x24,0x36,0xB9,0xC3,0xD8,0x29,0xAD,0x29, - 0xE5,0xB0,0x98,0x43,0x43,0x1C,0xD7,0xB3,0x9A,0x55,0xEB,0x62,0x93,0x55,0x4E,0x81, - 0xE4,0x70,0x02,0x90,0x88,0xE8,0x8E,0xF1,0x63,0xB7,0x89,0x39,0x3E,0x26,0x8C,0x6D, - 0xAA,0x47,0x4D,0x10,0x2C,0x36,0x35,0x9B,0x6D,0x71,0x38,0x1C,0x29,0xB1,0xA9,0x3D, - 0xA9,0xFD,0x7C,0x47,0x4A,0xB2,0x92,0x98,0x1D,0xAD,0x0B,0xE6,0x94,0x9B,0xAD,0xF4, - 0x4B,0xA4,0x27,0x15,0x1C,0x1C,0x46,0xE1,0x91,0xEA,0x23,0x71,0x1C,0x4E,0xA0,0x10, - 0x9B,0x9C,0x4D,0x41,0x92,0x02,0x89,0x4A,0x62,0x56,0xF2,0x80,0x95,0x70,0x4A,0xCC, - 0x6A,0x2C,0xB3,0xD0,0xDE,0x42,0x31,0xF1,0xDA,0x5D,0xBC,0x9C,0xC3,0x91,0xD2,0x2D, - 0xAD,0x37,0x25,0xF7,0x19,0x26,0x56,0x17,0xC1,0x23,0x21,0x6B,0x20,0x75,0xF5,0x50, - 0x57,0x11,0xC3,0x52,0xA9,0xA9,0x1D,0x51,0x6A,0x25,0x31,0x2B,0xAD,0xDB,0xAC,0x84, - 0x53,0x62,0xCE,0xC9,0xC9,0xB1,0x1B,0xD1,0xC6,0x18,0x5A,0x37,0x8B,0x88,0x36,0x87, - 0xA3,0x25,0xBA,0x74,0x4D,0xA4,0xBE,0x33,0x7E,0x47,0xE3,0x7E,0xFB,0x3A,0x25,0xFC, - 0x6A,0x21,0xB5,0x5C,0x7A,0x9F,0x58,0x26,0x08,0x8F,0xE0,0x69,0x0B,0x28,0xFD,0xBA, - 0x27,0xC4,0xE7,0x72,0xA6,0xFF,0x46,0x3C,0xD6,0x5D,0x58,0x06,0x87,0xE5,0xCA,0x70, - 0x39,0x53,0xE0,0x4F,0x56,0xCC,0xE5,0x35,0xF6,0x27,0x48,0xC8,0xA5,0x75,0x4A,0xB3, - 0x58,0x30,0x86,0x96,0xDE,0x77,0x38,0x6B,0x71,0x38,0xDA,0x21,0x28,0x38,0x94,0x7A, - 0x5F,0x31,0x8F,0x2E,0xBC,0xF5,0xAF,0xB4,0x34,0xE5,0x4A,0xBA,0xF1,0xF4,0x00,0xBA, - 0xE5,0xCC,0x00,0xBA,0xBF,0xA1,0xAF,0x58,0xEF,0x0B,0x8F,0x79,0x0D,0xFD,0xE8,0x7A, - 0xFD,0x7E,0x3C,0xF7,0x69,0xFA,0xD5,0xE2,0xB1,0x78,0x0D,0x5E,0xEB,0x2A,0x69,0xBD, - 0x87,0xB2,0x2D,0xA2,0x82,0x82,0x02,0xB7,0x0C,0x4B,0x01,0xA7,0x2C,0x33,0x50,0xFA, - 0x65,0x87,0x0E,0x1D,0x32,0x9D,0x5C,0xE6,0x85,0x63,0xD9,0x16,0x87,0xA3,0x0D,0x42, - 0x23,0x22,0xA9,0xDF,0xCD,0x4F,0xD1,0x97,0x69,0x57,0xD0,0x55,0xB5,0x03,0xC5,0xD5, - 0x48,0x6D,0x15,0xB8,0xC7,0x73,0x58,0x9D,0x14,0xC7,0xE2,0x35,0x78,0x2D,0xDE,0xC3, - 0x59,0x10,0x47,0x8A,0x94,0x58,0x79,0xA5,0xCC,0x2F,0x47,0xFB,0xCB,0xC0,0x69,0x31, - 0xA3,0x6A,0xA0,0x1C,0xD2,0xD5,0xDF,0x71,0xD2,0x3C,0x08,0xC6,0xD1,0x0A,0x10,0xE1, - 0x80,0x5B,0x9E,0xA5,0xA7,0x82,0x46,0xD3,0x17,0x4D,0x8E,0x5B,0x3E,0xBC,0x06,0xAF, - 0xED,0x7D,0xC3,0x9F,0x9D,0x16,0x74,0x5A,0x9F,0x11,0xA4,0xD3,0x75,0x44,0xB2,0xA5, - 0x7A,0x91,0x92,0x91,0xE1,0xF8,0x02,0xFA,0x1E,0x15,0x33,0x4E,0x1A,0x27,0xCF,0xE1, - 0x74,0x36,0x70,0x8F,0x73,0xAE,0xFF,0x23,0x3D,0xDE,0x3A,0x58,0x5C,0x91,0xD1,0x59, - 0xF0,0xDA,0xE7,0x83,0x86,0x53,0xEF,0x6B,0x17,0x3A,0xE5,0x72,0xF7,0x18,0x30,0xC6, - 0x2C,0xF8,0xA5,0x64,0x99,0x87,0x0E,0x1D,0xEA,0x50,0xF0,0x0B,0x04,0xA5,0x26,0x44, - 0x38,0xFC,0x22,0xD0,0xBF,0x7F,0x7F,0xD9,0xD7,0x95,0x97,0x77,0x4C,0x13,0xC3,0x49, - 0xE3,0xE4,0x39,0x9C,0xCE,0x26,0xFB,0xD2,0x5B,0xE8,0xCB,0xF0,0x01,0x2E,0x09,0xD9, - 0x08,0x16,0x53,0x5F,0x1D,0x31,0x80,0x7A,0x5C,0x72,0x23,0xDB,0xA3,0x9E,0xAC,0xC1, - 0x97,0xB0,0x2D,0xD4,0x98,0x3F,0x2E,0x5B,0x83,0xDE,0xD9,0x75,0xA7,0x9C,0xB6,0xCC, - 0x40,0xC9,0xAF,0x97,0xF6,0x9B,0x7B,0x0D,0xBB,0x94,0x6D,0x71,0x38,0x9D,0x43,0x78, - 0x54,0x37,0x8A,0xCB,0x19,0x45,0x9F,0x9F,0x75,0xDF,0x92,0xB4,0x1F,0x36,0xA5,0x50, - 0x62,0xFF,0xF1,0xE2,0x7B,0xAB,0x05,0x43,0xB5,0x61,0x92,0x95,0x3F,0x94,0x5C,0x6C, - 0x25,0xAF,0xD7,0x1E,0x2E,0x89,0x59,0x8D,0xAB,0x1D,0x12,0x1A,0xCE,0xC7,0x9B,0x35, - 0x48,0x7B,0xBB,0x8E,0x8A,0x4E,0xCC,0x15,0x57,0xA4,0x90,0x3E,0x5A,0xCF,0xF7,0x61, - 0x47,0x98,0xD3,0xD6,0x7A,0x9E,0x8E,0xE4,0x3F,0x24,0x7B,0x7C,0x7B,0x9B,0x8D,0x82, - 0x77,0x1A,0x20,0x63,0xDC,0xB5,0xF4,0x61,0x4B,0x9A,0xC2,0xF2,0xC2,0x41,0xB4,0xF8, - 0x52,0x8B,0x15,0x1C,0x2D,0x1E,0x72,0x61,0x5C,0xBC,0x17,0xDE,0x13,0xEF,0xAD,0x96, - 0xB4,0xBE,0xC3,0x28,0x2C,0xB4,0xA3,0x22,0xA7,0xBB,0xC5,0x2C,0xBA,0xCA,0xD3,0x7E, - 0x9F,0x6B,0x16,0x1E,0x4F,0x89,0x8F,0xA0,0xA5,0x4F,0x8C,0xB0,0xEB,0x7E,0xC3,0x02, - 0x2F,0x5B,0xB6,0x8C,0xB5,0x3A,0x80,0xC5,0x9E,0x3F,0x7F,0xBE,0xF8,0xFA,0xAA,0xCA, - 0x5A,0x61,0xDD,0xD2,0xE7,0x29,0x7F,0xEB,0x4A,0xF1,0x39,0x8E,0x36,0x80,0x45,0x89, - 0x8C,0x93,0xF7,0xAC,0xE4,0xA6,0x9D,0x2A,0x1D,0x0F,0x21,0xA3,0x8A,0xA5,0x96,0x19, - 0x3D,0xEF,0x55,0x9A,0xDB,0x38,0x48,0xD5,0xEA,0x14,0x6A,0xD7,0x89,0x02,0x28,0x38, - 0xF0,0x7E,0xD4,0x3E,0xFA,0xF9,0xCD,0xFB,0xD8,0x1E,0xDB,0x5C,0xFE,0x9B,0xE7,0x69, - 0xF4,0xD4,0x99,0x26,0x5D,0xD9,0x5B,0xEA,0xC9,0x51,0x64,0x2D,0x73,0xE3,0x39,0x75, - 0x77,0x5A,0x35,0xFD,0xE6,0xC4,0xA4,0x38,0x5D,0xF6,0xA0,0x09,0xAC,0xC5,0xD1,0x0A, - 0x98,0x99,0x06,0xD1,0xCA,0x3D,0xE4,0x50,0x3A,0x5E,0xEB,0x42,0x46,0x16,0x57,0xBD, - 0x2E,0xDC,0xC1,0x65,0x66,0xD4,0x81,0xF7,0xC4,0x7B,0xAB,0xCD,0x14,0x83,0x65,0x36, - 0xE2,0xEE,0xFE,0x32,0x90,0x15,0x73,0x83,0x4A,0x31,0x03,0xA5,0x7E,0xF3,0xAE,0x5D, - 0x1D,0xEB,0x05,0x4B,0xFF,0x08,0x0E,0xC7,0x9B,0x84,0x46,0x76,0xA5,0xEA,0x36,0xFB, - 0xC5,0xE6,0x9D,0x05,0xEF,0x8D,0xDF,0x61,0x0F,0x74,0x35,0xD1,0xE5,0x34,0xE2,0x6E, - 0x17,0x1B,0xB8,0xD4,0x67,0x06,0xAA,0xFA,0xCD,0x21,0xA1,0x94,0x9C,0x35,0x88,0xB5, - 0x38,0x1C,0xEF,0x81,0xEE,0x41,0xA5,0xE0,0xF8,0xCC,0x40,0xB5,0xE0,0xBD,0xD5,0x04, - 0xC1,0x72,0x46,0x4D,0xA7,0xEE,0xDD,0x13,0x4D,0x9E,0xAC,0xC7,0xC4,0x1C,0xDD,0x45, - 0x39,0x03,0xC6,0x1E,0x4A,0xBF,0xFC,0xC8,0x91,0x23,0x6C,0x8B,0xA8,0x7B,0x7A,0xB2, - 0x6E,0xE0,0xA4,0xEB,0x58,0x8B,0xC3,0x09,0x3C,0x06,0x4E,0x9C,0xCD,0xB6,0x0C,0x28, - 0x89,0xD9,0x99,0xF1,0x65,0x23,0xA2,0x98,0xA3,0x5C,0x10,0x33,0xFA,0xCD,0x72,0x79, - 0xDA,0xA8,0x69,0x24,0xCD,0x3B,0xCD,0x1E,0x32,0x89,0x82,0x43,0xF8,0x02,0xE9,0x1C, - 0xEF,0x82,0xBE,0x3E,0x56,0x0E,0xF5,0x14,0xE9,0x41,0x4D,0x74,0xEE,0xB4,0xFC,0xAC, - 0x27,0x23,0xF0,0x4A,0xC3,0x22,0x3A,0xC6,0xB7,0x37,0x6E,0xDC,0x28,0x1B,0x5C,0x73, - 0xA5,0xBF,0x0C,0x5C,0x76,0xB3,0x41,0x9F,0x3E,0xF2,0xC3,0x19,0xBB,0x77,0xEF,0x66, - 0x5B,0x98,0xDF,0xCC,0x73,0xB5,0x39,0xDE,0xE7,0x6C,0x4D,0x39,0x65,0x86,0x7A,0x6E, - 0xE8,0x2C,0x25,0xA4,0x9D,0x9A,0xEA,0xAB,0x59,0x4B,0x9E,0xFE,0xE3,0x7F,0x25,0x7A, - 0xA7,0xAC,0x69,0xA6,0x0B,0x29,0x17,0x5D,0x74,0x11,0xDB,0x72,0x0E,0xB7,0x88,0x59, - 0xE9,0x24,0xF2,0xF2,0xF2,0xD8,0x96,0x21,0x1B,0x6C,0xF0,0x65,0x8E,0x67,0xCC,0x70, - 0x38,0xAE,0x80,0x9A,0x73,0xBA,0x16,0xF3,0xEA,0x99,0xEE,0x02,0xEF,0x89,0xF7,0xC6, - 0xEF,0x50,0x02,0xDE,0x68,0xAF,0xA1,0x93,0x59,0xCB,0x50,0xBC,0x4F,0x69,0xFE,0xF2, - 0xC0,0x81,0x03,0xD9,0x96,0x73,0x28,0x8A,0xB9,0xBC,0xBA,0xC9,0xEE,0x38,0x9B,0x11, - 0xB8,0xDA,0x72,0xF3,0x2F,0x11,0x7A,0x97,0x46,0xB5,0x93,0x7A,0xF4,0x33,0xD5,0xD3, - 0xE6,0x70,0xBC,0x45,0xF5,0x81,0x8D,0x74,0x79,0x84,0xEB,0xCB,0xBF,0x58,0x82,0xF7, - 0xC4,0x7B,0xDB,0x02,0xDE,0x68,0x68,0x58,0x47,0x37,0x54,0xC9,0x2A,0x63,0x62,0x85, - 0x23,0x65,0x75,0xE5,0x70,0x8B,0x65,0x06,0x4A,0x77,0x15,0xE9,0xC9,0xA7,0xEB,0x5D, - 0x8D,0x9C,0x51,0x57,0xB0,0x16,0x87,0xE3,0x1D,0x4A,0xF7,0x7C,0x4F,0xB3,0x42,0x2B, - 0x54,0xAD,0xAA,0x62,0x5A,0x9D,0xD4,0x0E,0x58,0xE6,0xF5,0x57,0x41,0x25,0x74,0x72, - 0xE7,0x6A,0xB6,0x47,0x1E,0x78,0xA3,0xD2,0x89,0x15,0xFB,0xF7,0xEF,0x67,0x5B,0xE6, - 0xB8,0xEA,0x62,0x03,0x51,0xCC,0xF1,0x31,0xAE,0x0F,0xA8,0x2B,0x9D,0x8C,0x65,0xD4, - 0xAE,0xFF,0xF8,0xAB,0xD9,0x16,0x87,0xE3,0x1D,0x10,0x04,0xAB,0x3A,0xB4,0x89,0x6E, - 0x89,0xA8,0x60,0x7B,0x5C,0xE7,0xB7,0x11,0xC5,0x54,0xFE,0xF3,0x57,0x8A,0xA5,0x74, - 0x01,0xA6,0xFF,0x26,0xF5,0x18,0xC0,0x5A,0x86,0x42,0x04,0x72,0xC5,0xEE,0x11,0x40, - 0x1E,0x39,0x72,0xA4,0x4B,0x56,0x19,0x88,0x62,0x0E,0x0B,0x75,0xDD,0x40,0xA3,0x5E, - 0x91,0x52,0x34,0x4E,0x1A,0xBD,0x8B,0x8E,0x4D,0x16,0xAB,0x13,0x72,0x38,0xDE,0xE4, - 0xC4,0x8F,0x1F,0xD2,0xF4,0x33,0x3B,0xE9,0xD2,0x30,0xD7,0xDD,0xED,0xE9,0xE1,0x35, - 0x74,0x61,0xF5,0x6E,0x2A,0xDD,0xBD,0x8E,0xED,0x91,0xA7,0xF7,0xB0,0x69,0x14,0x11, - 0x61,0xDF,0xC5,0x56,0x0A,0x20,0x3B,0x8A,0xDB,0xDC,0x6C,0xA0,0x64,0x9D,0xA5,0x7F, - 0x44,0xF7,0xF4,0x44,0xDD,0x90,0xCB,0x6E,0x61,0x2D,0x0E,0xC7,0x7B,0xE4,0x7F,0xF9, - 0x02,0xDD,0x2F,0xEC,0x13,0xC5,0xE8,0x2C,0x78,0xED,0xAF,0xCF,0x6E,0xA7,0x23,0xFF, - 0x7B,0x85,0xED,0x51,0x66,0xE8,0xE5,0xBF,0xA6,0x84,0x84,0x6E,0x26,0x8B,0x2B,0x0D, - 0x08,0x83,0x2F,0xBE,0xF8,0x42,0x9C,0xCF,0xEC,0x6A,0xE0,0xCB,0x88,0xA2,0x98,0x2B, - 0x6A,0x1D,0x5F,0xC9,0x5D,0xE9,0xA4,0x10,0xBD,0x2B,0x2E,0x2E,0x36,0x59,0xE7,0x3E, - 0x23,0xA6,0xF0,0x40,0x18,0xC7,0xEB,0xB4,0xB7,0xB5,0xD2,0xFE,0x0F,0xFF,0x44,0x73, - 0xEB,0x36,0xD0,0x9F,0x23,0x8F,0x8B,0x8B,0xBA,0xA9,0x05,0x7D,0x64,0xBC,0x06,0xAF, - 0x3D,0xFA,0xF9,0x73,0xE2,0x7B,0xD9,0x22,0x6B,0xF0,0x24,0x8A,0xEA,0xD6,0x91,0x19, - 0xB6,0x65,0xCB,0x16,0xB3,0x5C,0x6C,0xB8,0xDB,0xE8,0x82,0xC2,0x2A,0x0F,0x1A,0x34, - 0xC8,0x65,0x17,0x1B,0xB8,0xD5,0x32,0x23,0x1A,0xA7,0x54,0xEE,0x24,0x37,0x37,0x97, - 0x6D,0x19,0x02,0x61,0x23,0x67,0xCE,0x63,0x2D,0x0E,0xC7,0x7B,0x40,0x84,0xF9,0xCB, - 0xFF,0x41,0x3D,0x76,0xBC,0x2F,0x2E,0xEA,0x76,0x7F,0x64,0x89,0xD9,0x02,0x86,0x96, - 0xE0,0xB9,0x47,0xA2,0x4B,0xE8,0x3F,0x51,0x7B,0xC5,0xD7,0xE0,0xB5,0xF6,0x84,0x0C, - 0xC6,0x5F,0xBF,0xC0,0x2C,0xF0,0x25,0xBD,0xFE,0xC1,0xCF,0x3F,0xFF,0x4C,0xA3,0x47, - 0x8F,0x76,0x9B,0x55,0x06,0x6E,0x15,0x33,0xB0,0x35,0xE6,0x2C,0x5D,0x20,0x8B,0x5B, - 0x67,0x4E,0x67,0x82,0xFE,0x2E,0x16,0x75,0x1B,0xBE,0x6F,0xA9,0xB8,0x80,0x21,0x56, - 0x27,0x7D,0x2F,0xE6,0xA0,0xD9,0x03,0xAB,0x91,0xE2,0xB9,0x81,0x3B,0xDE,0xA1,0x7D, - 0xFF,0x59,0x68,0xB7,0x8F,0x6C,0x44,0xCE,0x2A,0x4B,0x03,0x5F,0xB0,0xD0,0x88,0x6A, - 0x43,0x2B,0xEE,0x88,0x62,0x1B,0x11,0xC5,0x9C,0x12,0xE7,0x78,0x8D,0x5E,0x25,0x10, - 0x95,0x53,0x5A,0x58,0x6E,0xFD,0xFA,0xF5,0x6C,0xCB,0x60,0x9D,0x07,0x4E,0xBC,0x81, - 0xB5,0x38,0x1C,0xEF,0x83,0x48,0x74,0xE1,0xCF,0x5F,0x8B,0x0B,0x18,0x62,0x75,0xD2, - 0xC6,0x6F,0xFE,0x61,0xF6,0xC0,0x6A,0xA4,0x78,0xAE,0x70,0xE7,0x5A,0x9B,0x51,0x6B, - 0x4B,0x46,0xCD,0xF8,0x8D,0x4D,0xAB,0x0C,0x21,0x63,0x4E,0x03,0x5C,0x6C,0x47,0x0B, - 0xDD,0xDB,0xC2,0xED,0x96,0x19,0x7C,0xFD,0xF5,0xD7,0x66,0x73,0x9A,0x8D,0x58,0x5A, - 0xE7,0x01,0x13,0xAF,0xE3,0xF9,0xDA,0x1C,0x4D,0x80,0x2C,0x2E,0xCB,0xB9,0xDA,0xCE, - 0xAC,0x46,0x9A,0x98,0xD1,0x97,0xBA,0x26,0x75,0x54,0xD6,0xB1,0xB4,0xCA,0xC0,0xE8, - 0x62,0x4F,0x9A,0x34,0x89,0xED,0x71,0x0F,0x8A,0x62,0x76,0x64,0x4E,0xB3,0x25,0xBF, - 0xFE,0xF5,0xAF,0xE9,0x97,0x5F,0x7E,0x61,0x2D,0x73,0xA4,0xD6,0x39,0xB3,0x47,0x9A, - 0x6E,0xE0,0xA4,0xEB,0x59,0x8B,0xC3,0xF1,0x7D,0xC6,0xE9,0xFB,0xCA,0xB6,0xF2,0xB0, - 0x11,0xBD,0xC6,0xB8,0x32,0xDC,0x6B,0xA5,0xE2,0x1E,0xCE,0x62,0x43,0xCC,0x6D,0x6C, - 0xCB,0x71,0xEE,0xBC,0xF3,0x4E,0x5D,0x49,0x49,0x89,0xEC,0x6A,0xF0,0x96,0xD6,0x79, - 0xD8,0xF4,0xB9,0xDC,0x3A,0x73,0xFC,0x02,0x58,0xE5,0xE4,0x1E,0x1D,0x4B,0xCF,0xA0, - 0xAC,0x96,0xA5,0x87,0xEA,0x29,0xAB,0x0C,0x44,0x31,0x87,0x85,0xBA,0xF5,0x06,0x21, - 0xF2,0xF0,0xC3,0x0F,0xC3,0xC5,0x60,0x2D,0x73,0x76,0xEC,0xD8,0xC1,0xB6,0xB8,0x75, - 0xE6,0xF8,0x0F,0x96,0x56,0x59,0xEA,0x85,0x02,0x18,0x37,0x58,0xE6,0x89,0x13,0x27, - 0xBA,0xDD,0x2A,0x03,0x51,0xCC,0xB1,0xD1,0xEE,0xAF,0x8F,0x74,0xF3,0xCD,0x37,0xD3, - 0xD1,0xA3,0x47,0x65,0x17,0xC5,0xB2,0x74,0x3D,0x86,0x4D,0xBB,0x8D,0xAF,0x7C,0xC1, - 0xF1,0x69,0x30,0x67,0xD9,0x9E,0x55,0x86,0x11,0x1B,0x32,0x64,0x08,0x4D,0x9D,0x3A, - 0x95,0xED,0x71,0x2F,0x8A,0x6E,0x76,0x4B,0xAB,0xFA,0x01,0x75,0x39,0xD2,0xD2,0xD2, - 0x74,0xB3,0x67,0xCF,0xA6,0x9D,0x3B,0x77,0xB2,0x3D,0x1D,0x40,0xE0,0xCB,0x97,0x2F, - 0x37,0xB9,0xDA,0x99,0x59,0xE9,0xBA,0x31,0xD7,0x3C,0xC0,0x5A,0x1C,0x8E,0xEF,0x31, - 0xF5,0xCE,0x67,0x6D,0x5A,0x65,0x5C,0xF3,0x7B,0xF6,0xEC,0xF1,0x98,0x55,0x06,0x8A, - 0x62,0xAE,0x3D,0xE3,0x7A,0x75,0x86,0xDF,0xFD,0xEE,0x77,0x8A,0xB3,0x44,0x60,0x9D, - 0xA5,0x59,0x61,0x39,0x23,0xA6,0x88,0x7D,0x0E,0x0E,0xC7,0xD7,0x18,0x32,0xE5,0x16, - 0xEA,0x7D,0x41,0x1F,0x93,0x40,0xF7,0xED,0xDB,0x67,0x65,0x95,0x51,0x46,0x0B,0xC5, - 0x2F,0xAF,0xB8,0xC2,0x73,0xB3,0x06,0x15,0xC5,0xEC,0x0E,0x70,0x07,0x82,0x5B,0x51, - 0x50,0x50,0xC0,0xF6,0x98,0xB3,0x72,0x65,0x47,0x2D,0x6D,0xDC,0xD5,0xA6,0xDC,0xF9, - 0x57,0xD6,0xE2,0x70,0x7C,0x03,0x24,0x3E,0x0D,0xBF,0x7C,0x2E,0x6B,0x19,0x58,0xBD, - 0xDA,0x7A,0x5A,0xE4,0xA6,0x4D,0x9B,0x68,0xCA,0x94,0x29,0x34,0x76,0xEC,0x58,0x8F, - 0x58,0x65,0x20,0x8A,0x19,0x45,0xEF,0x3D,0xC5,0x43,0x0F,0x3D,0x44,0x07,0x0E,0x1C, - 0x60,0x2D,0x73,0x70,0xF7,0xC2,0x38,0x1C,0x6B,0x52,0x6C,0x62,0x0A,0xF5,0x1F,0x3F, - 0x8B,0xB5,0x38,0x1C,0xED,0x73,0xC9,0xCD,0x7F,0xA0,0x8C,0x9E,0x69,0x26,0x81,0xAE, - 0x5A,0xB5,0xCA,0x6A,0x5C,0x19,0xD7,0x39,0xDC,0x6C,0x0C,0xD9,0x7A,0x12,0x45,0xCB, - 0xDC,0xDA,0x66,0xD2,0x98,0x4B,0x4C,0x9E,0x3C,0x59,0xFC,0x43,0xEB,0xEB,0xEB,0xC5, - 0xB6,0x25,0xD2,0xBE,0x45,0x72,0x4A,0x82,0x6E,0xD4,0xAF,0xE6,0xF1,0x34,0x4F,0x8E, - 0x4F,0x90,0x96,0x33,0x8C,0x32,0x2F,0x18,0xC9,0x5A,0x86,0x92,0x40,0xD2,0x91,0x1A, - 0x23,0x18,0x8E,0x9A,0x36,0x6D,0x9A,0x5B,0xE6,0x2C,0xDB,0x42,0xB9,0xCF,0x5C,0x6F, - 0x3F,0x99,0x5C,0x2D,0x4F,0x3D,0xF5,0x14,0xED,0xDD,0xBB,0x97,0xB5,0xCC,0x69,0x6A, - 0x6A,0xA2,0xCF,0x3E,0xFB,0xCC,0x74,0xE7,0xE8,0x99,0x9D,0xA9,0x1B,0x37,0xFB,0x41, - 0xD6,0xE2,0x70,0xB4,0x09,0x72,0x23,0x26,0xDF,0xFA,0x47,0x4A,0x4B,0xEF,0x48,0xDB, - 0x44,0xB7,0xD1,0x72,0xF4,0x06,0x56,0x1A,0xB3,0xA3,0x9E,0x79,0xE6,0x19,0xB6,0xC7, - 0x73,0x78,0xB4,0xCF,0x6C,0xE4,0x9A,0x6B,0xAE,0xD1,0x61,0x98,0x4A,0x69,0xF5,0x0B, - 0x04,0xC9,0xB0,0x5C,0x07,0x6B,0x52,0xD6,0xA0,0x09,0x3C,0x18,0xC6,0xD1,0x34,0xC8, - 0x8D,0xE8,0xD3,0xAF,0x9F,0x49,0xC8,0xA8,0x75,0x27,0xB7,0xD6,0x32,0xAE,0x6D,0x24, - 0x88,0x64,0x65,0x65,0x79,0xD4,0x2A,0x03,0x51,0xCC,0xA9,0xF1,0x9E,0xCF,0xC0,0x7A, - 0xE0,0x81,0x07,0x44,0xEB,0x2C,0x57,0x63,0x1B,0x48,0x83,0x06,0x08,0x86,0x4D,0xBB, - 0xFB,0x39,0x9E,0x19,0xC6,0xD1,0x24,0x58,0x6A,0x66,0xC4,0x15,0x77,0xB0,0x96,0x81, - 0x75,0xEB,0xE4,0x67,0x54,0x6D,0xDE,0xBC,0x99,0x5E,0x7E,0xF9,0x65,0xD6,0xF2,0x2C, - 0x5E,0xB1,0xCC,0x60,0xC1,0x82,0x05,0xBA,0xE5,0xCB,0x97,0xD3,0xA8,0x51,0xA3,0xD8, - 0x1E,0x73,0x2C,0x83,0x61,0xB8,0xEB,0x5D,0x32,0x67,0x21,0x6B,0x71,0x38,0xDA,0x00, - 0x06,0xE6,0xCA,0xDF,0x2E,0xA6,0xF4,0xCC,0x14,0x93,0xA5,0x95,0x0B,0x7A,0x01,0xA4, - 0x2E,0x8F,0x18,0x31,0xC2,0x2B,0x56,0x19,0x28,0x8A,0xD9,0x99,0x4A,0x23,0xF6,0xB8, - 0xE9,0xA6,0x9B,0x44,0xB7,0x23,0x31,0x31,0x91,0xED,0x31,0x07,0x77,0x37,0xB3,0x8A, - 0x24,0xC3,0x27,0x51,0xEF,0xA1,0x53,0x58,0x8B,0xC3,0xE9,0x7C,0x60,0x60,0x2E,0x18, - 0x34,0xD0,0x24,0x4E,0x64,0x7A,0x6D,0xDD,0xBA,0x95,0xB5,0xCC,0x39,0x78,0xF0,0x20, - 0x3D,0xFA,0xE8,0xA3,0xAC,0xE5,0x79,0xBC,0x66,0x99,0x01,0x5C,0xED,0x57,0x5F,0x7D, - 0x95,0xA6,0x4F,0x9F,0xCE,0xF6,0x98,0x83,0xE0,0xC1,0xE7,0x9F,0x7F,0xCE,0x5A,0x44, - 0x69,0xDD,0x53,0x74,0x97,0xDC,0xFC,0x28,0x5F,0xAC,0x9D,0xA3,0x09,0x60,0x58,0x60, - 0x60,0xA4,0xAC,0x58,0xB1,0x82,0x6D,0x99,0x53,0x59,0x59,0x49,0xED,0xED,0xED,0x48, - 0x12,0xF1,0x8A,0x55,0x06,0xA2,0x98,0xE3,0x62,0x3C,0xB7,0x4A,0x9E,0x94,0xEC,0xEC, - 0x6C,0x1D,0xA6,0x7E,0xC1,0x3A,0x2B,0x95,0x4B,0xA9,0xAB,0xAB,0xA3,0x4F,0x3E,0xF9, - 0xC4,0x64,0x9D,0x33,0x7B,0xA6,0xEB,0xE0,0xD6,0xF0,0xFE,0x33,0xA7,0x33,0x81,0x41, - 0x81,0x61,0x81,0x81,0x61,0xBB,0xE8,0x9D,0x77,0xDE,0x11,0x30,0x1A,0x23,0x07,0xBA, - 0x8D,0x77,0xDD,0x75,0x17,0x6B,0x79,0x07,0x51,0xCC,0x61,0x21,0xDE,0x33,0xD0,0x4F, - 0x3E,0xF9,0x24,0x56,0x86,0xA7,0xEB,0xAF,0xBF,0x5E,0x76,0x15,0x0C,0x80,0xBE,0x86, - 0xB4,0xFF,0x0C,0xB7,0x86,0xF7,0x9F,0x39,0x9D,0x85,0xB1,0x9F,0x0C,0xC3,0xC2,0x76, - 0x89,0xFD,0x64,0xB9,0xE8,0x35,0x88,0x8A,0x8A,0x12,0x03,0x5F,0x88,0x13,0xB1,0x5D, - 0x5E,0x41,0x51,0xC5,0x35,0xF5,0x9E,0x59,0x39,0xCF,0xB8,0x64,0x25,0x42,0xF9,0xB3, - 0x66,0x29,0x67,0x7B,0xF1,0xFE,0x33,0x47,0x2B,0x38,0xD2,0x4F,0xC6,0x68,0x4D,0x4B, - 0x4B,0x8B,0x18,0x1F,0xF2,0x36,0x8A,0x62,0x6E,0x39,0x6F,0xD2,0x91,0xDB,0x31,0x5A, - 0x67,0xE4,0x6E,0x8F,0x19,0x33,0x86,0xED,0x35,0x87,0xF7,0x9F,0x39,0x5A,0xC0,0x91, - 0x7E,0x32,0x98,0x31,0x63,0x06,0x7D,0xF8,0xE1,0x87,0x74,0xCF,0x3D,0xF7,0xB0,0x3D, - 0xDE,0x43,0x14,0x73,0x6A,0x42,0x84,0x57,0xDD,0x01,0x24,0x91,0xE0,0xCE,0x86,0xF4, - 0x37,0x04,0x08,0x94,0xCA,0xF3,0xCA,0xF5,0x9F,0x67,0xDC,0xFF,0x4F,0x3E,0xF7,0xD9, - 0x87,0x39,0x7E,0xAA,0x91,0x7E,0x3C,0x70,0x8A,0xBE,0xFE,0xA5,0x8C,0x96,0xAC,0x3F, - 0x41,0x9F,0x6C,0x2A,0x12,0xDB,0xDB,0x8F,0xD6,0x50,0x43,0x93,0xE7,0x96,0x5E,0x75, - 0x06,0x24,0x2E,0x4D,0xBA,0xE5,0x0F,0xAA,0xFB,0xC9,0x88,0x07,0x21,0xDB,0xAB,0x5F, - 0xBF,0x7E,0x1E,0x9B,0xE6,0x68,0x0B,0xD3,0x2F,0x9C,0xF6,0xFB,0x5C,0x33,0x53,0x8C, - 0xC9,0x17,0x4B,0x9F,0x18,0xE1,0xB1,0x13,0x5A,0xBC,0x78,0xB1,0x50,0x58,0x58,0x88, - 0x01,0x75,0xF1,0x77,0x3C,0xF7,0xDC,0x73,0x8A,0x1F,0x12,0xA2,0xDF,0xD2,0xD9,0x26, - 0x87,0xF7,0xED,0x17,0x3E,0x7F,0xEE,0x36,0x6A,0x3B,0xEF,0xFE,0x65,0x3A,0x39,0xEE, - 0x07,0x22,0xDD,0x98,0x57,0x45,0xBB,0x8E,0xD7,0x51,0x53,0xAB,0xED,0x72,0x54,0x99, - 0x09,0x5D,0x68,0x42,0xBF,0x24,0xEA,0x9F,0x1E,0xC3,0xF6,0x74,0x0E,0xF0,0x00,0x67, - 0x3F,0xF6,0xBE,0x55,0x3F,0x59,0xC9,0xBD,0xC6,0x70,0xEB,0x7D,0xF7,0xDD,0xA7,0xD3, - 0x77,0x1D,0x05,0x4C,0xA8,0x80,0xC1,0x62,0x4F,0x79,0x0D,0xD3,0x2F,0xB4,0x14,0x33, - 0x58,0xF3,0xD2,0x04,0x8F,0x9E,0x50,0x6C,0x6C,0xAC,0xA0,0xB7,0xBE,0xE2,0xEF,0x40, - 0x3F,0x64,0xD9,0xB2,0x65,0xE2,0x7E,0x4B,0xD0,0x0F,0x41,0x1F,0x24,0x27,0x27,0xC7, - 0x74,0x3E,0xFB,0x77,0x6C,0x15,0xBE,0x7A,0xE9,0x5E,0x2E,0x68,0x8D,0xB3,0x76,0x6F, - 0x05,0x6D,0x29,0xA8,0xA1,0xF3,0x6D,0xAC,0xD8,0x05,0xD2,0x74,0x87,0x5E,0x46,0x94, - 0x9E,0x63,0xD8,0x6E,0xD1,0xDF,0xC0,0xF3,0x77,0xE8,0x4D,0xF6,0x3E,0xA2,0x5D,0xDF, - 0x1B,0xDA,0x7A,0x52,0x63,0x23,0xE8,0x86,0xB1,0x19,0x94,0x18,0xE3,0xFD,0x51,0x0C, - 0x08,0x79,0xD6,0x43,0x6F,0x52,0x76,0x4E,0x6F,0xD3,0xF5,0x86,0x18,0x8F,0x92,0x7B, - 0x8D,0xEB,0x73,0xDE,0xBC,0x79,0x62,0x1E,0xF6,0xE4,0xC9,0x93,0x61,0x9D,0x3D,0xAA, - 0x1B,0x25,0x4C,0xBF,0xB4,0x33,0xC4,0xFC,0xE0,0x83,0x0F,0x0A,0x3D,0x7B,0xF6,0x34, - 0x45,0xFD,0x6C,0xDD,0xF9,0xF0,0x81,0x21,0xD4,0x8F,0x0A,0x26,0x6C,0x17,0xED,0xF8, - 0x71,0xB5,0xF0,0xED,0x1B,0x0F,0xB1,0x16,0x47,0x4B,0xC0,0x02,0x7F,0xB6,0xE5,0x24, - 0x15,0x94,0xB3,0xCC,0xA8,0xD1,0x57,0x11,0xDD,0xF4,0x07,0xA2,0xEC,0x41,0x86,0xB6, - 0x1C,0x10,0xF2,0x77,0x4B,0x88,0xBE,0x7C,0x99,0xA8,0xB6,0x82,0x22,0xC2,0x82,0x69, - 0xCE,0xB8,0x4C,0xCA,0x4E,0x8E,0x62,0x07,0x78,0x1E,0x74,0xE1,0xAE,0x7D,0xF4,0x7D, - 0xCA,0xB9,0xB0,0xC3,0x4D,0xC6,0xEA,0x8D,0xE8,0x07,0x2B,0x81,0x40,0x2E,0x02,0xBB, - 0x96,0xD7,0xB3,0xB7,0x31,0xFD,0xD2,0x1B,0x9F,0xDC,0x26,0x58,0x56,0x17,0xF1,0xB4, - 0x98,0xD1,0x67,0xD6,0xBB,0xCF,0x66,0x77,0x32,0xF4,0x49,0x94,0x42,0xFE,0x18,0xCA, - 0x82,0xA0,0xA5,0x8B,0x52,0x6F,0xFC,0xFA,0xBF,0xC2,0x8F,0x4B,0x3D,0x3F,0x23,0x85, - 0xA3,0x9E,0xF3,0x6D,0x82,0xBE,0x3F,0x7C,0x9C,0x8A,0xAB,0xCF,0x11,0x45,0x75,0x23, - 0x7A,0xEC,0x23,0xA2,0x81,0x13,0xD8,0xB3,0x2A,0x80,0xA8,0x5F,0xBC,0x93,0xE8,0xE7, - 0x6F,0x28,0x24,0x38,0x88,0xE6,0x8C,0xCF,0xA4,0x9C,0x54,0xCF,0xC7,0x49,0x30,0x04, - 0x35,0xFB,0xB1,0x0F,0xCC,0x22,0xD7,0x98,0x00,0x04,0x21,0x5B,0xCE,0x86,0x32,0x82, - 0x7E,0xB2,0xD1,0xA5,0x4E,0x4D,0x4D,0x45,0x85,0x11,0x8F,0x6A,0xC6,0x16,0xA6,0x68, - 0xB6,0x3B,0x96,0x75,0x75,0x14,0x58,0x59,0x7C,0x18,0xD2,0x7A,0x60,0xBF,0xF9,0xCD, - 0x6F,0x14,0xC7,0x9F,0xD1,0xA7,0xB6,0xBC,0x43,0xF6,0x1F,0x33,0x85,0x46,0xFD,0x6A, - 0x3E,0x6B,0x71,0xB4,0xC0,0xF2,0xED,0x25,0x06,0x21,0xC7,0xA5,0x10,0x2D,0x5A,0xEB, - 0x98,0x90,0x41,0x98,0xFE,0xFB,0xC7,0x0D,0xE0,0xD2,0x9B,0x45,0xF7,0xFC,0xB3,0xAD, - 0x27,0xA9,0xBC,0x4E,0x3E,0x9E,0xE2,0x2E,0x20,0xE4,0xAB,0x7F,0xFF,0xBA,0x99,0x90, - 0x61,0x6C,0xD0,0xF5,0x53,0x12,0x32,0xFA,0xC9,0x46,0x21,0x23,0x06,0xD4,0x19,0xC3, - 0x51,0x52,0x6C,0x2A,0xB8,0xBC,0xBA,0xC9,0xCA,0xF5,0x76,0x37,0xC6,0x61,0x2A,0x29, - 0xB7,0xDC,0x72,0x8B,0xE2,0xEC,0x2A,0x44,0xB8,0xDF,0x78,0xE3,0x0D,0xD3,0x79,0x25, - 0x26,0x25,0xE8,0x86,0x5E,0x76,0x03,0x0D,0xB8,0x64,0x36,0xDB,0xA3,0x0D,0x9A,0xB2, - 0x27,0x50,0xFD,0xF8,0x7B,0xC5,0x47,0x7B,0x94,0x7C,0x2E,0xBA,0x94,0xB3,0xFD,0xAE, - 0x70,0xFA,0x78,0x21,0xD8,0x7E,0xBF,0xB2,0xE1,0xA2,0x1B,0x9C,0x3A,0xFE,0xCC,0x18, - 0xC7,0xB2,0x98,0x0E,0x95,0x9C,0xA1,0x7D,0x45,0xA7,0x89,0x42,0xF5,0xBF,0xE3,0x0F, - 0xFA,0x1B,0x2F,0xFA,0xC5,0xCE,0x72,0xFF,0xEB,0x44,0xC3,0xA6,0x50,0x53,0x4B,0x1B, - 0x7D,0xB9,0xAD,0x84,0xED,0xF4,0x0C,0x97,0xFF,0xE6,0x6F,0x34,0x70,0xC4,0x18,0x33, - 0xAB,0x0A,0x21,0x2B,0x05,0x65,0x61,0x70,0x10,0xF0,0x62,0x4D,0xFA,0xCF,0x7F,0xFE, - 0xE3,0xF1,0x4A,0x22,0xF6,0xF0,0xBE,0x39,0xB6,0x00,0x7D,0x0D,0x7C,0x30,0xD2,0x8C, - 0x2F,0xAC,0xBF,0x83,0xBB,0x9C,0x92,0xA0,0x91,0x2A,0x07,0x77,0x9C,0x35,0x29,0x25, - 0x2D,0x59,0x37,0x7E,0xF6,0xEF,0x34,0x23,0x68,0x88,0xA5,0xE6,0xCA,0x67,0x4D,0xE2, - 0xA9,0x1F,0xA3,0x77,0x19,0x6D,0x00,0xF1,0xD6,0x5E,0xE5,0xFC,0xF1,0x8D,0x7A,0xE1, - 0xD9,0xA2,0x35,0xB9,0x1F,0xD5,0x4D,0xFB,0xB3,0x53,0xC7,0x9F,0xBE,0xE4,0x41,0x3A, - 0x97,0x73,0x19,0x7B,0xC6,0x3E,0x18,0x66,0x12,0xB9,0xED,0x29,0x22,0x49,0x15,0x0E, - 0xA7,0xC1,0x0D,0x41,0x6F,0xE1,0x61,0x99,0x71,0xA3,0xF0,0x04,0x57,0xCE,0x7F,0x91, - 0x46,0x4C,0x9E,0x6E,0x26,0x64,0x58,0x5A,0x18,0x0E,0x39,0x70,0xBD,0xCE,0x9D,0xDB, - 0x51,0xF7,0xEB,0xC7,0x1F,0x7F,0x14,0x62,0x63,0x63,0x4D,0x09,0x51,0x9D,0x85,0x49, - 0xCC,0xDE,0x98,0xD3,0xAC,0xC4,0xC2,0x85,0x0B,0x69,0xD1,0xA2,0x45,0xAC,0x65,0x00, - 0x91,0x6B,0x0C,0xC0,0x2B,0x81,0x7E,0xF5,0xD2,0xA5,0x4B,0x4D,0x82,0xC6,0x42,0x5D, - 0x13,0xAE,0xFB,0xAD,0x26,0x5C,0x6E,0x88,0x45,0x6A,0x5D,0x2D,0xDB,0x96,0x40,0xBC, - 0x52,0x6B,0xE9,0xE8,0xF1,0x96,0x6D,0x4B,0xEA,0xC7,0x9B,0x7F,0x26,0x0E,0x1F,0x6F, - 0xD1,0x56,0x02,0x62,0x13,0xDD,0x61,0x04,0xB9,0x66,0x5A,0xBF,0xE6,0xEE,0x91,0xFA, - 0xFE,0xF3,0xAC,0x58,0xDD,0x58,0xD6,0x96,0x62,0x7C,0x8E,0x35,0x3B,0x80,0xCB,0x7D, - 0xAD,0xA1,0xF2,0xCC,0xD6,0x82,0x6A,0xF1,0xA7,0xBB,0x80,0x6B,0x7D,0xDD,0xC2,0xF7, - 0xAD,0x84,0x0C,0xCF,0x4F,0x49,0xC8,0x30,0x30,0x28,0x21,0x2D,0x0D,0xC4,0xBE,0xF2, - 0xCA,0x2B,0xE2,0x24,0xA2,0xCE,0xC6,0xA6,0x65,0x6E,0x39,0xEF,0x5A,0xED,0x6C,0xB5, - 0xA0,0xDF,0x81,0xD2,0xBB,0xD2,0x6A,0x23,0x00,0x77,0x3A,0xA5,0x19,0x56,0x00,0xE5, - 0x4B,0xA5,0xFD,0x6D,0x58,0xE8,0x11,0x97,0xCF,0xA1,0xC9,0xB7,0xFE,0x99,0xED,0xF1, - 0x3E,0x10,0x89,0xA5,0x65,0x95,0xDB,0x67,0x04,0xA2,0xB5,0xB4,0x94,0x8E,0x1E,0x2F, - 0xB7,0xCF,0x08,0xAC,0xAC,0xA5,0x65,0x75,0xF4,0x78,0xB9,0x7D,0x72,0xE4,0x95,0xB0, - 0x3A,0x6F,0x88,0x5C,0xCB,0xF0,0x76,0xA9,0xA1,0x14,0xD5,0x0D,0x56,0x43,0xC8,0xA1, - 0x74,0x75,0x77,0xA2,0x6F,0xB6,0xD7,0x99,0x7D,0xFF,0x26,0xF4,0x7D,0x67,0xB8,0xED, - 0xE8,0x87,0xDB,0x1B,0xA7,0x56,0x0B,0xA2,0xD6,0xD7,0x3C,0xF2,0x0E,0x0D,0x18,0x6E, - 0x5E,0x97,0x0B,0x06,0x02,0x9E,0x9F,0x12,0x10,0xB2,0x74,0x88,0x14,0xFD,0x6A,0x8C, - 0xC0,0x74,0xC6,0xB8,0xB2,0x25,0x36,0xC5,0xEC,0x8E,0xDA,0xD9,0x6A,0xC1,0x9D,0x0D, - 0x77,0x38,0x4B,0x90,0x2C,0x32,0x61,0x82,0x72,0x00,0x05,0x37,0x01,0xA9,0x85,0x46, - 0x1F,0xFA,0xE2,0x99,0x37,0xEA,0xE0,0x3A,0x75,0xC6,0x4C,0x2B,0xA9,0x55,0x0D,0xAE, - 0xEF,0xE8,0xE7,0x49,0xF7,0x4B,0x91,0x5A,0xC9,0xA0,0xA6,0x0E,0x37,0x52,0xCD,0xF1, - 0xD2,0xF7,0x97,0xEE,0x97,0x22,0xB5,0xAA,0xD2,0xF7,0x57,0x73,0xBC,0xD9,0xFB,0xAB, - 0xB0,0xCE,0xA6,0x61,0xA8,0x09,0xD7,0x1A,0x7E,0x5A,0x52,0xD2,0x4A,0xDF,0x08,0x82, - 0x30,0x23,0xDD,0xE2,0xB2,0x4B,0x0F,0xA5,0xAB,0x74,0x3A,0xDD,0x57,0x4A,0xDD,0x62, - 0x44,0xC4,0xF5,0x2E,0x3B,0x82,0x61,0x05,0x65,0xD6,0x45,0x00,0x1C,0x05,0x05,0x23, - 0x31,0xFC,0x74,0xE1,0xD0,0xE1,0x56,0x16,0x19,0x06,0x42,0x09,0x78,0x8A,0x96,0x99, - 0x5D,0xF0,0x28,0xE1,0x59,0x6A,0x01,0xD3,0xA7,0x1A,0xEA,0xC5,0x99,0x53,0x72,0x60, - 0x6C,0x0E,0x83,0xF2,0xB8,0xD3,0xB1,0x5D,0x26,0xA6,0x4E,0x9D,0x2A,0x46,0xBD,0x95, - 0xC0,0x17,0x20,0xED,0x43,0x03,0xB8,0x4E,0x88,0x4E,0x7A,0x5A,0xD0,0x10,0x5C,0x73, - 0xE6,0x48,0xD3,0x43,0x6A,0x51,0x63,0xBF,0xFF,0x3B,0x75,0x29,0xF8,0x5E,0xDC,0x96, - 0xB3,0xB6,0x96,0x16,0x32,0x6E,0xD5,0x13,0x14,0x7A,0x2A,0x4F,0xDC,0x56,0x73,0x7C, - 0xE2,0x97,0x0F,0x98,0x8E,0xB7,0x7C,0x0E,0x58,0x5A,0xD4,0x84,0xCF,0xE7,0x51,0x50, - 0x63,0x95,0xB8,0x6D,0xEF,0x78,0x5D,0x5B,0x33,0x25,0x7F,0x72,0x87,0xE9,0x78,0x3C, - 0xD7,0x30,0xFC,0x56,0xB3,0xBF,0x55,0xFA,0x38,0x9D,0x3C,0xC4,0x90,0x8E,0x09,0xE1, - 0x29,0x06,0xBD,0x5A,0xE9,0xAB,0x52,0x7D,0x17,0xAA,0x5F,0x57,0x33,0x57,0xFB,0xEE, - 0xEE,0x86,0xE5,0x91,0xDE,0x16,0xFF,0x57,0x80,0x45,0xC4,0xEB,0xCE,0xBA,0x56,0x68, - 0x52,0xCC,0xEC,0xFA,0x83,0xF9,0x38,0x32,0x78,0xF5,0xD5,0x57,0x6D,0x5A,0x64,0xD4, - 0xF1,0x92,0xAB,0xAE,0x89,0x6B,0xB6,0xB3,0xA3,0xD8,0x46,0x4C,0x0A,0x8E,0xF7,0xD2, - 0x9C,0x66,0x5B,0x60,0xF0,0x5D,0x29,0x0B,0x0C,0x6E,0x0C,0x16,0xA7,0x56,0x02,0x7D, - 0x68,0x69,0x94,0x1B,0x20,0x3A,0x79,0xE3,0x9F,0x3F,0xF6,0x68,0x2E,0xF7,0xB9,0x5E, - 0x13,0xA8,0x72,0xCE,0x12,0xD3,0x03,0x22,0x01,0x10,0x19,0x84,0xDC,0x75,0xD3,0x1B, - 0x62,0x1B,0x58,0x5A,0x5B,0xA9,0x75,0x74,0xF4,0x78,0x1C,0x8B,0xD7,0x48,0x8F,0x97, - 0x3E,0x0F,0xA4,0xD6,0x14,0xC7,0x87,0x97,0xEE,0xA1,0xAE,0x5B,0xFF,0xCD,0xF6,0xD8, - 0x3E,0x3E,0x6A,0xF7,0xA7,0x14,0x7C,0xBA,0xC4,0xEC,0xF8,0xBA,0xCB,0x16,0x9A,0xFD, - 0xAD,0xD2,0x47,0xF1,0xA4,0x3F,0x19,0x0E,0xC2,0x70,0x94,0x0D,0xDE,0xCE,0x6B,0xA2, - 0x02,0xE1,0xBC,0xD0,0xE1,0x6A,0xDB,0x71,0xB1,0x8D,0x24,0xF7,0x10,0x7F,0xB8,0x92, - 0xBF,0x8D,0x5C,0x6B,0xA4,0x68,0x66,0xF5,0xE9,0x65,0x12,0x25,0x8C,0x07,0x82,0x5D, - 0x55,0x55,0x86,0x9B,0x96,0x1C,0x28,0xFD,0x63,0x2C,0x19,0x2D,0x65,0xC9,0x92,0x25, - 0x02,0x44,0x2E,0xED,0x3F,0x77,0x26,0x36,0xCD,0xB1,0x2B,0x6B,0x34,0x3B,0x03,0xDC, - 0x15,0x39,0x57,0xDB,0xC8,0xAD,0xB7,0xDE,0x6A,0x53,0xD0,0xB8,0xB3,0xE2,0x8B,0xA9, - 0xAC,0xAC,0x34,0x5D,0x18,0xA8,0x25,0x06,0x97,0x2A,0x36,0xB5,0x27,0xDB,0xE3,0x1D, - 0x8C,0x22,0x33,0x8A,0x14,0x48,0xAD,0xAD,0xA5,0x65,0x34,0x1E,0x6F,0x14,0x29,0x70, - 0xF4,0x78,0xE9,0x31,0x96,0x56,0xD9,0x78,0x3C,0x44,0x2A,0x67,0x9D,0x2D,0xAD,0xB2, - 0x51,0xC4,0xD2,0xE3,0x6D,0xD1,0x72,0x86,0x05,0x8C,0x60,0x99,0x6D,0x71,0xA6,0x95, - 0x56,0x9E,0x09,0x26,0x93,0xAB,0x6D,0xCF,0xC5,0xB6,0x00,0x09,0x29,0xCE,0x80,0xD9, - 0x4F,0x33,0xEF,0x7F,0xD5,0x2C,0xD7,0x1A,0x53,0x6C,0xDF,0x7F,0xFF,0x7D,0x71,0xB8, - 0x53,0x09,0x78,0x84,0x33,0x67,0xCE,0x94,0x15,0xAB,0x56,0x02,0x5F,0x46,0xEC,0x88, - 0xD9,0x3D,0xC1,0x06,0xB5,0xE0,0x0E,0x87,0x29,0x91,0xD2,0x99,0x52,0x96,0xD8,0x13, - 0x34,0xBE,0x98,0x77,0xDF,0x7D,0xD7,0xCC,0x5D,0x87,0x4B,0x75,0xCD,0x43,0x6F,0x53, - 0xDF,0xD1,0x57,0xB2,0x3D,0xEE,0x23,0xB8,0xA1,0x8A,0x22,0x8A,0xB7,0x9B,0x3D,0x22, - 0xF3,0x56,0x99,0x04,0x0C,0xA4,0xD6,0xD3,0x68,0x6D,0xA5,0x56,0x51,0x2A,0x78,0x60, - 0xEF,0x78,0xA9,0x80,0x81,0xF4,0x78,0xE3,0x71,0x96,0x56,0xD9,0x78,0xBC,0x54,0xA8, - 0x40,0xEE,0x78,0xA9,0x80,0x71,0x7C,0xB7,0x9F,0x5E,0xB6,0xFA,0x1B,0x2D,0x1F,0x89, - 0xC4,0x04,0x51,0x5B,0x61,0xF8,0xA9,0x48,0x3B,0x7D,0x5A,0xDA,0x66,0x72,0xB5,0xE1, - 0x62,0x17,0xE4,0xD5,0x0B,0x36,0x5D,0x6C,0xC0,0xDE,0x37,0x3A,0x22,0x58,0xFC,0xE9, - 0x08,0x17,0xDF,0xF8,0x08,0x5D,0xFA,0xEB,0xC7,0x29,0x33,0x2B,0xC3,0x24,0x4A,0xA4, - 0x68,0x42,0xC8,0x4A,0xE3,0xC8,0x40,0x9A,0xDD,0x65,0x09,0x86,0x52,0x31,0x44,0xD5, - 0xD9,0xC3,0x51,0x52,0x4C,0x27,0xF2,0x8F,0x4F,0x0A,0x84,0x35,0xDB,0xCD,0xBF,0x88, - 0x87,0x6E,0xCA,0xA1,0xCB,0x47,0x75,0x4C,0xFF,0xF2,0x06,0x48,0x68,0xBF,0xFD,0xF6, - 0xDB,0x11,0xD8,0xB2,0xF9,0x7B,0x11,0xC5,0xB6,0x5C,0x1A,0x56,0x0A,0x86,0x10,0x2C, - 0x27,0x67,0x54,0x94,0x55,0x0A,0xC7,0xF6,0x6D,0xA2,0x1F,0xDE,0x7F,0xC6,0xEB,0x13, - 0x34,0xAA,0xAF,0x79,0xC5,0x64,0xF9,0x20,0xF6,0x73,0x39,0x97,0x9A,0xC4,0x99,0xB0, - 0xFC,0x01,0x33,0x31,0x83,0x8A,0xB9,0x9F,0x8B,0xD6,0x12,0x58,0x1E,0x9F,0xF2,0xFE, - 0x6C,0x33,0x31,0x03,0xE9,0xF1,0x51,0xFB,0x57,0x50,0xE3,0xC0,0x8E,0xC2,0x0F,0x96, - 0xC7,0xE3,0x7D,0xCA,0xE6,0x7D,0x27,0xDE,0x24,0x80,0xF4,0x78,0x88,0x37,0xED,0xCD, - 0xCB,0x55,0x59,0x63,0x4B,0x9E,0xF9,0xE2,0xA0,0xC1,0x72,0x7E,0x54,0x68,0xDB,0x42, - 0xC7,0x84,0x53,0xC1,0xA5,0xA1,0xB4,0xF2,0x87,0x66,0xEA,0x7B,0x69,0x38,0xE5,0xFF, - 0xD0,0x40,0x0B,0xEC,0x0D,0x21,0xBF,0xF9,0x7B,0xA2,0xD5,0xEF,0xD1,0xCC,0xE1,0x69, - 0x34,0xB2,0x77,0x3C,0xDB,0x69,0x1B,0x04,0xBA,0x7E,0xB5,0xE0,0x4D,0xEA,0x3B,0xE0, - 0x42,0xB3,0x6B,0xC9,0xD6,0xA4,0x09,0x23,0x70,0x9F,0xE5,0x5C,0x6B,0x23,0xFA,0x6B, - 0x4B,0xB8,0xFA,0xEA,0xAB,0x69,0xCE,0x9C,0x39,0x5E,0xD5,0x87,0x2D,0x4C,0x96,0x39, - 0x39,0xAE,0xF3,0xFB,0xCC,0x00,0x77,0x3A,0x0C,0xC0,0x63,0x20,0x9E,0xED,0x92,0x05, - 0x77,0x4C,0x5B,0x51,0x6E,0xA4,0xE0,0xA1,0xFF,0xBD,0x7D,0xFB,0x76,0xD3,0xFB,0xA4, - 0xA4,0x25,0xE9,0xC6,0x4E,0x9B,0x25,0xF6,0xA3,0x3B,0xCB,0xED,0x06,0xC8,0xDE,0x32, - 0x0A,0xD3,0xD2,0x2A,0x1B,0x51,0x3A,0xDE,0xD2,0x2A,0x1B,0x31,0xB3,0xE6,0x12,0x21, - 0xCB,0x1D,0x6F,0x69,0x9D,0xA5,0xC7,0xAB,0x75,0xAB,0xE5,0xC8,0x4C,0x88,0x34,0x6C, - 0xFC,0xFC,0x8D,0xE1,0xA7,0x12,0x46,0x57,0x7B,0x64,0xB8,0xDE,0xC5,0x0E,0xD1,0x7D, - 0xAA,0x26,0x17,0x84,0xBD,0xA7,0xDA,0x49,0x17,0x99,0x17,0x8E,0xA5,0x9B,0xFE,0xF4, - 0x5F,0x2B,0x21,0xE3,0xBA,0xB2,0x27,0x64,0x44,0xAD,0x6D,0x09,0xD9,0x38,0x1C,0xA5, - 0x25,0x21,0x03,0x9B,0x6E,0x76,0x67,0xA1,0x34,0x4C,0x65,0x09,0xA2,0xDC,0xB6,0xC6, - 0xA1,0x21,0x68,0x2C,0x19,0x22,0x5D,0xFE,0x06,0xA0,0x1F,0xED,0x29,0xB7,0x5B,0x09, - 0x35,0xA2,0x95,0xA2,0x46,0xB4,0x52,0x1C,0x3D,0x5E,0x4E,0xB4,0x96,0x22,0x77,0x94, - 0x81,0x99,0x5D,0x0D,0x1B,0xF6,0xC4,0x6C,0x74,0xB5,0xBB,0x86,0xE8,0xE0,0x62,0x6F, - 0x61,0x7B,0x15,0xC1,0xFB,0xE9,0xDD,0x6C,0x4C,0x87,0x54,0x33,0x25,0x12,0x6E,0xF5, - 0xF4,0x7B,0x9E,0x33,0x5B,0xD0,0x0D,0x20,0x60,0x65,0xB9,0x6E,0xB2,0x14,0x63,0x42, - 0x88,0xBD,0x35,0xA1,0xDE,0x7C,0xF3,0xCD,0x4E,0x4F,0xDD,0x94,0xC3,0xA6,0x98,0x6B, - 0x3D,0x54,0x07,0xCC,0x1E,0xB0,0xBA,0xA8,0xD8,0x00,0x77,0x88,0xED,0x52,0x04,0xE3, - 0xD0,0x88,0x82,0x2B,0xA5,0x7E,0x02,0x54,0x03,0xC5,0xD0,0x83,0xB4,0x1F,0x9D,0xD9, - 0x33,0x43,0x37,0xF9,0xE6,0x47,0x69,0xEA,0x5D,0x7F,0xF5,0xDA,0x78,0xB4,0xA5,0xB0, - 0x94,0x04,0x6E,0xC4,0xF2,0x78,0x25,0xC1,0x1A,0x71,0xE4,0x78,0x39,0xE1,0xBA,0x62, - 0x95,0x41,0xFF,0xF4,0xAE,0xE2,0x2C,0x27,0x51,0x7C,0x98,0x9F,0x6C,0x83,0x2D,0x79, - 0x0D,0x44,0x2B,0xEA,0x84,0x9C,0x3C,0x15,0x89,0x49,0xCB,0x9E,0x17,0x7F,0x8C,0xEC, - 0x1D,0x27,0xFE,0x54,0x02,0x6E,0xF5,0x4D,0x4F,0x7E,0x46,0x93,0xAF,0x9B,0xAB,0x4B, - 0xD3,0x7B,0x61,0x6C,0xB7,0xD8,0x3F,0x7E,0xE1,0x85,0x17,0x04,0x5C,0x53,0x4A,0xA0, - 0xFF,0x8B,0x6E,0xD9,0xA0,0x41,0x83,0xEC,0x5A,0x5B,0xE4,0x61,0x63,0xFE,0xB2,0xD6, - 0xB0,0x29,0x66,0x6F,0x65,0x80,0xC9,0x81,0x3B,0x1F,0x3E,0x34,0x35,0xC0,0x35,0xB7, - 0x95,0xCB,0x0D,0x30,0xF4,0x80,0xC0,0x98,0x9C,0xDB,0x3D,0xE7,0xE9,0xCF,0x29,0x39, - 0xCB,0xC6,0x3C,0x5B,0x37,0x01,0x61,0x45,0xFF,0xB2,0xD4,0x14,0x34,0xEA,0xB6,0xC1, - 0xF6,0xB2,0x25,0x10,0x23,0xFA,0xCB,0xC6,0xE3,0x95,0xAC,0xAC,0x11,0x47,0x8F,0x87, - 0x78,0x23,0x8E,0xE7,0x76,0x1C,0xEF,0x82,0x55,0x06,0xD1,0x11,0x21,0x34,0x36,0x87, - 0xF5,0x67,0xD1,0xC7,0x65,0x85,0x06,0x5C,0xE2,0x87,0x8F,0xC5,0x1B,0x03,0xDE,0xDB, - 0x56,0x5F,0x19,0x4B,0x01,0xCB,0xB9,0xD5,0x6B,0xD7,0xAE,0x15,0xA7,0x30,0xCA,0xAD, - 0x38,0x61,0xC4,0x98,0x6B,0x2D,0x8D,0xAF,0x28,0x81,0xE0,0x2C,0x82,0xB4,0x5A,0x19, - 0x8E,0x92,0x62,0x3A,0xA1,0x0F,0x56,0x17,0x0A,0x1F,0xAE,0x29,0x66,0x2D,0x03,0xB7, - 0x4C,0xCB,0xA4,0xDB,0xA6,0xF7,0xEC,0xB4,0x93,0xCE,0xCA,0xCA,0x12,0xB6,0x6C,0xD9, - 0xA2,0xFA,0x83,0xC3,0x50,0x03,0xBE,0x38,0x5B,0x11,0x4A,0x80,0x9A,0xDD,0x28,0xF5, - 0xCB,0x9A,0x22,0xA5,0x25,0xA7,0x84,0x93,0x87,0x77,0xD0,0x4F,0x1F,0x3F,0x4F,0x67, - 0xEB,0xDD,0x9B,0x03,0x1C,0x48,0x20,0x00,0xF6,0xCF,0xD5,0x05,0x54,0xD7,0xD8,0xAA, - 0xF7,0x77,0xAF,0x23,0x7A,0xC8,0x85,0x1B,0xC4,0xE1,0xED,0x44,0x4F,0xCC,0x20,0x6A, - 0x6D,0x56,0x0C,0x7C,0x61,0xEC,0x18,0x8B,0xF4,0x63,0x6D,0x6F,0x2C,0x09,0xCC,0x76, - 0x8B,0xD8,0x9A,0x1B,0x6F,0x04,0xF1,0x19,0xCC,0xD2,0x93,0xCE,0x91,0xB7,0x85,0x5E, - 0xC8,0x18,0x97,0xF6,0xE8,0xA2,0xE9,0xCE,0x62,0xB2,0xCC,0x9E,0x5C,0x70,0xDD,0x59, - 0x60,0x6D,0x31,0x7C,0xA0,0x16,0xCC,0xB6,0x7A,0xEC,0xB1,0xC7,0x14,0x0B,0x04,0x1A, - 0x91,0x73,0xBB,0xB1,0x58,0xDD,0xA8,0x4B,0xAF,0xD4,0xE1,0xEE,0x3E,0x70,0xE2,0x8D, - 0x6C,0x2F,0xC7,0x51,0x42,0x82,0x75,0x74,0xF3,0xF8,0x1E,0x06,0x77,0x7B,0xE3,0x17, - 0x86,0x22,0x03,0xCE,0x58,0x68,0xB8,0xEA,0xCF,0xCC,0x16,0x85,0x0C,0x11,0x5B,0x0A, - 0x19,0x89,0x40,0xE8,0x1B,0xCF,0x7A,0xE8,0x2D,0xD1,0x1A,0x4B,0x85,0x0C,0xB7,0x1A, - 0x35,0xE5,0xEC,0x09,0x19,0x85,0xF7,0x90,0x79,0xA8,0x56,0xC8,0xE8,0xF6,0xC1,0x50, - 0x68,0x51,0xC8,0xC0,0x74,0x52,0xDF,0x6D,0xAB,0x10,0x5E,0x5C,0x56,0xC0,0x5A,0x06, - 0x3A,0xDB,0x32,0x43,0x6C,0x96,0x95,0x48,0xD4,0x62,0xAB,0x04,0x91,0x11,0xB8,0xE5, - 0x53,0xA6,0x4C,0xB1,0xFA,0x72,0x2A,0x2B,0x6B,0x84,0xDA,0x53,0xE5,0xF4,0xC3,0x7F, - 0x9E,0xA1,0x53,0x27,0x6C,0xF7,0xFD,0x38,0xF2,0x60,0x06,0x15,0x8A,0x0A,0x88,0xB5, - 0xBF,0x90,0xDE,0x39,0xEF,0x25,0x75,0x45,0x0A,0x20,0x7C,0x94,0x0D,0x62,0xFD,0x64, - 0x14,0xF6,0xBB,0x7E,0x4C,0xA6,0x78,0x93,0x30,0xD2,0x7B,0xF8,0x54,0xBA,0x44,0x2F, - 0xE4,0xCC,0xAC,0x8E,0x04,0x10,0x23,0x70,0xAB,0x73,0x73,0x73,0x59,0x4B,0x1E,0xA5, - 0xEF,0xDD,0x1E,0x7A,0x57,0x5C,0x98,0x38,0x71,0x22,0xDD,0x7E,0xFB,0xED,0x0E,0x5F, - 0x8F,0xDE,0xC0,0x74,0x52,0x72,0x62,0x9E,0x31,0x2E,0x95,0xEE,0x9F,0xDD,0xA7,0x53, - 0x4F,0x7C,0xDE,0xBC,0x79,0xC2,0x90,0x21,0x43,0x68,0xFE,0xFC,0xF9,0x0E,0x9F,0x07, - 0x8A,0x04,0x62,0x18,0xC2,0x9E,0xDB,0x8D,0x75,0xA3,0x31,0x1C,0x01,0xCB,0xCE,0x76, - 0x89,0xC0,0xF5,0x3E,0xB1,0x2F,0x97,0x36,0x2E,0x5B,0x44,0xCD,0x67,0x5D,0x4F,0xF0, - 0x0F,0x34,0x30,0x1D,0xF2,0xE3,0x4D,0x45,0x06,0x97,0x1B,0x40,0xCC,0x98,0x84,0x81, - 0x59,0x55,0x96,0x69,0x9F,0xFB,0xF5,0x02,0x84,0x35,0x86,0x35,0xAF,0x33,0xCC,0x89, - 0x9E,0x3C,0x20,0x49,0xFF,0x48,0x16,0xB7,0x01,0x86,0x13,0xA7,0xDD,0xF1,0x37,0x8A, - 0x4F,0xEB,0xA1,0x77,0xA9,0xE3,0xCD,0xBE,0x2B,0x7C,0xD7,0x18,0xB9,0xB0,0xD5,0x37, - 0x06,0x70,0xAB,0x11,0xB1,0xB6,0xFC,0xAE,0xED,0xE1,0x8A,0x61,0xF1,0x16,0xA6,0x13, - 0x93,0x13,0xF3,0xB4,0x91,0x29,0xF4,0xF0,0x1C,0xFB,0x41,0x01,0x4F,0xA2,0x36,0x89, - 0xC4,0x16,0x6A,0xFA,0x4E,0x40,0x29,0xE3,0xE7,0x64,0x71,0x85,0xF0,0xCB,0xAA,0xF7, - 0x68,0xFF,0xFA,0xCF,0x78,0x35,0x50,0x07,0x41,0x1F,0x7A,0x63,0x5E,0x25,0x6D,0xC9, - 0xAF,0xB1,0x9E,0xBE,0x88,0x79,0xCF,0xA7,0x8A,0x88,0x1A,0x4F,0xB3,0x1D,0x06,0x30, - 0x96,0x7C,0xC5,0x45,0xA9,0x62,0x85,0x4E,0x80,0x28,0xF5,0xC8,0x99,0xF3,0x28,0x67, - 0xC4,0x34,0x7D,0x77,0x28,0xD1,0xEA,0xFB,0xC1,0xAC,0x39,0x5B,0xB3,0x9D,0x8C,0xC0, - 0xAD,0x76,0x76,0x6C,0x18,0x69,0xC2,0xD2,0xD2,0xD0,0x5A,0xC4,0x74,0x62,0x9B,0xF6, - 0x55,0x09,0x4F,0x2F,0x31,0x1F,0xC6,0xD0,0x82,0x98,0x81,0x3B,0x6A,0x11,0xAB,0x71, - 0xBB,0x01,0x22,0x9B,0x70,0xC1,0xE4,0xC6,0x1A,0x4B,0x4A,0x2A,0x85,0x03,0x1B,0x3E, - 0xA7,0x5D,0x6B,0xDE,0xE7,0x96,0xDA,0x41,0x30,0x41,0x02,0x53,0x24,0x31,0xE7,0x19, - 0x3F,0x2D,0x73,0xAC,0x31,0x7E,0x0C,0x97,0x7A,0x50,0x8F,0x6E,0x26,0x11,0x63,0x86, - 0xD3,0xB8,0xEB,0xEE,0xA7,0xCC,0x81,0xE3,0xA9,0x7B,0x9A,0xB9,0x25,0x06,0x48,0x00, - 0x81,0x4B,0xAD,0x54,0xA3,0xCB,0x08,0xDC,0x6A,0xE4,0x23,0xD8,0x1B,0x3F,0xB6,0x05, - 0x8A,0xF5,0xE9,0x0D,0x8B,0x26,0xA3,0xD8,0x46,0x4C,0x27,0xB6,0xE7,0x48,0x9D,0xF0, - 0xC8,0xEB,0xFB,0x59,0xCB,0x80,0x56,0xC4,0x8C,0xD4,0x4D,0x0C,0x53,0xE9,0x5D,0x66, - 0x97,0xCE,0x45,0xAD,0xDB,0x0D,0x10,0x44,0xC3,0x05,0x20,0xE7,0x8E,0xC1,0x52,0x1F, - 0xDE,0xFA,0x35,0xED,0xFA,0xEE,0x03,0x1E,0xF9,0xF6,0x00,0x88,0x50,0x0F,0xBF,0xE2, - 0x0E,0xCA,0x1C,0x30,0x96,0xBA,0x77,0xB7,0xB6,0xC4,0x08,0x70,0xAD,0x5E,0xBD,0x5A, - 0x1C,0x6E,0xB4,0x07,0x8A,0xEE,0x59,0x56,0x06,0x71,0x14,0x77,0x5D,0x7F,0x9E,0xC6, - 0x74,0x72,0x72,0x62,0x1E,0x37,0x30,0x81,0x9E,0xBA,0xC3,0xFB,0xCB,0x6C,0xC8,0xA1, - 0x77,0x81,0x85,0x25,0x4B,0x96,0xB8,0x25,0xB1,0x1D,0x63,0x85,0x58,0x69,0x52,0x0D, - 0x98,0xFE,0xA6,0x34,0x6B,0xA6,0x44,0xDF,0xA7,0x3E,0xB2,0x63,0x1D,0xED,0x5C,0xB5, - 0x84,0xCE,0xD4,0x94,0xB2,0xBD,0x1C,0x67,0xC1,0x58,0xFF,0x98,0x6B,0xEE,0xA5,0xE4, - 0x1E,0xFD,0xC4,0xD1,0x05,0xB6,0xDB,0x04,0xFA,0xAD,0xC8,0xE0,0x52,0xFB,0xDD,0x61, - 0x3C,0xD8,0x1D,0xEB,0x23,0x4F,0x9A,0x34,0x49,0x40,0xE1,0x49,0x5B,0x29,0x9E,0x5A, - 0xC0,0x74,0x72,0x72,0x62,0x1E,0xD2,0xA7,0x1B,0xBD,0x70,0xAF,0xFD,0x8C,0x18,0x6F, - 0x80,0xB9,0xCA,0x7B,0xF6,0xEC,0x41,0x2A,0x9D,0x5B,0xCE,0xC7,0x91,0xBB,0x3B,0xDC, - 0x34,0x5B,0x53,0xE1,0x4A,0x4B,0xAB,0x84,0xE2,0x03,0x5B,0x08,0xFD,0xEA,0xAA,0x93, - 0xF9,0x6C,0x2F,0x47,0x2D,0x59,0x83,0x27,0xD1,0xA8,0x19,0xBF,0xA1,0xAE,0x49,0xDD, - 0x65,0x45,0x8C,0x72,0x52,0x70,0xA7,0xD5,0xF4,0x8B,0x01,0xBC,0x2A,0x04,0x34,0xDD, - 0xE1,0x12,0xBB,0x23,0x66,0xE3,0x2D,0x4C,0x27,0xA8,0x75,0x31,0x03,0x47,0x93,0x48, - 0xD4,0xB0,0x71,0xE3,0x46,0xF1,0x6E,0x6F,0xAF,0xDF,0x65,0xC4,0xD6,0xB4,0x38,0x44, - 0xBF,0x5B,0x9A,0xCE,0xD1,0x7E,0x7D,0xBF,0x3A,0x6F,0xF3,0x57,0xDC,0x05,0xB7,0x01, - 0x22,0xD3,0xC3,0xA6,0xDF,0xAE,0x17,0xF2,0x44,0xFD,0xCD,0x52,0x27,0x16,0x64,0x64, - 0x4F,0x99,0x80,0x88,0xF1,0xDD,0xD8,0x4A,0xC3,0x94,0x82,0x78,0x07,0xBA,0x46,0xEE, - 0x9C,0x96,0xD8,0xD9,0xAB,0x54,0x38,0x82,0xE9,0x04,0x51,0x23,0xFB,0xB6,0xBF,0xEE, - 0x60,0x2D,0x03,0x5A,0x13,0x33,0x12,0x01,0x4E,0x9F,0x3E,0x4D,0xCF,0x3F,0xFF,0xBC, - 0xDB,0xCF,0x49,0x6D,0x44,0xD4,0x08,0x44,0x8D,0x59,0x5B,0x4A,0x09,0x07,0xA5,0x65, - 0x35,0x42,0x4D,0x49,0x01,0xED,0xFF,0xE9,0x4B,0x3A,0xBA,0x63,0x2D,0x8F,0x82,0xEB, - 0x41,0x54,0x1A,0x63,0xC4,0x43,0xA7,0xDD,0x46,0x61,0x11,0x51,0xB2,0x91,0x69,0x80, - 0xD8,0x06,0x44,0x6C,0xAB,0x8C,0x8F,0x25,0xB6,0xBA,0x43,0xAE,0xD0,0xD9,0xAB,0x54, - 0x38,0x82,0xE9,0x24,0x7D,0x41,0xCC,0x9E,0x1E,0xEB,0x83,0xEB,0x8D,0xB1,0x4A,0x5B, - 0x95,0x27,0x2C,0xC1,0x70,0x87,0xAD,0xD2,0x31,0x55,0x95,0xB5,0x42,0x8B,0xDE,0xE8, - 0x17,0xEF,0xCF,0xA5,0xBD,0xEB,0x3F,0xA5,0xB2,0x82,0x9D,0xEC,0x99,0xC0,0x00,0x93, - 0x58,0xB2,0x86,0x5C,0x42,0x43,0x2E,0x9B,0x43,0xF1,0xE9,0x39,0xB2,0x51,0x69,0x23, - 0xCE,0x88,0x58,0x29,0x47,0xC0,0x1D,0xF8,0xC2,0x70,0x94,0x14,0xD3,0x49,0xCA,0x89, - 0xD9,0xD3,0xCB,0xBA,0x3A,0x83,0x37,0xDC,0x1E,0x0C,0x79,0x60,0x18,0x4B,0x4D,0xD4, - 0xDB,0x08,0x2E,0x2A,0x58,0x07,0x5B,0xC3,0x1F,0x65,0x25,0x95,0x42,0x9B,0x20,0x50, - 0xC5,0xD1,0x3D,0x74,0x7C,0xCF,0x4F,0x54,0x7A,0xE4,0x17,0xAA,0x2B,0x2F,0x64,0xCF, - 0xFA,0x0F,0x08,0x64,0x75,0xEF,0x3B,0x8C,0x7A,0x5D,0x34,0x51,0x2F,0xE0,0xBE,0x14, - 0x12,0x24,0x58,0x25,0x79,0x48,0xC1,0xE7,0x8D,0x42,0x13,0x8E,0xDC,0x44,0xA3,0xA3, - 0xA3,0x45,0xCF,0xC8,0xD1,0x2C,0x2E,0x47,0xD0,0xDF,0xA8,0x85,0xE5,0xCB,0x97,0x77, - 0xCA,0x5A,0xCB,0xCE,0x60,0x3A,0x49,0x5F,0x11,0xB3,0x37,0x03,0x12,0xCE,0x88,0x1A, - 0xC0,0x5A,0x63,0x32,0x87,0xAD,0xE9,0x74,0xD5,0xD5,0xA7,0x85,0xE6,0xA6,0x56,0x6A, - 0x17,0xDA,0xA9,0xE4,0xD0,0xCF,0x74,0x7C,0x5F,0x2E,0x95,0xE5,0xEF,0xF4,0xC9,0xA8, - 0x38,0x86,0x92,0xD2,0x72,0x86,0x51,0xB6,0x5E,0xBC,0xA9,0xBD,0x86,0x50,0xBB,0xBE, - 0x4B,0x21,0x17,0xC8,0x92,0x82,0xD9,0x6B,0x10,0xB0,0x9A,0x64,0x1E,0x29,0xDE,0x10, - 0x31,0xF0,0x95,0xE1,0x28,0x29,0x66,0x27,0x6A,0xB9,0xAC,0xAB,0x16,0xC5,0x0C,0xBC, - 0xBD,0xA0,0xB5,0xB3,0xA2,0x46,0x40,0x06,0xA2,0x46,0xFF,0xDA,0x9E,0x1B,0x28,0xBA, - 0xE3,0xAD,0x6D,0x74,0xBE,0xB5,0x59,0x14,0x75,0xE9,0x91,0xDD,0x62,0x64,0xFC,0x74, - 0x45,0xA1,0xA6,0x02,0x69,0x08,0x5C,0x75,0x89,0x49,0xA0,0xF4,0xBE,0xC3,0x45,0xEB, - 0x9B,0xDC,0x73,0x10,0x91,0xD0,0x6A,0x57,0xBC,0x00,0x6E,0x34,0x26,0xB9,0xE0,0xE1, - 0x28,0x48,0xC3,0x84,0x88,0x5D,0x49,0xFC,0x70,0x04,0x6F,0x5F,0x63,0xEE,0xC0,0xEC, - 0x44,0x7D,0x45,0xCC,0xC8,0xE6,0x42,0x25,0x92,0xD5,0xAB,0x57,0x7B,0xF5,0xDC,0x50, - 0xC4,0x0D,0x43,0x24,0xF6,0xF2,0x7F,0xE5,0xC0,0xC5,0x08,0x61,0x67,0x65,0x65,0xA9, - 0x9A,0x37,0x0B,0xE0,0x96,0x0B,0x41,0xC1,0x62,0xBF,0xB3,0xB6,0xA4,0x80,0x1A,0x4F, - 0x57,0x52,0xC5,0x89,0x03,0x54,0x71,0x7C,0x3F,0x9D,0xD3,0x0B,0xDC,0x93,0xC3,0x60, - 0xB0,0xB4,0x08,0x58,0xC5,0xA5,0x66,0x51,0x8F,0x01,0x63,0x45,0x01,0x47,0xC7,0xA7, - 0x51,0x5B,0xCB,0x39,0xFD,0x45,0x23,0x50,0x5A,0xBA,0xBA,0x99,0x46,0xFB,0xF6,0xED, - 0x13,0x8B,0x02,0x60,0x6C,0xD8,0xD9,0xCF,0x0D,0x31,0x09,0x6F,0x16,0xCE,0xC3,0x4D, - 0x47,0x2F,0x62,0x9C,0xB3,0xE6,0xAE,0x7D,0x5B,0x98,0x9D,0xAC,0xAF,0x88,0x19,0xB8, - 0x33,0x89,0xC4,0x51,0x5C,0x11,0xB5,0x11,0x8C,0x85,0x42,0xD8,0x8E,0x88,0xDB,0x48, - 0x59,0x99,0x5E,0xE4,0xED,0x02,0x05,0x87,0x19,0xEA,0x61,0x35,0xD4,0x94,0x51,0xEB, - 0x39,0xF3,0x73,0x39,0x5D,0x59,0x4C,0xD5,0xA5,0x47,0x59,0xCB,0x1A,0x58,0xD5,0x88, - 0x2E,0xAC,0xCC,0x0F,0x23,0x32,0x2E,0x89,0xC2,0x23,0x63,0xC5,0xED,0xF6,0x96,0xB3, - 0xFA,0x9B,0x48,0xB0,0xCD,0xBE,0xAE,0x1C,0x10,0x02,0xC4,0x8B,0x87,0x23,0x81,0x2C, - 0x4B,0x10,0x83,0x40,0xD2,0x47,0x67,0x7C,0xBF,0xBE,0x34,0x1C,0x25,0xC5,0xEC,0x64, - 0x2D,0xC5,0x1C,0xDD,0x25,0x84,0xBE,0xFC,0xAB,0xF9,0x32,0x97,0x5A,0x01,0x59,0x5C, - 0x5F,0x7D,0xF5,0x15,0x8A,0xF6,0x75,0xDA,0xF9,0x39,0xDB,0xEF,0x93,0xC3,0x28,0x6C, - 0x3C,0xB2,0xB3,0xB3,0x7D,0xE6,0x22,0xC2,0x08,0x00,0x84,0x8B,0x61,0x3D,0x57,0xC4, - 0x6B,0x04,0xF1,0x06,0x74,0x4B,0x3A,0x33,0xE8,0xE4,0x4B,0xC3,0x51,0x52,0xCC,0x4E, - 0xD8,0x52,0xCC,0x60,0xCD,0x4B,0x13,0x34,0xFB,0x47,0xE9,0x2F,0x7C,0xB7,0x27,0x91, - 0x38,0x0B,0xE6,0xD1,0xA2,0x2F,0xE8,0x48,0x44,0xD6,0x16,0x70,0x2F,0xF1,0x80,0x05, - 0x47,0xD0,0x07,0x96,0xAA,0x33,0x45,0x8E,0x04,0x0E,0xDC,0xB4,0xE0,0x8D,0x40,0xB4, - 0xC8,0x9C,0x73,0xC5,0x33,0x91,0x82,0xFC,0x69,0x58,0x61,0x6F,0xF5,0x87,0x6D,0xE1, - 0x6B,0xC3,0x51,0x52,0xCC,0x4E,0xD8,0xD7,0xC4,0xAC,0xC5,0x0F,0x1E,0x17,0x3D,0xAC, - 0x35,0x84,0xAD,0x36,0xAB,0xCC,0x51,0x60,0xBD,0x21,0x70,0x88,0x00,0x41,0x36,0x08, - 0x5D,0x0A,0x9E,0x53,0x53,0x3D,0x03,0x65,0x96,0x2C,0xCF,0x11,0x56,0x16,0x40,0xB8, - 0x08,0xF8,0xB9,0xC3,0xEB,0x90,0x03,0xE7,0x88,0x18,0x02,0x86,0xF3,0xD4,0x56,0xFA, - 0xF0,0x06,0x9D,0xD9,0x7D,0x73,0x15,0xB3,0x13,0xBE,0xF1,0xC9,0x6D,0x82,0xE5,0xCA, - 0x8F,0x5A,0x16,0xB3,0xD6,0x27,0x8C,0x63,0x18,0x0D,0xA2,0x76,0x24,0xB3,0xCC,0x9F, - 0x41,0x8E,0xBB,0x71,0xD8,0x4E,0x8B,0x63,0xB7,0x18,0xB5,0x78,0xFA,0xE9,0xA7,0x69, - 0xFD,0xFA,0xF5,0x3E,0x27,0x64,0x60,0x76,0xD2,0xB7,0x3E,0xBB,0x43,0xA8,0xA8,0x31, - 0x1F,0x7E,0xD1,0xB2,0x98,0x81,0xAF,0x04,0x2B,0x20,0x6C,0x63,0x60,0xC8,0x5D,0xAE, - 0xB8,0x2F,0x00,0xAF,0xC1,0x18,0x0B,0xD0,0x7A,0xF2,0x85,0x2F,0x0E,0x47,0x49,0xF1, - 0x79,0x31,0xFB,0xEA,0x30,0x82,0xBF,0x8A,0x1B,0xAE,0xBF,0x51,0xBC,0x6A,0x6A,0x50, - 0x6B,0x05,0x78,0x79,0x7A,0xD7,0x1A,0xF1,0x00,0x9F,0x14,0x32,0xF0,0x79,0x31,0x03, - 0x5F,0xBF,0xA3,0x02,0xA3,0xB8,0xD1,0x47,0x55,0x33,0x2D,0x53,0x2B,0xC0,0xF2,0x1A, - 0x87,0xD9,0x7C,0x49,0xBC,0x96,0xF8,0xEA,0x70,0x94,0x14,0xBB,0x62,0xFE,0xE0,0x8F, - 0x23,0x28,0x35,0x21,0x42,0xD3,0x7F,0x20,0xC6,0x7D,0xF5,0x5F,0x02,0x6D,0xDD,0xBA, - 0xD5,0x67,0xBF,0x08,0x4B,0x60,0x29,0x10,0x2D,0x86,0xB8,0x61,0xB9,0xF1,0xC0,0xB6, - 0xA7,0x82,0x6A,0xB6,0x30,0x06,0xD9,0x60,0x75,0x11,0xB8,0x82,0x70,0xD5,0x06,0xD9, - 0x7C,0x05,0xFD,0xDF,0xA4,0x99,0x91,0x11,0x67,0xF1,0x0B,0x31,0x03,0x5F,0x8E,0x42, - 0x3A,0x0A,0x22,0xE6,0xD2,0xA1,0x21,0xFC,0xB4,0xB4,0xE6,0x72,0xFB,0xA4,0xC0,0x9A, - 0x22,0x20,0x25,0x45,0xBA,0xCF,0x38,0x34,0xE6,0x4B,0x63,0xDE,0xCE,0x82,0x35,0xA8, - 0x36,0x6C,0xD8,0x80,0x1A,0xED,0x3E,0xFD,0xB7,0xFA,0x8D,0x98,0x7D,0x31,0x31,0x9E, - 0xA3,0x0D,0xFC,0xC5,0x10,0xD8,0x5C,0x6B,0xCA,0x97,0x40,0x7F,0x19,0xE3,0xBB,0x70, - 0x4F,0xD9,0x2E,0x0E,0xC7,0x2E,0xE8,0xA2,0xA1,0x1B,0xE1,0x0F,0x1E,0x9D,0x99,0x98, - 0x53,0xE3,0xBD,0xB3,0x1A,0xA2,0xA7,0xC0,0x52,0xB0,0x8B,0x16,0x2D,0x62,0x2D,0x0E, - 0xC7,0x3E,0x98,0xB0,0x83,0xEB,0xC6,0x1F,0xF0,0x1B,0xCB,0x0C,0x10,0x89,0xC4,0x02, - 0xEB,0x1C,0x8E,0x1A,0xE0,0xC5,0x61,0x6A,0xAB,0xD6,0x16,0x4D,0x77,0x16,0xBF,0x12, - 0x33,0xC0,0x62,0x73,0x48,0xF3,0x64,0x4D,0x0E,0x47,0x11,0xAD,0x2E,0x9A,0xEE,0x2C, - 0x76,0xC5,0xDC,0x70,0xCE,0xFB,0x43,0x21,0xAE,0xB0,0x70,0xE1,0x42,0xEE,0x6A,0x73, - 0x54,0x81,0x80,0xA9,0x16,0x17,0x4D,0x77,0x16,0xBB,0x62,0x6E,0x6C,0xF2,0x2D,0x31, - 0x63,0x9C,0x10,0x33,0x70,0x10,0xDD,0x66,0xBB,0x38,0x1C,0x2B,0xB4,0xBC,0x68,0xBA, - 0xB3,0xF8,0x9D,0x9B,0x0D,0xB0,0xFA,0x00,0x12,0xE6,0x39,0x1C,0x25,0xFC,0x29,0xF0, - 0x65,0xC4,0xEC,0xAE,0xF4,0xC8,0xEB,0xFB,0x84,0x3D,0x47,0xCC,0x57,0xE4,0x7B,0xE1, - 0xDE,0x81,0x34,0xA4,0x4F,0xAC,0xCF,0xDD,0xBD,0xFC,0x35,0x89,0x04,0x41,0x1B,0x6F, - 0x66,0x81,0x79,0xA2,0x84,0x6D,0x67,0xE3,0xCE,0xA2,0x90,0xE5,0xE5,0xE5,0x42,0x50, - 0x50,0x10,0x25,0x27,0xDB,0xAF,0x81,0xE6,0x69,0xCC,0x4E,0xE0,0x6F,0x4B,0x0F,0x0B, - 0xEB,0x77,0x55,0xB2,0x96,0x01,0x5F,0x15,0xB3,0xBF,0x26,0x91,0x6C,0xDA,0xBC,0x4D, - 0xF8,0xE9,0x90,0x77,0xC4,0x1C,0x1B,0xA5,0xA3,0xE1,0x39,0x51,0x34,0x6A,0xF8,0x60, - 0xBF,0xFA,0x0C,0x5D,0x59,0x34,0x3D,0xFF,0x44,0x91,0x50,0x51,0x59,0x45,0x0D,0xED, - 0x41,0x54,0xDB,0x1E,0x4C,0x05,0xAD,0xE1,0x14,0xA1,0x6B,0xA7,0xCC,0x90,0x56,0x4A, - 0x0A,0x6A,0xA5,0x88,0x90,0x20,0xEA,0x91,0x92,0x44,0x3D,0x33,0xAC,0x17,0x82,0xF7, - 0x34,0x66,0xBF,0xF0,0x1F,0x9F,0x14,0x08,0x6B,0xB6,0x57,0xB0,0x96,0x01,0x5F,0x15, - 0x33,0x40,0xBE,0xED,0x8F,0x3F,0xFE,0xE8,0x57,0x29,0x89,0x1B,0x72,0xB7,0x09,0x7F, - 0xFD,0xD2,0x7C,0xCE,0xB9,0xA7,0xC8,0x4A,0xD2,0xD1,0x5D,0xD3,0x62,0xFC,0x4A,0xCC, - 0xF0,0x6C,0x9C,0x99,0x03,0x5F,0x50,0x58,0x2C,0x14,0x95,0x57,0xD2,0x47,0x0D,0xB1, - 0xB4,0xEA,0x6C,0x0C,0x95,0xB5,0x85,0xB2,0x67,0xCC,0xE9,0x19,0xDC,0x4C,0xD7,0x45, - 0xD7,0xD3,0xCC,0xA8,0x33,0xD4,0x27,0xB3,0x3B,0x65,0xA6,0xA5,0x7A,0xED,0xB3,0xF3, - 0xCB,0x3E,0xB3,0x11,0xF4,0x89,0xD0,0x37,0xE2,0x70,0x8C,0x20,0x0F,0x61,0xD6,0xAC, - 0x59,0xAC,0xA5,0x8E,0xCD,0x7B,0x0E,0x08,0xAF,0x1C,0x6D,0xA6,0x2B,0xCA,0xB2,0xE8, - 0xBD,0x33,0xF1,0x8A,0x42,0x06,0x85,0x6D,0xE1,0xF4,0xD2,0xE9,0x24,0xFA,0x55,0x79, - 0x16,0xFD,0xE7,0x48,0x3D,0x6D,0x3B,0x98,0xEF,0xB5,0x40,0xAC,0x5F,0x8B,0x99,0x27, - 0x91,0x70,0x2C,0xC1,0xB0,0x25,0x86,0x2F,0xD5,0xB2,0xE1,0x97,0xBD,0xC2,0xEF,0x4A, - 0xE2,0xE8,0xB5,0xFA,0x44,0x6A,0x71,0x40,0x2E,0x67,0xF4,0x6E,0xF8,0x13,0xD5,0xC9, - 0xF4,0xD4,0xC9,0x2E,0xB4,0x71,0xDF,0x61,0xAF,0x08,0xDA,0xAF,0xC5,0x0C,0x78,0x12, - 0x09,0xC7,0x08,0xE2,0x28,0x8E,0x0C,0x47,0xE5,0xEE,0x3D,0x24,0x2C,0xA8,0x48,0xA4, - 0x9D,0x2D,0x91,0x6C,0x8F,0xE3,0x7C,0xAB,0x77,0xC9,0x9F,0x2B,0x8B,0xF4,0x8A,0x85, - 0xF6,0x7B,0x31,0xE3,0x2E,0xCC,0x5D,0x6D,0x0E,0x70,0x64,0x38,0xEA,0xD0,0xF1,0x22, - 0xE1,0x83,0xAA,0x70,0x97,0x84,0x6C,0x04,0x82,0x5E,0x53,0x4D,0x54,0x5C,0x56,0xEE, - 0x51,0x41,0xFB,0xBD,0x98,0x71,0x17,0x46,0x1D,0x66,0x9E,0x44,0x12,0xD8,0x60,0x38, - 0x0A,0x05,0x1E,0x26,0x4F,0x9E,0xAC,0xCA,0x2A,0x97,0x9E,0xAA,0xA2,0xF7,0xEB,0x0D, - 0x0B,0x02,0xB8,0x83,0xC5,0xB5,0xF1,0x74,0xEC,0xA4,0x67,0xD7,0x11,0xF3,0x7B,0x31, - 0x03,0x9E,0x44,0xC2,0xC1,0x30,0xA5,0xDA,0x3C,0xEC,0xBD,0x05,0xC7,0x84,0xB7,0xEA, - 0xE3,0x15,0xFA,0xC8,0x41,0xB4,0xF8,0xD2,0x6E,0x44,0xB3,0x62,0x75,0x4A,0x8F,0xB1, - 0xEC,0x48,0x29,0xD5,0xED,0x21,0xB4,0xF6,0x5C,0x0C,0x15,0x97,0x7A,0x6E,0x8A,0x6E, - 0x40,0x88,0x19,0x89,0x23,0xA8,0x9A,0x81,0x52,0xAA,0x6C,0x17,0x27,0xC0,0x40,0x20, - 0x54,0x6D,0x7D,0xAF,0xD3,0xB5,0x35,0xF4,0xFD,0xB9,0x68,0xD6,0xB2,0xA4,0x9D,0x16, - 0xFC,0x70,0x9A,0x68,0x45,0x9D,0x80,0xC7,0xDD,0x25,0x82,0xE1,0x9A,0x62,0x6D,0x3C, - 0xB6,0x88,0x3B,0xAC,0x59,0x71,0x26,0x9A,0x0A,0x2B,0x3C,0x57,0xDF,0x2D,0x20,0xC4, - 0x0C,0xF8,0x30,0x55,0xE0,0x82,0x00,0x28,0x02,0xA1,0x6A,0xA9,0x15,0x42,0x45,0x4B, - 0xEA,0x6E,0xF6,0xB7,0x76,0x21,0xA1,0xC5,0xBC,0x92,0x8F,0x3B,0x09,0x18,0x31,0xA3, - 0x12,0x09,0x56,0x22,0x44,0x69,0x5E,0xB6,0x8B,0x13,0x20,0xBC,0xF5,0xD6,0x5B,0x74, - 0xCF,0x3D,0xF7,0xB0,0x96,0x6D,0xAA,0xAA,0xAA,0x84,0xE3,0xAD,0x61,0xAC,0xE5,0x7E, - 0x2A,0x04,0xCF,0x15,0x00,0x09,0x18,0x31,0x03,0x7C,0xA1,0xF8,0x62,0x39,0x81,0x03, - 0x02,0x9F,0x58,0x45,0x43,0x6D,0x01,0xFE,0xD6,0xD6,0x56,0x2A,0x3B,0xEF,0x7E,0xAB, - 0x6C,0x04,0x16,0xBF,0xA6,0xA6,0xC6,0x23,0x06,0x25,0xA0,0xC4,0x8C,0x3E,0xD3,0x8A, - 0x15,0x2B,0x78,0x9D,0xB0,0x00,0xC2,0x91,0xC0,0x97,0xAF,0x13,0x50,0x62,0x06,0x48, - 0xE5,0xE3,0x59,0x61,0x81,0x01,0xBA,0x54,0xE8,0x5A,0x39,0xB2,0x38,0x42,0x68,0x68, - 0x28,0xA5,0x85,0x78,0x6E,0x22,0x4B,0x42,0xD0,0x79,0x8A,0x8F,0x77,0x6C,0xCD,0x6B, - 0xB5,0x04,0x9C,0x98,0x79,0x12,0x49,0xE0,0xE0,0x48,0x5F,0xD9,0x48,0x62,0x62,0xA2, - 0x2E,0x3D,0xA4,0x95,0xB5,0xDC,0x4F,0x82,0xCE,0x73,0x93,0x64,0x02,0x4E,0xCC,0x48, - 0x22,0x99,0x34,0x69,0x92,0x58,0xF8,0x9C,0xED,0xE2,0xF8,0x29,0x8E,0x0C,0x47,0x49, - 0x49,0x09,0x6A,0x11,0x2D,0xA8,0xBB,0x19,0x18,0x7A,0x8E,0x42,0xC3,0x78,0x00,0xCC, - 0xAD,0xF8,0xE2,0x30,0x15,0xA2,0xAC,0x3F,0x6F,0xDF,0x2D,0x9C,0xAC,0x61,0x3B,0xBC, - 0x40,0xD5,0x19,0xA2,0x33,0x8D,0xCD,0xB4,0x67,0x5F,0x9E,0xCF,0xDD,0xF8,0x1C,0x1D, - 0x8E,0x92,0xD2,0xB5,0x5B,0x2C,0x8D,0x09,0x6F,0x64,0x2D,0xF7,0x31,0x21,0xA2,0x91, - 0xD2,0x13,0xDC,0x97,0x55,0x66,0x49,0x40,0x8A,0x19,0x49,0x24,0x58,0x3B,0x69,0xD5, - 0xAA,0x55,0x9A,0xBF,0x48,0x8B,0x8A,0x4F,0x0A,0x9B,0xB7,0x6E,0x17,0xBE,0xDB,0x7C, - 0x8C,0xDE,0x5E,0xD3,0x48,0xFF,0x59,0xEF,0x9D,0xB9,0xCC,0xA0,0xA1,0x49,0xA0,0x45, - 0x2B,0x9A,0xE9,0x83,0xEF,0xAB,0x69,0xD5,0x0F,0xDB,0xC5,0x9B,0xC9,0xA9,0x53,0xA7, - 0x7C,0x42,0xD8,0xAE,0x04,0xBE,0x86,0x5C,0xD0,0x47,0x77,0x7F,0x5C,0x2D,0x85,0x51, - 0x3B,0xDB,0xA3,0xCC,0xDB,0xDB,0x59,0x02,0x89,0x1D,0x60,0xE9,0x6F,0xE8,0xDA,0x40, - 0xD9,0x3D,0x3C,0x57,0xB9,0x25,0x20,0xC5,0x0C,0xB4,0x3E,0x4C,0x95,0x5F,0x70,0x4C, - 0xC8,0xDD,0xBC,0x4D,0x58,0xBE,0xE1,0x24,0xFD,0xE3,0x7F,0x2D,0xA2,0x88,0x8B,0xAB, - 0x3B,0x47,0x47,0xFB,0x8A,0x04,0x5A,0xBC,0xB2,0x59,0xBC,0x99,0x7C,0xBB,0xE9,0x04, - 0xE1,0xE6,0x72,0xB2,0xA4,0x54,0xB3,0xA2,0x46,0xA6,0x1F,0x32,0xFE,0x5C,0x29,0x19, - 0xD5,0x23,0x29,0x9E,0xE6,0x76,0x75,0xDF,0x52,0xBB,0x0B,0xE2,0x6A,0x28,0x27,0x23, - 0x95,0xB5,0x3C,0x43,0xC0,0x8A,0x19,0x11,0x4E,0x2C,0xA1,0x8A,0x04,0x7C,0xB6,0x4B, - 0x33,0x6C,0xDC,0xFC,0x8B,0xF0,0xDF,0x1F,0x2B,0xE8,0x6F,0x5F,0xB6,0xD0,0x37,0x3B, - 0xCF,0x8B,0x16,0x52,0x0B,0xE0,0x66,0xF2,0xF1,0xC6,0x16,0xF1,0xE6,0xF2,0x75,0xEE, - 0x49,0x82,0xA5,0x66,0x4F,0x69,0x0A,0x47,0x66,0x47,0x29,0xD1,0x3F,0xBB,0x87,0xEE, - 0xB6,0xC4,0x66,0x1A,0x16,0x76,0x96,0xED,0x71,0x9E,0x2B,0x23,0xCF,0xD0,0xB4,0x04, - 0xF2,0x78,0xD5,0x91,0x80,0x15,0x33,0x80,0x1B,0x06,0x77,0x4C,0x2B,0xEC,0x3D,0x90, - 0x2F,0x2C,0xFF,0x6E,0xBB,0xB0,0x78,0x65,0x13,0x6D,0xCC,0x6B,0xA3,0xF3,0xF6,0xBD, - 0xBC,0x4E,0x01,0x37,0x97,0xE5,0x3F,0xB7,0x88,0x96,0xFA,0xFB,0x9F,0x76,0x08,0xC7, - 0x4F,0x14,0x6B,0x46,0xD4,0xC6,0x55,0x2A,0xDC,0xB1,0x56,0xF7,0x84,0xC1,0xFD,0x75, - 0x8B,0x53,0xAA,0xC4,0xC0,0x95,0xB3,0x4C,0x89,0x6C,0xA0,0xC7,0xD2,0xCE,0xD2,0xA8, - 0x0B,0xFB,0x7A,0x54,0xC8,0xC0,0xEC,0x17,0xF8,0x5B,0x0D,0x30,0x35,0x68,0x61,0x5D, - 0xDE,0xD2,0xF2,0x0A,0xE1,0xE8,0xB1,0x22,0x5A,0xB5,0xAB,0x95,0x76,0x1C,0xD5,0xA8, - 0x82,0x15,0x08,0xD1,0x9B,0x83,0x2B,0x86,0x85,0xD2,0x88,0xDE,0xA1,0x34,0x76,0xF4, - 0xB0,0x4E,0xBF,0x4E,0x3C,0xB1,0x68,0xFA,0x4F,0xBB,0x0F,0x08,0x6F,0x57,0x45,0xD2, - 0xA7,0x0D,0xDD,0x54,0x57,0x1B,0x89,0x09,0x6A,0xA7,0x5F,0x47,0xD7,0xD0,0x2D,0x29, - 0x6D,0x34,0x66,0xC0,0x05,0x5E,0xF9,0x5C,0x02,0xDA,0x32,0x03,0x58,0x67,0x2C,0x53, - 0xD2,0x59,0x1C,0x3A,0x7C,0x4C,0x58,0xB7,0xB5,0x50,0x74,0x5D,0x7D,0x4D,0xC8,0x00, - 0xDE,0xC3,0xD7,0x3B,0x5A,0xE9,0xD5,0x6F,0xCF,0xD2,0xB7,0x3F,0xEC,0x10,0xCA,0x2B, - 0x2A,0x3B,0xD5,0x4A,0x23,0xC3,0xCF,0xD9,0x28,0xB6,0x12,0x97,0x5C,0x34,0x40,0xF7, - 0x78,0xAF,0x20,0x5A,0x95,0x76,0x82,0xEE,0x88,0xA9,0xA1,0xB4,0x60,0xE5,0x71,0x68, - 0x14,0xF4,0xFB,0x7D,0xB7,0x4A,0xFA,0x5F,0xEA,0x09,0x7A,0xA0,0x77,0xB8,0xD7,0x84, - 0x0C,0xCC,0x7E,0x51,0x20,0x5A,0x66,0x67,0xAB,0x35,0xBA,0x83,0x5D,0x7B,0x0F,0x09, - 0xAB,0xB6,0x9F,0xA6,0xF5,0x07,0x7C,0x6B,0xD5,0x10,0x25,0x60,0xA5,0x6F,0x9D,0x14, - 0x46,0x63,0x07,0xA7,0x53,0x56,0x0F,0xEF,0x97,0x9A,0xF5,0xC6,0xA2,0xE9,0xBC,0xD4, - 0xAE,0xC6,0x99,0x37,0x6F,0x9E,0x30,0x64,0xC8,0x10,0x9A,0x3F,0x7F,0xBE,0xD7,0xFE, - 0xCE,0x9F,0x7F,0xD9,0x27,0x7C,0xB9,0xA9,0x81,0x76,0x9D,0x68,0x63,0x7B,0xFC,0x87, - 0xD9,0x63,0xC3,0xE9,0xE2,0xC1,0x09,0xD4,0xFF,0x82,0x5E,0x5E,0xBD,0x6E,0x3A,0x63, - 0xE1,0x03,0x2D,0x15,0xC1,0x37,0x73,0xB3,0x7D,0x6D,0x91,0x38,0x77,0xE1,0xED,0x61, - 0xAA,0xDC,0x9F,0x77,0x0B,0xFF,0x5E,0x53,0xEF,0x97,0x42,0x06,0x9F,0x6F,0x69,0xA6, - 0xE5,0xB9,0xA7,0x68,0xB7,0x97,0xAA,0x52,0x82,0xCE,0x5A,0x34,0x3D,0x35,0x35,0x55, - 0xA7,0x05,0x21,0x03,0x33,0x31,0xFB,0xDA,0x22,0x71,0xEE,0x02,0x17,0x40,0x56,0x56, - 0x96,0x57,0xEA,0x84,0x6D,0xD8,0xB4,0x53,0x78,0x67,0x4D,0x23,0x9D,0xE8,0xDC,0xAE, - 0xA5,0xC7,0x41,0xD7,0xE1,0xCB,0x4D,0xB5,0xB4,0xED,0x97,0x03,0x5E,0xF9,0x43,0x1D, - 0x2D,0xA1,0xEB,0x8F,0x04,0x7C,0x00,0xCC,0x88,0x37,0x86,0xA9,0x36,0xFF,0xBC,0x4B, - 0x78,0xEF,0x87,0x73,0x54,0x56,0xEB,0xDF,0x42,0x36,0xB2,0x35,0xFF,0x3C,0xAD,0xFE, - 0xA5,0x9E,0xF6,0x1D,0x2C,0xF0,0xE8,0x1F,0x8C,0xB8,0xC7,0xEE,0xDD,0xBB,0xDD,0x32, - 0x1C,0xE5,0xCB,0x70,0x31,0x33,0x3C,0x9D,0x44,0xF2,0xCB,0xEE,0x83,0xC2,0x17,0x5B, - 0x9A,0x02,0x46,0xC8,0x46,0x72,0xF3,0xDA,0x68,0xCB,0x81,0x3A,0x3A,0x51,0x54,0xE2, - 0xB1,0x3F,0xDC,0xDF,0x16,0x4D,0x77,0x16,0x2E,0x66,0x09,0x9E,0x9A,0x80,0x71,0x28, - 0xFF,0xB8,0xF0,0xE3,0x9E,0x33,0xB4,0xAF,0xC8,0x3F,0xFB,0xC8,0xF6,0x40,0x1F,0x7A, - 0x4F,0x5E,0x19,0x55,0x56,0x79,0xA6,0xC2,0x06,0x3C,0x2A,0x7F,0x5A,0x34,0xDD,0x59, - 0xB8,0x98,0x25,0x60,0x55,0xC0,0xF5,0xEB,0xD7,0xBB,0xB5,0x12,0x09,0xC6,0x5D,0x77, - 0xE7,0x57,0xD2,0x9A,0x3D,0x9E,0x9B,0x23,0xEB,0x0B,0xBC,0xF7,0x83,0x5E,0xD0,0x07, - 0x8F,0xB1,0x96,0xFB,0xF0,0xC7,0x45,0xD3,0x9D,0xC5,0xAE,0x98,0xA3,0x22,0x3C,0x57, - 0x0F,0x49,0x8B,0x20,0xB2,0xED,0x4E,0xEB,0xBC,0xE7,0x50,0x21,0x2D,0xF5,0xE2,0x4C, - 0x27,0xAD,0x72,0xAE,0x45,0xA0,0xB7,0xD7,0x36,0xD1,0xA6,0xAD,0xBF,0xB8,0xD5,0x3A, - 0xBB,0x23,0x0F,0xDB,0x5F,0xB0,0x2B,0xE6,0xE8,0x2E,0x81,0x25,0xE6,0xB9,0x73,0xE7, - 0xBA,0xAD,0xAC,0xD0,0xD6,0xED,0xBB,0x84,0x8F,0x37,0x36,0x6B,0x36,0xC7,0xDA,0xDB, - 0xD4,0x35,0x12,0xFD,0xB0,0xB7,0x45,0x9C,0x11,0xC6,0x76,0xB9,0x04,0xE2,0x1B,0x4D, - 0x4D,0x4D,0x34,0x76,0xEC,0xD8,0x80,0xB7,0xCA,0x80,0xBB,0xD9,0x16,0xC0,0x5D,0x43, - 0x9D,0x30,0x57,0x17,0x9B,0x3B,0x59,0x5A,0x26,0x1C,0x28,0x6A,0x0D,0xB8,0x80,0x97, - 0x3D,0xB6,0xE4,0xB7,0xD1,0xF1,0x12,0xF7,0x54,0x58,0xE0,0x56,0xD9,0x1C,0x2E,0x66, - 0x19,0xDC,0x31,0x4C,0x75,0xF4,0x44,0x29,0x7D,0xF3,0x4B,0x60,0xF7,0x93,0xE5,0x80, - 0x97,0xF2,0xC5,0x96,0x66,0xDA,0xF6,0xCB,0x5E,0x97,0xEE,0x72,0x88,0x6B,0x20,0xBE, - 0x81,0x38,0x07,0xDB,0x15,0xF0,0x98,0x89,0xB9,0xA6,0x9E,0xF7,0xED,0x80,0xAB,0x49, - 0x24,0x07,0xF3,0x8E,0x08,0xDF,0xEF,0x69,0xD6,0xCC,0x3C,0x64,0xAD,0x81,0x84,0x99, - 0xA3,0x65,0x4D,0x62,0x70,0x90,0xED,0x72,0x98,0xF7,0xDF,0x7F,0xDF,0xED,0x13,0x2A, - 0x7C,0x1D,0x33,0x31,0xB7,0x9C,0xE7,0x17,0x9F,0x11,0x57,0x86,0xA9,0x4A,0x2A,0x6A, - 0x69,0x6B,0x01,0xEF,0x28,0xDB,0xE2,0xB3,0xCD,0xAD,0x74,0xF4,0x58,0x21,0x6B,0x39, - 0x0E,0x77,0xB1,0xAD,0xE1,0x6E,0xB6,0x02,0x58,0xFA,0x13,0x4B,0x80,0x3A,0x9A,0x44, - 0x82,0x99,0x50,0x2B,0x77,0x70,0xF7,0xDA,0x1E,0xF0,0x5A,0xF6,0x16,0xB5,0x93,0x33, - 0xE5,0x87,0x1C,0x5D,0x34,0x3D,0x50,0xE0,0x62,0xB6,0x01,0x72,0x7D,0x91,0xF3,0xEB, - 0x08,0x0D,0x67,0xCE,0xD0,0xA1,0x12,0x6E,0x95,0xD5,0xF0,0xE3,0xFE,0x16,0x2A,0x2A, - 0x76,0x7C,0xCD,0x62,0x6E,0x95,0xE5,0xB1,0x2B,0xE6,0xD4,0x84,0x88,0x80,0xBD,0xFB, - 0xCD,0x99,0x33,0x47,0x87,0x12,0x34,0x6A,0x93,0x48,0x4E,0x14,0x16,0x09,0x88,0xD6, - 0x72,0xD4,0x81,0xA1,0xAA,0x92,0x1A,0xC1,0xA1,0xB5,0x97,0x1C,0x5D,0x34,0x3D,0x90, - 0xE0,0x96,0xD9,0x0E,0xB0,0x00,0x6A,0xAD,0x73,0x49,0xE9,0x29,0xDE,0x57,0x76,0x90, - 0xDC,0x43,0xAD,0x54,0x78,0xD2,0x7C,0x0E,0xBD,0x2D,0x5C,0x29,0xA1,0xEB,0xEF,0x70, - 0x31,0xDB,0x01,0xB5,0xA4,0xD4,0x24,0x91,0xC0,0xBA,0x94,0xD6,0x0A,0x3C,0x82,0xED, - 0x20,0xE8,0x92,0xD4,0xD7,0x9F,0x61,0x2D,0xFB,0x38,0xBB,0x4A,0x45,0x20,0xC0,0xC5, - 0xAC,0x02,0x0C,0x81,0xD8,0x4B,0x22,0x39,0x56,0x58,0x2A,0xF6,0x01,0x39,0x8E,0xB3, - 0x29,0xAF,0x8D,0x8E,0x1C,0x3B,0x61,0xF7,0x2E,0xE8,0xCA,0x2A,0x15,0x81,0x80,0x99, - 0x98,0x6B,0xF9,0x38,0xB3,0x2C,0x6A,0x86,0xA9,0x5A,0x9A,0xCF,0xD2,0x09,0xDF,0x58, - 0xEC,0x41,0x73,0x1C,0x2E,0x6B,0xA7,0xAA,0xEA,0x5A,0xD6,0x52,0x86,0x07,0xBE,0x6C, - 0x63,0x26,0xE6,0x16,0x9E,0x44,0x2C,0x4B,0x76,0x76,0xB6,0xEE,0xA2,0x8B,0x2E,0xB2, - 0x99,0x44,0x52,0xDD,0xA0,0xE3,0x39,0xD8,0x4E,0x82,0x94,0xD7,0xB6,0xF3,0xB6,0x87, - 0xF3,0xF0,0xD9,0xE3,0x3B,0xC0,0x77,0xC1,0x76,0x71,0x2C,0xE0,0x6E,0xB6,0x4A,0x6C, - 0x0D,0x53,0x21,0x8A,0x7D,0xA8,0x38,0x30,0x4B,0x2E,0xB9,0x8B,0xD2,0x5A,0x9D,0xCD, - 0xA8,0x36,0x0F,0x7C,0xD9,0xC7,0xA6,0x98,0x03,0x6D,0xC6,0x94,0x2D,0x30,0x33,0x07, - 0x33,0x74,0xE4,0x92,0x48,0x4E,0x55,0xD5,0xD1,0x91,0x72,0x6E,0x96,0x5D,0x61,0x7F, - 0x51,0x2B,0xD5,0xD4,0x9E,0x66,0x2D,0x73,0x9C,0x59,0x34,0x3D,0x10,0xB1,0x29,0xE6, - 0x28,0x2E,0x66,0x33,0x9E,0x7C,0xF2,0x49,0x7A,0xFA,0xE9,0xA7,0x59,0xAB,0x83,0xF3, - 0xAD,0x4D,0x74,0xB2,0x93,0x16,0x75,0xF3,0x17,0x90,0xAF,0x5D,0x55,0x23,0xBF,0x50, - 0x9B,0x33,0x8B,0xA6,0x07,0x22,0xDC,0xCD,0x76,0x00,0x58,0x06,0xB9,0x24,0x92,0xC6, - 0x66,0xDE,0x5F,0x76,0x95,0xCA,0xD3,0x02,0xB5,0xB7,0xC9,0xF7,0x9B,0xF9,0x70,0x94, - 0x3A,0xB8,0x98,0x1D,0xC4,0xB2,0xEF,0x8C,0xF5,0x8A,0x91,0xC5,0xE4,0x16,0x86,0xF5, - 0xA3,0x35,0x2F,0x4D,0xD0,0xE1,0xF1,0xE4,0x30,0xB6,0x4F,0x8E,0xB4,0x1E,0xA6,0xE3, - 0xDE,0xBD,0x22,0x8A,0xED,0xF4,0x6D,0x70,0x33,0x3C,0x7D,0xD6,0x5A,0xAF,0x7C,0x38, - 0x4A,0x3D,0x26,0x31,0x97,0x57,0xF3,0x6C,0x07,0x35,0xC0,0x42,0x60,0xFA,0x9D,0x91, - 0xE6,0xE6,0x66,0x2A,0xAB,0x71,0x7F,0xF0,0x6B,0xEC,0xD4,0x1E,0xD4,0x8B,0x6D,0x5B, - 0x72,0xD9,0xE5,0x99,0x6C,0xCB,0x49,0xD8,0x4D,0xE3,0x8E,0x34,0xD6,0xD6,0x08,0x4D, - 0x32,0x86,0x99,0x07,0xBE,0xD4,0xC3,0x2D,0xB3,0x13,0xA0,0xB4,0x90,0x31,0x89,0xA4, - 0xB9,0xE5,0xBC,0xEC,0x45,0xE8,0x0A,0xCB,0xD6,0x56,0x09,0x41,0x29,0x3D,0x74,0x93, - 0x64,0xC5,0x96,0x48,0x13,0x06,0x11,0x6D,0x5A,0x5B,0xE4,0x77,0x37,0xDF,0xD3,0x67, - 0x05,0xD1,0xD3,0x61,0x4D,0x5A,0xB5,0x6A,0x95,0x90,0x9A,0x9A,0xEA,0xF5,0x55,0x2A, - 0x7C,0x15,0x2E,0x66,0x27,0x90,0xBA,0xDA,0x4D,0xCD,0xAD,0xD4,0xD4,0xE2,0x66,0x5D, - 0xED,0xAE,0xA2,0x4D,0x82,0x20,0xDC,0x70,0x79,0x22,0xDB,0xD1,0x41,0xAF,0x2B,0x32, - 0x69,0xBC,0x4E,0xA7,0xCB,0xDD,0xCD,0x76,0x58,0x22,0x71,0xC1,0x8D,0x8F,0x0E,0x97, - 0x3D,0x8A,0xEE,0x58,0x38,0x9E,0xD6,0xDC,0x92,0x28,0x8A,0xE3,0xA6,0x47,0x0C,0xCF, - 0xAF,0x9E,0x2B,0xF9,0x3D,0x36,0x5F,0x6F,0xA0,0xD7,0x15,0x43,0xC5,0x63,0x2E,0x73, - 0xB3,0xBB,0xDF,0xA8,0x77,0x0E,0xDB,0xDA,0x3A,0x26,0xAA,0x48,0x03,0x5F,0x9E,0xAA, - 0x67,0xEE,0x4F,0xD8,0x14,0x73,0x6A,0x7C,0x38,0xDB,0xE2,0x48,0xC1,0x3C,0x5A,0xCC, - 0xA7,0x45,0x22,0x43,0x53,0x73,0x0B,0x9D,0x69,0x62,0x4F,0xB8,0x8D,0x2A,0xCA,0xDD, - 0xA7,0xFF,0x72,0x06,0xF7,0xD3,0x5D,0xC6,0xF6,0x18,0x88,0xA2,0x49,0x83,0x23,0xA9, - 0x7D,0x6F,0x9E,0xF0,0x3D,0xDB,0x63,0x06,0xDC,0xE7,0x47,0x7A,0xE8,0x8A,0xD6,0xEE, - 0x12,0xA6,0xFD,0x3E,0xD7,0xF0,0xF8,0xB0,0x4A,0x18,0x7F,0x8B,0x51,0x90,0x8D,0xF4, - 0xDE,0xA2,0x4D,0x84,0x7D,0x68,0x2D,0x7B,0xC1,0x70,0xCC,0xF4,0xF7,0xAB,0xD0,0x54, - 0xF1,0x7A,0x73,0x16,0xEA,0x8F,0x35,0xBE,0xC7,0x5D,0xAB,0x1A,0xD9,0x5E,0xE7,0xA9, - 0x3F,0xDB,0x46,0xE7,0xCF,0x9F,0x17,0x85,0x7B,0xDF,0x7D,0xF7,0x09,0x2B,0x57,0xAE, - 0x44,0xD0,0x11,0x4F,0x09,0x7A,0xEB,0x2C,0xFE,0x8C,0x88,0x88,0x10,0x66,0xCD,0x9A, - 0x85,0x05,0xE2,0x04,0x77,0x96,0x44,0xF6,0x07,0xB8,0x65,0x76,0x12,0xE3,0x30,0x55, - 0x9B,0xFE,0xE2,0xD3,0x1B,0x67,0xB7,0xF3,0xFD,0x77,0xC5,0xE2,0xCF,0x09,0x52,0x11, - 0x0D,0xCB,0xA4,0x9B,0x52,0x74,0xBA,0x4F,0xBF,0x63,0xE2,0x33,0x43,0x6F,0x75,0xA7, - 0x26,0x88,0x42,0x37,0x13,0xD6,0xCE,0x3C,0x5A,0xB4,0x57,0x10,0x6C,0xF5,0xC1,0x0D, - 0x38,0xFE,0x7A,0x88,0xFE,0xBD,0x32,0xD6,0x70,0x03,0xF9,0xF9,0xF9,0x34,0x67,0xCE, - 0xFF,0xC1,0xAD,0xA6,0x57,0x5F,0x7D,0x55,0x14,0xB6,0x48,0x54,0x37,0xA2,0x6C,0x7D, - 0xDF,0x42,0x0F,0xC6,0xFA,0xB1,0x06,0xF3,0xED,0xB7,0xDF,0x8E,0x6C,0x30,0x7C,0x0F, - 0x5C,0xD0,0x0C,0x2E,0x66,0x27,0x41,0x3F,0x0E,0xAB,0x0E,0xEE,0xDD,0xB3,0x4B,0x6F, - 0x99,0x3D,0x70,0x3D,0x95,0x55,0xD3,0xB2,0x0A,0x73,0x11,0x5D,0x36,0x58,0x2F,0xB6, - 0x8A,0x22,0x61,0xBD,0x9C,0x80,0xD2,0x12,0x44,0xA1,0x9F,0xAC,0x38,0xC7,0x76,0x74, - 0x70,0xBC,0xE2,0x2C,0x29,0xF7,0xC1,0x19,0x4E,0xBC,0x7E,0xF3,0x6E,0xD7,0xAD,0xB1, - 0x91,0xA3,0x5B,0xDE,0xA3,0x25,0x8B,0xE6,0x52,0x6E,0xEE,0x4F,0x44,0x71,0x29,0x44, - 0xD3,0xEF,0x20,0xFA,0xF3,0xE7,0x44,0x2B,0xEA,0x88,0x3E,0x2A,0x24,0x5A,0xBC,0xD1, - 0xB0,0xBD,0xE4,0x30,0xD1,0xFD,0xAF,0x13,0x8D,0xBE,0x4A,0x14,0x36,0x6E,0xA8,0x59, - 0x59,0x59,0x02,0x77,0xC3,0x25,0x62,0xAE,0xA8,0x75,0xBB,0xAF,0xE8,0xF7,0xA0,0xEF, - 0xFC,0xE1,0x87,0x1F,0x50,0x97,0x30,0x4F,0xC4,0x67,0x1A,0x69,0xFD,0x5E,0xA9,0x88, - 0x0C,0x81,0xAF,0x93,0x7B,0xAB,0xC9,0xD6,0xBA,0x10,0xC5,0x15,0xD6,0x02,0x3B,0x26, - 0x23,0x50,0x25,0x5C,0x7D,0xBD,0xA3,0xB4,0x9F,0x6F,0xA1,0xDD,0xFF,0x7B,0x4C,0x14, - 0xB3,0xC8,0x4D,0x7F,0x20,0x7A,0x6D,0x1B,0xD1,0xBC,0x97,0xF4,0x9E,0xC8,0x14,0xC3, - 0x3E,0x29,0x10,0xFA,0xA5,0x37,0x13,0x3D,0xF6,0x91,0x41,0xE0,0x7A,0x8B,0x8D,0x35, - 0xC2,0xB0,0x60,0x3E,0x02,0x66,0xEC,0xA8,0x80,0x84,0x5B,0x66,0x17,0x40,0x12,0x49, - 0x4B,0x4B,0x0B,0x85,0x90,0x67,0x66,0x9B,0x1D,0x5B,0x55,0x2C,0x06,0xC2,0xC6,0x5D, - 0x14,0x65,0x0A,0x7C,0x7D,0x62,0xA7,0x6F,0x9A,0x99,0x62,0x1D,0x88,0xEA,0x95,0xD2, - 0x85,0x6D,0xD9,0xC7,0xD5,0xD7,0x3B,0x4A,0x41,0xEE,0x9B,0x74,0xEA,0x88,0x5E,0x94, - 0x70,0xA5,0x21,0x50,0x88,0x19,0xDB,0x6A,0x80,0xEB,0xBD,0x68,0x2D,0xD1,0xC5,0xD7, - 0x89,0x56,0x1A,0xFD,0x6B,0xAC,0xD3,0xCC,0x9E,0x0D,0x38,0xB8,0x98,0x5D,0xE4,0xCD, - 0xB7,0xFE,0x4D,0xB1,0x31,0x61,0xAC,0xE5,0x6E,0x0C,0x81,0xB0,0x1E,0x53,0x87,0xEA, - 0x1E,0xB7,0x15,0xF8,0x02,0xCC,0x2D,0xCF,0x90,0x11,0x5E,0x76,0x8A,0xFE,0xB5,0x4A, - 0xEE,0xB9,0x11,0x57,0x5F,0xEF,0x04,0xA5,0x07,0xBE,0xA5,0xC2,0x9D,0x9F,0x12,0x85, - 0x86,0x1B,0x84,0xAC,0x77,0x9D,0x1D,0x26,0x2C,0x82,0xE8,0xA1,0x7F,0x9B,0x09,0x3A, - 0x50,0x03,0x63,0x36,0xC5,0x1C,0x68,0xEB,0x4C,0x39,0x43,0x78,0x78,0x28,0xE9,0xFF, - 0x79,0x8C,0xEF,0xF5,0x6E,0x35,0xE8,0xA1,0x18,0xF8,0x32,0xC2,0xDC,0xF2,0xC1,0xFD, - 0xCC,0x22,0xCF,0x18,0x46,0x5A,0x38,0x58,0xA7,0xDB,0xB2,0xB6,0xA8,0xC3,0x3D,0x2F, - 0x3B,0x2B,0xFE,0x80,0xC5,0xEF,0xC0,0x81,0xD7,0xBB,0x01,0xB8,0xD7,0xF9,0xB9,0x6F, - 0x19,0x1A,0x77,0x3E,0x47,0x34,0x70,0x82,0x61,0xDB,0x59,0xEE,0xFB,0x97,0xF8,0x1E, - 0xE5,0xE5,0xE5,0x0E,0x17,0x61,0xF4,0x17,0x6C,0x8A,0x99,0xCF,0x9A,0xB2,0x4F,0x54, - 0x97,0x30,0x8A,0xF1,0x64,0xCD,0xC3,0x9D,0xC5,0xA2,0xC5,0x54,0x63,0x19,0x8F,0xAD, - 0xDA,0x25,0x0E,0x3B,0x61,0x28,0xC9,0x38,0xFE,0xFB,0xE6,0xD4,0x28,0x71,0xF8,0xE8, - 0xE9,0x9D,0xEC,0x20,0x50,0x56,0x44,0xF3,0xD6,0x36,0x0A,0xB0,0xF8,0x38,0xC6,0x38, - 0xCE,0xAC,0xFA,0xF5,0x6E,0xA0,0x78,0xEF,0x0A,0x6A,0x69,0xD4,0xDF,0xA8,0xD0,0x2F, - 0x46,0xB0,0xCB,0x82,0xBB,0x47,0xEA,0x5D,0xED,0x59,0xB1,0xBA,0xB1,0xAC,0x2D,0xC5, - 0xF8,0x1C,0x6B,0x1A,0x80,0x85,0xC6,0x4D,0x41,0x0F,0xD6,0x6B,0x0E,0x44,0xEB,0x6C, - 0xFA,0x40,0xF6,0x1C,0xA9,0x13,0x1E,0x79,0x7D,0x3F,0x6B,0x19,0x98,0x36,0x32,0x85, - 0x1E,0x9E,0x93,0xE3,0xC1,0x2B,0xD5,0xF7,0xC1,0x45,0xF3,0xE5,0xFA,0x22,0xFA,0x6A, - 0xBB,0x07,0xC6,0xA7,0xFC,0x98,0x8D,0xEF,0x5E,0x4F,0xE7,0xEA,0xF5,0x77,0xA7,0x67, - 0x57,0xCA,0x5B,0xE5,0xF4,0x48,0xA2,0x91,0x61,0xBA,0xC5,0xDF,0xD7,0x09,0x0B,0xCC, - 0x4A,0x84,0x85,0xD2,0x37,0x57,0xEB,0x9F,0xDB,0x71,0x9A,0xAE,0x2A,0x61,0xBB,0xA4, - 0x3C,0xF7,0x7F,0x44,0x3F,0x7F,0x43,0x6F,0xBC,0xF1,0x06,0xCD,0x9F,0x3F,0x3F,0xA0, - 0xAE,0x5D,0x93,0x65,0x6E,0x69,0xE5,0xD3,0x7E,0x9C,0x21,0x3C,0x3C,0x9C,0x92,0xBB, - 0xF1,0xD0,0x83,0x23,0x34,0xD6,0x14,0x1A,0x84,0x8C,0xC8,0xB4,0x92,0x7B,0x5D,0xD2, - 0x4A,0xDF,0x08,0x82,0x30,0x23,0xDD,0xE2,0xB3,0x4D,0x0F,0xA5,0xAB,0x74,0x3A,0xDD, - 0x57,0x72,0x42,0x06,0xAC,0xDF,0xFD,0xD5,0x57,0x5F,0x89,0x3F,0x03,0x09,0xD3,0x27, - 0x55,0x73,0x86,0x5B,0x16,0x67,0x88,0x8F,0x8F,0xD7,0x75,0x8F,0x0B,0xF8,0x21,0x4E, - 0x87,0xA8,0x39,0xB9,0xCB,0xB0,0x31,0xD4,0x3C,0xBF,0xCD,0x9C,0x56,0xFA,0xAA,0x94, - 0x28,0xA7,0x5F,0x57,0x33,0x57,0xFB,0xEE,0xEE,0x86,0x00,0xC5,0xDB,0xE2,0xFF,0x32, - 0x30,0x31,0x63,0x51,0xB9,0x40,0x83,0x9B,0x14,0x37,0x10,0x1C,0x12,0x4A,0x69,0x71, - 0xBC,0x37,0xA2,0x96,0xA6,0xFA,0x72,0xC3,0x46,0x7A,0x8E,0xE1,0xA7,0x02,0x6F,0xE7, - 0x35,0x51,0x81,0x70,0x5E,0xB8,0x21,0x86,0xED,0xD0,0xBB,0xD8,0x57,0x77,0x27,0xFA, - 0x66,0x7B,0x9D,0xF2,0xDD,0x13,0xC3,0x5A,0xC9,0x3D,0xC4,0xC8,0x76,0xA0,0x61,0x53, - 0xCC,0x71,0x5D,0x3D,0x18,0xA6,0xF5,0x23,0x12,0xE3,0x63,0x29,0x2B,0x89,0x8B,0x59, - 0x2D,0xCD,0x8D,0x6C,0x7D,0x66,0xB8,0xD9,0xB6,0xD0,0x7B,0x8B,0x2B,0xCF,0x04,0x93, - 0xC9,0xD5,0xB6,0xE7,0x62,0x1B,0x61,0xEF,0x7B,0xFC,0xF8,0xF1,0x80,0x72,0x99,0x6C, - 0x8A,0x39,0x34,0x98,0x5F,0xA0,0x6A,0xE8,0x1A,0x13,0x45,0xD9,0x29,0x3C,0xF2,0xAF, - 0x96,0xE0,0x60,0xB5,0xE3,0xF2,0xED,0xF4,0x69,0x69,0x9B,0xC9,0xD5,0x86,0x8B,0x5D, - 0x90,0x57,0x2F,0x28,0xBA,0xD8,0x46,0x1A,0xE5,0x6B,0x89,0xF9,0x3B,0x26,0x31,0xF3, - 0x00,0x98,0xF3,0x24,0x27,0x27,0xEB,0xB2,0x93,0x58,0x83,0x63,0x97,0xB0,0xA8,0x78, - 0xC3,0xC6,0xA9,0x22,0xC3,0x4F,0x1B,0x6C,0x29,0x69,0x65,0xAE,0x36,0x5C,0xEC,0x36, - 0x5A,0xA9,0x66,0x51,0xBE,0x5A,0xC3,0x72,0x37,0x81,0x56,0x96,0xD7,0x24,0xE6,0xDA, - 0x33,0xBC,0x00,0xBE,0x2B,0x84,0x86,0x04,0x51,0xAC,0x7F,0x54,0xF0,0xF1,0x38,0x51, - 0xF1,0x3D,0x0C,0x1B,0xFB,0x73,0x0D,0x3F,0x6D,0x61,0x74,0xB5,0x47,0x86,0xEB,0x5D, - 0xEC,0x10,0xDD,0xA7,0xF6,0x56,0xB2,0x39,0x99,0x2F,0x5A,0x66,0x14,0x35,0x08,0x34, - 0x6C,0xBA,0xD9,0x1C,0xF5,0x64,0xA4,0xA7,0xD2,0xF8,0x0B,0xB8,0xAB,0xAD,0x86,0xC4, - 0xAC,0x31,0x14,0x14,0xA2,0x77,0xB5,0x0F,0x6F,0x57,0xE1,0x12,0x33,0x57,0xBB,0x6B, - 0x88,0x0E,0x2E,0xF6,0x16,0xB6,0x57,0x91,0xDC,0x2F,0xC5,0x1F,0xD3,0xA7,0x4F,0x17, - 0x7F,0x06,0x12,0x36,0xC5,0x1C,0xE7,0xB1,0x9C,0x63,0xFF,0xA3,0x47,0x66,0x86,0x6E, - 0x68,0x76,0x30,0xE9,0x0D,0x34,0xC7,0x0E,0x21,0xE1,0xD1,0x14,0x9B,0x36,0x80,0xA8, - 0xB5,0x99,0xE8,0x87,0x8F,0xD9,0x5E,0x65,0xB6,0xE4,0x35,0x60,0xFA,0xA3,0x90,0x93, - 0x67,0xC7,0xC5,0x6E,0x69,0x22,0xFA,0x6E,0x89,0xB8,0x79,0xE3,0x8D,0x37,0x8A,0x3F, - 0x03,0x09,0x9B,0x97,0x5E,0x58,0x28,0xBF,0x32,0x1D,0x21,0x26,0x26,0x9A,0x72,0xD2, - 0xF8,0x67,0xA6,0x86,0x1E,0x43,0x6F,0x30,0x6C,0x7C,0xF9,0xB2,0x41,0x84,0xEE,0x00, - 0x42,0xD6,0xF7,0x97,0xB1,0x8C,0xCD,0x15,0x57,0x5C,0x11,0x70,0xD1,0x5B,0x7E,0xE5, - 0xB9,0x91,0xA1,0x83,0xFB,0xEB,0xA6,0x0C,0xE1,0xC3,0x79,0x6A,0x48,0xEE,0x73,0x31, - 0xA5,0xE8,0x1F,0x62,0xB0,0xEA,0x99,0xD9,0x6C,0xAF,0x0B,0x1C,0xDF,0x47,0xBA,0xA5, - 0x86,0x05,0x0A,0x50,0x05,0x26,0x10,0x31,0x89,0xF9,0x54,0x2D,0x0F,0x80,0xB9,0x83, - 0xC4,0x98,0x60,0xFD,0x83,0x35,0x38,0x36,0x99,0x7D,0xDB,0x03,0x94,0x98,0x94,0x64, - 0x08,0x84,0xFD,0xF3,0x5E,0xB6,0xD7,0x09,0x10,0xF4,0xD2,0xDF,0x10,0x04,0xBD,0x85, - 0x47,0x8D,0x6D,0xCC,0x33,0x67,0xCF,0x04,0x14,0xDC,0x32,0xBB,0x99,0xCC,0x8C,0x54, - 0xBA,0xF8,0x42,0x1E,0x6B,0x50,0xC3,0xAC,0x89,0x3D,0xE9,0xC3,0xA5,0x4B,0x29,0x3C, - 0x22,0xC2,0xD0,0x77,0xC6,0x24,0x09,0x47,0x5D,0x6E,0xFD,0x8D,0x40,0xB7,0x70,0xAA, - 0x68,0xE1,0x51,0x64,0x71,0xD9,0xB2,0x65,0x01,0x9B,0x1C,0xC1,0xC5,0xEC,0x66,0x32, - 0xD2,0xBB,0xEB,0x86,0xF6,0xE2,0xE9,0x9D,0xF6,0xB8,0xB8,0x5F,0x30,0xF5,0xEC,0x9E, - 0x80,0xA8,0xB3,0x6E,0xF5,0xAA,0x55,0xD4,0x2D,0x36,0x56,0x9C,0xED,0x44,0xF7,0x0C, - 0x21,0xFA,0xFA,0x0D,0xFB,0xA2,0xC6,0x18,0xF5,0x8B,0x77,0x12,0x3D,0x31,0x83,0x84, - 0xC6,0xD3,0x62,0xF4,0x7A,0xEB,0xD6,0xAD,0x01,0xFD,0xA1,0x9B,0xFE,0xF8,0x7F,0x7C, - 0x52,0x20,0xAC,0xD9,0x6E,0x18,0x6C,0x37,0xF2,0xD7,0xDF,0x5C,0x48,0x23,0xFB,0xC7, - 0xF3,0xAB,0xD2,0x09,0x56,0xFD,0xB0,0x5D,0x58,0xBC,0xB2,0x99,0xB5,0x38,0x52,0xA2, - 0x23,0x74,0xB4,0x60,0x46,0x04,0x5D,0x3C,0x6E,0xB8,0xE9,0xDA,0xC2,0x4A,0x8F,0x73, - 0xE6,0xCC,0xA1,0xDD,0xBB,0x25,0x05,0xC1,0x31,0x69,0x02,0xA5,0x81,0xFA,0x8E,0x30, - 0xCC,0x57,0x86,0x3B,0x5D,0x59,0x6C,0x10,0x3D,0xB6,0xF5,0xA0,0xA8,0xE2,0x83,0x0F, - 0x3E,0x48,0xCF,0x3F,0xFF,0x7C,0xC0,0x5F,0xA7,0x36,0xC5,0xFC,0xC2,0xBD,0x03,0x69, - 0x48,0x1F,0x8B,0x49,0xE0,0x1C,0x55,0xEC,0x3D,0x90,0x2F,0x2C,0x5B,0x5F,0x45,0x3B, - 0x8E,0xF2,0xCC,0x3A,0x4B,0x6E,0xB9,0x24,0x8C,0xA6,0x8C,0xE9,0x49,0xDD,0x53,0x53, - 0xAC,0xAE,0x2D,0xD4,0x22,0x7F,0xE5,0x95,0x57,0xEC,0xCE,0x7A,0x8A,0xD5,0x5B,0xF2, - 0x59,0xB3,0x66,0xD1,0x73,0xCF,0x3D,0x27,0xD6,0x31,0x67,0xBB,0x03,0x1A,0x2E,0x66, - 0x0F,0xF2,0xD3,0xA6,0x1D,0xC2,0x8B,0x5F,0x37,0xD3,0x39,0x77,0xAF,0x78,0xE1,0xC3, - 0x64,0x26,0xE8,0xE8,0xEE,0x69,0x51,0x34,0x7A,0xE4,0x45,0x36,0xAF,0x2B,0x14,0x7D, - 0x58,0xBD,0x7A,0xB5,0x58,0x79,0xB3,0xA2,0xA2,0x42,0xFC,0x39,0x7A,0xF4,0x68,0xF1, - 0x39,0xF4,0x8D,0x03,0x71,0xE8,0xC9,0x1E,0xA6,0x0F,0xE4,0x91,0xD7,0xF7,0x09,0x7B, - 0x8E,0x98,0x67,0xE3,0x70,0x31,0xBB,0xC6,0xC9,0x92,0x52,0xE1,0xEB,0xDC,0x93,0xB4, - 0xFC,0x67,0x3E,0x52,0x60,0xE4,0x91,0xAB,0xC3,0x69,0xEA,0xC4,0x91,0xFC,0x9A,0xF2, - 0x00,0x3C,0x00,0xE6,0x41,0x10,0x0C,0x1B,0x75,0x41,0x34,0x0D,0xEA,0x11,0xCC,0xF6, - 0x04,0x36,0xB3,0xC7,0x86,0x53,0x4E,0x76,0x77,0xD6,0xE2,0xB8,0x1B,0x6E,0x99,0xBD, - 0xC0,0xE6,0x9F,0x77,0x09,0x6F,0xAD,0x39,0x4B,0x65,0xB5,0xFE,0xED,0x6E,0x23,0xB0, - 0x95,0x93,0x4A,0x94,0x95,0x11,0x42,0x3D,0xE2,0x75,0x94,0x10,0xD1,0x11,0x2F,0x28, - 0x3F,0x17,0x44,0x49,0x5D,0xC3,0x69,0xFC,0xF0,0x21,0xFC,0x7A,0xF2,0x10,0x36,0xC5, - 0xFC,0xEE,0xC2,0x61,0xD4,0x23,0x25,0x92,0x7F,0xF8,0x6E,0xE0,0x87,0xDC,0x5F,0x84, - 0xD7,0xBE,0x6D,0xA2,0x06,0x3F,0x5C,0x06,0x1B,0x2B,0x7A,0x8C,0xBA,0x20,0x88,0xFA, - 0x67,0x87,0xD2,0xDE,0xF3,0x5D,0x68,0xD3,0xF9,0x18,0xDA,0xDF,0xDA,0x85,0xCA,0xDA, - 0x3A,0xB2,0xE1,0x06,0x86,0x9E,0xA3,0x9C,0x90,0x26,0xBA,0xBA,0xEB,0x59,0xEA,0x1D, - 0xD2,0x4C,0x17,0xF4,0xCC,0x10,0xA7,0x8E,0xB2,0xA7,0x39,0x6E,0xC0,0xA6,0x9B,0x1D, - 0xC6,0x67,0x0D,0xB8,0x8D,0x4B,0x27,0x0C,0xD7,0xDD,0x35,0x25,0xDC,0xEF,0x26,0x62, - 0x60,0xDA,0xE7,0x0D,0x97,0x85,0x51,0x61,0x7A,0x02,0xFD,0xBA,0xBE,0x17,0x3D,0xD5, - 0x90,0x4E,0x6B,0x9B,0xBA,0x9A,0x09,0x19,0x40,0xDC,0xCB,0xCF,0xC5,0xD1,0xDC,0x8A, - 0x74,0xBA,0xA1,0x3C,0x93,0x96,0x1C,0xAE,0xA1,0xAD,0x07,0x0E,0xF3,0xC8,0xA0,0x1B, - 0xE1,0x6A,0xF5,0x22,0xC3,0x06,0xF4,0xA4,0x5B,0x27,0x85,0xF9,0x8D,0xA0,0x91,0x18, - 0x73,0xDD,0xA5,0x5D,0xE8,0xF1,0xA6,0x1E,0xF4,0xF6,0xD9,0x64,0x3A,0xD3,0xAE,0xEE, - 0x0F,0x83,0xD0,0x17,0x56,0xA7,0xD2,0x13,0x25,0x51,0xB4,0x61,0xE7,0x3E,0x2E,0x68, - 0x37,0x61,0xFA,0xF4,0x1B,0xCE,0xB1,0xE5,0x33,0x39,0x1E,0x23,0x35,0x25,0x49,0x37, - 0xE1,0xA2,0x1E,0x74,0xF7,0xB4,0x2E,0x1E,0x5A,0x6C,0xCE,0x7B,0xC0,0x22,0x5F,0x39, - 0x21,0x82,0xEE,0x3A,0x93,0x4D,0x85,0x6D,0xCE,0xAD,0xE3,0xBD,0xEE,0x6C,0x34,0x2D, - 0x28,0x4F,0xA0,0xDC,0xBD,0x87,0xB8,0xA0,0xDD,0x80,0x44,0xCC,0x1D,0x2B,0xD6,0x73, - 0x3C,0x47,0x66,0x46,0xAA,0x6E,0xFC,0xB0,0x6C,0xBA,0x77,0x7A,0x84,0x18,0x30,0xF2, - 0x45,0xE0,0x59,0x5C,0x3F,0x29,0x9C,0x1E,0x6D,0xC8,0x50,0x6D,0x8D,0x95,0xD8,0xD9, - 0x12,0x49,0xAF,0x9F,0xEA,0x42,0xBB,0xF2,0x8F,0x71,0x41,0xBB,0x88,0x6B,0xDF,0x04, - 0xC7,0x29,0x92,0x12,0xE3,0x75,0x97,0x4F,0x1A,0xAE,0xFB,0xDD,0x95,0x11,0x3E,0x59, - 0x6A,0x68,0x74,0xBF,0x60,0xFA,0xA9,0xAD,0xAB,0xD3,0x16,0xD9,0x92,0x8F,0x1B,0x62, - 0xA9,0xB8,0xD6,0x5E,0x3D,0x20,0x8E,0x3D,0x6C,0x8A,0x39,0x35,0xC1,0x47,0x4D,0x87, - 0x8F,0x80,0xA0,0xD8,0xFD,0x57,0x46,0x52,0x9F,0x54,0xDF,0xF9,0x98,0xD1,0x3D,0x18, - 0x7D,0x41,0x30,0xBD,0x75,0xD6,0x7E,0x05,0x43,0xD9,0x35,0xA1,0x14,0x78,0xAA,0x3A, - 0x89,0x36,0xEF,0x39,0xC0,0xAD,0xB3,0x0B,0x70,0xCB,0xDC,0xC9,0x4C,0x18,0x3B,0x4C, - 0x77,0xC7,0xD4,0x6E,0x62,0xBE,0xB2,0x2F,0xF4,0xA3,0xFB,0x75,0x27,0xDA,0xDA,0x1C, - 0x45,0x2D,0x6E,0xBE,0x74,0xE0,0x6E,0x37,0x36,0xF1,0x89,0x29,0xAE,0xC0,0xC5,0xAC, - 0x01,0x46,0x0C,0x1D,0xA8,0xC3,0xC4,0x83,0x87,0x66,0x86,0x6B,0xDE,0x4A,0xE7,0x64, - 0x85,0xD2,0x8F,0xE7,0x55,0x2E,0x86,0xEE,0x20,0xDF,0x9F,0x8B,0x09,0xD8,0xB5,0x95, - 0xDD,0x01,0x17,0xB3,0x46,0xC0,0x0C,0xA2,0x4B,0xC6,0x8F,0x10,0xAD,0xF4,0xFC,0xCB, - 0xC3,0x35,0x1B,0x1C,0x4B,0xEB,0x4A,0x94,0xDF,0xEA,0x9E,0xBE,0xB2,0x25,0xFB,0x9A, - 0xC3,0xE8,0x54,0x7D,0x23,0x6B,0x71,0x1C,0xC5,0x24,0xE6,0x8A,0x9A,0xC0,0x5B,0x9B, - 0x47,0x8B,0xC0,0x4A,0x5F,0x73,0xF9,0x48,0x1D,0xAC,0xF4,0xEC,0xB1,0xA1,0x9A,0x2B, - 0x41,0xD4,0x2D,0x5C,0xA0,0xEA,0x36,0xCF,0xE4,0x9A,0xE3,0x7D,0xCF,0xB5,0xF0,0x05, - 0x0C,0x9D,0x85,0x5B,0x66,0x8D,0x32,0x7E,0xEC,0x08,0xDD,0xAF,0x2E,0xEE,0x49,0xF7, - 0x5D,0x19,0x29,0x5A,0xEA,0xCE,0x74,0xBF,0x31,0x14,0x35,0x34,0x4B,0x47,0x7F,0xB8, - 0x26,0x9C,0x74,0xFA,0xD3,0x70,0x77,0x7F,0xD9,0x08,0xDE,0xB7,0xBD,0x9D,0xCF,0xFF, - 0x76,0x16,0x2E,0x66,0x0D,0x93,0x9A,0x9A,0xAA,0x1B,0x3B,0x7A,0x98,0x68,0xA9,0xE1, - 0x7E,0x43,0x4C,0xFD,0x2D,0xD7,0x2B,0xF6,0x30,0x97,0x0F,0x09,0xA1,0xC7,0xAF,0x0D, - 0xA3,0x5B,0xA7,0x24,0xD1,0xA5,0x17,0x8F,0xD4,0x51,0x50,0x30,0xC5,0x04,0x79,0x46, - 0x70,0x78,0xDF,0xD0,0x10,0xBE,0x90,0x80,0xB3,0x28,0x5E,0x19,0xBC,0x00,0xBE,0xB6, - 0x80,0xFB,0x0D,0x31,0x5D,0x3B,0xDA,0x7B,0x17,0x3B,0x56,0xB6,0xBC,0x78,0x40,0x04, - 0x4D,0x18,0x37,0x4A,0x37,0xF0,0xC2,0xBE,0xA2,0x6B,0xD0,0x1E,0x1C,0x42,0xF1,0x3A, - 0xCF,0xB8,0xC2,0x78,0xDF,0xC8,0x70,0x7E,0xDD,0x39,0x8B,0xA2,0x98,0x79,0x01,0x7C, - 0x8E,0x88,0xCE,0xFC,0x3A,0x88,0xEF,0xD6,0x8D,0x86,0x85,0x9D,0x65,0x2D,0xF7,0x32, - 0x29,0xAA,0x89,0x52,0x62,0x79,0x9D,0x62,0x67,0xE1,0x8A,0xE5,0x38,0xC4,0x80,0x3E, - 0xD9,0x3A,0x4C,0x63,0x74,0x37,0x61,0xD4,0x4E,0x43,0x42,0x1B,0x29,0x31,0x31,0x51, - 0xDB,0x63,0x73,0x1A,0x86,0x8B,0x99,0xE3,0x30,0x7D,0xC2,0xDB,0xA8,0x6F,0xA8,0xFD, - 0x04,0x8F,0xB7,0xB7,0x9F,0x16,0xD7,0x88,0x62,0x4D,0x9B,0xDC,0x10,0x7D,0x9A,0x92, - 0x51,0x10,0x9F,0xE3,0x34,0xA2,0x98,0xCB,0xAB,0xFD,0x70,0xC6,0x3C,0xC7,0x63,0x5C, - 0x98,0x95,0x41,0x0F,0xC5,0x55,0xB3,0x96,0xEB,0xC0,0x2A,0xDF,0x1E,0x53,0x4B,0x17, - 0xF6,0xEA,0xC9,0xAD,0xB2,0x0B,0x70,0xCB,0xCC,0x71,0x98,0xF8,0xF8,0x78,0xDD,0x90, - 0x6E,0xC1,0x34,0x25,0xB2,0x81,0xED,0x71,0x8D,0xA7,0x13,0xAB,0xA8,0x57,0x46,0x1A, - 0x6B,0x71,0x9C,0x85,0x8B,0x99,0xE3,0x14,0x63,0x06,0x5C,0xA0,0xFB,0x53,0x62,0xAD, - 0xCB,0xC1,0xB0,0xDF,0x75,0xAD,0xA2,0x19,0x69,0x61,0x94,0x9D,0xCE,0x6B,0x5F,0xBB, - 0x8A,0xA2,0x98,0x53,0xE3,0x3D,0x93,0xB2,0xC7,0xF1,0x1F,0x26,0x0E,0x1B,0xA4,0xFB, - 0x67,0xC6,0x69,0xBA,0x39,0xBA,0x8E,0xED,0x51,0x0F,0x5C,0xEB,0xE7,0x12,0x4F,0xD1, - 0x3D,0x3D,0x43,0x68,0x50,0xEF,0x2C,0x2E,0x64,0x37,0xC0,0x2D,0x33,0xC7,0x25,0x26, - 0x0C,0xEE,0xAF,0x7B,0xA4,0x47,0x3B,0x7D,0x9E,0x5A,0x24,0x16,0xED,0x53,0xC3,0x0D, - 0x51,0x75,0xB4,0x2A,0xED,0x04,0xDD,0x94,0x1D,0xC3,0x85,0xEC,0x46,0xB8,0x98,0x39, - 0x2E,0x33,0xB4,0x6F,0x2F,0xDD,0xEC,0x31,0x83,0x75,0x6F,0x76,0xAF,0xA2,0xB5,0x69, - 0xC7,0xE8,0xE9,0xF8,0x53,0x74,0x55,0x97,0xD3,0xA2,0x0B,0x6E,0x7C,0xDC,0x16,0x55, - 0x4D,0xAF,0x24,0x96,0xD1,0xE6,0xB4,0x7C,0x7A,0x22,0xAB,0x9D,0x2E,0x1B,0x3D,0x4C, - 0xC7,0x5D,0x6B,0xF7,0x22,0x8A,0x99,0xD7,0xFF,0xE2,0xB8,0x83,0x09,0x43,0x07,0xE9, - 0xA6,0xEA,0x45,0x7A,0x4F,0xDF,0xAE,0xF4,0xB7,0xAC,0x56,0x7A,0x2D,0xBD,0xD6,0xF4, - 0x78,0xAA,0x6F,0x28,0xFD,0x5F,0xBF,0x24,0x1A,0x37,0x7A,0x94,0x6E,0x70,0x4E,0x2F, - 0x2E,0x62,0x0F,0x20,0x8A,0xB9,0xB1,0x89,0x8B,0x99,0xE3,0x3E,0x90,0x53,0x3E,0xE4, - 0x82,0x3E,0xBA,0x71,0x43,0x06,0x98,0x1E,0xBD,0x7A,0xF6,0xD0,0xF1,0x84,0x10,0xCF, - 0xC2,0xDD,0x6C,0x0E,0xC7,0x4F,0xE0,0x62,0xE6,0x70,0xFC,0x04,0x45,0x31,0xA7,0xC4, - 0x45,0xB0,0x2D,0x0E,0x87,0xE3,0x0B,0x88,0x7D,0x98,0x3D,0x47,0xEA,0x84,0x47,0x5E, - 0xDF,0x2F,0xEE,0x30,0x32,0x6D,0x64,0x0A,0x3D,0x3C,0x27,0x87,0xF7,0x71,0x34,0xC6, - 0x4F,0x9B,0xB6,0x09,0x1F,0xFE,0xE4,0x9D,0x6A,0x1C,0x58,0xB1,0xE2,0xAA,0x91,0xD1, - 0x34,0x6A,0xF8,0x60,0x7E,0x1D,0xF8,0x00,0x5C,0xCC,0x3E,0xC6,0xEE,0xBD,0x07,0x84, - 0x96,0x56,0xEF,0x2D,0x58,0x90,0x10,0xDF,0x8D,0x7A,0x67,0xF3,0x9C,0x69,0x5F,0x80, - 0x8B,0x99,0xC3,0xF1,0x13,0x78,0x00,0x8C,0xC3,0xF1,0x13,0xB8,0x98,0x39,0x1C,0x3F, - 0x81,0x8B,0x99,0xC3,0xF1,0x13,0x44,0x31,0x97,0xD7,0xF0,0x65,0x41,0x38,0x1C,0x5F, - 0x87,0x5B,0x66,0x0E,0xC7,0x4F,0xE0,0x62,0xE6,0x70,0xFC,0x04,0x2E,0x66,0x0E,0xC7, - 0x4F,0xE0,0x62,0xE6,0x70,0xFC,0x04,0x2E,0x66,0x0E,0xC7,0x4F,0xE0,0x62,0xE6,0x70, - 0xFC,0x04,0x45,0x31,0xC7,0x75,0x0D,0x65,0x5B,0x1C,0x0E,0xC7,0x17,0x50,0x14,0x73, - 0x68,0x30,0x4F,0xCB,0xE6,0x70,0x7C,0x09,0xEE,0x66,0x73,0x38,0x7E,0x02,0x17,0x33, - 0x87,0xE3,0x27,0x70,0x31,0x73,0x38,0x7E,0x02,0x17,0x33,0x87,0xE3,0x27,0x70,0x31, - 0x73,0x38,0x7E,0x82,0x28,0xE6,0xDA,0xFA,0x16,0xB1,0xC1,0xE1,0x70,0x7C,0x17,0x51, - 0xCC,0x2D,0xE7,0xDB,0xC5,0x06,0x87,0xC3,0xF1,0x5D,0xB8,0x9B,0xCD,0xE1,0xF8,0x09, - 0x5C,0xCC,0x1C,0x8E,0x9F,0xC0,0xC5,0xCC,0xE1,0xF8,0x09,0x5C,0xCC,0x1C,0x8E,0x9F, - 0xC0,0xC5,0xCC,0xE1,0xF8,0x09,0x5C,0xCC,0x1C,0x8E,0x9F,0xC0,0xC5,0xCC,0xE1,0xF8, - 0x09,0x5C,0xCC,0x1C,0x8E,0x9F,0xC0,0xC5,0xCC,0xE1,0xF8,0x09,0x5C,0xCC,0x1C,0x8E, - 0x9F,0xC0,0xC5,0xCC,0xE1,0xF8,0x09,0x5C,0xCC,0x1C,0x8E,0x9F,0xC0,0xC5,0xCC,0xE1, - 0xF8,0x09,0x5C,0xCC,0x1C,0x8E,0x9F,0xC0,0xC5,0xCC,0xE1,0xF8,0x09,0x5C,0xCC,0x1C, - 0x8E,0x9F,0xC0,0xC5,0xCC,0xE1,0xF8,0x09,0x5C,0xCC,0x1C,0x8E,0x9F,0xC0,0xC5,0xCC, - 0xE1,0xF8,0x09,0x5C,0xCC,0x1C,0x8E,0x9F,0x20,0x8A,0x39,0x25,0x3E,0x42,0x6C,0x70, - 0x38,0x1C,0xDF,0x85,0x5B,0x66,0x0E,0xC7,0x4F,0xE0,0x62,0xE6,0x70,0xFC,0x04,0x2E, - 0x66,0x0E,0xC7,0x4F,0x50,0x14,0xF3,0xA9,0x5A,0xBE,0xCA,0x05,0x87,0xE3,0x4B,0x88, - 0x2B,0xAA,0x7F,0xB7,0xAD,0x42,0x78,0x71,0x59,0x81,0xB8,0xC3,0xC8,0xB4,0x91,0x29, - 0xF4,0xF0,0x9C,0x1C,0x9F,0x5B,0x71,0x7D,0xCF,0x91,0x3A,0x81,0x6D,0x72,0xBC,0x4C, - 0x4A,0x5C,0x04,0xA5,0x26,0x44,0xF0,0x55,0xFA,0x3B,0x09,0xBF,0x13,0xF3,0xB4,0xDF, - 0xE7,0x72,0x31,0x77,0x12,0xB7,0x4C,0xCB,0xA4,0xDB,0xA6,0xF7,0xF4,0xC8,0x35,0x53, - 0x5C,0x5C,0xEC,0xB1,0xEF,0x35,0x24,0x24,0x84,0xD2,0xD2,0xD2,0x7C,0xFE,0x26,0xC4, - 0xC5,0xCC,0x71,0x1B,0x9E,0x12,0xF3,0xFE,0x83,0xF9,0xC2,0x8E,0xBC,0x6A,0x2A,0xAB, - 0xF5,0xCC,0x57,0x3B,0x3A,0x27,0x98,0x2E,0xBD,0x64,0xB4,0x7F,0x88,0x79,0xFB,0xA1, - 0x1A,0xE1,0x8F,0xEF,0x1C,0x14,0x77,0x18,0xF1,0x07,0x31,0xE3,0xE2,0xE2,0x78,0x96, - 0x7D,0xC7,0xEA,0xF5,0x5D,0x9B,0xD3,0xE2,0xB6,0x27,0xC5,0xBC,0x74,0x5D,0x25,0xED, - 0x3A,0xE1,0x19,0x31,0xDF,0x77,0x65,0x38,0xCD,0x9C,0x32,0xD2,0x3F,0xC4,0x8C,0x7E, - 0xE6,0x23,0xAF,0xEF,0x17,0x77,0x18,0xF1,0x07,0x31,0xAF,0x79,0x69,0x82,0xCF,0x7F, - 0x41,0x5A,0xE7,0x83,0xD5,0x85,0xC2,0x87,0x6B,0x8A,0xC5,0x6D,0x2E,0xE6,0xCE,0x85, - 0x0F,0x4D,0x71,0x38,0x7E,0x02,0x17,0x33,0x87,0xE3,0x27,0x28,0x8A,0xB9,0xE1,0xDC, - 0x79,0xB6,0xC5,0xE1,0x70,0x7C,0x01,0x45,0x31,0x37,0x36,0xF9,0xBE,0x98,0x11,0x0B, - 0xB0,0xF7,0x60,0x87,0x72,0x38,0x3E,0x8F,0x9F,0xBA,0xD9,0x3A,0xD2,0xE9,0x88,0x10, - 0x98,0xB1,0xF7,0xF8,0x71,0xE7,0x29,0x2E,0x68,0x8E,0x5F,0xE0,0xA7,0x62,0x16,0x48, - 0xD0,0x4B,0xF4,0x85,0x7B,0x07,0xE9,0xEC,0x3D,0x26,0x0F,0x4B,0xE6,0x11,0x6F,0x8E, - 0x5F,0x20,0x8A,0x39,0x34,0xC4,0x4F,0x35,0xCD,0xE1,0x04,0x10,0xA2,0x8A,0xE3,0x63, - 0xC2,0xC4,0x06,0x87,0xC3,0xF1,0x5D,0xB8,0x49,0xE6,0x70,0xFC,0x04,0x2E,0x66,0x0E, - 0xC7,0x4F,0x50,0x14,0x73,0x4B,0x6B,0x3B,0xDB,0xE2,0x70,0x38,0xBE,0x80,0xA2,0x98, - 0x6B,0xCE,0xB4,0xB2,0x2D,0x0E,0xA7,0x73,0xA8,0xA9,0xA9,0x11,0xB6,0xFD,0xB2,0x57, - 0x28,0xAB,0x3C,0x4D,0xC7,0x2B,0x3D,0x37,0x82,0xB8,0xFD,0x48,0x1B,0xE5,0x6E,0xDE, - 0x26,0xE4,0xE5,0x1F,0xF5,0xE9,0x61,0x4A,0x71,0x58,0xA6,0xBC,0xBA,0x49,0xB8,0xED, - 0xAF,0x3B,0xC4,0x1D,0x46,0x50,0xB1,0x73,0xE9,0x13,0x23,0x7C,0x6E,0xD8,0x46,0x3A, - 0xD1,0xE2,0x85,0x7B,0x07,0xB2,0x2D,0xD7,0x89,0x8B,0x09,0xA3,0x1E,0x29,0x91,0x7C, - 0x18,0xCB,0x02,0x4F,0x4C,0xB4,0x38,0x75,0xEA,0x94,0x70,0xE4,0x58,0x11,0x95,0xD4, - 0x08,0xB4,0x76,0x4F,0x0B,0x9D,0xF0,0xA0,0x90,0x8D,0x60,0x40,0xE7,0xA2,0x6C,0x1D, - 0x5D,0x3E,0x24,0x94,0xBA,0x76,0x8D,0xA1,0xA1,0x83,0xFB,0xFB,0xDC,0x77,0x6D,0x3A, - 0x61,0xCB,0x79,0xC0,0xBE,0x2D,0x66,0x24,0x8D,0x08,0x34,0xB8,0x77,0x37,0xB6,0xD7, - 0x75,0x20,0xE6,0xC7,0x6F,0xBD,0x80,0x8B,0xD9,0x02,0x77,0x8B,0x79,0xF3,0xCF,0xBB, - 0x84,0xFC,0xD2,0x56,0xFA,0x76,0x67,0x0B,0xD5,0x35,0xB2,0x9D,0x5E,0xA6,0x7F,0x7A, - 0x10,0x4D,0x1F,0x1A,0x4A,0xE9,0x29,0xDD,0x68,0xF0,0x80,0xBE,0x3E,0xF3,0x9D,0x2B, - 0x8A,0x19,0x17,0xEF,0x7F,0x9F,0x1E,0xE5,0xA3,0x62,0x36,0xC0,0xA7,0x40,0x7A,0x1E, - 0x77,0x89,0x79,0xEF,0x81,0x7C,0xA1,0xB0,0xEC,0x34,0x7D,0xB2,0xB1,0x99,0xAA,0xCE, - 0xB0,0x9D,0x9D,0xCC,0x88,0xDE,0x7A,0x51,0x5F,0x14,0x46,0x7D,0x7A,0x67,0x52,0xF7, - 0xD4,0x14,0xCD,0x5F,0x4B,0x8A,0x7D,0xE6,0xDA,0x33,0xBC,0xA0,0x1F,0xC7,0x3B,0x6C, - 0xDC,0xFC,0x8B,0xB0,0x6C,0x7D,0x15,0xBD,0xFA,0xAD,0x76,0x84,0x0C,0x76,0x1C,0x6D, - 0xA7,0x17,0xBF,0x6E,0xA6,0x75,0x5B,0x0B,0x69,0xC7,0xAE,0xFD,0x9E,0xF7,0xF5,0x5D, - 0x84,0x0F,0x4D,0x71,0x3A,0x8D,0x43,0xF9,0xC7,0x85,0xE5,0xDF,0x6D,0x17,0x16,0xAF, - 0x6C,0x12,0x85,0xA3,0x45,0xCE,0xB5,0x08,0xF4,0xE1,0x4F,0x2D,0xF4,0xDE,0xDA,0xD3, - 0xF4,0xD3,0xA6,0x1D,0x9A,0x16,0xB4,0x49,0xCC,0x7C,0x89,0x1A,0x8E,0x37,0xD9,0xBD, - 0xEF,0xB0,0xF0,0xCD,0x96,0x53,0xF4,0xC6,0x77,0xCD,0xD4,0xD0,0xA4,0x79,0xA3,0x47, - 0x47,0xCA,0x05,0xD1,0x4A,0x7F,0xFB,0xC3,0x0E,0xE1,0x54,0x65,0xB5,0x26,0x4F,0x98, - 0x5B,0x66,0x8E,0xD7,0xD9,0xF6,0xCB,0x01,0xE1,0xCB,0x4D,0xB5,0xB4,0x66,0x8F,0x6F, - 0x0D,0x7F,0xC2,0x4A,0xBF,0xF6,0x6D,0x13,0x6D,0xDC,0x71,0x9C,0x0A,0x8B,0x4B,0x35, - 0x27,0x68,0x9B,0x62,0xC6,0x90,0x15,0xDB,0xE4,0x70,0xDC,0x42,0xEE,0xCF,0xBB,0x85, - 0x8F,0xD6,0x9F,0xA6,0xAD,0xF9,0xBE,0x39,0x5F,0xFE,0xBC,0xBE,0x37,0xF0,0xD6,0xDA, - 0x26,0xFA,0x61,0x7B,0x09,0xE5,0xE5,0x7B,0xA8,0x28,0x99,0x93,0x70,0xCB,0xCC,0xF1, - 0x1A,0x18,0x76,0x7A,0x67,0x4D,0x23,0x1D,0x2A,0xF1,0xFD,0xEC,0xC2,0x4F,0x72,0x9B, - 0xE9,0x87,0x9D,0xA7,0xE8,0xC8,0xB1,0x22,0xCD,0x08,0xDA,0x24,0xE6,0xD4,0xF8,0x70, - 0xB6,0xE5,0x3F,0xC8,0x55,0x16,0xB1,0x7C,0xB0,0x43,0x39,0x1E,0xE6,0x97,0xDD,0x07, - 0x85,0x2F,0xB6,0x34,0x79,0xAC,0xF6,0x75,0x67,0xB0,0x62,0x5B,0x0B,0xED,0x39,0x7C, - 0x8A,0xB4,0xD2,0x87,0xB6,0x69,0x99,0x2B,0x6A,0x9B,0xD8,0x96,0x6F,0x81,0x01,0x41, - 0xB5,0x95,0x46,0x36,0xED,0xAB,0xE2,0x82,0xF6,0x30,0x05,0x47,0x4F,0x08,0x3F,0xED, - 0x3B,0x43,0xFB,0x8A,0xDA,0xD8,0x1E,0xFF,0xE1,0xDF,0xDF,0x37,0xD1,0xBE,0x43,0xC7, - 0x59,0xAB,0x73,0x31,0x0D,0x84,0x3F,0xFE,0xF6,0x01,0x61,0x47,0x5E,0x2D,0x6B,0x19, - 0x40,0x3A,0xE4,0x90,0x3E,0xB1,0x9A,0x1F,0x2C,0x97,0xC2,0x93,0x46,0xBC,0x8B,0xBD, - 0xA4,0x11,0x58,0x2D,0x04,0x8C,0xD0,0xCF,0xF4,0x57,0x62,0xA3,0x88,0xEE,0xBF,0x32, - 0x92,0x26,0x8C,0x1D,0xD6,0xA9,0xD7,0x9B,0xC9,0x32,0xCB,0x15,0x28,0xE0,0x33,0xA7, - 0x38,0xAE,0x72,0xF0,0xF0,0x71,0xD1,0x7A,0xF9,0x33,0x48,0x3B,0xFD,0x78,0xE3,0xB9, - 0x4E,0x4F,0x2C,0xB1,0xE9,0x66,0xF3,0x99,0x53,0x1C,0x57,0xD8,0xB5,0xF7,0x90,0xB0, - 0xFC,0xE7,0x16,0x31,0x02,0xEC,0xEF,0x60,0x1C,0xFA,0x78,0xD9,0x39,0x71,0xA6,0x17, - 0xDB,0xE5,0x75,0x4C,0x62,0x8E,0xEA,0x12,0xCC,0xB6,0x38,0x1C,0xD7,0xC1,0x45,0x7D, - 0xE4,0x64,0x83,0x5F,0x44,0xAE,0xD5,0xF2,0x49,0x6E,0x0B,0x1D,0x3A,0x7C,0x8C,0xB5, - 0xBC,0x4F,0x87,0x98,0x23,0xAC,0xC5,0xDC,0xC8,0x0B,0xE1,0x73,0x9C,0xE4,0x50,0xFE, - 0x71,0xFA,0x6C,0x4B,0x33,0x6B,0x05,0x06,0xC8,0x64,0xCB,0xCD,0x3B,0x4F,0xF9,0x47, - 0x8E,0x77,0x8A,0x75,0xB6,0xE9,0x66,0xF3,0x55,0x2D,0x38,0xCE,0x80,0x8B,0x39,0xF7, - 0x50,0x6B,0xA7,0x4D,0x61,0xEC,0x4C,0x36,0x1C,0x38,0x4F,0xC7,0x4F,0x56,0xB3,0x96, - 0x77,0x31,0x89,0x19,0x53,0x1E,0x39,0x1C,0x77,0x50,0x55,0x55,0x29,0x5E,0xD4,0x81, - 0x08,0xE2,0x03,0x3F,0xEC,0x6D,0x16,0x57,0xAE,0x64,0xBB,0xBC,0x86,0x49,0xCC,0x61, - 0xA1,0xD6,0x46,0xBA,0xAE,0xC1,0xB7,0x03,0x60,0x72,0x49,0x22,0xCE,0x3E,0xF4,0xFD, - 0xBF,0x4E,0x8D,0x54,0xFA,0x0A,0x27,0x4B,0x4A,0x85,0x3D,0x85,0x86,0x8B,0x3A,0x50, - 0xD9,0x57,0x24,0x50,0x4D,0xAD,0x61,0xCD,0x6A,0x6F,0x62,0x1A,0x17,0xC3,0x32,0x2D, - 0xCF,0x7D,0x98,0xCF,0x5A,0x06,0x7C,0x71,0x8D,0x66,0x8C,0x33,0x8B,0x27,0xAC,0xFF, - 0xCF,0x9D,0x95,0x46,0xA2,0x22,0x42,0xE8,0xA9,0x3B,0x7C,0xAF,0x94,0x8C,0xA7,0xB1, - 0x1C,0x67,0xEE,0x9B,0x50,0x43,0x6F,0xAC,0x3E,0xEB,0x57,0x99,0x5E,0xCE,0x70,0xCD, - 0xE8,0x30,0x9A,0x39,0x21,0x83,0x32,0xD2,0xBB,0x7B,0xED,0x9A,0x31,0xFD,0x22,0x58, - 0x1F,0xCB,0x05,0xD7,0xC7,0x0D,0x4C,0xF0,0xB9,0x0B,0x98,0x27,0x8D,0x78,0x17,0xA9, - 0x98,0x6F,0x98,0x94,0x42,0xE9,0xD1,0x75,0xB4,0x78,0x65,0x60,0x05,0xBE,0xE4,0x48, - 0x8C,0xC1,0x22,0xEE,0x91,0x34,0x76,0xB4,0xF7,0x12,0x49,0x6C,0x06,0xC0,0xFC,0x61, - 0x25,0x48,0x8E,0xF7,0x38,0x5D,0xDF,0x40,0xEB,0xF7,0xF3,0x0A,0x35,0x00,0x15,0x53, - 0xAA,0xCE,0x78,0x37,0x7D,0xD5,0x24,0xE6,0x94,0x38,0xEB,0xE2,0x04,0x3C,0x03,0x8C, - 0xE3,0x08,0xCD,0xCD,0x4D,0x94,0x57,0xCA,0x1A,0x1C,0xDA,0x71,0xA4,0x95,0x8E,0x1C, - 0xF5,0xDE,0x30,0x95,0x4D,0xCB,0xCC,0x33,0xC0,0x38,0x8E,0xD0,0xA2,0x77,0xE4,0x30, - 0x81,0x9F,0x63,0x00,0x25,0x82,0xAB,0x6A,0xEA,0x58,0xCB,0xF3,0x98,0xC4,0x9C,0x9A, - 0x10,0xC1,0xFB,0x97,0x1C,0x97,0xA8,0x3E,0xC3,0x85,0x2C,0x05,0x41,0x40,0xA1,0xCD, - 0x7B,0xDD,0x0E,0x9B,0x96,0xB9,0xA2,0xC6,0xBF,0x13,0xE4,0x39,0xEE,0xE5,0xF4,0x59, - 0xDE,0x2D,0xB3,0xA4,0xAA,0xC1,0xA6,0xC4,0xDC,0x8A,0xD9,0x6F,0x8A,0xEE,0x12,0xC2, - 0xB6,0x38,0x1C,0xC7,0x71,0x3A,0xE3,0x6B,0x58,0x3F,0x71,0xE4,0xC1,0xF2,0xF1,0xEE, - 0x15,0x51,0xEC,0x00,0xDF,0xE5,0x50,0xF1,0x79,0x3A,0x51,0xE8,0x9D,0x6A,0x24,0x66, - 0x62,0x8E,0xF2,0x33,0x31,0x5B,0x26,0x7E,0xC8,0x3D,0xD8,0xA1,0x1C,0x37,0xD0,0xE4, - 0x62,0x88,0x65,0xD9,0x0B,0xB9,0x02,0x86,0x16,0xC5,0xC7,0x87,0x55,0x42,0x8F,0xA9, - 0x43,0x75,0xAB,0xE7,0x26,0xB2,0x67,0x7D,0x93,0x13,0x95,0xED,0xFA,0x7E,0x73,0x3D, - 0x6B,0x79,0x16,0x33,0x31,0xC7,0xC7,0x84,0xB2,0xAD,0x0E,0x8A,0x2A,0xCE,0xFA,0xE0, - 0x05,0x8F,0xE5,0x69,0xD4,0x55,0x1A,0x41,0xB2,0x0C,0x7B,0x11,0x47,0x4B,0xEC,0xCC, - 0xA3,0x45,0x7B,0x05,0x21,0x68,0x70,0x3F,0xDD,0x65,0x6C,0x97,0x2F,0x72,0xBE,0x8D, - 0xA8,0xBD,0xDD,0x76,0xF7,0x63,0xF9,0xF2,0xE5,0xC2,0xBC,0x79,0xF3,0x84,0x49,0x93, - 0x26,0xE1,0x5A,0x34,0x3D,0xC6,0x8C,0x19,0x23,0xDC,0x74,0xD3,0x4D,0xC2,0x92,0x25, - 0x4B,0x54,0x5D,0xA3,0x66,0x41,0x2F,0x7F,0xA8,0x36,0xC2,0x93,0x46,0xBC,0x8B,0x34, - 0x69,0xC4,0x69,0xE0,0x66,0xDF,0x92,0xA8,0x83,0x65,0x7E,0xAF,0x8C,0xED,0xD3,0xD3, - 0xEB,0x8A,0xA1,0xF4,0xE6,0xD4,0x28,0xD3,0xFE,0xCB,0xE6,0x8E,0xA7,0x85,0x83,0x75, - 0xBA,0x45,0xFA,0xEF,0xF8,0x7B,0x76,0x0C,0x51,0x22,0x3D,0xF9,0xE2,0x05,0x94,0xB9, - 0x6E,0x37,0xDD,0xB5,0xAA,0x51,0x3C,0xE6,0x91,0x94,0x62,0xBA,0xF7,0x03,0xA2,0x37, - 0x1F,0xE9,0x61,0xFA,0xFE,0x37,0x7D,0x98,0x2B,0x3C,0xBD,0xB3,0xE3,0x3D,0xB0,0xAF, - 0x68,0xED,0x2E,0x01,0xAF,0x31,0x82,0xDF,0xF7,0xFA,0xE0,0x6A,0xBA,0x77,0xD1,0x59, - 0xBA,0x55,0xFF,0x9E,0xE3,0x75,0xF2,0xC7,0x39,0x02,0xAA,0x90,0x3C,0x78,0x55,0x04, - 0x8D,0x1B,0x63,0xBD,0x6E,0xDB,0xE2,0xC5,0x8B,0x85,0xE7,0x17,0x2D,0xA2,0x8A,0xF2, - 0x72,0xB6,0x47,0x99,0xF0,0x88,0x08,0x9A,0x3F,0x6F,0x1E,0x2D,0x5C,0xB8,0x90,0xD2, - 0xD2,0xD2,0x64,0xAF,0x6B,0x0B,0xCB,0x6C,0x3D,0xD9,0xA2,0xA6,0x9E,0x27,0x01,0x70, - 0x3A,0x87,0xEC,0x94,0x48,0xF1,0x67,0xA1,0x44,0xE0,0x6A,0x08,0x4A,0xE9,0xA1,0x83, - 0x90,0x21,0x7A,0xDC,0xDC,0x61,0xE1,0xC7,0xDF,0x62,0xE8,0x87,0x4F,0xD8,0xBB,0x49, - 0xBC,0xE1,0x1B,0xDD,0xF8,0x27,0x87,0xB1,0x17,0x31,0xC4,0xD7,0xBE,0xD4,0x4F,0x57, - 0xFC,0x0F,0xF3,0xE3,0x9C,0xED,0xBF,0x37,0xB7,0xEA,0xBD,0x44,0x32,0xB7,0xCC,0xBB, - 0x76,0xED,0x12,0xB2,0xB2,0xB2,0x84,0x05,0x0B,0x16,0x18,0x84,0x9C,0xD1,0x97,0xE8, - 0xA6,0x3F,0x10,0x2D,0x5A,0x4B,0xB4,0xA2,0xAE,0xE3,0xF1,0xDA,0x36,0xA2,0x79,0x2F, - 0x11,0x0D,0x9C,0x40,0xCD,0x4D,0x4D,0xF4,0xF2,0xCB,0x2F,0x53,0xBF,0xFE,0xFD,0x45, - 0x4B,0xCE,0xDE,0xCA,0x0C,0x33,0x31,0xC7,0x75,0xB5,0x76,0xB3,0x1B,0xCE,0xF9,0x5F, - 0x11,0x36,0x8E,0xF6,0x81,0x95,0x84,0x05,0x85,0x55,0xEC,0xB0,0xC2,0xEA,0x91,0x5A, - 0xEF,0xEF,0xF7,0x1A,0xA6,0x24,0xE2,0xBD,0x60,0x9D,0x45,0x76,0x56,0xD1,0x26,0x41, - 0x10,0xC6,0x0E,0xB6,0xEE,0x93,0xC3,0x8A,0x9B,0x3C,0x04,0xE6,0xEE,0x67,0x0C,0x4E, - 0xA0,0x5E,0x6C,0x97,0x23,0x60,0xDC,0x5D,0x2A,0xE6,0x55,0xAB,0x56,0x09,0x63,0xC6, - 0x8E,0xA5,0x13,0x27,0x4E,0xE8,0xEF,0x56,0x83,0x88,0x1E,0xFB,0xC8,0x20,0x5A,0x88, - 0xF9,0x82,0x91,0xEC,0x28,0x06,0x44,0x3E,0xFD,0x0E,0xA2,0x67,0x57,0xEA,0xCD,0xF8, - 0x46,0xBD,0x07,0x33,0x85,0x4E,0xD7,0xD5,0xD1,0x35,0xD7,0x5C,0x23,0x5A,0x75,0x76, - 0x94,0x09,0x33,0x31,0x87,0x06,0x5B,0x5B,0x6F,0xBE,0x80,0x1C,0xC7,0x5B,0xDC,0xF4, - 0x48,0x47,0x24,0xDB,0xE8,0x5E,0x3B,0xEB,0xDE,0x9A,0x51,0x76,0x56,0xFC,0x51,0x5C, - 0x21,0x7D,0xAF,0x73,0x54,0x7C,0x8A,0x6D,0x5A,0x90,0x6B,0x14,0x3C,0xE3,0x78,0xC5, - 0x59,0xD1,0x62,0x4F,0x4A,0x63,0x3B,0x1C,0xA4,0xB5,0xCD,0x20,0xB3,0x2D,0x5B,0xB6, - 0x08,0xB3,0xF4,0x42,0x84,0x95,0xA5,0x8B,0xAF,0x33,0x58,0xE2,0xD1,0x57,0x89,0xCF, - 0xD9,0x05,0xC2,0xFF,0xF3,0xE7,0x44,0xD7,0x2D,0x10,0x9B,0xB0,0xEA,0x6F,0xBC,0xF1, - 0x86,0x99,0xA0,0xCD,0xC4,0x2C,0xB7,0xDE,0x94,0xAF,0x4F,0x83,0xE4,0xF8,0x0E,0x66, - 0xD1,0x6C,0xFD,0x43,0xDA,0x7F,0xF6,0x75,0x8A,0x8A,0x8A,0x04,0x58,0x54,0x93,0x90, - 0x1F,0xFA,0x37,0x51,0x98,0x13,0xEB,0xBB,0xDD,0xFA,0x24,0xD1,0x9D,0xCF,0x89,0x9B, - 0xF3,0xE7,0xCF,0xA7,0x1F,0x7F,0xFC,0xD1,0x24,0x68,0x33,0x31,0x47,0xCB,0xD4,0x01, - 0xE3,0x6E,0x36,0x87,0x63,0xC0,0xD1,0xBE,0xBB,0x91,0xD0,0xE0,0x76,0x7A,0xE9,0xA5, - 0x97,0xA8,0x1C,0xFD,0x63,0xB8,0xD2,0xF7,0xFD,0x8B,0x3D,0xE3,0x24,0x33,0xE7,0x1B, - 0x1E,0x7A,0x60,0xA1,0x8D,0x58,0x88,0xD9,0x7A,0x9C,0x99,0xBB,0xD9,0x1C,0xAD,0x00, - 0x77,0xD7,0x8A,0xB4,0x48,0x53,0xD4,0xD9,0x5D,0xF4,0xB4,0x70,0xA7,0x11,0x88,0x6B, - 0xAF,0x28,0x12,0x9C,0x29,0x75,0x1F,0x1D,0xA1,0xA3,0xC3,0xF9,0x47,0xC5,0xE0,0x95, - 0x68,0x89,0x9D,0xB5,0xC8,0x96,0xC0,0x42,0xC7,0xA5,0xD0,0xEE,0xDD,0xBB,0x4D,0x01, - 0x31,0x73,0x37,0x5B,0x66,0xE6,0x54,0x79,0x8D,0xEF,0xCE,0x4D,0xC5,0xB0,0x89,0xBB, - 0x1E,0xDF,0x6D,0xAB,0x90,0x8D,0x20,0x72,0xBC,0xC7,0xB1,0xDD,0x86,0x40,0xD6,0x1C, - 0x63,0x64,0x39,0xAD,0x07,0xAD,0x91,0x0C,0x3F,0xB9,0x0B,0xF4,0xDD,0xEF,0x30,0x0A, - 0x7A,0x58,0x3F,0x31,0x10,0xB7,0x65,0x6D,0x11,0x39,0x53,0x77,0x33,0x24,0x58,0xA0, - 0x75,0xEB,0xF4,0x7D,0x63,0x70,0xE9,0xCD,0x44,0xC9,0x3D,0x0C,0xDB,0x12,0xEE,0x1E, - 0xD9,0x8D,0x68,0x56,0xAC,0x6E,0x2C,0x6B,0x4B,0x31,0x3E,0xC7,0x9A,0x1D,0xE0,0x86, - 0x70,0xED,0x83,0xE2,0xE6,0x5B,0x6F,0xBD,0x25,0xFE,0x34,0x13,0xB3,0xDC,0x64,0x0B, - 0x9E,0x9F,0x6D,0xA0,0x96,0x0F,0xD1,0x75,0x3E,0x65,0x45,0x34,0x6F,0x6D,0xA3,0x38, - 0x54,0x24,0x06,0xCA,0xC4,0xE1,0xA7,0x5D,0xC2,0xB2,0x0A,0xC1,0xAD,0x37,0xDA,0x45, - 0x2F,0x14,0x09,0xA6,0x60,0xDC,0x2D,0x89,0x3A,0xE3,0x18,0xB5,0x33,0xC4,0x46,0xEA, - 0x68,0xE3,0x4F,0x1B,0x0C,0x8D,0x09,0xD7,0x1A,0x7E,0x5A,0xF0,0x76,0xA9,0x21,0x2E, - 0x75,0x43,0x8C,0xF8,0x43,0x42,0x28,0x5D,0xDD,0x9D,0xE8,0x9B,0xED,0x0A,0x99,0x8A, - 0xB8,0x39,0xE8,0x59,0xBF,0x7E,0xBD,0xF8,0xD3,0x4A,0xBC,0x37,0x3E,0xB9,0x4D,0xB0, - 0x74,0xAD,0xF1,0x47,0xB1,0x4D,0xCD,0x83,0xC0,0x09,0xDB,0xE4,0x49,0x23,0x5E,0x00, - 0x5E,0x8B,0xCB,0x49,0x23,0x1A,0xC1,0x98,0xA4,0x62,0x9E,0x94,0xE2,0x1A,0x3D,0xBB, - 0xD6,0xD2,0x3B,0x4F,0xCD,0x24,0x8A,0xD2,0x5B,0xD8,0x25,0x87,0x15,0x5C,0xEC,0x50, - 0xFA,0xE6,0xEA,0x48,0xEA,0x7B,0xF8,0x0C,0xE5,0xE4,0x49,0xC6,0xA4,0xD3,0x23,0x89, - 0x46,0x86,0xE9,0xEE,0x5E,0x51,0x27,0xBC,0xCD,0x76,0x59,0xF1,0xCC,0x6C,0xA2,0x9D, - 0xEB,0x10,0x08,0x33,0xB7,0xCC,0x20,0x5E,0x66,0xAC,0x99,0x17,0xB3,0xE3,0xA8,0x21, - 0xDA,0x0D,0x5D,0x41,0x7F,0xA3,0x5B,0x10,0x1B,0xFF,0xC2,0x98,0xB1,0x62,0x5F,0xB9, - 0x95,0xBE,0x2A,0x25,0xCA,0xE9,0xD7,0xD5,0xCC,0xD5,0xBE,0xBB,0xBB,0x41,0x8B,0x8A, - 0x42,0x06,0xCC,0x6D,0xC7,0xB8,0xB5,0x95,0x98,0xE5,0x4A,0xEE,0xFA,0xEA,0x6A,0x90, - 0x1C,0xEF,0xD2,0xB5,0x0B,0xDB,0xE0,0x98,0x08,0x69,0x61,0xA9,0x9A,0xB1,0xC9,0x86, - 0x9F,0x0A,0xBC,0x9D,0xD7,0x44,0x05,0xC2,0x79,0xA1,0xC3,0xD5,0xB6,0xE3,0x62,0x1B, - 0x61,0xEF,0x8B,0x48,0xB9,0x95,0x98,0xE5,0xD6,0x69,0xAE,0xA9,0xE7,0x63,0xCD,0x1C, - 0xFB,0x24,0xC4,0xF8,0xF6,0x12,0x47,0xC7,0x56,0xED,0x12,0xBB,0x69,0xEE,0x72,0xB1, - 0x43,0xF4,0xEA,0x8A,0x55,0x5B,0x8F,0xFE,0x4C,0x2B,0xAD,0x3C,0x13,0x4C,0x33,0xD2, - 0x99,0x24,0xD3,0x43,0xE9,0x2A,0x9D,0x4E,0xF7,0x55,0x89,0xA1,0x69,0x8F,0x88,0x88, - 0x08,0x6B,0x31,0xC7,0x46,0x5B,0xBB,0xD9,0x7C,0x78,0x8A,0xA3,0x06,0x4C,0x2A,0xE0, - 0x74,0x90,0x91,0xA0,0xA3,0x8C,0xCC,0x9E,0x86,0xC6,0xA9,0x22,0xC3,0x4F,0x45,0xDA, - 0xE9,0xD3,0xD2,0x36,0x93,0xAB,0x0D,0x17,0xBB,0x20,0xAF,0x5E,0xB9,0xAF,0x6C,0x84, - 0xBD,0x6F,0x6A,0x6A,0xAA,0xB5,0x98,0xE5,0xB2,0xC0,0x4E,0x56,0x72,0x37,0x9B,0x63, - 0x9F,0x60,0xFD,0xD5,0x84,0x71,0x55,0x8E,0x81,0x3E,0xA9,0x41,0x34,0x78,0xD0,0x85, - 0x86,0x46,0x49,0x01,0x51,0xA3,0xED,0xC2,0xF8,0x5B,0x4A,0x5A,0x99,0xAB,0x0D,0x17, - 0xBB,0x8D,0x56,0xAA,0x59,0x74,0xEF,0xF8,0x3E,0xF1,0x47,0x56,0x56,0x96,0x3A,0x37, - 0xBB,0xF8,0x94,0xCC,0x60,0x3D,0x87,0x63,0x41,0x64,0x97,0x48,0x1A,0x9A,0x65,0x75, - 0x49,0x05,0x2C,0x43,0x7B,0x85,0xE8,0xC5,0x3C,0x50,0x37,0x69,0xD2,0x24,0xA2,0x16, - 0xBD,0x41,0xDC,0xB9,0x8E,0x3D,0xA3,0x80,0xD1,0xD5,0x1E,0x19,0xAE,0x77,0xB1,0x43, - 0x74,0x9F,0x9E,0x61,0xFB,0x95,0x80,0x55,0xD6,0x8B,0x39,0x36,0x36,0x96,0xC6,0x8E, - 0x1D,0xAB,0xB3,0xFA,0xE4,0xE5,0xE6,0x2E,0x57,0xF8,0x68,0xE2,0x88,0x65,0xE2,0x87, - 0xDC,0x83,0x47,0xEA,0xDD,0x47,0xD7,0xAE,0xD1,0x34,0xBE,0x3F,0x2F,0x3D,0x05,0x32, - 0xF5,0x2E,0x76,0xD7,0x48,0x43,0x97,0xF5,0xF2,0xCB,0x2F,0x17,0x7F,0x52,0xEE,0x97, - 0x86,0x9F,0x8A,0x30,0x57,0xBB,0x6B,0x88,0x0E,0x2E,0xF6,0x16,0xB6,0x57,0x91,0xAF, - 0xDF,0x10,0x7F,0xCC,0x9A,0x35,0x4B,0xFC,0x29,0x7B,0x1B,0x0D,0x43,0xCF,0x5D,0x82, - 0x3F,0xAF,0x06,0xC9,0x0B,0xFD,0xBB,0x8F,0x90,0x90,0x10,0x8A,0x8E,0x0C,0xA7,0xAC, - 0x24,0xEE,0x6A,0x5F,0x7C,0x61,0x28,0x65,0xF7,0xEC,0x2E,0x6E,0xCF,0x9D,0x3B,0x97, - 0xBA,0xE9,0xAD,0x27,0xFD,0xFC,0x8D,0xC9,0x2D,0x56,0x62,0x4B,0x5E,0x03,0xE6,0x32, - 0x0B,0x66,0xE3,0xCD,0x72,0xD4,0x56,0x10,0x7D,0xB7,0x44,0xDC,0x7C,0xE0,0x81,0x07, - 0xC4,0x9F,0xB2,0x62,0xCE,0x4C,0xB1,0x1E,0x63,0x38,0x78,0xA2,0xDE,0xE7,0x2C,0xD8, - 0x6D,0xD3,0x7B,0xEA,0xEC,0x3D,0x7C,0xA9,0x8A,0x8A,0x2F,0xD0,0x27,0x3B,0x83,0xA6, - 0x0E,0x09,0xEC,0x15,0x45,0x11,0x37,0xC8,0xD1,0xF7,0x97,0x93,0x93,0x93,0xC5,0x6B, - 0x0B,0x95,0x41,0x9E,0x7A,0xF2,0x49,0xF1,0x39,0x7A,0xEE,0xFF,0x0C,0x42,0x74,0x95, - 0x57,0x7F,0x2B,0xBA,0xEE,0xB0,0xCA,0x43,0x87,0x0E,0x15,0x7F,0x8F,0xAC,0x98,0xE5, - 0x72,0xB4,0x8B,0x4F,0x9D,0x63,0x5B,0x1C,0x8E,0x32,0xF1,0xF1,0xF1,0xBA,0xEE,0x71, - 0xBA,0x80,0x0E,0x84,0x21,0x6E,0x90,0x94,0x18,0xCF,0x5A,0x06,0x16,0x2C,0x58,0xA0, - 0x1B,0x33,0x66,0x8C,0xA1,0x9F,0xFB,0xE2,0x9D,0x76,0x83,0x61,0x36,0xF9,0xE7,0xBD, - 0x62,0xFF,0x1B,0x7D,0xE5,0xC5,0x8B,0x17,0xB3,0x9D,0x4A,0x62,0x96,0x09,0x82,0x9D, - 0xAC,0xE4,0x62,0xE6,0xA8,0xA3,0x67,0xCF,0x74,0xBA,0x6A,0xB8,0xF5,0x10,0x67,0x20, - 0xD0,0x25,0x4C,0x47,0x13,0x07,0x84,0x52,0xDF,0x9C,0x5E,0x56,0x77,0xB3,0x4F,0x3E, - 0xF9,0x44,0x1C,0x42,0xA2,0xFD,0xB9,0x44,0x4F,0xCC,0x50,0x31,0x5C,0x65,0x01,0x6E, - 0x00,0xB0,0xEC,0x3F,0x7C,0x2C,0x8E,0x2B,0x2F,0x5F,0xBE,0x9C,0xB2,0xB3,0xB3,0x4D, - 0xBF,0x47,0x56,0xCC,0x19,0x49,0xD6,0x6E,0x76,0x71,0x05,0x17,0xB3,0xBF,0x50,0x5C, - 0x5C,0x2C,0x6C,0xDD,0x77,0x48,0xD8,0xBC,0xE7,0x80,0xF8,0xD8,0x7E,0xE0,0xB0,0x80, - 0x7D,0xEC,0x69,0x97,0xC9,0xE8,0x9E,0xA6,0x1B,0xD0,0x23,0x94,0xD2,0xF4,0x16,0x3A, - 0xD0,0x98,0x3E,0x34,0x94,0x7A,0x65,0x19,0xFA,0xCA,0x96,0x40,0x78,0xC8,0xA1,0xEE, - 0xD7,0xAF,0x9F,0xA1,0xEF,0xFC,0xBB,0x51,0x44,0xCB,0x9E,0x57,0x67,0xA5,0xD1,0xDF, - 0x5E,0x70,0xB1,0xF8,0x13,0x16,0x79,0xD5,0xAA,0x55,0x34,0x79,0xF2,0x64,0xB3,0x0F, - 0x58,0xF6,0xD3,0x46,0x84,0xF7,0xDE,0x97,0x76,0xB3,0x96,0x81,0xCC,0xE4,0x2E,0xF4, - 0xEF,0x3F,0x0C,0xD7,0xFC,0xB7,0xC3,0x27,0x5A,0xC8,0x53,0x5C,0x5A,0x26,0x14,0x9D, - 0x2C,0xA1,0xB2,0xF6,0x30,0x5A,0xDD,0x10,0x49,0xFB,0x5B,0x22,0xA8,0x85,0xDD,0xCB, - 0x63,0x82,0xDA,0x29,0x27,0xA4,0x89,0x7E,0x15,0xD3,0x48,0x71,0xBA,0x56,0xCA,0xCA, - 0xCC,0xA0,0xCC,0xB4,0x54,0x55,0x9F,0x1D,0x46,0x04,0x8C,0x13,0x2D,0xB0,0x3E,0x33, - 0xE2,0x10,0x62,0x43,0xCF,0xDA,0x0D,0xDB,0x85,0x17,0xBE,0x0A,0x9C,0xE5,0x5D,0x71, - 0xF3,0x9A,0x3F,0x3D,0x92,0xC6,0x8C,0x34,0xF4,0x61,0x6D,0x81,0x12,0xBA,0xCB,0x96, - 0x2D,0x33,0x34,0x90,0xB3,0x8D,0xF2,0x41,0x98,0x55,0x85,0x09,0x19,0x46,0x30,0x9C, - 0xB5,0xED,0x5B,0x83,0x90,0x59,0x3F,0x1B,0xAE,0x3A,0x2C,0xBC,0xD4,0x22,0x1B,0x51, - 0xFC,0xA5,0x33,0x1E,0xDD,0x2C,0xB4,0x58,0x2C,0x7F,0xEF,0x0B,0xE2,0xE0,0x62,0xB6, - 0x66,0xE3,0x2F,0xBB,0x85,0xEF,0x1A,0xA3,0xE8,0x95,0xBA,0x04,0x3A,0xD3,0x2E,0xEB, - 0x8C,0x99,0x48,0x08,0x3A,0x4F,0x0B,0xE2,0x6A,0x68,0x62,0xE4,0x59,0xBA,0x78,0xF8, - 0x45,0x76,0x3F,0x3F,0x5B,0x62,0xCE,0x2F,0x38,0x26,0xFC,0xF7,0xC7,0x0A,0xDA,0x98, - 0x17,0x18,0xD5,0x6A,0x1E,0xB9,0x3A,0x9C,0xA6,0x4E,0x1C,0xA9,0xFA,0x9A,0x43,0xC9, - 0x9F,0xA7,0x9F,0x7E,0xDA,0x34,0x85,0xD1,0x16,0x48,0x0A,0x79,0xEE,0xB9,0xE7,0x68, - 0xCE,0x9C,0x39,0x8A,0xEF,0xAF,0xF8,0xCD,0xCA,0x45,0xB4,0xF9,0x0A,0x10,0xBE,0xC7, - 0xD7,0xDB,0xF6,0x0A,0xB7,0x94,0xA6,0xD1,0xB3,0x35,0x49,0x76,0x85,0x0C,0xAA,0xDB, - 0x43,0xE8,0x89,0xEA,0x64,0xC2,0x6B,0xF0,0x5A,0xB6,0xDB,0x29,0xD0,0x6F,0x9C,0x3C, - 0x28,0x3C,0x20,0xD2,0x3C,0x27,0x0D,0x08,0xA1,0x8C,0xD4,0x04,0xD6,0x52,0x07,0xDC, - 0x64,0xBD,0x90,0x75,0x65,0x65,0x65,0x28,0xCE,0x47,0xF3,0xE6,0xCD,0x23,0x24,0x98, - 0x18,0x1F,0x7A,0xEB,0x2D,0x0A,0xF8,0xD0,0xA1,0x43,0x98,0x15,0xA5,0xB3,0x25,0x64, - 0xA0,0xF8,0xE4,0x3F,0x3F,0x3F,0x22,0xAC,0xDC,0x6C,0x5E,0x9C,0xFB,0x8E,0x2B,0x7B, - 0xD2,0x4D,0x53,0x32,0x55,0xDF,0x79,0x3A,0x03,0xA9,0x65,0x86,0xA5,0x70,0x17,0x48, - 0x73,0xBD,0x7C,0x54,0x8A,0xA6,0xFF,0x76,0x4B,0x96,0x6D,0xDD,0x27,0xFC,0xE6,0x54, - 0xBA,0x2A,0x11,0xCB,0x01,0xF7,0xFB,0x3F,0xC9,0x27,0xE9,0xDA,0x31,0x83,0x15,0xFF, - 0x6E,0x5B,0x96,0xD9,0xC8,0xB7,0x3F,0xEC,0x10,0x5E,0xFB,0xB6,0x89,0x2C,0x1C,0x3D, - 0xBF,0x01,0x09,0x22,0x77,0x4D,0x8B,0xA6,0xB1,0x23,0x87,0x74,0xEA,0xF5,0xA1,0xF8, - 0x2D,0x5F,0xD0,0xC3,0xAA,0xEC,0x01,0xE5,0x15,0x35,0xB0,0xAD,0xC0,0xA3,0xD1,0xC7, - 0x12,0x67,0x56,0x6F,0xDF,0xE3,0x92,0x90,0x01,0x5E,0xFB,0x9B,0x53,0xDD,0xE9,0xDB, - 0xED,0xAE,0x59,0xE8,0x61,0x03,0x7A,0xD2,0xAD,0x93,0xFC,0x73,0xEC,0x19,0x5E,0xC7, - 0x6D,0x93,0xBA,0x74,0xBA,0x90,0x81,0xE2,0x09,0x60,0x8D,0xA9,0xBB,0x16,0x99,0xD7, - 0x4A,0x41,0xC1,0xBF,0x2F,0xFF,0x3A,0xA6,0xD3,0x4F,0xDA,0x16,0xBC,0xCF,0x4C,0x84, - 0xE8,0xF4,0xC3,0xC5,0x51,0xB4,0xA1,0x29,0x9A,0xED,0x71,0x8D,0x89,0x11,0x0D,0xF4, - 0x8F,0xCC,0x46,0x1A,0x39,0xE0,0x02,0xAB,0xCF,0x53,0x8D,0x65,0x06,0x87,0xF2,0x8F, - 0x0B,0xDF,0x6C,0x39,0x45,0x6B,0xF6,0xF8,0xCF,0x74,0x5A,0x24,0x4A,0x3E,0x30,0x43, - 0xEF,0xB1,0x4D,0xB2,0x5E,0x7A,0xA6,0x33,0x50,0xBC,0x6D,0xF7,0x48,0x89,0xD4,0x59, - 0x56,0xEB,0x44,0x5A,0x27,0xCF,0x65,0xD6,0x3E,0x65,0x0D,0x4D,0x76,0x85,0x3C,0xB6, - 0x9F,0xFE,0x79,0x85,0x22,0x72,0x96,0xE0,0xBD,0xF0,0x9E,0xAE,0xD0,0xBF,0x6F,0xB6, - 0x6E,0xF2,0x90,0x18,0x1A,0x9A,0xE5,0xDB,0x73,0x9E,0x8D,0x40,0xC8,0x77,0x5E,0x16, - 0x41,0x43,0x07,0x64,0xB3,0x3D,0x9D,0x8F,0x4D,0x1F,0x6C,0x70,0x6F,0x49,0x98,0x9C, - 0xB1,0x79,0xBF,0xA1,0x42,0x22,0x47,0x9B,0xFC,0x72,0x28,0x5F,0x78,0xB5,0x36,0x8E, - 0xB5,0xDC,0x07,0xDE,0x13,0xEF,0xCD,0x9A,0x4E,0x31,0xFC,0xA2,0x0B,0x75,0x37,0x5C, - 0xD2,0x4D,0x0C,0x16,0xF9,0x32,0x48,0x0C,0x99,0x77,0x79,0x04,0x8D,0x1A,0x94,0x41, - 0xC9,0x49,0xFA,0x0E,0xB3,0x46,0xB0,0x29,0xE6,0xE1,0x17,0xC4,0xB2,0xAD,0x0E,0xF6, - 0x1D,0xF3,0xCE,0x5A,0xB3,0x1C,0xE7,0x68,0x3C,0x53,0x4F,0x5B,0x5B,0xDC,0xE3,0x5E, - 0x4B,0xC1,0x7B,0xE2,0xBD,0x5D,0x05,0x82,0xBE,0x66,0x42,0x32,0xCD,0x1E,0x6B,0x9D, - 0x65,0xE8,0x0B,0xA0,0x8F,0x7C,0xEF,0xF4,0x08,0xFA,0xD5,0xD4,0x11,0xBA,0xCC,0x0C, - 0x75,0x63,0xF1,0xDE,0xC2,0xA6,0x98,0x47,0xF6,0xB3,0xBE,0xC3,0xEF,0x39,0xE2,0x42, - 0x4E,0x29,0xC7,0xE3,0x9C,0x6A,0x0F,0x73,0x29,0xE8,0xA5,0x04,0xDE,0x13,0xEF,0xED, - 0x0E,0xFA,0x5F,0xD0,0x4B,0x37,0x6D,0x74,0x77,0xBA,0xFD,0xD2,0x30,0xD1,0x5D,0xF5, - 0x15,0xC4,0xA4,0x90,0xCB,0x23,0xF5,0x7D,0x64,0x6D,0x26,0x4F,0xD9,0xFC,0x28,0x51, - 0x47,0x1B,0x99,0x5F,0x96,0x7C,0xBD,0xA9,0x8C,0xF7,0x9B,0x35,0x48,0x4D,0x4D,0x8D, - 0x80,0x71,0x62,0x4F,0x81,0xF7,0xC6,0xEF,0x60,0x4D,0x97,0xC8,0xEA,0x91,0xAE,0x9B, - 0x3C,0x32,0x9B,0x1E,0xFA,0x55,0x84,0x38,0xB4,0xA3,0x75,0x2E,0x1B,0x14,0x42,0xF7, - 0x4C,0x8B,0xA4,0xC9,0x13,0x86,0x69,0xF6,0x64,0xED,0xDE,0x17,0xA7,0x8E,0xB0,0xAE, - 0x2A,0xF8,0xED,0x56,0xFB,0x8B,0x43,0x73,0xBC,0x4F,0x4B,0x4B,0x0B,0x95,0x9F,0xF7, - 0x9C,0x98,0xEB,0xDA,0x82,0xE8,0xFC,0x79,0xF7,0x0D,0xD1,0xA5,0xA6,0x24,0xE9,0x2E, - 0xBB,0x64,0x84,0xEE,0xEE,0x69,0x51,0x74,0xCD,0xE8,0x30,0xB1,0x2F,0xAA,0x35,0x70, - 0xA3,0x41,0x66,0xD7,0x35,0x17,0xA7,0xD0,0xB8,0xD1,0xF6,0xD3,0x34,0x3B,0x13,0xBB, - 0x62,0x96,0x4B,0x12,0x39,0x5A,0xD2,0x48,0x9B,0xF6,0x55,0x69,0xDE,0x3A,0x63,0xD8, - 0xC4,0xDE,0xC3,0x9F,0xA2,0xF3,0x28,0x0E,0x10,0x1B,0xE4,0xB9,0xD4,0xC9,0x08,0x9D, - 0x40,0x41,0x41,0xEE,0xF7,0x8B,0x47,0x8F,0xBC,0x48,0x37,0x73,0x42,0x06,0x3D,0x34, - 0x33,0x9C,0xFA,0x68,0xA4,0x1B,0x0A,0xF7,0x7F,0xE6,0x88,0x50,0xC2,0x8D,0x06,0x29, - 0x9A,0x7D,0xFB,0x58,0xE7,0x42,0x6B,0x0D,0x55,0xDF,0xCC,0xB8,0x81,0xD6,0x69,0x6A, - 0xFE,0xB2,0x8A,0x81,0x3F,0x91,0x98,0x98,0xA8,0x4B,0x0A,0xF6,0x5C,0x72,0x0B,0xDE, - 0x1B,0xBF,0x83,0x35,0xDD,0x4A,0x46,0x7A,0x77,0xDD,0x25,0xE3,0x47,0xE8,0xEE,0x98, - 0xDA,0x8D,0x16,0xCC,0x08,0xA7,0x41,0xEE,0x5F,0x42,0x4A,0x15,0x98,0x87,0x7D,0xF9, - 0x90,0x10,0xFA,0xC3,0x35,0xE1,0x34,0x63,0x5C,0x77,0xF1,0x46,0xC3,0x9E,0xD2,0x3C, - 0xAA,0x4E,0x54,0x6E,0x16,0x15,0x78,0xF2,0xF6,0x7E,0x34,0x7E,0x90,0x67,0xBE,0x5C, - 0x67,0x09,0xF4,0xA4,0x91,0x8D,0x3F,0x6F,0x17,0x2E,0x2E,0xCB,0x61,0x2D,0x65,0x30, - 0xCE,0xBC,0xA5,0x5F,0x88,0x6E,0xEC,0x8A,0x3A,0xFB,0xB5,0xA6,0x18,0x1B,0xD3,0x0A, - 0xE8,0xE2,0xD1,0xE6,0x13,0x09,0xE0,0xDD,0xA8,0x49,0x1A,0x71,0x94,0x3D,0xFB,0xF2, - 0x84,0xBA,0xD3,0xF5,0xF4,0xD3,0xC1,0x36,0xDA,0x92,0xDF,0xE6,0xF1,0x54,0x50,0x44, - 0xA9,0xAF,0x1C,0x16,0x26,0x56,0x08,0x49,0x4D,0x4D,0xA2,0xDE,0xD9,0xEE,0xF9,0x3B, - 0xBC,0x89,0x2A,0xCB,0xDC,0x27,0x23,0x5A,0xC7,0xAD,0xB3,0x6F,0x10,0x1C,0x11,0x49, - 0xC3,0xC2,0xD4,0x57,0x53,0xDD,0x82,0x15,0x06,0xA5,0x0F,0x05,0xF0,0x9E,0x78,0x6F, - 0x6F,0x31,0x64,0x50,0x3F,0xDD,0xC4,0x09,0xA3,0x74,0x37,0x4E,0x4E,0xA1,0xC7,0xAE, - 0x0D,0xA3,0x44,0xEB,0xEC,0x62,0xB7,0x01,0x77,0xFA,0xC1,0xAB,0x22,0xE8,0xCA,0xF1, - 0x59,0x34,0x7E,0xEC,0x08,0x9D,0x2F,0x0A,0x19,0xA8,0xEE,0x00,0xC9,0x4D,0x5A,0x40, - 0xDF,0xF9,0x1F,0x9F,0x14,0xF0,0xC8,0xB6,0x86,0xE8,0x95,0x92,0x40,0x57,0x47,0xDB, - 0xCF,0xA1,0x37,0x16,0x8E,0xB3,0x7A,0x28,0x70,0x63,0x4C,0x3D,0xF5,0x49,0x4B,0x62, - 0x2D,0xEF,0x81,0x99,0x57,0x71,0xB1,0xB1,0x1E,0x8D,0x78,0x67,0x25,0x07,0xD1,0xB8, - 0x31,0x23,0x74,0xC6,0x9A,0x5D,0xBE,0x8A,0x6A,0x31,0x2B,0x59,0xE7,0x35,0xDB,0x2B, - 0xE8,0xCB,0x0D,0x25,0x5C,0xD0,0x1A,0x21,0x35,0x35,0x55,0x37,0x29,0xBA,0x99,0xFA, - 0x86,0xBA,0xAF,0x28,0x00,0xDE,0x6B,0x7C,0x54,0x8B,0xA9,0x40,0x1D,0x47,0x9B,0xA8, - 0x16,0x33,0xB8,0xE3,0xAA,0x9E,0x56,0x65,0x78,0xC1,0x7B,0xDF,0x14,0xD2,0x8F,0x3B, - 0x4F,0x71,0x41,0x6B,0x84,0x89,0xC3,0x06,0xE9,0x9E,0x8A,0x67,0xAB,0x0F,0xBA,0x48, - 0x18,0xB5,0xD3,0x9F,0x13,0xAA,0x68,0xC2,0x30,0xE5,0x69,0x90,0x1C,0x6D,0xE0,0x90, - 0x98,0x31,0xF9,0xE2,0xBE,0xD9,0xBD,0x59,0xAB,0x03,0x54,0x24,0x79,0xEE,0xC3,0x7C, - 0x71,0x0E,0x34,0xDB,0xC5,0xE9,0x64,0xC6,0x64,0x26,0xD0,0x93,0x09,0x95,0xAC,0xE5, - 0x3C,0x4F,0x27,0x56,0xD1,0xF8,0x4C,0xF3,0x4A,0x93,0x1C,0x6D,0xE2,0x90,0x98,0x01, - 0x26,0xE8,0x5F,0x73,0x89,0x7C,0xC1,0x32,0x14,0x33,0x98,0xFF,0xE2,0x2E,0xE1,0xBB, - 0x6D,0x15,0x5C,0xD4,0x9D,0x4C,0xAF,0x8C,0xEE,0xBA,0xD9,0xE9,0xE1,0xB4,0x38,0xA9, - 0x5C,0xB4,0xAE,0x8E,0x82,0xD7,0xE0,0xB5,0x33,0xBA,0x47,0x50,0x76,0x7A,0x1A,0xB7, - 0xCA,0x3E,0x80,0xD3,0x5F,0xD2,0x03,0xAF,0xEC,0x11,0x0E,0x15,0x2A,0x2F,0x86,0x83, - 0x75,0x9E,0xC7,0x0F,0x8A,0x17,0x8B,0x1C,0xF4,0xEE,0x1E,0x25,0xF6,0xB9,0xD9,0x53, - 0x1E,0xC5,0x53,0x95,0x46,0x30,0x1D,0xF4,0xDA,0x89,0xE9,0x3E,0x77,0x51,0x9F,0x28, - 0xAB,0x10,0x76,0x15,0x55,0xD0,0xCB,0xB5,0xF1,0xAA,0xE7,0x37,0x63,0xFE,0xF2,0x83, - 0x71,0x35,0x34,0xB4,0x47,0x0A,0x65,0xA5,0xD9,0xAE,0xAE,0xE2,0xA9,0xA1,0x29,0x29, - 0xFB,0x0F,0xE6,0x0B,0x4B,0xD7,0x55,0xD2,0xAE,0x13,0x9E,0xB1,0x11,0xF7,0x5D,0x19, - 0x4E,0x33,0xA7,0xA8,0xAF,0xDD,0xA5,0x55,0x5C,0xFA,0x03,0xFE,0xB6,0xF4,0xB0,0xB0, - 0x7E,0x97,0x7A,0x57,0xAE,0x77,0x7A,0x94,0x28,0x0A,0x30,0xA8,0x57,0x57,0xF1,0xA7, - 0x3D,0x86,0xF4,0xB1,0x9E,0x86,0xA9,0x04,0x56,0xA7,0xE0,0x65,0x83,0xE4,0x41,0xC1, - 0x02,0xCC,0x49,0x5E,0xD7,0x18,0x49,0xB9,0x4D,0x51,0xB2,0xD5,0x39,0xA7,0x45,0x36, - 0xD2,0xC4,0x2E,0x8D,0x94,0x18,0xDD,0x45,0xB6,0x10,0x81,0x1C,0x5C,0xCC,0xDA,0xC1, - 0xE5,0x3F,0x00,0x93,0x2E,0xDE,0xFA,0xEA,0xB8,0xD8,0x6F,0xD6,0x32,0xB8,0x89,0xE0, - 0x66,0x22,0x05,0x93,0x48,0xEE,0x9F,0xDD,0xC7,0xE7,0xBF,0x44,0x47,0x28,0x29,0x29, - 0x11,0x0A,0xAB,0xEA,0x88,0x9A,0x1A,0x29,0x48,0x30,0x7C,0x67,0x6D,0x41,0x21,0xA4, - 0x0B,0xEF,0x42,0xD9,0xC9,0xF1,0xE2,0x52,0x2A,0xE2,0x4E,0x95,0x70,0x31,0x6B,0x07, - 0xB7,0xFC,0x01,0xC8,0x10,0x7B,0xEF,0xDB,0x42,0xDA,0x91,0x57,0xCB,0xF6,0xF8,0x0E, - 0xBE,0x52,0x0F,0x5C,0xAB,0x70,0x31,0x6B,0x07,0x87,0x03,0x60,0x72,0xA0,0x3F,0xFC, - 0xB7,0xBB,0x07,0xE8,0xDE,0x5D,0x38,0x8C,0x66,0x8C,0x4B,0x95,0x1D,0xBE,0xD2,0x2A, - 0x58,0x43,0xAB,0xBC,0xBA,0xC9,0x33,0x57,0x09,0x87,0xE3,0x45,0xDC,0xAA,0x3A,0x0C, - 0x5D,0xC1,0x6D,0x5D,0xF9,0xF7,0x71,0x3A,0xE4,0x6D,0xE3,0x4E,0x3D,0xA2,0x5F,0x9C, - 0xD8,0xDF,0xD4,0x2A,0xB8,0xF1,0x60,0xDE,0x36,0x6B,0x72,0x38,0x3E,0x8B,0xD7,0x2F, - 0x62,0x63,0x21,0xFD,0xF2,0x9A,0x66,0xAA,0xA8,0x71,0xAC,0x48,0x5C,0x63,0x53,0x1B, - 0x1D,0x2B,0x6D,0x64,0x2D,0x79,0x1C,0xA9,0x84,0x02,0x21,0x23,0x11,0xC6,0x17,0xA3, - 0xD4,0x5A,0x81,0xBB,0xD9,0xDA,0xC1,0xEF,0x2E,0x62,0x69,0x34,0x5B,0x2E,0x12,0x7E, - 0xBE,0xAD,0x9D,0x9A,0x5B,0x0C,0x81,0x9F,0x2E,0x11,0xC1,0x14,0xA4,0xE3,0x3A,0x76, - 0x05,0xE9,0x4D,0x99,0x8B,0xB9,0x73,0xF1,0x6B,0x31,0x73,0xBC,0x8B,0xA7,0xC4,0x9C, - 0x97,0x7F,0x54,0x28,0x2E,0xAB,0xA6,0xA6,0x56,0xCF,0x5C,0xAE,0xF1,0x51,0x02,0x8D, - 0x1F,0x3B,0x8A,0x8B,0x59,0x6B,0x70,0x31,0x77,0x1E,0x9E,0x12,0x33,0x87,0xC3,0xE1, - 0x04,0x10,0x44,0xFF,0x0F,0xF8,0xBC,0x87,0x0F,0x69,0x7B,0x06,0x45,0x00,0x00,0x00, - 0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, -}; // PlantModel_png, 28345 bytes + 0x6F,0xA8,0x64,0x00,0x00,0x56,0xF6,0x49,0x44,0x41,0x54,0x78,0x5E,0xED,0x9D,0x0B, + 0x7C,0x14,0xE5,0xF5,0xF7,0x9F,0x0D,0x49,0x08,0xB9,0x90,0x0B,0x09,0x24,0x40,0x20, + 0xE1,0x22,0x84,0x3B,0xC8,0x2D,0x82,0x12,0x14,0x11,0x11,0x0B,0x54,0x50,0xB0,0x5E, + 0xC0,0xD2,0x2A,0x5A,0x14,0x6A,0xAB,0xA2,0x6D,0x29,0xAD,0x55,0xA9,0x17,0xC0,0xF6, + 0x2F,0xD8,0xDA,0x82,0xB7,0x42,0xAB,0x15,0x6C,0x55,0xA8,0xE2,0x0B,0x2A,0x0A,0x02, + 0x72,0x11,0x30,0x28,0x20,0xE1,0x1E,0x6E,0x09,0x24,0x04,0x02,0x09,0xCC,0x3B,0xBF, + 0x67,0x9F,0x49,0x66,0x77,0x67,0x76,0x67,0x36,0x7B,0x99,0xD9,0x3D,0x5F,0x3F,0xEB, + 0x3E,0x33,0x49,0xC8,0x66,0x77,0x7E,0x73,0xCE,0x73,0xCE,0x79,0xCE,0xE3,0x60,0x04, + 0x41,0xD8,0x06,0x49,0x92,0xC4,0x88,0x31,0x12,0xAF,0xCD,0xD9,0xB7,0x6F,0x5F,0xDD, + 0xA7,0x79,0xE8,0xD0,0x21,0x56,0x5B,0x5B,0x2B,0x8E,0x9C,0x68,0x9D,0x53,0x48,0x48, + 0x48,0x60,0xD9,0xD9,0xD9,0xE2,0xC8,0x89,0xFB,0xB9,0xFC,0xFC,0x7C,0xBA,0x46,0x2C, + 0x04,0x89,0xD7,0x66,0x9C,0x38,0x71,0x42,0x3A,0x7B,0xF6,0x2C,0x2B,0x29,0x29,0x61, + 0x78,0x3E,0x79,0xF2,0x24,0x2B,0x2D,0x2D,0x65,0xD5,0xD5,0xD5,0xE2,0x3B,0x82,0x8B, + 0x22,0xE8,0xCC,0xCC,0x4C,0x96,0x9C,0x9C,0xCC,0xF2,0xF2,0xF2,0xF8,0x73,0x56,0x56, + 0x16,0x5D,0x3F,0x21,0x86,0xC4,0x6B,0x61,0x60,0x49,0x21,0x52,0x58,0x4C,0x08,0x15, + 0x22,0xB5,0x32,0x10,0x35,0x84,0xDC,0xBA,0x75,0x6B,0x2E,0x6A,0xB2,0xD4,0xC1,0x85, + 0xC4,0x6B,0x21,0x14,0xB1,0x2A,0x8F,0x48,0x00,0x22,0xC6,0xA3,0x43,0x87,0x0E,0x2C, + 0x37,0x37,0x97,0xAE,0xB1,0x00,0x42,0xE2,0x0D,0x23,0x91,0x28,0x56,0x6F,0xC4,0xC6, + 0xC6,0xD6,0x89,0x19,0x0F,0x12,0x73,0xC3,0x20,0xF1,0x86,0x98,0xE2,0xE2,0x62,0x69, + 0xC7,0x8E,0x1D,0x0C,0x8F,0x68,0x07,0x62,0xEE,0xD6,0xAD,0x1B,0x7F,0x74,0xEC,0xD8, + 0x91,0xAE,0x3F,0x93,0x90,0x78,0x43,0xC0,0xD1,0xA3,0x47,0xA5,0x4D,0x9B,0x36,0xB1, + 0x5D,0xBB,0x76,0xF1,0xB9,0x6B,0xB0,0xC0,0x9C,0x13,0x01,0x25,0x25,0x98,0xA4,0x46, + 0xF9,0x9A,0x37,0x10,0xF4,0x72,0x9F,0x57,0x2B,0x41,0x31,0xAD,0xAF,0x05,0x12,0xBC, + 0x5E,0x88,0xB8,0x6F,0xDF,0xBE,0x14,0xFC,0x32,0x08,0x89,0x37,0x48,0x94,0x97,0x97, + 0x73,0x0B,0xBB,0x75,0xEB,0x56,0x7E,0xF1,0x07,0x0A,0x5C,0xE4,0x10,0xA7,0x3A,0x38, + 0x94,0x96,0x96,0xC6,0xD2,0xD3,0xD3,0x43,0xF2,0xF9,0x85,0x22,0xDA,0x8D,0xBF,0x0F, + 0x22,0x86,0x98,0x53,0x52,0x52,0xE8,0xBA,0xD4,0x81,0xC4,0x1B,0x60,0xB6,0x6C,0xD9, + 0x22,0x41,0xB0,0x81,0x98,0xC3,0x42,0x94,0xCA,0xFC,0x10,0x63,0xAB,0x47,0x6F,0x31, + 0x87,0x87,0x98,0x95,0x39,0x7C,0x20,0xBC,0x0C,0x04,0xBA,0x20,0xE2,0xDE,0xBD,0x7B, + 0xD3,0xF5,0xE9,0x06,0x89,0x37,0x40,0xAC,0x5E,0xBD,0x5A,0x5A,0xBF,0x7E,0x7D,0x83, + 0x2C,0x10,0x2C,0xA9,0x22,0x56,0x5C,0xB4,0xA1,0xB2,0xA6,0xC1,0x02,0x56,0x5A,0x11, + 0x72,0x43,0xC5,0x8C,0xF7,0x66,0xF0,0xE0,0xC1,0xAC,0xB0,0xB0,0x90,0xAE,0x53,0x01, + 0x89,0xB7,0x81,0x34,0x44,0xB4,0x6A,0xB1,0xE2,0x11,0xE9,0x73,0x3D,0xCC,0xFD,0xD5, + 0x62,0xF6,0xE7,0x3D,0xC3,0xBC,0x7D,0xE0,0xC0,0x81,0x6C,0xE8,0xD0,0xA1,0x51,0x7F, + 0xBD,0x92,0x78,0xFD,0xA0,0xB2,0xB2,0x52,0x5A,0xBB,0x76,0x2D,0x9F,0xCF,0x9A,0xBD, + 0x00,0x11,0x61,0xED,0xDC,0xB9,0x33,0x77,0x05,0x0B,0x0A,0x0A,0xA2,0xFA,0x3D,0xDF, + 0xBE,0x7D,0xBB,0x84,0x20,0x9E,0x3F,0x91,0x77,0x12,0x31,0x89,0xD7,0x14,0x8A,0x68, + 0x11,0x39,0xD6,0xAB,0x11,0xD6,0x03,0x81,0xA5,0x5E,0xBD,0x7A,0xB1,0x7E,0xFD,0xFA, + 0xD1,0xFB,0xEC,0x06,0xDE,0x57,0x88,0x18,0xEF,0xAB,0xD9,0x88,0x36,0x44,0x8C,0xF7, + 0x15,0x2E,0x75,0xB4,0x05,0xB7,0x48,0xBC,0x06,0x59,0xB1,0x62,0x05,0x4F,0xF7,0x98, + 0x11,0x2D,0x82,0x4C,0xB8,0xB0,0xF0,0xB0,0xFB,0xFC,0x35,0x54,0x60,0x9E,0x0C,0x8F, + 0x06,0xD6,0xF8,0xF4,0xE9,0xD3,0xE2,0xAC,0x6F,0xE0,0xD1,0x20,0x42,0x7D,0xE3,0x8D, + 0x37,0x46,0xCD,0xFB,0x4C,0xE2,0xF5,0xC1,0xC6,0x8D,0x1B,0xA5,0x55,0xAB,0x56,0x99, + 0x72,0x8F,0xE1,0x16,0xC3,0x12,0x50,0x05,0x51,0xC3,0x40,0xF4,0x1A,0xF1,0x04,0x58, + 0x65,0xA3,0x20,0x8E,0x30,0x62,0xC4,0x08,0xD6,0xBD,0x7B,0xF7,0x88,0x7F,0xEF,0x49, + 0xBC,0x3A,0x20,0xB8,0xF2,0xDE,0x7B,0xEF,0xF1,0x45,0x01,0x46,0x81,0x85,0xC5,0x3C, + 0x2C,0x27,0x27,0x87,0xDE,0xCB,0x00,0x82,0xCF,0x62,0xCD,0x9A,0x35,0xA6,0x44,0x8C, + 0x00,0xE0,0xA8,0x51,0xA3,0x22,0x3A,0x08,0x48,0xE2,0xD5,0x00,0x2E,0x32,0xEE,0xF8, + 0x46,0x81,0x68,0x8B,0x8A,0x8A,0xC8,0x35,0x0E,0x32,0x10,0x31,0x3E,0x17,0xB8,0xD5, + 0x46,0x80,0x2B,0x8D,0x9B,0xE9,0xF5,0xD7,0x5F,0x1F,0x91,0x9F,0x0B,0x89,0x57,0x05, + 0xA2,0x9F,0x2B,0x57,0xAE,0x34,0x94,0x8F,0x54,0xEA,0x72,0x49,0xB4,0xA1,0x07,0xD5, + 0x6B,0xB0,0xC4,0x46,0x45,0x0C,0x57,0x7A,0xCC,0x98,0x31,0x11,0x57,0x3F,0x4D,0xE2, + 0x95,0x41,0x90,0x04,0xA2,0xDD,0xB3,0x67,0x8F,0x38,0xE3,0x1D,0xDC,0xCD,0xA3,0x31, + 0xBA,0x69,0x35,0xCC,0x8A,0x18,0x85,0x2F,0x70,0xA5,0x23,0xE5,0x66,0x1B,0xF5,0xE2, + 0x5D,0xB7,0x6E,0x1D,0x0F,0x48,0x19,0x89,0x22,0x47,0xC3,0x3C,0xCA,0x8E,0x98,0x89, + 0x4F,0xC0,0x63,0xC2,0x67,0x18,0x09,0xE5,0x96,0x51,0x2D,0xDE,0x25,0x4B,0x96,0xF0, + 0xFC,0xA2,0x2F,0xA2,0x29,0x82,0x69,0x67,0xCC,0x64,0x06,0x10,0xA7,0x18,0x3B,0x76, + 0xAC,0xAD,0x3F,0xCF,0xA8,0x14,0xEF,0xC1,0x83,0x07,0xA5,0xB7,0xDF,0x7E,0xDB,0x50, + 0x1E,0x11,0xEE,0x71,0xA4,0x06,0x3C,0x22,0x95,0xFF,0xFE,0xF7,0xBF,0x3C,0x27,0xEF, + 0x0B,0xAC,0x5E,0x9A,0x30,0x61,0x82,0x6D,0x3D,0xA9,0xA8,0x13,0xAF,0x51,0x37,0x19, + 0x15,0x51,0x70,0xAF,0x28,0xED,0x63,0x4F,0x70,0x83,0x46,0x1C,0xC3,0x97,0x2B,0x6D, + 0x67,0x37,0x3A,0xAA,0xC4,0x6B,0xC4,0x4D,0x86,0x8B,0x3C,0x6C,0xD8,0x30,0x5A,0x82, + 0x16,0x21,0xE0,0x66,0x8D,0xA0,0x96,0x2F,0x57,0xDA,0x8E,0x6E,0x74,0x54,0x88,0xD7, + 0xA8,0x9B,0x0C,0x6B,0x0B,0x37,0x8A,0xA2,0xC8,0x91,0x05,0xB2,0x09,0xF8,0xFC,0x7D, + 0xD5,0x4D,0xDB,0xCD,0x8D,0x8E,0x78,0xF1,0x62,0x71,0x3C,0x22,0x91,0xBE,0xDC,0x64, + 0x9A,0xDB,0x46,0x3E,0x46,0xE6,0xC2,0x70,0xA3,0x91,0x13,0xB6,0x43,0x70,0x32,0xA2, + 0xC5,0x8B,0xB5,0xB6,0x70,0x99,0xBC,0x81,0x55,0x29,0xE3,0xC6,0x8D,0xA3,0x06,0x68, + 0x51,0x02,0x0A,0x71,0x70,0x33,0xF7,0xE5,0x46,0x63,0x1E,0x6C,0xF5,0x15,0x60,0x11, + 0x2B,0x5E,0x23,0x25,0x8E,0xE4,0x26,0x47,0x27,0x46,0xDD,0x68,0x54,0xCF,0x59,0x79, + 0xBD,0x70,0x44,0x8A,0x77,0xD9,0xB2,0x65,0x7C,0x59,0x99,0x37,0xC8,0x4D,0x26,0x8C, + 0xB8,0xD1,0x56,0x0E,0x64,0x45,0x9C,0x78,0x5F,0x7F,0xFD,0x75,0xC9,0x5B,0x99,0xA3, + 0xDD,0xDC,0xE4,0x7F,0x7F,0xF8,0xA6,0xB4,0x6A,0xDD,0xFB,0x2C,0xAF,0x65,0x7B,0xF6, + 0xE8,0x4F,0x7E,0x4F,0x37,0x9B,0x00,0x63,0xC4,0x8D,0xC6,0x12,0xCF,0x89,0x13,0x27, + 0x5A,0xEE,0xBD,0x8F,0x28,0xF1,0x2E,0x58,0xB0,0x40,0xF2,0xE6,0x0A,0x61,0x71,0xFC, + 0xA4,0x49,0x93,0x6C,0x53,0xDB,0x5A,0x72,0x68,0x8F,0x74,0xDB,0xCF,0x6F,0x10,0x47, + 0x8C,0xDD,0x54,0x74,0x0B,0xFB,0xCD,0xFD,0x7F,0xF4,0xF9,0xDA,0xBF,0xDA,0xB9,0x9E, + 0x7F,0xAA,0xF1,0x71,0x8D,0x59,0xF7,0x2B,0x28,0xE5,0xE5,0x0B,0x94,0x57,0x2E,0x5D, + 0xBA,0xD4,0x6B,0x36,0x02,0xA5,0xB1,0x93,0x27,0x4F,0xB6,0xD4,0x7B,0x19,0x11,0xE2, + 0x45,0x81,0xFA,0x1B,0x6F,0xBC,0xE1,0xB5,0x3F,0x32,0xFA,0x1C,0xDF,0x71,0xC7,0x1D, + 0xB6,0x9A,0xDF,0x1E,0x39,0x7E,0x50,0x1A,0xFB,0xB3,0x22,0x71,0xE4,0x24,0x25,0xA9, + 0x29,0xBB,0xFE,0xAA,0x51,0x6C,0xCC,0xB0,0x89,0xAC,0x53,0x7E,0x17,0xCD,0xBF,0x65, + 0xEE,0xE2,0x27,0xA5,0xA5,0x1F,0x2C,0x12,0x47,0xCE,0x9F,0xE9,0x98,0x57,0xC0,0x9A, + 0xA5,0x66,0xB1,0xB6,0x2D,0xDB,0xB1,0x6B,0xFA,0x5D,0xAF,0xFB,0xB3,0xD1,0x8A,0xD1, + 0x6B,0x68,0xEA,0xD4,0xA9,0x96,0x79,0xDF,0x6C,0x2F,0x5E,0xBC,0xE9,0x8B,0x17,0x2F, + 0xB6,0xDD,0x5D,0xD3,0x28,0x77,0x3E,0x32,0x4A,0xFA,0xAE,0xA4,0x58,0x1C,0xB9,0x72, + 0xD7,0x98,0xFB,0xD8,0x03,0xB7,0xFF,0xD2,0xE3,0xEF,0x9A,0xFE,0xD4,0x64,0x69,0xDD, + 0xD6,0x4F,0xC5,0x91,0x27,0x73,0x7E,0xB1,0x80,0x15,0xF5,0x1F,0x4E,0xE2,0xD5,0xC0, + 0x4E,0xDE,0x9B,0x5A,0xBC,0x31,0xE2,0xD9,0x36,0x18,0x11,0x2E,0xE6,0x2B,0x76,0x15, + 0x2E,0xF8,0xD5,0xD4,0x3F,0x72,0xCB,0xA9,0xC5,0x6B,0xCB,0x17,0xB2,0x47,0x9E,0xBD, + 0xAF,0xFE,0x13,0x14,0x1C,0x39,0x71,0x58,0x8C,0xB4,0xC9,0xC9,0x6A,0x2D,0x46,0x84, + 0x3B,0xB0,0xAC,0x58,0x3A,0xA8,0x07,0xAE,0x35,0x58,0x68,0xAB,0x61,0x3B,0xF1,0xFA, + 0x9A,0xA7,0x20,0x52,0x68,0xC5,0x40,0x83,0x19,0xE0,0xDE,0xBE,0xF3,0xA7,0x35,0x6C, + 0xCA,0xB8,0x07,0x59,0xB3,0xB4,0x2C,0x71,0xB6,0x9E,0x4F,0x36,0x7E,0xC4,0x83,0x5A, + 0xE2,0x90,0x73,0xF4,0xB8,0xF7,0x7A,0x5E,0x72,0x99,0xBD,0x73,0xE7,0x9D,0x77,0x3A, + 0x70,0xED,0xE8,0x01,0xD7,0x1A,0x16,0x5A,0x1C,0x5A,0x02,0x5B,0x89,0xF7,0xAF,0x7F, + 0xFD,0xAB,0x57,0xF7,0x06,0x39,0x3A,0xBB,0x2F,0xF9,0x52,0x68,0x9A,0x9C,0xEA,0xF8, + 0xC9,0xAD,0x0F,0x39,0x3E,0xF8,0xCB,0x7A,0xC7,0xDC,0x99,0x7F,0x67,0x6D,0x5B,0xB5, + 0x17,0x5F,0x71,0xF2,0xCF,0x15,0xAF,0x8A,0x91,0x73,0x9E,0x7C,0xB1,0xE6,0x82,0x38, + 0xF2,0x44,0xEB,0x06,0x40,0x78,0x82,0x6B,0x07,0x4D,0x17,0xF4,0xC0,0xB5,0x87,0xCC, + 0x86,0x38,0x0C,0x3B,0xB6,0x11,0x2F,0xDE,0x34,0x6F,0xAB,0x45,0x50,0x1D,0x13,0xA9, + 0xCD,0xB8,0xAF,0xEA,0x3D,0xC4,0xF1,0xD2,0x6F,0xDE,0xE0,0x91,0x64,0x85,0xFD,0x87, + 0xF7,0xD6,0x45,0x98,0x4B,0x0E,0x7F,0xCF,0xCF,0xE9,0x91,0x93,0xD5,0x4A,0x8C,0x08, + 0x5F,0xA0,0x8D,0x2C,0x8C,0x80,0x1E,0x48,0x49,0xA2,0xA6,0x40,0x1C,0x86,0x15,0x5B, + 0x88,0x17,0x6F,0x96,0xB7,0x3C,0x2E,0x16,0xCD,0x47,0x7A,0x63,0xF3,0xCC,0xF4,0xE6, + 0x8E,0x21,0xFD,0xAE,0x17,0x47,0x4E,0x56,0x7D,0xF1,0x3E,0x7F,0x3E,0x7A,0xC2,0xBB, + 0xCB,0xEC,0x6E,0xB5,0x09,0xEF,0xC0,0x08,0x78,0x13,0x30,0x8A,0x81,0x50,0xCD,0x27, + 0x0E,0xC3,0x86,0xE5,0xC5,0xFB,0xD1,0x47,0x1F,0x79,0xAD,0x9C,0x42,0xD5,0x54,0xB4, + 0x6C,0x44,0x75,0x4D,0xBF,0x61,0x62,0xE4,0xE4,0xA3,0x2F,0xDE,0xE3,0xCF,0x07,0x8E, + 0xEC,0xE3,0xCF,0x7A,0xE4,0x64,0x92,0xE5,0x35,0x0B,0x04,0xEC,0x6D,0x0E,0x8C,0x32, + 0x5C,0xD4,0xD1,0x8B,0xC3,0xB0,0x60,0x69,0xF1,0x7E,0xF6,0xD9,0x67,0x7C,0xAB,0x11, + 0x3D,0xF0,0xE6,0x46,0x53,0xB9,0xE3,0xF0,0x41,0x37,0x3B,0xD4,0x51,0xE8,0xCA,0xAA, + 0x0A,0x9E,0xDF,0xF5,0x6D,0x79,0xDB,0x89,0x11,0x61,0x06,0xCC,0x81,0x91,0xB9,0xD0, + 0x03,0x0B,0x60,0xB0,0x82,0x4D,0x1C,0x86,0x1C,0xCB,0x8A,0x17,0x25,0x6C,0xE8,0x7E, + 0xA1,0x07,0x42,0xFB,0x91,0x12,0x9C,0x32,0xC3,0x4D,0x43,0x6E,0x11,0x23,0x27,0x28, + 0xCC,0xD8,0xB4,0xE3,0x0B,0x71,0xA4,0x0D,0xA5,0x89,0xFC,0x07,0x99,0x0B,0xD4,0x0C, + 0xE8,0xB1,0x7C,0xF9,0x72,0xBE,0xCB,0x83,0x38,0x0C,0x29,0x96,0x14,0x2F,0x56,0x80, + 0xE0,0x4D,0xD1,0x03,0x2B,0x83,0x10,0xDA,0x17,0x87,0x51,0xC5,0x9D,0xA3,0x7F,0xEA, + 0x21,0xC6,0xAA,0xF3,0x55,0x62,0xA4,0x0D,0x05,0xAC,0x1A,0x06,0x6A,0x06,0x50,0x69, + 0xA5,0x07,0x56,0x2B,0x61,0xE3,0x34,0x71,0x18,0x32,0x2C,0x29,0x5E,0xE4,0x72,0xF5, + 0x16,0xD2,0xE3,0x4D,0xFC,0xC9,0x4F,0x7E,0x12,0x31,0xC2,0x45,0x9A,0x07,0x51,0xE3, + 0x25,0xEF,0xFF,0x9D,0x3F,0x8B,0xD3,0xBA,0x20,0x70,0x85,0x6A,0x29,0xBD,0x22,0x0E, + 0x77,0xF0,0x7D,0xF8,0x19,0x71,0x48,0xF8,0x09,0xCA,0x6C,0x51,0x69,0xA5,0x05,0x1A, + 0xF6,0x43,0xC0,0xA1,0xC6,0x72,0x1F,0xAA,0xB7,0xA5,0x7D,0x76,0x5B,0x64,0xE0,0x8D, + 0x2F,0xB6,0x7C,0x22,0xFD,0xED,0xED,0x17,0xD9,0x8E,0xDD,0xAE,0x7F,0x2B,0xD2,0x41, + 0x13,0x6E,0x9A,0xAC,0x59,0x02,0xA9,0xE6,0x64,0xF9,0x71,0xE9,0xC9,0x05,0x8F,0x32, + 0x6F,0x25,0x91,0xE0,0x8A,0xBC,0x02,0xF6,0xFA,0x1F,0xDF,0x23,0xF1,0x06,0x00,0x54, + 0xF7,0x2D,0x5C,0xB8,0x50,0x77,0x35,0x52,0x28,0xD6,0x02,0x5B,0xB6,0x3C,0x12,0x93, + 0x7F,0x3D,0xE1,0xA2,0x55,0x09,0xEE,0x7E,0x76,0x17,0x6E,0xC5,0xD9,0x33,0xD2,0xEF, + 0x5E,0x7A,0x44,0x9A,0xF1,0xF4,0x3D,0x1E,0xC2,0x05,0x28,0xB6,0x40,0x09,0xE4,0xAD, + 0x33,0x86,0x4B,0xB0,0xCA,0xE2,0xB4,0x07,0xB0,0xA6,0xF3,0x1E,0x5F,0xE4,0x18,0x7B, + 0xFD,0x44,0x71,0x46,0x9B,0xB6,0x2D,0x29,0x4D,0x14,0x28,0x70,0xED,0xE1,0x1A,0xC4, + 0xB5,0xA8,0x05,0x02,0x58,0xA1,0x9C,0xFF,0x5A,0x46,0xBC,0x98,0xE7,0x62,0x8D,0xA5, + 0x1E,0x28,0xC2,0xB0,0xFB,0xAE,0x05,0x70,0x8B,0x27,0xFC,0xFC,0x06,0xF6,0xFE,0x9A, + 0x7F,0x8B,0x33,0xFA,0xA0,0x08,0xE3,0xFE,0xD9,0x77,0x70,0xB7,0x5A,0x9C,0xD2,0x24, + 0x25,0x29,0x55,0x8C,0xB4,0xC9,0x69,0x4E,0xC1,0xAA,0x40,0x82,0x2D,0x5C,0xD1,0x69, + 0x54,0x8F,0x50,0xCE,0x7F,0x2D,0x23,0x5E,0x6F,0xF3,0x5C,0xA4,0x84,0xEC,0xDE,0x96, + 0xF5,0xBD,0xD5,0x6F,0x4B,0xF7,0xCF,0xFE,0x11,0x3B,0x75,0xFA,0x84,0x38,0x53,0x0F, + 0x5C,0xDB,0xC2,0x5E,0xD7,0x78,0x94,0x31,0x22,0x05,0xF4,0xEB,0xF9,0xD3,0xC5,0x91, + 0x36,0x10,0xB9,0x37,0xB2,0x33,0x5B,0x8A,0x91,0x27,0xB8,0x99,0xFC,0xF5,0x5F,0xF3, + 0xA5,0x0F,0x3F,0xFF,0x6F,0xC8,0xAC,0x45,0x24,0x80,0xBA,0x02,0xBD,0x14,0x52,0x28, + 0xE7,0xBF,0x01,0x13,0xC4,0xB6,0x3D,0xA7,0xF9,0x05,0xB0,0x6D,0xCF,0x19,0x7E,0x5C, + 0x55,0x7D,0x49,0x9E,0xBF,0xC5,0xB0,0xB8,0x46,0xCE,0x5F,0x91,0x9E,0x12,0xCF,0xDA, + 0xB4,0x68,0xC2,0xC7,0x3D,0x3B,0xA4,0xB9,0xFC,0x5E,0x6F,0xF3,0x5C,0xB4,0xE6,0x9C, + 0x36,0x6D,0x9A,0xAD,0x85,0x0B,0x81,0xBC,0x22,0xCF,0x6F,0xDD,0xE9,0xD6,0xB1,0x17, + 0x7B,0x64,0xCA,0xEF,0xEB,0x16,0x0D,0xC0,0xA5,0xFE,0xE3,0x2B,0xBF,0xA9,0x2B,0xBE, + 0x50,0x78,0x64,0xCA,0xEF,0xD8,0x2D,0xC3,0x7F,0xA4,0xF9,0x1E,0x4C,0x9D,0x7D,0xBB, + 0xB4,0x79,0xE7,0x97,0xE2,0xC8,0x93,0x97,0x66,0xBD,0xC9,0xAE,0xEC,0x3A,0xD0,0xE5, + 0x67,0xF1,0x7A,0xFE,0xB9,0x62,0x31,0xCF,0x13,0x2B,0x60,0xAE,0x3D,0x65,0xDC,0x34, + 0x76,0xF7,0x58,0xEB,0xAC,0x5D,0xB5,0x3A,0x73,0xE7,0xCE,0x95,0xF4,0x16,0xC9,0x04, + 0x6B,0xFE,0x1B,0xB0,0xF5,0xBC,0x7B,0x0E,0x9D,0x95,0xFE,0xB5,0xFA,0x30,0xFB,0x62, + 0xFB,0x29,0x76,0xB1,0xF6,0xB2,0x38,0x6B,0x9C,0x82,0xB6,0x29,0xEC,0xE2,0x85,0x73, + 0xEC,0xD4,0xC9,0xE3,0x2C,0x39,0xC6,0xF3,0x4D,0x88,0x89,0x89,0x61,0x7D,0xFB,0xF6, + 0x65,0x89,0x89,0x89,0xE2,0x8C,0x93,0x9A,0x4B,0x12,0xDB,0xB5,0xBF,0x52,0x1C,0xE9, + 0xD3,0xAE,0x65,0x12,0x4B,0x4A,0x68,0xC4,0x72,0x9B,0x37,0x61,0x7D,0x3B,0xA7,0xB3, + 0x94,0xC4,0xB8,0x90,0x5F,0x98,0x5A,0xC2,0xF5,0x25,0x14,0x2C,0xF9,0xC3,0xCA,0x21, + 0x05,0x7C,0xFF,0xFB,0x2F,0xAF,0xE3,0x8B,0x15,0xC4,0xA9,0x3A,0x7E,0xFC,0xC4,0x2D, + 0x92,0xD6,0xDC,0x59,0xE1,0x9F,0x2F,0xFC,0x8F,0xE5,0xB5,0xEE,0xC0,0x7F,0x6E,0xFB, + 0x77,0x5B,0xA4,0xDF,0x2F,0x78,0xD4,0xAB,0xB5,0xC6,0xA2,0xFF,0x27,0xA7,0xCF,0x0F, + 0xF9,0xFB,0x64,0x47,0xD0,0x1B,0x1C,0xCB,0x53,0xF5,0x3C,0x46,0x04,0x57,0xF3,0xF3, + 0xF3,0x03,0xFA,0x5E,0x36,0x58,0xBC,0x65,0x15,0x17,0xA4,0x17,0xDF,0xFE,0x9E,0x7D, + 0xB1,0xE3,0x94,0x38,0x63,0x0F,0x70,0xB3,0x18,0xD2,0x2B,0x93,0x5D,0xDF,0xAF,0x79, + 0xC8,0x84,0x3C,0xF2,0xA7,0x03,0x25,0xB5,0xAB,0x8C,0xD4,0x0D,0x52,0x3D,0xEE,0xD6, + 0x50,0x0D,0x22,0xC9,0x77,0x3D,0xFA,0x03,0x17,0x17,0x7B,0xFA,0xDD,0x4F,0xB0,0x89, + 0x37,0xDD,0xE3,0xF1,0x33,0x63,0x1E,0x18,0xE2,0xB5,0xC2,0x6A,0xD9,0x9F,0xD7,0xB0, + 0xE4,0xC4,0xA6,0xEC,0xF5,0xFF,0xFC,0x85,0x07,0xC2,0x8C,0x80,0x1A,0xEA,0x3F,0xFE, + 0x72,0x61,0x48,0xDE,0x1F,0xBB,0x83,0xDD,0x19,0xB0,0xC5,0x8A,0x16,0xD8,0x89,0xE3, + 0x97,0xBF,0xF4,0x9E,0x35,0x30,0x4B,0x83,0xA2,0xCD,0x70,0x8F,0xA7,0x3E,0xBF,0xCD, + 0x76,0xC2,0x05,0xC5,0xB2,0xB5,0x5E,0xF8,0xEE,0x3E,0x76,0xFF,0x0B,0xDB,0xB8,0xD7, + 0x20,0x4E,0x07,0x95,0x66,0x69,0x99,0x62,0xE4,0xAC,0x74,0x7A,0xE5,0xF7,0x6F,0x79, + 0x15,0x2E,0x40,0x24,0xF9,0xB6,0x1B,0xEF,0x16,0x47,0x4E,0x3E,0xF8,0xE4,0x1D,0x31, + 0x32,0xC7,0x82,0xA5,0x2F,0x30,0x04,0xC9,0xB4,0x84,0x8B,0x39,0x36,0x2C,0xAD,0x7B, + 0xCE,0x18,0x56,0x1F,0x65,0x97,0xE2,0x90,0xF0,0x82,0xAF,0xF9,0x6F,0x30,0x17,0x30, + 0x98,0xBA,0x2B,0x7C,0xBE,0xFD,0xA4,0x34,0x7B,0x91,0xEF,0xED,0x31,0xED,0x40,0x7C, + 0x6C,0x0C,0xBB,0x77,0x74,0x3E,0xBB,0x79,0x50,0x70,0x37,0x15,0x43,0x43,0xB9,0xD7, + 0x64,0xAB,0xD7,0x58,0x76,0x7D,0x7F,0x2C,0xBB,0xCA,0x46,0x0B,0x26,0x60,0x7D,0xD1, + 0xCB,0x4A,0xBD,0x4E,0x57,0x6B,0xFE,0x3A,0xE0,0xD6,0xF6,0x7E,0x5D,0x1C,0xEA,0x76, + 0x3A,0x88,0x68,0x3F,0xFA,0xDC,0x54,0xE6,0xDE,0x7A,0x87,0x5A,0xE7,0x18,0x47,0x6F, + 0xFE,0x8B,0xB4,0xD2,0x94,0x29,0x53,0x02,0xB6,0x79,0x9D,0x5F,0x6E,0x33,0x2C,0xD5, + 0xF4,0x17,0xBF,0xD6,0x9D,0xDB,0x22,0x20,0x05,0xB7,0xB4,0x5D,0x4B,0xE7,0xFC,0xB4, + 0x45,0x46,0x82,0x2C,0x10,0x07,0x3B,0x78,0xFC,0x3C,0x3F,0x06,0xBB,0x0E,0x9C,0x65, + 0x35,0xF2,0xCF,0x17,0x97,0x54,0xFA,0x35,0x47,0x0E,0x06,0xF7,0x8C,0x6C,0xCB,0x26, + 0x0C,0xCB,0xB5,0xE4,0x05,0xFA,0xAB,0x79,0x0F,0x49,0xEA,0xE0,0xD5,0x84,0x91,0x93, + 0xD9,0x8C,0x49,0xBF,0x72,0x79,0xAD,0x66,0xC5,0x8B,0xE5,0x81,0xBF,0x9E,0x3A,0xC7, + 0xA3,0xC3,0x24,0x6E,0x16,0x53,0x7E,0x35,0xDE,0x65,0x79,0x21,0x2C,0xF2,0xAA,0x45, + 0x5B,0x2C,0xF9,0xDE,0x58,0x0D,0xCC,0x7F,0x5F,0x79,0xE5,0x15,0x71,0xE4,0x4A,0x20, + 0xFB,0xA9,0x99,0x16,0x6F,0xE5,0xB9,0x1A,0x69,0xCA,0x9C,0x2D,0xAC,0xBC,0xF2,0xA2, + 0x38,0x53,0x0F,0x44,0x7B,0xC7,0xF0,0x5C,0x53,0x16,0x4C,0x99,0x27,0x54,0x5E,0x4A, + 0x65,0x92,0xF0,0xDC,0x2B,0x6B,0x53,0xD9,0x65,0x79,0x8C,0x3F,0xD4,0x5B,0x21,0x38, + 0xC0,0x4D,0x02,0x91,0x6C,0x5F,0x9C,0x3D,0x5F,0xCB,0xBE,0xDE,0x5B,0xC1,0x36,0xED, + 0x2A,0x77,0xB9,0x89,0xA8,0x81,0x05,0x7E,0xE9,0xE1,0x5E,0xAC,0x4D,0x8B,0x44,0xCB, + 0x5D,0xA4,0xA8,0xC2,0x42,0x31,0x87,0x02,0xDC,0xEE,0xE5,0xFF,0xF7,0x49,0xDD,0xEB, + 0x84,0xE0,0x6E,0xBA,0xB7,0x50,0x1C,0x79,0x07,0x42,0x84,0xE5,0xD7,0x9A,0x37,0x2B, + 0xC0,0x4B,0xB8,0x53,0x9E,0x6B,0xFB,0xB2,0xF6,0x84,0x36,0xDE,0x76,0xEC,0x40,0xDF, + 0xF0,0x40,0xEC,0x85,0x64,0x5A,0xBC,0x2F,0xBE,0xBD,0x47,0x7A,0xEF,0x0B,0xCF,0xF6, + 0x33,0x3D,0x3B,0xA4,0xB2,0xDF,0x4C,0xEA,0x6C,0x2A,0xF8,0x83,0x04,0xF6,0xBC,0x79, + 0xF3,0x34,0x23,0x74,0x28,0x7F,0x9C,0x31,0x63,0x46,0x50,0x2E,0x94,0xD2,0x53,0xD5, + 0xD2,0xD3,0x6F,0x7C,0xCB,0xE7,0xBD,0xEE,0x14,0xF5,0xCE,0x62,0x8F,0xDF,0xD9,0xC9, + 0x92,0x17,0xE8,0xD5,0x3F,0xEA,0xE2,0xD2,0xE2,0xE6,0x95,0x27,0xDF,0xAE,0xB3,0x9A, + 0x70,0x77,0xDD,0xDB,0xC4,0xAA,0x69,0x92,0x90,0xC4,0x7E,0x34,0xEA,0xC7,0xBC,0x05, + 0xAC,0x51,0xF7,0x17,0x35,0xD6,0xF3,0x5E,0xFD,0x03,0x1F,0x43,0xF0,0x4B,0x5F,0xF8, + 0x1F,0xD5,0x46,0x9B,0xE0,0xD9,0x67,0x9F,0x95,0x30,0xD7,0x75,0x27,0x50,0xC1,0x2B, + 0x53,0x01,0xAB,0x6F,0x4A,0x2A,0x34,0x85,0x0B,0xEB,0xF7,0xEC,0xFD,0xDD,0x1D,0x66, + 0xA3,0xB6,0xB0,0xB8,0x7A,0xA1,0x75,0x74,0xC4,0x08,0x16,0xD9,0xCD,0x12,0x1C,0xF3, + 0x1F,0xEA,0xE9,0x18,0xDE,0xAF,0x85,0x38,0x53,0x0F,0x52,0x5D,0x56,0xC5,0xBD,0x7B, + 0xC6,0xEB,0xEF,0xBE,0x2C,0x46,0x58,0xCF,0xEB,0x3D,0x5D,0x56,0xD0,0xBE,0x1B,0x43, + 0x1F,0x2C,0x33,0xF3,0x56,0x58,0x66,0xDC,0x20,0xEE,0x9F,0xF8,0x0B,0x1E,0x5C,0x23, + 0xE1,0x9A,0x43,0xEF,0x1A,0x0E,0x46,0xF0,0xCA,0xA7,0x78,0xFF,0xF5,0xFF,0x3C,0x5B, + 0x8A,0x26,0x37,0x89,0x65,0xB3,0x26,0xEB,0x2F,0x52,0xD6,0x63,0xF7,0xEE,0xDD,0xD2, + 0x8E,0x1D,0x3B,0xC4,0x91,0x2B,0x88,0xD8,0x15,0x14,0x14,0x04,0xFD,0x42,0xF9,0xC5, + 0xC4,0x8E,0x0E,0xB8,0xFA,0x6A,0x30,0xFF,0x46,0x30,0x4E,0x1C,0x5A,0x8A,0x91,0x43, + 0x7E,0x28,0x46,0x4E,0xB0,0x10,0x01,0xEE,0x2D,0xC6,0x67,0xCF,0xD5,0x17,0x59,0x04, + 0x12,0x58,0x76,0xE4,0xA0,0x95,0xFC,0x30,0x61,0x1C,0xB8,0xC6,0x7A,0xD3,0x3E,0xEC, + 0x91,0x84,0x9D,0x1A,0xC4,0x61,0x83,0xF1,0x2A,0x5E,0x04,0xA9,0xB4,0x52,0x42,0x93, + 0x47,0xB6,0x65,0x19,0x4D,0x1B,0x9B,0xFE,0x60,0xF5,0xF2,0x61,0x88,0xC8,0xA1,0x76, + 0x39,0x54,0x14,0xF5,0xAE,0x4F,0xDF,0x28,0x7C,0xF5,0xAD,0x7E,0x3B,0xD9,0x70,0x82, + 0xE6,0x73,0x28,0x9F,0x54,0x80,0x0B,0x8D,0x42,0x0B,0x70,0xE1,0xA2,0x7E,0xC7,0x48, + 0x40,0x8B,0xF0,0xC3,0x03,0xAC,0xAF,0xD6,0xE2,0x05,0x78,0x9C,0x7A,0x1A,0xF0,0x07, + 0xAF,0xE2,0xFD,0x60,0xBD,0xA7,0xBB,0xDC,0xBE,0x55,0x92,0x5F,0xE9,0x15,0x04,0xA9, + 0xF4,0xB6,0x95,0x40,0x29,0x59,0x28,0xB7,0x24,0xE9,0xD1,0xDE,0x73,0x2D,0x6C,0x59, + 0x45,0x8D,0x18,0x59,0x8F,0x1F,0x8F,0x7B,0x50,0x8C,0x9C,0xA0,0xA2,0x0A,0x2B,0x93, + 0xCA,0x34,0xEA,0xA4,0x89,0xF0,0x83,0xB4,0x90,0x5E,0x0B,0xD9,0x92,0x92,0x12,0x56, + 0x5C,0x5C,0x1C,0x10,0xEB,0xEB,0x55,0xBC,0x1F,0x6E,0x38,0x2E,0x46,0xF5,0x20,0xB2, + 0xEC,0x0F,0x7A,0xBD,0xA8,0x50,0xBB,0x7C,0xF5,0xD5,0x57,0x87,0xD4,0x3D,0x73,0x77, + 0x9B,0x41,0x55,0xB5,0xF6,0x3C,0xDC,0x0A,0x60,0xCE,0x8A,0x62,0x0A,0x35,0x58,0x99, + 0xB4,0xE4,0xFD,0xBF,0x89,0x23,0x6D,0xA8,0x5F,0x73,0xF8,0x40,0x6F,0x35,0x04,0xA9, + 0xB4,0xF0,0xB5,0xF9,0xBB,0x51,0x74,0xC5,0xBB,0x7A,0xF3,0x71,0xC9,0x3D,0x17,0x8B, + 0xDC,0xED,0xA0,0xEE,0x99,0x7E,0x59,0x5D,0xAD,0x08,0x1C,0x08,0x66,0x90,0x4A,0x8F, + 0x0C,0x0D,0xF1,0x5A,0x1D,0x2C,0x4E,0x70,0x77,0x83,0xF7,0x1C,0xF8,0x4E,0x8C,0xB4, + 0x89,0x8F,0xB5,0xDF,0xDF,0x19,0x49,0xE8,0x4D,0x05,0xD1,0xBC,0x3D,0x10,0xD6,0x57, + 0x57,0xBC,0xEB,0x76,0x96,0x8B,0x51,0x3D,0x5A,0x73,0x45,0x23,0xE8,0x59,0x5D,0x04, + 0xA9,0xEC,0xB2,0x67,0x6E,0xB8,0xC1,0xA2,0x84,0x97,0x66,0xBD,0x41,0xF3,0x58,0x1B, + 0x81,0x00,0xAC,0x5E,0xEF,0xAB,0x40,0x58,0x5F,0x5D,0xF1,0x6A,0xA5,0x4F,0x0A,0xBB, + 0x66,0x88,0x91,0x71,0x36,0x6E,0xDC,0xA8,0x6B,0x75,0xBD,0x35,0xB6,0x0E,0x26,0x56, + 0xA9,0xEE,0x32,0x4B,0xCB,0xE6,0xB9,0x8E,0x57,0x9E,0x7C,0x8B,0xAF,0xFD,0x25,0xEC, + 0x81,0xDE,0x35,0x0E,0xEB,0x8B,0xEC,0x8B,0x38,0xF4,0x0B,0x4D,0xF1,0x62,0xF1,0x81, + 0x96,0xCB,0xDC,0x25,0xAF,0xA9,0x69,0x2B,0x89,0xF0,0xB8,0x16,0xB8,0x23,0x05,0xAA, + 0xDE,0xD3,0x2C,0xE9,0x29,0x71,0x62,0x54,0x8F,0xD6,0x3C,0xD8,0x8A,0x28,0xED,0x6F, + 0x50,0xE2,0x98,0x10,0xEF,0x5C,0x1F,0xDD,0x50,0xB0,0x28,0x1F,0x8F,0x6F,0xF7,0x7D, + 0x13,0xB0,0x34,0x06,0xE1,0xC4,0x9B,0xF5,0xD5,0xD3,0x86,0x51,0x34,0xC5,0x8B,0xDA, + 0x63,0x77,0x7A,0xB6,0xF7,0xDE,0x6E,0x45,0x0B,0xF8,0xF5,0x7A,0x1B,0x83,0x85,0xCB, + 0xEA,0x02,0x14,0x96,0xDC,0x76,0x5D,0xBD,0xFB,0x89,0xBC,0xB5,0xBF,0x81,0xB8,0x70, + 0x31,0x6A,0xE8,0x38,0xC7,0x4F,0x6F,0x9B,0x21,0x8E,0xFC,0x03,0x6B,0x8D,0xB1,0x64, + 0x11,0x1D,0x3E,0xF0,0xB8,0xEB,0xD1,0x9B,0xF9,0xDE,0xC0,0x6B,0x36,0x7C,0x48,0x22, + 0x0E,0x20,0x7A,0xD7,0xFA,0xAE,0x5D,0xBB,0x1A,0x94,0xF7,0xD5,0x14,0x2F,0x16,0x10, + 0xB8,0xD3,0xA9,0x8D,0x76,0xE4,0xCC,0x1B,0x7A,0x7E,0x3D,0xEE,0x44,0xA1,0x28,0xC8, + 0xF0,0xC6,0x8F,0x6F,0xCA,0x73,0xCC,0x7B,0xB0,0x07,0x7B,0xF6,0xFE,0x6E,0xEC,0x95, + 0x47,0x7B,0x5B,0xB2,0xB6,0xD9,0x17,0xE7,0xCE,0x6B,0x4F,0x47,0x7C,0x81,0x8E,0x1D, + 0x58,0xC4,0x8F,0x26,0x01,0xEE,0x6D,0x79,0xB0,0xB2,0x08,0x2B,0x8C,0x20,0x62,0xB4, + 0xC7,0xC1,0xF7,0x8A,0x2F,0x11,0x7E,0x12,0xAC,0xB9,0xAF,0xA6,0x78,0xBF,0xDE,0xEB, + 0x6C,0x65,0xA3,0x06,0xE5,0x90,0x66,0xB0,0xAA,0xD5,0x55,0x83,0x69,0x00,0x5A,0xF2, + 0xF8,0x53,0x70,0x62,0x57,0x50,0x0F,0x3D,0xE5,0xD7,0xE3,0x35,0x3B,0x57,0xAA,0x81, + 0x88,0xD1,0x3F,0xEB,0xFA,0x7B,0xFA,0xF0,0x95,0x4B,0xEA,0x07,0x5A,0xEF,0x88,0x6F, + 0x23,0x0C,0x12,0x0C,0xEB,0xEB,0x21,0x5E,0x74,0xC9,0xC0,0x6A,0x1C,0x35,0x70,0x2B, + 0x3B,0xB4,0x4E,0x36,0x75,0x81,0x5B,0xD9,0xEA,0x46,0x33,0xD3,0x9F,0xFE,0xB1,0x47, + 0x1B,0x1C,0x2C,0x40,0x40,0x3F,0x2D,0xA3,0xA0,0x67,0x96,0xFB,0xE6,0xDE,0x84,0x77, + 0x70,0xCD,0xA3,0xA6,0x41,0x0B,0x7F,0xAD,0xAF,0x87,0x78,0xF7,0x1E,0xF6,0xDC,0x3A, + 0x03,0x3D,0xA0,0xCC,0x80,0x3B,0x89,0xD5,0xAD,0x6E,0x34,0x82,0xAA,0x2C,0x77,0xE1, + 0x62,0xE1,0x03,0xD6,0xEC,0xFE,0xED,0x0F,0xFF,0x76,0xA0,0x65,0xCE,0x4D,0x45,0xAE, + 0x7B,0x21,0xE9,0x41,0x29,0x2B,0xF3,0xA0,0x1F,0x9B,0x16,0xD8,0xBE,0xD6,0x9F,0x76, + 0xB1,0x1E,0xE2,0xD5,0x5A,0xF7,0x8A,0x92,0x48,0x33,0xE8,0x75,0x82,0x24,0xAB,0x1B, + 0x3E,0xD0,0x7A,0xD6,0xBD,0x5F,0x34,0xAA,0xB6,0xD4,0xBD,0xAA,0x90,0x8A,0xFA,0xCD, + 0xFD,0x7F,0xE4,0x22,0x9E,0x32,0xEE,0x41,0x4D,0x6B,0x8C,0xAA,0x2D,0x14,0x8C,0xA0, + 0xE6,0x5A,0x9C,0x22,0x0C,0x82,0x96,0x39,0x5A,0x55,0x57,0xA8,0x79,0xD6,0x5B,0xB0, + 0xE3,0x0D,0x0F,0xF1,0x1E,0x3A,0xE1,0x29,0xDE,0xD6,0x59,0xE6,0x2C,0xAF,0xDE,0x0B, + 0xF1,0xB6,0xDF,0x29,0x51,0x0F,0x16,0xD9,0x07,0x22,0x7D,0x93,0x9C,0xE4,0x8C,0x53, + 0xE0,0xDF,0x7B,0x69,0xC9,0x73,0x7C,0xAC,0x80,0xC5,0x0E,0x7A,0x5D,0x22,0x21,0x62, + 0x2C,0x25,0x84,0x35,0xFE,0xF2,0x5F,0x7B,0x5D,0x1E,0x1F,0xFC,0x65,0xBD,0x43,0xAF, + 0x0D,0x2D,0xE1,0x1B,0x3D,0xEB,0xEB,0x6D,0x0F,0x6A,0x3D,0x0C,0xB9,0xCD,0x66,0x2C, + 0x2F,0x12,0xCF,0x5A,0x45,0x19,0x58,0x65,0xD1,0xAD,0x5B,0x37,0x71,0x44,0x00,0x08, + 0x13,0x02,0xC5,0xFC,0x11,0x0D,0xDF,0x10,0x08,0x42,0x40,0x08,0xDD,0x31,0xD4,0xE9, + 0x1B,0x9C,0x43,0xF4,0x17,0xD6,0x53,0xFC,0xA8,0x21,0x52,0x12,0x9D,0x0B,0x30,0xB0, + 0xB8,0x5E,0x1D,0x55,0x86,0xF5,0x44,0x7F,0x2A,0x22,0xF4,0xE8,0x19,0x30,0x4C,0x33, + 0xCD,0x06,0xAE,0x3C,0x03,0x56,0x95,0x9E,0xAB,0x6B,0x5A,0xA4,0x27,0x88,0x91,0x6F, + 0xF4,0xEE,0x20,0x58,0xE3,0x18,0xCA,0x95,0x43,0x46,0x28,0x3D,0x76,0x42,0xFA,0x72, + 0xC3,0xA6,0xB0,0x04,0x5E,0xD0,0x9B,0x19,0xC2,0x84,0x40,0xD1,0x68,0x1D,0xFB,0xEC, + 0x7A,0x6B,0x9E,0x8E,0xE8,0x2F,0x96,0x02,0xA2,0xD5,0x2B,0x04,0x2F,0x4E,0xFB,0x04, + 0xAD,0x74,0xDC,0x9B,0xB8,0xA3,0x1D,0x0E,0xAC,0xAB,0x38,0x24,0x42,0x08,0xF6,0x3B, + 0xD2,0x5B,0xEF,0x6B,0xD6,0xFA,0x7A,0x88,0xF7,0x58,0x99,0xE7,0x0E,0x68,0xE8,0x42, + 0x21,0x86,0x3E,0x41,0xE8,0x5B,0x0B,0x2B,0xBA,0xCC,0x25,0x07,0x0E,0xB1,0xCB,0x97, + 0x2E,0x89,0xA3,0xD0,0x01,0xF1,0xA9,0x9B,0xAA,0x9B,0x01,0x0D,0xE2,0x20,0xF8,0xFF, + 0xFB,0xC7,0xB3,0x3E,0x05,0x5C,0x7B,0xA9,0x96,0xDF,0x18,0xD4,0xC0,0x5D,0x26,0xB7, + 0x37,0xBC,0xE8,0x79,0xA0,0x66,0xE7,0xBD,0x2E,0xE2,0x45,0x9F,0x27,0x31,0xAC,0x03, + 0x65,0x91,0x46,0xC1,0x2E,0x7F,0x5A,0x2D,0x6E,0x12,0x12,0x12,0x02,0xD2,0x7C,0x2B, + 0x90,0x54,0x55,0x55,0x49,0x95,0xE7,0x6A,0xD9,0xE9,0xF3,0x31,0x21,0xDF,0x18,0x19, + 0x4D,0xD0,0xBD,0x81,0x48,0x6E,0x9F,0xAE,0x03,0xF8,0x43,0x2F,0xAA,0x8B,0x3E,0xCC, + 0x9F,0x6F,0x5E,0x2D,0x8E,0xB4,0xF9,0x74,0xD3,0x2A,0x97,0x6E,0x90,0xE0,0x57,0x53, + 0xFF,0x28,0x46,0x44,0xB8,0xE8,0xD7,0xAF,0x9F,0x43,0x6B,0xB1,0x3E,0xA6,0x9B,0x66, + 0xEA,0x9D,0x5D,0x04,0x85,0x9A,0xE6,0x5F,0xBE,0xE4,0xAA,0x7E,0x34,0x99,0x43,0xAF, + 0x2A,0x71,0xE8,0x95,0x45,0x8B,0x16,0x49,0x58,0x6C,0xEC,0x0E,0x26,0xE9,0x37,0xDF, + 0x7C,0xB3,0xA5,0xC4,0x5B,0xB2,0xFF,0x80,0xA4,0xB4,0xF8,0xB9,0xF5,0xDA,0x56,0x2C, + 0xAF,0x6D,0x9B,0x90,0xBE,0x3E,0xCC,0x73,0x57,0xAD,0x7B,0x9F,0x8F,0x21,0xD0,0x9C, + 0xCC,0x56,0xBC,0x51,0x5C,0x9F,0x2E,0x03,0x3C,0xB6,0x35,0x41,0xC0,0xE9,0xF5,0x77, + 0xFF,0xC2,0xDE,0xF9,0xE8,0x1F,0x2E,0x9D,0x1D,0x7D,0x11,0xDB,0x28,0x96,0x5B,0x5F, + 0x05,0x75,0xAF,0x66,0x22,0xBC,0xBC,0xF5,0xD6,0x5B,0x9A,0x2D,0xA1,0x60,0x95,0xC7, + 0x8F,0x1F,0xAF,0xFB,0x19,0xE9,0x36,0xA0,0x2B,0xAB,0xF0,0x6C,0xED,0x6A,0x74,0xBE, + 0x0B,0xEB,0xA5,0x25,0x5C,0x60,0x45,0x97,0xF9,0xF8,0xC9,0xD3,0x6C,0x4F,0xE9,0x65, + 0xB6,0x7E,0xF7,0x65,0x76,0xF8,0x88,0x67,0xD3,0x81,0x60,0x03,0xD7,0x75,0xC1,0xAC, + 0x7F,0xF0,0x07,0xD2,0x33,0x4A,0xA3,0x38,0xAD,0xFD,0x88,0xB0,0x18,0x01,0xFD,0x9A, + 0xD1,0x18,0xCE,0x4C,0x7E,0x55,0x2D,0x5C,0xFC,0x1C,0x09,0xD7,0x3A,0xE8,0x69,0x42, + 0x6F,0xDA,0xA9,0x85,0x8B,0x78,0xCB,0x35,0x82,0x55,0xE9,0x4D,0x3D,0x57,0xE0,0x68, + 0xA1,0x37,0xD9,0x46,0x3B,0x57,0xEC,0x69,0x2A,0x0E,0x2D,0xC3,0xC5,0x0B,0xD5,0xEC, + 0xD0,0x29,0x89,0x9D,0x95,0x67,0x0A,0x5F,0x1F,0xB8,0xCC,0x0E,0x1D,0x3E,0x12,0x52, + 0xD7,0xD9,0x1F,0xB0,0x9B,0xE0,0xBC,0x99,0x7F,0xE3,0x1B,0x8F,0x99,0xE5,0xD7,0xF7, + 0xCF,0x11,0x23,0xC2,0x0A,0x60,0x1D,0xBB,0x5E,0xCE,0x17,0xCB,0x68,0xC5,0xA1,0x57, + 0x5C,0xC5,0x7B,0x56,0x43,0xBC,0xC9,0xC6,0xC4,0x8B,0x2A,0x11,0x2D,0xAC,0x68,0x75, + 0x21,0xD4,0xED,0x07,0xE5,0x37,0x4A,0xAC,0x7A,0xFC,0x68,0x5B,0x0D,0xDB,0x7F,0xE0, + 0x88,0xF3,0xC0,0xE2,0xA0,0xA3,0xA3,0x59,0x21,0xA2,0x6A,0x8A,0x1A,0xA7,0x5B,0x0F, + 0xBD,0xC0,0x95,0x9E,0x96,0xDC,0x71,0x15,0xAF,0x46,0x13,0x36,0xAD,0xB5,0xAF,0x5A, + 0x1C,0x3A,0xA4,0xBD,0x53,0x9D,0x25,0xC5,0x7B,0xE4,0x18,0x5B,0xFF,0x5D,0xFD,0xDF, + 0x6A,0x27,0xEB,0x0B,0x86,0x0F,0xBA,0xD9,0x61,0xB4,0x8C,0x11,0x75,0xCB,0xE8,0xC1, + 0x4C,0x58,0x0F,0x3D,0xF1,0xEA,0x4D,0x3F,0xDD,0x71,0x11,0xEF,0xB1,0x72,0xCF,0x34, + 0x51,0x46,0x53,0xDF,0x8B,0xD4,0xF7,0xED,0xDB,0xA7,0x19,0x65,0x86,0xCB,0x8C,0xBC, + 0x96,0x38,0xB4,0x04,0x47,0x4A,0x8F,0x49,0xDF,0x1D,0xAE,0x61,0x47,0xCB,0x5D,0x75, + 0x6A,0x27,0xEB,0x0B,0xC6,0x0E,0x9B,0x28,0x46,0xDE,0xF9,0xD5,0xD4,0x39,0xD4,0x38, + 0xDD,0xA2,0x60,0x3A,0x89,0x4C,0x8C,0x3B,0xD5,0xD5,0xD5,0x86,0x0A,0x36,0x5C,0xC4, + 0xEB,0xBE,0x9A,0x08,0x18,0x09,0x58,0xE9,0xDD,0x29,0x7C,0xED,0x39,0x14,0x0E,0xF6, + 0x7E,0x7F,0x88,0x2D,0xDF,0xE0,0xE9,0x61,0xC0,0xFA,0x6E,0xD8,0x73,0x89,0xED,0xDE, + 0x5B,0x62,0x0B,0xEB,0x8B,0xC6,0xE8,0x4A,0x05,0x95,0x1E,0x03,0x7A,0x0C,0xA6,0x5D, + 0xFE,0x2C,0x8E,0x9E,0x46,0x8C,0x58,0x5F,0x17,0xF1,0x6A,0xF5,0x2E,0x4E,0x6A,0xD2, + 0x48,0x8C,0xF4,0xB1,0x8B,0x78,0xBF,0xDB,0xFD,0xBD,0xB4,0x66,0xC7,0x45,0x2E,0x54, + 0x2D,0x60,0x7D,0x8F,0x96,0xDA,0xA7,0x17,0x72,0xBB,0x36,0x57,0x88,0x91,0x36,0xB2, + 0x7B,0x2D,0x46,0x84,0x55,0x09,0x98,0x78,0xB5,0x76,0x01,0x34,0xB2,0x17,0x91,0xDE, + 0x7C,0xD7,0x6A,0xE2,0x3D,0x79,0xEA,0x24,0x5B,0xF7,0x9D,0x7E,0x45,0x15,0x02,0x58, + 0xEB,0xBF,0xAB,0xE5,0x39,0x60,0x71,0xCA,0xD2,0x64,0xA6,0x7B,0xEE,0xBB,0x44,0xD8, + 0x8B,0x80,0x89,0xD7,0x1D,0x23,0x4D,0xD9,0xEC,0x32,0xDF,0x45,0x30,0x6A,0xDB,0xFE, + 0xFA,0x08,0xB3,0x1E,0x5B,0x4B,0x2E,0xC9,0xD6,0x57,0x7B,0x67,0x07,0xAB,0x71,0xFE, + 0xC2,0x39,0x31,0x22,0xEC,0x0A,0x9A,0x30,0xFA,0x3B,0xEF,0xAD,0x13,0xAF,0x56,0x69, + 0xA4,0x91,0x3D,0x70,0xED,0xE2,0x32,0xBB,0x47,0x98,0xF5,0x38,0x59,0x89,0xF9,0xEF, + 0x25,0x5E,0x3E,0x29,0x4E,0x59,0x96,0x84,0x78,0xF3,0xF9,0x5E,0xC2,0x7A,0xF8,0x6B, + 0x7D,0xBD,0xAA,0x33,0xC3,0x40,0x9A,0xC8,0x2E,0xE2,0xBD,0x54,0xEB,0x19,0x61,0xD6, + 0xE3,0x70,0x99,0x04,0xF1,0x8A,0x23,0xEB,0xD2,0x38,0xDE,0x78,0xDD,0x39,0x61,0x5D, + 0x1A,0x2C,0x5E,0xAD,0x34,0x91,0x11,0xCB,0x6B,0x87,0xF9,0xEE,0x99,0x33,0x67,0xA4, + 0xB2,0x2A,0xE3,0x1E,0xFC,0xBE,0x63,0xB5,0xAC,0xA2,0xD2,0xFA,0xE2,0xAD,0x91,0x6F, + 0x48,0xDE,0xC8,0x69,0x4E,0xAD,0x6A,0xEC,0x40,0x50,0x2C,0x6F,0x52,0x82,0xE7,0xCA, + 0x07,0x35,0x76,0x99,0xEF,0xF2,0xD5,0x1A,0x47,0x3C,0x5F,0xA7,0x1E,0xD5,0x17,0x25, + 0x56,0x7D,0xC1,0xB7,0x8B,0x1D,0x6E,0x7C,0x89,0x97,0xB0,0x07,0xFE,0xCE,0x7B,0xEB, + 0xC4,0xAB,0xB5,0x28,0x01,0x5D,0x23,0xBD,0xA1,0xD7,0x64,0xCE,0x6A,0x2E,0xF3,0xE5, + 0xCB,0x97,0xD9,0x85,0x1A,0xCB,0x4F,0x61,0x4D,0x73,0xBA,0xA2,0x4C,0x8C,0x08,0xBB, + 0xA3,0xA7,0x19,0xBD,0x6D,0x71,0x41,0x9D,0x78,0x2F,0xD6,0x9A,0xBF,0xB8,0x4F,0x9F, + 0xD6,0xDE,0x90,0x5A,0xAF,0xC5,0x25,0x11,0x58,0x4E,0x57,0x92,0x78,0x23,0x05,0x3D, + 0xCD,0xE8,0x19,0x48,0xE0,0xD5,0x6D,0xF6,0xB5,0xA2,0x48,0xEF,0xAE,0x60,0x35,0xF1, + 0xC6,0xC4,0xC4,0xB0,0xC6,0xBE,0xD3,0xD5,0x75,0x34,0x6A,0x84,0x9E,0x5B,0xBE,0x8B, + 0x53,0xC2,0x4D,0x8C,0xC3,0x77,0x4C,0x82,0xB0,0x07,0x7A,0x9A,0xD1,0x33,0x90,0xA0, + 0xDE,0xF2,0xD6,0x78,0x26,0x40,0xE3,0x1A,0x79,0xBF,0xE0,0xF5,0xEE,0x0A,0x56,0x13, + 0x6F,0x62,0x62,0x22,0xCB,0x6F,0xE1,0x7D,0x0A,0xA0,0x26,0xAF,0x79,0x2C,0x4B,0x6B, + 0x6A,0xAE,0xDD,0x6D,0x38,0x48,0x4E,0xF2,0x5E,0x1E,0xD9,0x2C,0x95,0x3C,0x20,0xBB, + 0xA0,0xA7,0x19,0x43,0x6E,0xB3,0x56,0x75,0x95,0x2F,0xF4,0xB6,0xEE,0xCC,0xCA,0xCA, + 0xB2,0x4C,0xB0,0x0A,0x20,0x78,0xD6,0xBC,0xA9,0xF1,0x69,0x41,0x7E,0xF3,0x18,0x34, + 0xCB,0x13,0x47,0xD6,0x25,0x2E,0xD6,0xBB,0x67,0x14,0x4F,0x79,0x60,0xDB,0xA0,0xB7, + 0xE6,0xDD,0x90,0x78,0xB5,0x88,0x8F,0xD5,0xFF,0xB2,0x5E,0x14,0xCC,0x6A,0x56,0x57, + 0x21,0x31,0x29,0x85,0x15,0xB4,0xF2,0xED,0x66,0xE2,0x4F,0x4E,0x6A,0x2C,0xB1,0xA4, + 0xA4,0x24,0x4B,0xDD,0x80,0xB4,0x38,0x5B,0x55,0x21,0x46,0x44,0x24,0xA0,0xB7,0x38, + 0xBF,0xBC,0x5C,0xBB,0x40,0xC1,0xEB,0xD5,0x9C,0xEE,0x65,0x39,0xA0,0x5D,0xE6,0xBB, + 0x0A,0x57,0xB4,0x6F,0xC3,0x46,0xF5,0xF5,0x5D,0x74,0x72,0x63,0x9F,0x38,0x96,0x93, + 0x9D,0x23,0x8E,0xAC,0x4D,0x65,0x95,0xE7,0x56,0xAC,0x84,0x7D,0x41,0x8A,0x55,0x0B, + 0x3D,0xAD,0xD5,0x89,0xF7,0xB4,0x46,0x17,0x0D,0x6F,0xE8,0xFD,0x83,0x7A,0x2F,0x20, + 0xDC,0xC0,0x92,0x66,0x67,0xA5,0xB1,0xEB,0xBA,0xEB,0xCF,0x7D,0xD3,0xE4,0x69,0x6E, + 0x9F,0xFC,0x46,0x2C,0x3F,0x8F,0x7A,0x1A,0x13,0xA1,0x47,0x6F,0x1B,0x50,0x9F,0xE2, + 0xBD,0x68,0x32,0x0F,0x6A,0x37,0xCB,0x0B,0xBA,0x77,0xE9,0xE8,0xF8,0xC1,0x55,0xCD, + 0xD9,0xED,0x57,0xC7,0xB3,0x3C,0xD5,0xB4,0x1C,0xAE,0x72,0xDF,0xF6,0x31,0xEC,0xC1, + 0x91,0x89,0xAC,0x57,0x8F,0x02,0x71,0xD6,0xFE,0x50,0x63,0x75,0x7B,0xE1,0xB7,0xE5, + 0x35,0x8B,0x1D,0xC5,0x0B,0x0A,0x3A,0xB5,0x73,0x8C,0x1C,0x94,0xC7,0xA6,0x0C,0x4F, + 0x61,0xBF,0xBE,0x25,0x9E,0xCD,0x1A,0x1F,0xCF,0x7E,0x3D,0x2E,0x8E,0x4D,0x28,0xCA, + 0x64,0x83,0x0B,0xFB,0x38,0xEC,0x30,0xD7,0x25,0x22,0x13,0x3D,0xED,0xE8,0xA5,0x8B, + 0xA2,0x4E,0xBC,0xA0,0x79,0xF3,0xE6,0x8E,0xFE,0x57,0xF6,0x70,0x5C,0x3D,0xA8,0xBF, + 0x63,0x50,0x61,0x7F,0x47,0xE1,0xC0,0x01,0x8E,0x1E,0x5D,0xAF,0x20,0xD1,0x12,0x61, + 0xC5,0x6F,0xB7,0x59,0x8B,0xEC,0x0C,0xFD,0x54,0x83,0x56,0x4D,0x33,0xB0,0xDA,0x7E, + 0x44,0x04,0x61,0x17,0xF4,0xD6,0x03,0xE8,0x69,0xCD,0x6F,0xCB,0xAB,0x85,0x55,0x83, + 0x55,0x91,0x8A,0x99,0xDD,0x13,0x08,0xFB,0xA2,0x57,0x4F,0xE1,0x97,0x78,0xF5,0xF2, + 0x4E,0x44,0x68,0x51,0x6F,0xDB,0x49,0x44,0x06,0x5A,0xB9,0x5E,0x3D,0xEA,0xC4,0xAB, + 0xD5,0x39,0xD2,0x2C,0x5A,0xCB,0x9A,0x08,0x82,0x30,0x8E,0xD6,0x06,0x64,0x40,0x6B, + 0x33,0xBC,0x3A,0xF1,0x56,0x55,0x1B,0x17,0xAF,0x9E,0x19,0x27,0xF1,0x12,0x44,0xC3, + 0xD0,0x13,0xAF,0xD6,0xBC,0xD7,0x2F,0xB7,0x59,0x6F,0x02,0x4D,0x10,0x44,0xC3,0xD0, + 0x73,0x9B,0x83,0x2E,0x5E,0x0A,0x58,0x11,0x44,0x70,0xD0,0xF2,0x76,0xFD,0x12,0xAF, + 0x9E,0xDB,0x4C,0x10,0x44,0xC3,0xF0,0x2B,0x60,0x15,0x08,0xCC,0xFC,0x62,0x82,0x20, + 0x3C,0xD1,0x9B,0xF3,0x06,0xDD,0xF2,0xEA,0xFD,0x62,0x82,0x20,0x8C,0xA1,0x17,0xF4, + 0xD5,0x9A,0xAA,0xD6,0x55,0x74,0xFC,0xF2,0xA5,0xED,0xD2,0xB6,0x3D,0x67,0xC4,0x91, + 0x93,0x67,0xEF,0xEF,0xC6,0x7A,0x76,0x48,0xF3,0xA8,0xFA,0x58,0xBD,0x7A,0xB5,0xB4, + 0x66,0xCD,0x1A,0x71,0x54,0x4F,0x51,0x51,0x11,0x1B,0x3A,0x74,0x28,0xFF,0xFE,0xD2, + 0xD2,0x32,0xC9,0xD1,0x88,0x16,0x83,0x07,0x93,0x1F,0x3C,0xD0,0x83,0xE5,0x37,0xAD, + 0x66,0x15,0x35,0xB1,0x2C,0x39,0xBE,0x96,0xC5,0x3B,0x24,0x76,0xEC,0x5C,0x3C,0xAB, + 0xB8,0xE8,0x6C,0xE1,0xF3,0x9F,0xFF,0xFB,0x9A,0x3F,0x13,0xD6,0x46,0xBA,0x74,0x8E, + 0x65,0x67,0x3B,0x57,0xCA,0xE8,0x69,0x6B,0xCC,0x98,0x31,0xAC,0x77,0xEF,0xDE,0x0E, + 0x49,0xAA,0xCF,0x18,0x05,0x4D,0xBC,0xC7,0x4E,0x54,0x49,0x2F,0x3F,0xD0,0x9F,0x9F, + 0x27,0x82,0x43,0xAB,0x1E,0x25,0xAC,0x67,0x96,0xE8,0x2F,0x8D,0x77,0x5D,0x7C,0xAE, + 0x27,0xCF,0xC7,0xB1,0xA5,0xDF,0x66,0xB2,0x76,0xA7,0x32,0x9C,0x27,0x08,0xCB,0x92, + 0x92,0xD1,0x92,0xDD,0xF6,0x9B,0x25,0xAC,0x65,0xCB,0x4C,0xAE,0x9B,0x8F,0x3E,0xFA, + 0x48,0x5A,0xBB,0x76,0x2D,0xFF,0x9A,0x1A,0x2D,0xF1,0xFA,0xE5,0x36,0x53,0x54,0x39, + 0xFC,0xC4,0xC5,0x5D,0xE2,0xC2,0xC5,0x27,0xCE,0x3F,0x75,0x55,0x0A,0x3F,0xB3,0x49, + 0x0D,0xFB,0x59,0xAF,0xA3,0x2C,0x39,0x89,0xCA,0x27,0xED,0x86,0x99,0x60,0x70,0x40, + 0x03,0x56,0xEA,0xA5,0x4B,0x97,0x6A,0x2F,0xB0,0xC4,0xA6,0xCD,0xC4,0x11,0x11,0x68, + 0x62,0x64,0x17,0x99,0x23,0x2B,0x97,0x8F,0x54,0xE2,0x55,0x68,0x91,0x45,0x9D,0x36, + 0xAC,0x4E,0x13,0x68,0x44,0xF2,0xB1,0xFB,0x9D,0x8C,0x56,0x30,0xD8,0x2F,0xF1,0x1A, + 0xAA,0xA4,0x92,0x5F,0x50,0xA3,0x58,0x9A,0xF3,0x06,0x8B,0x0B,0x17,0x63,0xD9,0xE5, + 0xCB,0x4E,0xE5,0x72,0xCB,0xCB,0xFF,0xE7,0x4A,0x63,0x79,0x1E,0x4C,0x58,0x9B,0x46, + 0x71,0x71,0xF2,0x47,0x57,0xFF,0xE1,0x99,0x09,0x06,0x07,0x54,0xBC,0xD8,0x9E,0xA1, + 0x0E,0xF9,0xA2,0x6A,0x14,0xEF,0xBB,0x67,0x14,0xE1,0x3F,0x67,0xAB,0x1A,0x73,0x83, + 0x5B,0x77,0xDF,0x76,0xB3,0xBE,0xF1,0xB2,0x6B,0x4D,0x58,0x9B,0xD8,0x38,0xD9,0xC0, + 0xA9,0x54,0xA8,0x57,0x00,0x15,0x30,0xF1,0xEA,0xA1,0x16,0xAF,0x43,0xBE,0x92,0x9A, + 0xA4,0x90,0xDB,0x1C,0x4C,0xCE,0x57,0xCB,0x37,0x47,0xC5,0xF2,0x02,0x37,0xEB,0x9B, + 0xD0,0x98,0xF6,0x32,0xB2,0x3A,0x70,0x9B,0xE3,0x54,0xC2,0x74,0x31,0x80,0x2A,0x02, + 0xE6,0x36,0xEB,0x05,0xAC,0xA8,0xE6,0x39,0xB4,0xD4,0xD6,0xBA,0xEE,0xEA,0xE0,0xEE, + 0x39,0x37,0x4D,0xD1,0xBE,0x10,0x08,0xEB,0xA2,0x27,0x5E,0x2D,0x02,0x6A,0x79,0xD5, + 0xFE,0xBA,0x43,0xBE,0xAE,0x1A,0x37,0xF1,0xDE,0xD1,0x9F,0x68,0x18,0x29,0xC9,0xDE, + 0x3F,0xE8,0xD8,0xD8,0x4B,0x2C,0xAD,0xE9,0x79,0x71,0x44,0x58,0x91,0xC6,0x4D,0x92, + 0x59,0x23,0x1F,0xCD,0xF3,0x81,0x56,0x97,0x0D,0xBF,0xC4,0x6B,0x64,0xFB,0xCE,0xD8, + 0x46,0xB1,0x2C,0x3E,0x91,0xCA,0x25,0x83,0x05,0xD2,0x40,0xEE,0x96,0xD5,0x6D,0xCA, + 0xCB,0xE9,0xDC,0xF1,0x98,0x18,0x11,0x56,0xA4,0x71,0x62,0x0A,0x8B,0x8B,0xAF,0xEF, + 0x8F,0xEE,0x6D,0x6F,0x22,0x77,0x82,0x66,0x79,0x89,0xE0,0x81,0x1C,0x6F,0xAF,0xAE, + 0xDA,0x9B,0x9A,0xBB,0x93,0x91,0x56,0xC5,0xDA,0xB4,0xA2,0xDD,0x04,0xED,0x8C,0x5E, + 0xD9,0x71,0x40,0xC5,0xAB,0x9E,0xF3,0x26,0x24,0x26,0xB1,0x66,0x2D,0xDB,0x8B,0xA3, + 0xC8,0x03,0xEE,0x68,0xEB,0x9C,0xD3,0xAC,0x63,0xBB,0xE3,0x5C,0x20,0xA1,0x98,0x5F, + 0x22,0xF5,0xD3,0x3E,0xEF,0x24,0xBB,0x66,0xE0,0x1E,0xED,0xDF,0x27,0xFC,0x21,0x77, + 0xB7,0xA8,0x5B,0xE7,0xA3,0xFC,0xE7,0x08,0xEB,0xD1,0x22,0xAF,0xAB,0xEC,0x45,0xC5, + 0x7B,0xF5,0x64,0xF5,0x16,0xFC,0xF8,0x2D,0x5E,0xBD,0x16,0xAF,0xCA,0x1E,0x46,0x78, + 0x41,0x59,0x6D,0x3B,0xF3,0x73,0x91,0x44,0x4E,0x8B,0x33,0x6C,0x70,0xFF,0xBD,0xEC, + 0xAA,0x7E,0xDF,0xB3,0x1E,0x5D,0x0E,0xB3,0x8E,0xF9,0x27,0xD8,0xC0,0x2B,0x4B,0xF8, + 0xB9,0x91,0xD7,0xED,0xE4,0xCF,0x79,0xB9,0xA7,0x02,0x52,0xDD,0x04,0xB1,0xA2,0xD0, + 0x02,0x37,0x08,0xFC,0x8E,0xEB,0xAE,0xFE,0x96,0x75,0x6A,0x7F,0xCC,0x67,0xFE,0x56, + 0xCB,0x7D,0xC6,0xCF,0x41,0xF4,0xB8,0xD1,0x10,0xD6,0x21,0x2D,0x3B,0x5F,0x8C,0x18, + 0xDB,0xBD,0x7B,0xB7,0xD6,0x47,0xE7,0x5B,0xBC,0x2D,0xD2,0xCD,0xB5,0xB0,0xD1,0x13, + 0xAF,0xBA,0xC7,0x2C,0xEA,0x36,0x23,0x09,0x88,0xA8,0x77,0xB7,0x43,0x5E,0xAD,0x2C, + 0xBE,0xD6,0xE5,0x8A,0x52,0x2E,0x14,0x3C,0x30,0x86,0x00,0x63,0x62,0x3C,0x3F,0x17, + 0x9C,0x83,0x98,0xF0,0x80,0x65,0xC4,0xBF,0x7F,0x65,0x8F,0x03,0x5C,0xA8,0xD7,0x5F, + 0xB3,0x8B,0x8B,0x15,0xC7,0xB8,0x41,0xE8,0x89,0xAE,0xAA,0x5A,0xB5,0x9F,0x94,0xEA, + 0x57,0x60,0x28,0xA1,0x88,0x43,0x05,0x6E,0x28,0xF8,0xB7,0xFB,0xF7,0xDA,0xCF,0x6F, + 0x42,0x44,0xF8,0x51,0xA7,0x53,0xF5,0xE6,0xBB,0x7A,0xD9,0x1D,0xBF,0x2D,0xAF,0xDE, + 0x3F,0xA8,0x16,0x6F,0x52,0x5A,0x96,0x18,0x45,0x06,0x70,0x93,0xCD,0x00,0xB1,0xC0, + 0x0A,0x43,0x80,0x23,0x86,0x7E,0xC3,0x2D,0xB3,0xFA,0x81,0x73,0x10,0x13,0x1E,0xB0, + 0x8C,0x10,0x29,0x84,0x0E,0xA1,0x62,0x5E,0xEB,0x8D,0x9A,0x9A,0x46,0x6C,0xF7,0xBE, + 0x2C,0xB6,0xFD,0x1B,0xED,0x1B,0x24,0x64,0x5B,0x71,0x36,0x81,0x7F,0x9F,0x3B,0x99, + 0xCD,0xCE,0xF2,0x9B,0x90,0x62,0xC9,0xA9,0x06,0x3A,0x3C,0xF0,0xF2,0x61,0xA5,0xCC, + 0x55,0x46,0xAF,0xB9,0xBA,0x5E,0x33,0xF6,0x80,0xBB,0xCD,0xEA,0x17,0x70,0xB9,0xB6, + 0x46,0x76,0x0B,0xDA,0x8A,0x23,0xFB,0x53,0x51,0x59,0xEF,0x9D,0xA0,0x34,0xF1,0xE4, + 0xA9,0x64,0xB6,0xB7,0x24,0x93,0x95,0x9D,0x4E,0xE2,0xD5,0x4E,0xA1,0xE0,0x74,0x45, + 0x13,0xF6,0xF5,0x37,0xAD,0xD8,0xC7,0x6B,0x3B,0xB1,0xDD,0xDF,0x37,0x17,0x67,0x05, + 0x6E,0xC6,0x3D,0x55,0x9E,0x97,0xAF,0xFF,0x2A,0x8F,0x1D,0x3E,0xAA,0x7D,0xA3,0x55, + 0xCF,0xA1,0x15,0x2F,0x81,0x84,0x1C,0x3A,0x9A,0xB5,0xBE,0x42,0xBE,0xC9,0xD6,0xDF, + 0xA4,0xF5,0xC4,0xAB,0xA7,0x35,0xBF,0xC5,0x6B,0x64,0x6B,0x06,0x87,0xEC,0x16,0x46, + 0x92,0xEB,0xBC,0x65,0x47,0x2E,0xFB,0x76,0x6F,0x0B,0xF6,0xCD,0x77,0xD9,0x6C,0xF5, + 0xE7,0x57,0xB0,0x0D,0x5B,0xDB,0xF2,0x63,0x08,0xE4,0xD3,0xF5,0x1D,0xD8,0xC7,0x9F, + 0x75,0xE2,0xC2,0x3A,0x76,0x22,0xC5,0x59,0x77,0x1C,0x00,0x20,0xD6,0x03,0x87,0x33, + 0xF8,0xBF,0x8B,0xDF,0xF1,0xC5,0xC6,0x76,0xEC,0x90,0x2C,0x46,0xE5,0xDF,0xAF,0x56, + 0xBB,0xCD,0xF2,0xA9,0x4B,0x97,0x5C,0x3F,0xD2,0xF4,0xB4,0x73,0x6C,0x9B,0xFC,0xB3, + 0xF8,0x39,0xDC,0x64,0xF4,0x50,0xBC,0x04,0x88,0x18,0xF3,0x79,0x78,0x19,0x5A,0xAE, + 0x3E,0x11,0x38,0x52,0x32,0x72,0x58,0xBC,0x2A,0x4D,0xA4,0x27,0x5E,0xBF,0xDC,0xE6, + 0xD2,0x32,0xFD,0xBB,0xB0,0x11,0xB7,0x39,0x21,0xA1,0x09,0x4B,0x6B,0x11,0x39,0x96, + 0x17,0x82,0x81,0xA5,0x2D,0x39,0xD8,0x8C,0x2F,0x0C,0x70,0x07,0xE7,0x20,0xAC,0xAF, + 0xBE,0x6E,0xC3,0x56,0xAE,0xEE,0xC2,0xC5,0xAD,0x58,0x66,0x2D,0xE0,0xD2,0xE2,0x6B, + 0x78,0xC0,0x05,0xC6,0x03,0x3F,0x8B,0x9B,0x01,0x6E,0x04,0x1F,0x7C,0xDC,0x95,0x8B, + 0x6E,0xC7,0xAE,0x1C,0xFE,0xEF,0x1A,0xB1,0xEE,0xEE,0xE2,0x6D,0x96,0x7E,0x8E,0x3F, + 0xE3,0x26,0xA0,0xDC,0x64,0x70,0x33,0xD0,0x72,0xA7,0x15,0x10,0x49,0x47,0x30,0xEE, + 0xBA,0xC1,0xDF,0x72,0x17,0x9B,0x08,0x0E,0x99,0xB9,0x57,0xB0,0x66,0xCD,0x52,0xEB, + 0xEE,0xF2,0x7A,0x73,0xDE,0x9C,0x9C,0x1C,0x4D,0x4B,0xE0,0xB7,0xE5,0xC5,0x9E,0x44, + 0x5A,0x0B,0x14,0x90,0x2E,0x52,0x1A,0x44,0xA7,0xA7,0x27,0x47,0x64,0xC4,0xD9,0x28, + 0x70,0xAB,0x15,0xCB,0x0C,0x21,0xBA,0x3F,0x3E,0xFA,0xB4,0x33,0xFF,0x1A,0x1E,0x70, + 0x81,0xF1,0x80,0xD5,0x86,0x98,0xB5,0x6E,0x0E,0x5A,0x9C,0x43,0x7D,0xB3,0x8A,0x18, + 0x87,0xEB,0xF2,0xB2,0xA4,0x44,0xD7,0x1B,0x30,0x6E,0x00,0xB8,0x19,0xC0,0xED,0xDE, + 0xB2,0xA3,0x35,0x3B,0x7A,0x2C,0x55,0xD7,0x4B,0xC0,0xBC,0xBB,0xAF,0x3C,0x5F,0x27, + 0x82,0x03,0xC4,0xAB,0xA0,0x64,0x69,0xDC,0xF1,0xB6,0x71,0x9F,0xDF,0xE2,0x05,0x7A, + 0xFF,0x70,0x69,0x69,0xA9,0x18,0x31,0xD6,0xBC,0x6D,0x57,0x31,0x22,0x42,0x41,0x6C, + 0x9C,0xAB,0x78,0xF5,0x02,0x5F,0x10,0x2C,0x84,0x0B,0x01,0x43,0xC8,0x70,0xCB,0x71, + 0xB3,0x21,0x42,0x87,0x3A,0x4D,0x64,0x36,0xD2,0x0C,0x82,0x22,0x5E,0xF5,0x0B,0x49, + 0x4C,0xD5,0xBF,0x73,0x10,0x0D,0xC7,0x3D,0x02,0x7E,0xE1,0x82,0x31,0x8B,0xAD,0x06, + 0x2E,0x34,0xDC,0x72,0xB8,0xF9,0x6B,0xE4,0xB9,0xBC,0xE2,0xEA,0xE3,0xB1,0x49,0x76, + 0xE3,0x89,0xC0,0x83,0xB5,0xEE,0xB1,0x71,0xF5,0x9E,0xAB,0xD9,0x60,0x15,0xA8,0x13, + 0x6F,0xF3,0x74,0x55,0xE0,0xC3,0x20,0x7A,0xFF,0xB0,0xFA,0x85,0xC4,0xC4,0xC4,0x44, + 0x5C,0xBE,0xD7,0x0A,0xC0,0xA2,0x22,0x3A,0x8C,0xB9,0xA9,0x9A,0x8A,0xCA,0x26,0x62, + 0xE4,0x1F,0x70,0xC3,0x15,0x57,0x1F,0x0F,0xB2,0xC6,0xC1,0xA1,0x79,0x7E,0x57,0x26, + 0xD5,0xD6,0x4F,0x69,0xD4,0xDE,0xAA,0x9A,0x90,0xBB,0xCD,0x25,0x25,0x25,0x62,0x84, + 0x05,0xE1,0x8D,0x58,0xCE,0x15,0x7D,0xC4,0x11,0xD1,0x50,0x50,0x04,0x82,0x72,0xC7, + 0xA2,0xC2,0xDD,0x3C,0x3A,0xAC,0x06,0xAE,0x70,0xF1,0x9E,0x16,0xE2,0xC8,0x09,0xD2, + 0x41,0x4A,0x2E,0x19,0xF9,0x66,0xFC,0x8C,0xAF,0x1C,0x32,0x11,0x7C,0x72,0x3B,0x0F, + 0x60,0x49,0x4D,0xEB,0x6F,0x8C,0x87,0x0E,0x69,0xD7,0xAA,0x07,0x4D,0xBC,0x7A,0xE9, + 0x22,0xF5,0x5D,0x24,0x33,0x2B,0xDD,0x91,0xDF,0x7D,0xB0,0x38,0x22,0xCC,0x00,0xE1, + 0x29,0xD5,0x57,0x10,0x1E,0xAA,0xAE,0x50,0x7E,0x89,0x85,0x06,0x5A,0x02,0x44,0x4A, + 0x08,0x01,0x29,0xBE,0x48,0x5F,0xA0,0xAE,0xE2,0x42,0x01,0x08,0xAC,0x35,0xFE,0x8D, + 0x50,0xD4,0x62,0x13,0xFA,0xE4,0xC9,0x9A,0x68,0x9A,0xD2,0x84,0x47,0x0A,0xB1,0x65, + 0xAE,0xDE,0x9C,0x37,0x3F,0x3F,0x5F,0x3B,0x9A,0x28,0xD3,0x20,0xF1,0x62,0x69,0xA0, + 0xDE,0x84,0xBA,0xB8,0xB8,0xB8,0x2E,0x7A,0x46,0x96,0x57,0x9B,0xC4,0x84,0x9A,0xBA, + 0xB2,0x48,0xE5,0xA1,0x94,0x47,0xA2,0x02,0x0B,0x15,0x50,0x4A,0xF5,0x15,0x84,0xA7, + 0x67,0x31,0x21,0x58,0xA4,0x94,0x10,0x80,0x02,0xC7,0x4E,0x78,0x5F,0x47,0xDD,0x44, + 0xFE,0xBD,0xFD,0x7A,0xED,0xF7,0x59,0x23,0x4D,0x04,0x07,0xCC,0x77,0x9B,0xAA,0x52, + 0xA8,0x6A,0x4F,0x55,0x8D,0x9E,0x71,0x54,0xF0,0x2A,0xDE,0x63,0x65,0xBE,0xEF,0xCE, + 0x79,0x79,0x79,0x62,0xE4,0x8A,0xFA,0x05,0xA1,0x4F,0x0F,0xCD,0x7B,0x5D,0x41,0x2E, + 0xB5,0x68,0xD0,0x77,0x75,0x65,0x91,0xCA,0x43,0x29,0x8F,0x34,0x02,0x2C,0x2C,0x0A, + 0x46,0x90,0xBB,0x45,0x1E,0x57,0x01,0xE7,0x10,0x74,0xD2,0x4B,0x01,0x01,0xA5,0xBA, + 0x8A,0x08,0x3D,0x98,0xEF,0x3A,0x2E,0xD7,0xDF,0x38,0xF5,0xC4,0xAB,0xA7,0x2D,0x85, + 0x06,0x59,0x5E,0xD0,0xA1,0x43,0x07,0x31,0x72,0x85,0xE6,0xBD,0xDE,0x69,0x99,0xED, + 0xDF,0xC2,0x00,0x08,0x16,0xE5,0x8E,0x88,0x0C,0xA3,0xCA,0x0B,0x05,0x23,0x5A,0x20, + 0xE8,0x84,0x14,0x90,0x12,0x78,0xC2,0x03,0xC5,0x19,0x6A,0xB0,0x38,0x81,0xAC,0x6F, + 0xE8,0x71,0x9F,0xEF,0x36,0x58,0xBC,0xF1,0xB1,0xFE,0xE9,0xB8,0x7B,0xF7,0xEE,0x9A, + 0xB7,0x77,0x9A,0xF7,0x7A,0xE7,0x48,0xA9,0xD3,0xC5,0xF5,0x05,0xD2,0x35,0x10,0x28, + 0xF2,0xB0,0x48,0xE3,0x40,0xB0,0x98,0xDB,0x1A,0x89,0x02,0xAB,0x2B,0xB8,0xF0,0x80, + 0x45,0x56,0x17,0x7F,0x40,0xB8,0xBD,0xBB,0x1F,0xA2,0xC5,0xFA,0x21,0xC6,0xE8,0x7C, + 0xB7,0xA0,0xA0,0x40,0xDF,0x75,0x92,0xA9,0x53,0x6C,0x7A,0x53,0xF3,0xA9,0x22,0x05, + 0x3D,0xDF,0x5C,0x3D,0xEF,0x6D,0x55,0x30,0x40,0x8C,0x08,0x00,0x37,0x17,0xEE,0xAE, + 0x52,0x16,0xA9,0x3C,0x14,0x2B,0x89,0xEA,0x2B,0x54,0x61,0x61,0x0C,0xD1,0x21,0x0F, + 0xEB,0x5E,0x4D,0x65,0x16,0xB8,0xD1,0xEE,0x96,0x1A,0x2E,0x3A,0xA2,0xD7,0x98,0x5B, + 0x13,0xC1,0xA7,0x71,0x62,0x32,0x4B,0xC9,0xCA,0x15,0x47,0xFE,0x5B,0x5D,0xD0,0x60, + 0xB7,0x19,0x18,0x99,0xF7,0xC6,0xC8,0xF7,0x90,0xCC,0xD6,0xF5,0xE5,0x60,0x84,0x33, + 0xD0,0xA4,0x94,0x45,0x2A,0x0F,0xC5,0x4A,0x7A,0xAB,0x3D,0x6E,0x08,0x98,0x0B,0xAB, + 0xE7,0xC7,0x0A,0x10,0x31,0xB9,0xD0,0xC1,0x27,0xA7,0x43,0x5F,0xD6,0xA8,0x51,0x7D, + 0x15,0x5C,0xD0,0xC4,0x5B,0x55,0x6D,0x2C,0x1F,0x68,0x44,0xBC,0x4D,0x12,0x13,0x59, + 0x4E,0x47,0x9A,0xF7,0x5A,0x81,0xAD,0xDB,0x73,0x5D,0x96,0x37,0x02,0xDC,0x30,0x8C, + 0xD6,0x53,0x13,0xFE,0xD3,0xA6,0xEB,0x40,0xD9,0x53,0x75,0xEE,0x08,0x08,0x82,0x27, + 0xDE,0xF3,0xC6,0xC4,0xAB,0xE7,0x9B,0xAB,0xE7,0xBD,0x58,0xA4,0x50,0x50,0x78,0xB3, + 0x38,0x22,0xC2,0x09,0xDC,0xEF,0xB5,0x1B,0xDA,0x73,0x97,0x1C,0x81,0x2D,0xD4,0x37, + 0x6F,0xD9,0xDE,0x5A,0x7C,0x95,0x08,0x26,0xED,0xFA,0x5C,0x2B,0x46,0xFA,0xF3,0x5D, + 0x34,0x9C,0xF3,0x96,0xDF,0x55,0x08,0x88,0xDB,0x0C,0xF4,0xE6,0xBD,0x1B,0x37,0x6E, + 0xAC,0x9B,0xF7,0x36,0x6D,0xDE,0x9A,0x52,0x46,0x16,0x02,0xD6,0x16,0x6E,0x34,0xF2, + 0xC3,0x64,0x75,0x83,0x0F,0x3C,0xCF,0xB8,0xD8,0xFA,0xD8,0xD2,0xAE,0x5D,0xBB,0xC4, + 0xC8,0x95,0xD6,0xAD,0x8D,0xDD,0x48,0xEB,0xC4,0x9B,0x91,0xD2,0xB0,0x60,0x88,0x5E, + 0xCA,0x68,0xEB,0xD6,0xAD,0x62,0xC4,0x58,0x72,0x4A,0x12,0x2B,0x18,0x34,0x5A,0x1C, + 0x11,0x44,0x74,0xD1,0xA3,0xE8,0x56,0x96,0xD3,0xAA,0xDE,0x65,0x56,0x6B,0x43,0x8D, + 0x11,0x97,0x19,0xD4,0x89,0x37,0x3E,0xAE,0x61,0x46,0xB8,0x73,0x67,0xED,0x75,0xBB, + 0xA8,0xD9,0x84,0x7B,0x80,0x31,0xC2,0xE3,0x5D,0xAE,0x19,0xCB,0xCF,0x13,0x44,0x34, + 0x81,0xAA,0xAA,0xDC,0x6E,0xF5,0xE9,0x52,0xAC,0xDF,0xD5,0x5B,0x8C,0xD0,0xAD,0x5B, + 0x37,0x31,0xF2,0x8E,0x57,0xC5,0x5E,0xAC,0xF5,0xBD,0x6F,0xA8,0x42,0x6E,0x6E,0xAE, + 0x43,0xAF,0x88,0x5A,0x7D,0x87,0x89,0x8D,0x8D,0x63,0xCD,0xF3,0xBA,0x8B,0x23,0x82, + 0x88,0x0E,0xF2,0x7A,0x5E,0xC3,0x62,0x55,0x6D,0x85,0x76,0xEC,0xD8,0x21,0x46,0xAE, + 0xC0,0x65,0xCE,0xCA,0xAA,0xB7,0xCE,0xDE,0xF0,0x2A,0xDE,0xF2,0xCA,0x8B,0x62,0x64, + 0x8C,0x5E,0xBD,0x7A,0x89,0x91,0x2B,0x6A,0xF1,0xB6,0x6C,0xD5,0xDC,0xD1,0xAD,0xE8, + 0x16,0x71,0x44,0x10,0xD1,0x41,0xCF,0xEB,0x26,0xB2,0xE6,0x2D,0x32,0x7C,0xBA,0xCC, + 0x7A,0x1A,0xD2,0xA2,0x61,0xBE,0xB2,0x1B,0x7A,0xE6,0x1E,0x11,0xB5,0x83,0x07,0x0F, + 0xD6,0xDD,0x76,0xF2,0x7B,0x16,0xD1,0xC6,0xDB,0x44,0xD4,0x80,0x16,0xAF,0x19,0xAD, + 0x3A,0x8A,0x23,0x67,0x73,0x75,0xAD,0xAD,0x81,0x10,0x65,0xEE,0xD7,0xAF,0x9F,0x21, + 0xAB,0x0B,0xEA,0xC4,0x9B,0x94,0xD0,0xF0,0x68,0x23,0x56,0x19,0xE9,0x4D,0xB6,0xD5, + 0x77,0x9A,0xB8,0xD8,0x46,0xDC,0x8D,0x20,0x88,0x68,0xA0,0xF3,0x55,0xA3,0x59,0x62, + 0x93,0xFA,0x28,0xB3,0x9E,0xD5,0xD5,0x8B,0x1B,0xE9,0x51,0x27,0xDE,0xE4,0x26,0x81, + 0x49,0x15,0xE8,0x99,0x7D,0xB5,0x8F,0x0F,0xF7,0x01,0x6E,0x04,0x41,0x44,0x03,0xDD, + 0x86,0x8C,0x63,0x69,0x69,0xC9,0x75,0x16,0x55,0x2F,0x45,0x64,0x34,0x50,0xA5,0x10, + 0x50,0xB7,0x19,0xF4,0xEE,0xDD,0xDB,0xA1,0xB5,0xAB,0x19,0x36,0x0D,0x56,0xD7,0x3A, + 0xA7,0xE7,0xE4,0x3B,0x3B,0xC6,0x13,0x44,0x04,0x83,0xE0,0x6C,0x7C,0x42,0x7D,0x39, + 0xEA,0x96,0x2D,0x5B,0x24,0xF5,0x86,0x7C,0x70,0x9F,0xDF,0x7C,0xF3,0x4D,0xBE,0x1F, + 0x91,0xAF,0x85,0x08,0xEE,0x78,0x15,0xAF,0xB7,0xBE,0xCD,0xDE,0xD0,0x33,0xFF,0x6A, + 0x77,0xA1,0x69,0xD3,0x64,0xD6,0xEF,0xE6,0xFB,0xC4,0x11,0x41,0x44,0x26,0x03,0xC7, + 0xDE,0xCF,0x83,0xB4,0xE2,0xD0,0x23,0xCA,0xFC,0xE5,0x97,0x5F,0xB2,0xB6,0x6D,0xDB, + 0x9A,0xB6,0xBA,0x20,0xE0,0x96,0x17,0xE8,0xBD,0x10,0xB8,0x0B,0x4A,0x7F,0xDA,0x94, + 0x94,0x44,0x47,0x87,0xBE,0xC3,0xC8,0xFA,0x12,0x11,0x0B,0x16,0xE2,0x34,0x6F,0x53, + 0x6F,0xC8,0x70,0xED,0xEF,0xD9,0xB3,0x47,0x1C,0x39,0x7B,0x9C,0x43,0xCC,0x98,0x6A, + 0x9A,0x89,0x32,0x2B,0xD4,0x89,0x37,0xBB,0x59,0x82,0x29,0x93,0xED,0x0D,0x98,0x7F, + 0xBD,0x6D,0x09,0xD7,0xAC,0x59,0x23,0x46,0x64,0x7D,0x89,0xC8,0xE6,0xAA,0xF1,0x33, + 0x5C,0xAC,0xAE,0xFA,0xDA,0x07,0x30,0x66,0xC8,0xEB,0xA2,0x3A,0x51,0x6F,0x57,0x04, + 0x6F,0x04,0xC5,0xF2,0x82,0xC1,0x83,0xB5,0x17,0xDF,0x93,0xF5,0x25,0xA2,0x01,0x2D, + 0xAB,0xEB,0x1E,0xA8,0xFA,0xFC,0xF3,0xCF,0xD9,0xA0,0x41,0x83,0x58,0x51,0x51,0x91, + 0x38,0x63,0x0E,0xAF,0xE2,0x35,0xD2,0xC3,0x4A,0x8F,0x94,0x94,0x14,0xF6,0xEE,0xBB, + 0xEF,0x8A,0x23,0x57,0xC8,0xFA,0x12,0x91,0x8E,0x2F,0xAB,0xAB,0x94,0x46,0xC2,0x5D, + 0x36,0x1B,0xA8,0x52,0x08,0x9A,0xE5,0x95,0xE7,0xBD,0x8E,0x8A,0x8A,0x0A,0xCD,0x66, + 0xD2,0xF0,0xFB,0x95,0xFD,0x8C,0x60,0x7D,0xDB,0xF5,0x1E,0x4A,0x45,0x1B,0x44,0xC4, + 0x00,0x4F,0x32,0xCB,0xA0,0xD5,0xF5,0x67,0xAE,0xAB,0xE0,0x22,0xDE,0x16,0x19,0xE6, + 0x76,0xC7,0xF7,0xC5,0x83,0x0F,0x3E,0xC8,0x36,0x6F,0xDE,0x2C,0x8E,0xEA,0xC1,0x44, + 0x7D,0xED,0xDA,0xB5,0xE2,0x88,0xB1,0xA4,0xA4,0x44,0xD6,0xAD,0x68,0xBC,0x38,0x22, + 0x08,0x7B,0x03,0x4F,0x12,0x1E,0xA5,0x82,0xBB,0xD5,0x45,0x7A,0x08,0x0B,0x76,0xFA, + 0xF6,0xED,0xCB,0x0A,0x0B,0x0B,0xFD,0x8E,0x35,0x05,0xCD,0xF2,0x82,0xE9,0xD3,0xA7, + 0x3B,0x0E,0x1C,0x38,0xC0,0x5F,0xAC,0x3B,0x9B,0x36,0x6D,0xAA,0xB3,0xBE,0x19,0xCD, + 0x52,0x1D,0x7D,0x46,0x4C,0x22,0xEB,0x4B,0xD8,0x1E,0x58,0x5D,0xC4,0x71,0xE0,0x51, + 0xE2,0x58,0xCB,0xEA,0x22,0x65,0x8A,0x8C,0x8C,0xBF,0x73,0x5D,0x05,0x9F,0xE2,0x2D, + 0x3D,0x55,0x5D,0x57,0x58,0xE1,0x0F,0xF7,0xDC,0x73,0x8F,0x41,0xEB,0xDB,0x84,0x0D, + 0x18,0x4D,0x73,0x5F,0xC2,0xDE,0x5C,0x73,0xFB,0x63,0x2C,0x35,0x35,0x45,0x1C,0x79, + 0x5A,0x5D,0x5C,0xF7,0x5F,0x7D,0xF5,0x15,0xBB,0xF6,0xDA,0x6B,0x1B,0x64,0x75,0x41, + 0x50,0x2D,0x2F,0x80,0xEB,0xFC,0xCD,0x37,0xDF,0xF0,0x17,0xED,0x8E,0xAB,0xF5,0x4D, + 0x73,0x14,0x5C,0x35,0x9A,0x3A,0x6D,0x10,0xB6,0x05,0xD5,0x54,0xAD,0x3B,0xF5,0x65, + 0xC9,0xC9,0xCE,0xB6,0xAE,0x5A,0x56,0x17,0xF1,0x1E,0x74,0x9D,0xB9,0xF1,0xC6,0x1B, + 0xC5,0x19,0xFF,0x71,0x11,0x6F,0x76,0x46,0xE0,0xDD,0x56,0xE4,0xAF,0x46,0x8D,0x1A, + 0xC5,0xB6,0x6F,0xDF,0x2E,0xCE,0xD4,0x03,0x41,0xBF,0xF7,0xDE,0x7B,0xE2,0x88,0xB1, + 0x56,0xB9,0x2D,0x1C,0x43,0xEF,0xFE,0xB5,0x38,0x22,0x08,0x7B,0x71,0xFD,0x8F,0x9F, + 0x74,0x89,0x30,0xAF,0x5C,0xB9,0x52,0x8C,0xEA,0x41,0x45,0x15,0xDC,0xE5,0x86,0x5A, + 0x5D,0xE0,0xD3,0xF2,0x9A,0x59,0x90,0xAF,0xC7,0xCF,0x7E,0xF6,0x33,0xDD,0xC5,0xC7, + 0xB8,0x33,0x61,0x89,0x94,0x38,0x64,0xD9,0xF9,0x05,0x2C,0xAF,0x47,0xC3,0xE6,0x02, + 0x04,0x11,0x6A,0x7A,0x0E,0xBB,0x83,0xA5,0x67,0x66,0x89,0x23,0x06,0x63,0x25,0xB9, + 0x77,0x86,0x44,0xE6,0x05,0x35,0xFE,0x77,0xDF,0x7D,0xB7,0x38,0xD3,0x30,0x7C,0x8A, + 0xD7,0xEC,0x82,0x7C,0x2D,0xB0,0x58,0xA1,0x4B,0x97,0x2E,0x10,0xA9,0x38,0xE3,0x8A, + 0xDA,0xFA,0xA2,0x2D,0xE6,0x10,0x79,0xDE,0x40,0xC1,0x2B,0xC2,0x2E,0x20,0x48,0x75, + 0xE5,0x0D,0x93,0x78,0xE0,0x55,0x9C,0xD2,0xB4,0xBA,0x98,0xEB,0x5E,0x75,0xD5,0x55, + 0x01,0xB1,0xBA,0xC0,0x45,0xBC,0x71,0x7E,0x6E,0x79,0x62,0x84,0x07,0x1E,0x78,0x80, + 0xED,0xDD,0xBB,0x57,0x1C,0xB9,0x82,0xC5,0xFA,0xAB,0x57,0xAF,0xAE,0xB3,0xBE,0x29, + 0xF2,0x84,0x9F,0x82,0x57,0x84,0x5D,0x40,0x90,0x2A,0xAD,0x59,0xFD,0x6E,0x99,0x2B, + 0x56,0xAC,0xF0,0x58,0x6C,0x8F,0x63,0xCC,0x77,0x1F,0x7F,0xFC,0x71,0x71,0xA6,0xE1, + 0xB8,0xA8,0x35,0x23,0xC5,0xFF,0x2D,0x4F,0x7C,0x21,0x4F,0xD0,0x1D,0x70,0x19,0xB4, + 0x02,0x57,0x00,0x91,0x67,0xA5,0x51,0x1D,0x82,0x57,0x9D,0xAF,0xFA,0x01,0x4B,0xCB, + 0xAE,0xDF,0x06,0x91,0x20,0xAC,0x08,0xDA,0xB9,0xE6,0x76,0xEA,0xE7,0x12,0xA4,0x5A, + 0xBF,0x7E,0x3D,0xFF,0x9A,0x1A,0x4C,0x1B,0xFB,0xF7,0xEF,0x8F,0xDC,0x6E,0x40,0xAC, + 0x2E,0xF0,0x3D,0xE7,0xAD,0x69,0xF8,0x9C,0x57,0x61,0xFA,0xF4,0xE9,0xEC,0xDB,0x6F, + 0xBF,0x15,0x47,0xAE,0x40,0xD4,0x6A,0x57,0xA3,0x75,0x6E,0xB6,0xE3,0xDA,0xBB,0x66, + 0x89,0x23,0x82,0xB0,0x1E,0x98,0xDA,0x0D,0xBD,0xF3,0x09,0x97,0x76,0xAE,0xEA,0x29, + 0xA0,0x1A,0x04,0xAA,0x9E,0x7C,0xF2,0x49,0x71,0x14,0x18,0x7C,0x8A,0xB7,0xAC,0xB2, + 0x46,0x8C,0x1A,0xCE,0xE4,0xC9,0x93,0x1D,0x48,0x0F,0xE9,0xB5,0xCA,0x41,0xF0,0x4A, + 0xBD,0x60,0xBF,0x79,0x6E,0x07,0x56,0x30,0x68,0x8C,0x38,0x22,0x08,0x6B,0x81,0xA9, + 0x5D,0x46,0x56,0xFD,0x66,0x03,0x58,0x68,0x8F,0xCA,0x29,0x77,0x70,0x5D,0x77,0xED, + 0xDA,0x15,0x96,0x37,0x60,0x56,0x17,0xB8,0x88,0x37,0x3E,0x2E,0xA0,0xFF,0xB6,0x26, + 0xF7,0xDE,0x7B,0x2F,0x4F,0x1B,0x25,0x24,0x68,0x97,0x62,0xAA,0xEF,0x5C,0xCD,0x5B, + 0x34,0x73,0x14,0xFE,0x70,0x1A,0xB9,0xCF,0x84,0xE5,0x80,0xBB,0xDC,0x75,0xF0,0x58, + 0x3E,0xC5,0x13,0xA7,0xD8,0xAA,0x55,0xAB,0xC4,0xC8,0x15,0x54,0x54,0xCD,0x9C,0x39, + 0x53,0x1C,0x05,0x0E,0x17,0xF1,0xA6,0x25,0x37,0x6C,0xD7,0x04,0x23,0x4C,0x9A,0x34, + 0x89,0xBD,0xF3,0xCE,0x3B,0xEC,0x9A,0x6B,0xB4,0x1B,0xD0,0x61,0x62,0xBF,0x6C,0xD9, + 0xB2,0x3A,0xEB,0x0B,0xF7,0x79,0xD4,0xB4,0x3F,0x53,0xF4,0x99,0xB0,0x0C,0x88,0x2E, + 0x0F,0x9F,0xF2,0x94,0x8B,0xBB,0xBC,0x64,0xC9,0x12,0xCD,0x8E,0x90,0x27,0x4F,0x9E, + 0x64,0x35,0x35,0x35,0x6C,0xD4,0xA8,0x51,0x01,0xB7,0x8C,0x3E,0xDD,0xE6,0xF2,0x8A, + 0x86,0xA7,0x8A,0xD4,0xA0,0x68,0x63,0xCC,0x98,0x31,0x6C,0xC3,0x86,0x0D,0xBA,0xFB, + 0x1B,0xE1,0x4E,0x05,0x17,0x44,0x1C,0xB2,0xE6,0x39,0x39,0xEC,0xFA,0x29,0x81,0x9D, + 0x2F,0x10,0x84,0xBF,0x8C,0xFA,0xD9,0x8B,0xAC,0x6D,0x7E,0x6E,0x9D,0x18,0xD7,0xAD, + 0x5B,0xE7,0x51,0x49,0xA5,0x80,0x0C,0xCB,0xB4,0x69,0xD3,0xC4,0x51,0x60,0xF1,0x1D, + 0xB0,0x0A,0x40,0x91,0x86,0x3B,0x70,0x9D,0x5F,0x7E,0xF9,0x65,0x06,0x11,0xEB,0x01, + 0xF7,0xF9,0xC4,0x89,0x13,0x5C,0xC0,0x88,0xE4,0xE5,0x75,0x1D,0x40,0xF3,0x5F,0x22, + 0xEC,0x5C,0x75,0xCB,0x43,0xAC,0x79,0x6E,0x7D,0xCC,0x06,0xFD,0xC8,0xF5,0xDC,0x65, + 0x20,0x0B,0x9B,0xCD,0x98,0x31,0x23,0x28,0xF3,0x51,0x17,0xF1,0x06,0xAA,0xFD,0xAB, + 0x2F,0xB0,0xF8,0x18,0x4D,0xEA,0x10,0x52,0x1F,0x38,0x70,0xA0,0x38,0xEB,0x0A,0xA2, + 0xCF,0x4B,0x97,0x2E,0x15,0x47,0x34,0xFF,0x25,0xC2,0x8F,0xD6,0x3C,0xF7,0xED,0xB7, + 0xDF,0xD6,0x4D,0x7F,0xC2,0x65,0x9E,0x3C,0x79,0xB2,0x38,0x0A,0x3C,0x2E,0xE2,0x4D, + 0x0A,0x91,0x78,0xC1,0x43,0x0F,0x3D,0xC4,0xE6,0xCF,0x9F,0xCF,0xF3,0xBF,0x7A,0x5B, + 0x1A,0xE2,0x8F,0xA7,0xF9,0x2F,0x61,0x05,0xF4,0xE6,0xB9,0x5A,0xFB,0xEB,0x02,0x64, + 0x54,0x3E,0xFE,0xF8,0x63,0xEE,0x65,0x06,0x0B,0x9F,0x6E,0xF3,0xF1,0xF2,0xC0,0xCE, + 0x79,0x15,0x86,0x0E,0x1D,0xEA,0xC0,0x1F,0x8E,0xB9,0xED,0xB8,0x71,0xE3,0x74,0xA3, + 0xCF,0x34,0xFF,0x25,0xAC,0x80,0x99,0x79,0x2E,0x9A,0x2F,0xA6,0xA6,0xA6,0x72,0x01, + 0xFB,0xDB,0xE2,0xC6,0x08,0x3E,0xC5,0x1B,0x4C,0x1E,0x7D,0xF4,0x51,0x36,0x67,0xCE, + 0x1C,0xBE,0x4D,0x8A,0xB9,0xF9,0x6F,0x7F,0xD6,0xF3,0xDA,0xDB,0xF9,0xD7,0x08,0x22, + 0xD8,0x0C,0x99,0xF8,0x98,0x3C,0xCF,0xAD,0x9F,0xAE,0xF9,0x9A,0xE7,0xC2,0x18,0xBD, + 0xF6,0xDA,0x6B,0x41,0xB5,0xBA,0xC0,0x45,0xBC,0xC1,0x58,0x12,0xE8,0x8D,0x89,0x13, + 0x27,0x3A,0x30,0xEF,0x45,0x49,0x19,0xEE,0x50,0xC6,0xE7,0xBF,0x99,0x8E,0xFE,0x3F, + 0x98,0xC2,0xDA,0xF7,0x1E,0x26,0xCE,0x10,0x44,0x70,0xE8,0xFF,0x83,0xA9,0xF2,0x3C, + 0x77,0xA4,0x3C,0xCF,0x4D,0x37,0x34,0xCF,0x55,0xBA,0x63,0xC0,0x63,0x1C,0x3B,0x76, + 0x6C,0xD0,0xAC,0x2E,0xF0,0x69,0x79,0xCF,0x9E,0xD7,0x7E,0x91,0x81,0x02,0x73,0x5F, + 0x58,0x5F,0xE0,0x6B,0xFE,0xFB,0xFA,0xEB,0xAF,0xD7,0xB9,0xCF,0x39,0x2D,0x5B,0x38, + 0x8A,0xEE,0x78,0x84,0xE5,0x75,0xA7,0x0D,0xCB,0x88,0xE0,0xD0,0xF5,0x9A,0x71,0xAC, + 0xF7,0x75,0xB7,0xB2,0xCC,0xAC,0x66,0x75,0x22,0xC4,0x35,0xE8,0x6D,0x9E,0x8B,0xE9, + 0x20,0x62,0x39,0xB8,0xAE,0x83,0x8D,0x4F,0xF1,0x56,0x55,0x07,0x57,0xBC,0x28,0xDA, + 0x50,0x5B,0x55,0x6F,0xF3,0x5F,0xAC,0xCA,0x50,0x07,0xB0,0x5A,0xE5,0xB6,0x72,0xA0, + 0xB6,0x14,0x3D,0x72,0x09,0x22,0x90,0xC0,0x28,0x0C,0x1C,0xFD,0x53,0xD6,0x22,0xA7, + 0x7E,0x71,0x3D,0x02,0x54,0xEA,0x1D,0x0F,0xD4,0x60,0x9E,0x8B,0x6B,0x17,0x2C,0x5F, + 0xBE,0x9C,0x4D,0x98,0x30,0x81,0x8F,0x83,0x89,0x8B,0x78,0x03,0xB1,0xCD,0xA7,0x59, + 0x30,0xDF,0xC5,0x1F,0x3A,0x77,0xEE,0x5C,0x2E,0x4A,0x5F,0xF3,0x5F,0xB8,0x23,0xEA, + 0xE5,0x83,0xB9,0x79,0xAD,0x1D,0x37,0x3F,0xF4,0x67,0x6A,0x9F,0x43,0x04,0x0C,0xB4, + 0xB3,0xB9,0x6E,0xD2,0x6F,0xB8,0x71,0x10,0xA7,0xD8,0x7F,0xFF,0xFB,0x5F,0xDD,0x00, + 0x15,0x80,0x70,0x53,0x52,0x52,0x1C,0x0B,0x16,0x2C,0x90,0x46,0x8C,0x18,0xE1,0xD7, + 0x0E,0x08,0x66,0x71,0x11,0x6F,0xA8,0xF2,0xBC,0xEE,0x28,0x69,0x23,0x05,0x6F,0xF3, + 0x5F,0x80,0xA6,0x5E,0x88,0xF6,0x89,0x43,0x96,0xDB,0xB6,0x95,0x63,0xCC,0xC3,0x0B, + 0x49,0xC0,0x44,0x83,0x81,0x17,0x77,0xD3,0xFD,0xCF,0xC9,0xC2,0xAD,0x17,0x1F,0x8C, + 0x05,0x16,0xD4,0xE8,0x81,0x79,0x6E,0x7E,0x7E,0x3E,0xFF,0x7E,0x14,0x1F,0x05,0x3B, + 0x50,0xA5,0xE0,0xD3,0x6D,0x2E,0x0B,0x70,0x79,0xA4,0x16,0xF8,0xC3,0xD1,0x7C,0x5A, + 0xED,0x12,0x63,0xFE,0x8B,0x3D,0x5C,0xF4,0xC0,0xF2,0x41,0xB4,0x1A,0x11,0x87,0x2C, + 0xBF,0x63,0x7B,0xC7,0xA8,0x07,0x5F,0x64,0x8D,0x13,0xB5,0xF7,0x48,0x22,0x08,0x5F, + 0xE0,0xE6,0x7F,0xE3,0xD4,0xE7,0xB8,0x37,0x27,0x4E,0xB1,0x8D,0x1B,0x37,0x4A,0xEE, + 0x1D,0x20,0xD5,0xA0,0x85,0x2B,0xE6,0xB9,0x18,0x43,0xE4,0x69,0x69,0x69,0xBC,0x73, + 0x0C,0xFF,0x62,0x90,0xF1,0x29,0xDE,0x8B,0xB5,0x75,0xFA,0x08,0x2A,0x4A,0xDA,0x48, + 0xCD,0x9D,0x77,0xDE,0xE9,0xD0,0xAB,0x7F,0x06,0x98,0x5B,0xA8,0xFB,0x5F,0x75,0xEC, + 0x52,0xE0,0xB8,0xE5,0xB1,0x57,0x49,0xC0,0x84,0x69,0x20,0x5C,0x78,0x6F,0x30,0x02, + 0xE2,0x14,0x5F,0x9E,0xAA,0xB7,0x3E,0x17,0xC0,0xB8,0x8C,0x1F,0x3F,0xBE,0xEE,0xFB, + 0x43,0x15,0xA8,0x52,0x70,0x9D,0xF3,0x36,0x69,0x24,0x46,0xA1,0x07,0x7D,0x7D,0xD0, + 0x69,0x43,0x5D,0x90,0x01,0xA6,0x4E,0x9D,0xEA,0xC8,0xCC,0xCC,0x14,0x47,0xAE,0x28, + 0x29,0x24,0xA4,0x9A,0xC4,0x29,0xD6,0xA1,0x73,0x67,0xC7,0xF8,0xC7,0xDF,0x24,0x17, + 0x9A,0x30,0x0C,0x5C,0xE5,0x1F,0x3E,0xF2,0x8A,0x8B,0x70,0x61,0x14,0x90,0x12,0xD2, + 0x03,0x46,0x05,0xC6,0x45,0x1C,0xF2,0x6B,0x30,0x14,0xE9,0x21,0x35,0x2E,0xE2,0x4D, + 0x49,0x0C,0xC1,0x82,0x5E,0x2F,0xCC,0x9A,0x35,0x8B,0xCD,0x9E,0x3D,0x5B,0x1C,0xD5, + 0x73,0xC7,0x1D,0x77,0x30,0xB8,0x23,0x5A,0x40,0xC0,0x8B,0x17,0x2F,0x76,0x11,0x70, + 0xBB,0x2B,0x3A,0xF0,0x39,0x30,0x45,0xA1,0x09,0x5F,0xA0,0x5E,0xF9,0xE6,0x07,0xFF, + 0xC4,0xDA,0xB6,0x6B,0xEB,0x22,0x44,0x6F,0xB9,0x5C,0x5C,0x8B,0x30,0x2A,0xE2,0x90, + 0x03,0xAB,0x1B,0xAA,0xB9,0xAE,0x82,0x6F,0xB7,0x39,0x80,0x6D,0x70,0x7C,0x81,0xBB, + 0x96,0x52,0xB4,0x21,0x4E,0x71,0x10,0x81,0x86,0x80,0xF5,0x52,0x48,0xB0,0xD8,0x10, + 0x30,0x2A,0x5F,0xC4,0x29,0x7E,0x17,0xC5,0x87,0x82,0xC8,0x21,0x41,0x68,0x81,0x22, + 0x9F,0x91,0xF7,0xFD,0xD1,0x65,0x8E,0x0B,0x8B,0xFB,0xCA,0x2B,0xAF,0xF0,0x6B,0x4A, + 0x0B,0x08,0x17,0xE9,0x4D,0x77,0xE0,0x01,0x6A,0x9D,0x0F,0x26,0x3E,0xC5,0x1B,0x88, + 0xD6,0xAF,0x66,0xD0,0x9A,0xFB,0x82,0xAC,0xAC,0x2C,0x2E,0xE0,0xD8,0x58,0xED,0x88, + 0xB8,0x22,0x60,0xF5,0x1C,0x98,0xA7,0x91,0xA6,0xCD,0xA5,0x42,0x0E,0xC2,0x03,0x14, + 0x60,0x5C,0x7B,0xF7,0xE3,0x2E,0x51,0x65,0x4C,0xD9,0x20,0x42,0x3D,0x8B,0x0B,0xE3, + 0x81,0xB4,0x26,0x8C,0x89,0x38,0xC5,0x41,0xFE,0x17,0xD9,0x91,0x50,0xA4,0x87,0xD4, + 0x78,0xFC,0xB2,0xE1,0x3F,0x5F,0xEB,0x62,0xF5,0xC0,0x87,0x2F,0x0C,0x0E,0xE9,0x8B, + 0x92,0xEF,0x6E,0xA8,0x62,0xD1,0xFC,0x9D,0x10,0xA7,0xB7,0x37,0x18,0x20,0x4F,0xAC, + 0x8E,0xF8,0x1D,0x3E,0x78,0x58,0x5A,0xFF,0xEE,0x5F,0xD8,0xCE,0x4F,0xF5,0xE7,0x30, + 0x44,0xF4,0x30,0x78,0xFC,0xC3,0xAC,0xEB,0xE0,0x51,0x2E,0x05,0x18,0x48,0x3D,0x6A, + 0xF5,0x5A,0x56,0x80,0xD1,0x80,0xF1,0x50,0x52,0x42,0x6A,0x7A,0xF5,0xEA,0x25,0x2D, + 0x5A,0xB4,0x28,0x24,0x51,0x66,0x49,0xAA,0x97,0xA7,0x87,0xE5,0x0D,0xF4,0x36,0x9F, + 0xFE,0x00,0xF7,0x43,0x29,0xDA,0x70,0xA7,0x63,0xC7,0x8E,0x7C,0xFB,0x14,0x6F,0x20, + 0x0A,0xFD,0xD9,0x67,0x9F,0xD5,0xFD,0x3C,0x92,0xED,0x83,0x6F,0x79,0x80,0xF5,0xBD, + 0xE9,0xA7,0xE2,0x0C,0x11,0x8D,0x38,0xBB,0x3D,0xFE,0x86,0xF5,0x28,0x1A,0xED,0x22, + 0xDC,0x8F,0x3E,0xFA,0xC8,0xA7,0x70,0x61,0x71,0xB5,0x84,0xAB,0x04,0x58,0x43,0x95, + 0x1E,0x52,0xE3,0xF1,0x0B,0xEF,0x7C,0x72,0x93,0xE4,0xBE,0x23,0x7E,0xA8,0x2D,0x2F, + 0xE6,0xBC,0xF2,0x9B,0x81,0xED,0x21,0x74,0x7F,0x2F,0x72,0xBC,0x10,0xA9,0x37,0x0B, + 0x0C,0x57,0x06,0xF9,0x62,0x71,0xC8,0xCA,0x4E,0x9D,0x91,0x8E,0xEC,0xDB,0xC5,0xDE, + 0xFF,0xF3,0x83,0xEC,0xC2,0x39,0xCF,0x7E,0x43,0x44,0xE4,0x82,0xEC,0xC3,0xC8,0x07, + 0xE6,0xB2,0xEC,0xDC,0xB6,0x2C,0x35,0x2D,0xA5,0xEE,0x9A,0x40,0x6D,0x01,0xA2,0xC4, + 0x7A,0x28,0xC2,0x85,0xD1,0x10,0xA7,0x5C,0x90,0xBF,0x26,0x8D,0x1E,0x3D,0x9A,0x2F, + 0xB2,0x11,0xA7,0x82,0x8A,0x57,0xCB,0xAB,0x45,0x59,0xC5,0x05,0x4D,0x2B,0x18,0x2C, + 0x30,0x77,0x80,0xF0,0xD4,0x45,0x1B,0xEE,0x74,0xEF,0xDE,0x9D,0x97,0x55,0xEA,0x05, + 0xB1,0x00,0x82,0x5F,0xEA,0x7F,0x03,0xDB,0x51,0x74,0xEB,0x3B,0xC0,0x71,0xFB,0x6F, + 0xDF,0xA1,0x40,0x56,0x14,0x81,0xC0,0xD4,0xB8,0x99,0x8B,0x59,0xA7,0xEE,0xDD,0x1C, + 0x6A,0xE1,0x62,0x91,0x81,0x37,0xE1,0xE2,0xDA,0x9A,0x32,0x65,0x8A,0xAE,0x70,0x61, + 0x64,0x70,0x8D,0x85,0x4A,0xB8,0xEE,0x18,0x12,0xEF,0xC5,0x9A,0x90,0x6A,0x97,0xA3, + 0x97,0x36,0x52,0x83,0x37,0x15,0x2E,0xB6,0x37,0x01,0xE3,0xC3,0x91,0xE7,0x23,0x2E, + 0x7F,0x40,0x6E,0x5E,0x2B,0xC7,0x0F,0x1E,0x7A,0x91,0xDC,0xE8,0x08,0x47,0x71,0x93, + 0x11,0x98,0x42,0x09,0xAD,0x38,0xCD,0xB7,0x95,0xFD,0xEB,0x5F,0xFF,0xAA,0xBB,0xC8, + 0x00,0x20,0xAA,0x0C,0xE1,0x7A,0x0B,0x42,0x21,0x40,0x0A,0x03,0x12,0x2E,0x3C,0x5E, + 0xD8,0xD4,0xE7,0xB7,0x48,0x7B,0x0F,0x57,0x89,0x23,0x27,0xAF,0x3D,0xD1,0x97,0x65, + 0x37,0x4B,0x08,0xF9,0xDD,0xC5,0x68,0x20,0x00,0xDB,0xA4,0xE0,0x8D,0xD4,0x5B,0xAA, + 0x05,0xB0,0xEA,0x03,0x6F,0x74,0x6E,0x6E,0x7D,0x37,0x04,0x72,0xA3,0x23,0x17,0x3D, + 0x37,0x59,0x29,0xBE,0xD0,0x4B,0x05,0x01,0x14,0x05,0x21,0x38,0xE5,0x1E,0x55,0x76, + 0x27,0x2F,0x2F,0x4F,0x42,0x83,0xB9,0x50,0x46,0x99,0xBD,0xBA,0xCD,0xE1,0x5A,0x9C, + 0xA0,0x85,0x11,0xEB,0x0B,0xF0,0x26,0xE3,0x2E,0xE9,0xAD,0x94,0x12,0x3D,0x75,0x91, + 0xBF,0x53,0x07,0xB2,0xC8,0x8D,0x8E,0x4C,0xF4,0xDC,0x64,0x04,0xA6,0xDE,0x78,0xE3, + 0x0D,0xAF,0xC2,0xC5,0x35,0x34,0x6D,0xDA,0x34,0x87,0x2F,0xE1,0x62,0x3A,0x86,0x7A, + 0xFC,0x50,0xA7,0x87,0xD4,0x18,0x72,0x9B,0x83,0xBD,0x20,0x5F,0x0F,0x14,0x6D,0xC0, + 0xED,0xDD,0xB7,0x6F,0x9F,0x4F,0xBF,0x1D,0xCB,0xB1,0x50,0xF5,0xA2,0xB7,0x95,0x8A, + 0x02,0xDA,0x97,0xA8,0x17,0xF5,0x03,0xC5,0x8D,0x1E,0x38,0xE6,0x67,0xD4,0xDC,0xCE, + 0xC6,0xA0,0xA6,0x7D,0xD8,0x3D,0xBF,0xD7,0x75,0x93,0xB1,0x99,0x9D,0x37,0x50,0xAB, + 0xEC,0x5E,0x39,0xA5,0x47,0xA8,0xEB,0x98,0xB5,0x30,0x24,0xDE,0x60,0x2F,0xC8,0xF7, + 0x86,0xFB,0x72,0x41,0x5F,0x60,0x3F,0x24,0x6F,0xAB,0x91,0x00,0xE6,0x3A,0xCF,0x3E, + 0xFB,0xAC,0xA4,0xAE,0xC8,0xC2,0x8E,0xE6,0xFD,0x47,0xDE,0xC9,0xEE,0x78,0xF2,0x5D, + 0x96,0xDB,0xA5,0x50,0x9C,0x25,0xEC,0x02,0x7A,0x7A,0xC3,0x83,0xEA,0x31,0xE8,0x46, + 0xDE,0x65,0x45,0x9C,0xE6,0x6E,0xF2,0x9F,0xFF,0xFC,0x67,0xA6,0xB5,0x87,0x90,0x1A, + 0x58,0x51,0x75,0xAD,0xB2,0x37,0x90,0x1E,0xC2,0x14,0x4D,0x59,0x4D,0x14,0x2E,0x3C, + 0x7E,0xF9,0x6F,0xFF,0x5E,0x2C,0x7D,0xB1,0xE3,0x94,0x38,0x72,0xF2,0xEC,0xFD,0xDD, + 0x58,0xCF,0x0E,0xF5,0xBD,0x6A,0x43,0x8D,0xEC,0xCA,0x48,0xC5,0xC5,0xC5,0x3E,0xE7, + 0x20,0x6A,0xB0,0x3C,0xCB,0xDB,0x52,0x2E,0x85,0x61,0xC3,0x86,0xB1,0xAB,0xAF,0xBE, + 0xDA,0xE5,0xDF,0x3D,0x7A,0xF4,0x84,0x74,0xAC,0xA4,0x98,0xAD,0xFA,0xDB,0xAF,0xD8, + 0xB9,0x0A,0xD7,0xF7,0x82,0xB0,0x16,0xE8,0xE3,0x3D,0xFC,0x9E,0xA7,0x58,0x46,0x4E, + 0x2E,0xEF,0xED,0x2D,0x4E,0x73,0xE0,0x26,0xFB,0xB2,0xB6,0x48,0x05,0xE1,0x1A,0x30, + 0xB3,0xE1,0xF5,0x7D,0xF7,0xDD,0x27,0xF5,0xEC,0xD9,0xD3,0xB0,0x95,0x0E,0x24,0xEA, + 0x39,0xAF,0xC7,0x2F,0x7F,0x6E,0xC9,0x6E,0xE9,0xC3,0x8D,0xC7,0xC4,0x91,0x93,0x70, + 0x8B,0x77,0xFA,0xF4,0xE9,0x52,0xDB,0xB6,0x6D,0x4D,0x77,0x9E,0x87,0xBB,0x8D,0xE0, + 0x84,0xD6,0x1E,0x32,0x6A,0x60,0xA9,0x51,0x95,0x05,0xD7,0x5B,0x9C,0xE2,0x1C,0x3E, + 0x7C,0x5C,0xDA,0xB6,0x6A,0x09,0xDB,0xF2,0xBF,0x57,0xD9,0xA5,0xDA,0x0B,0xE2,0x2C, + 0x61,0x05,0xE0,0x22,0xF7,0xBF,0x79,0x2A,0xEB,0x34,0x70,0x94,0xEC,0x35,0x65,0xBA, + 0x7C,0x6E,0x08,0x60,0xA2,0x06,0xA0,0xA4,0xA4,0x44,0x9C,0xD1,0x06,0x11,0x65,0x74, + 0xC0,0x50,0x07,0x31,0x7D,0x81,0xF4,0x90,0x2C,0x74,0xFC,0xDB,0x61,0xD1,0x83,0x69, + 0xF1,0xCE,0x9A,0xDC,0x99,0x0D,0xEA,0xEE,0xFA,0x06,0x85,0x92,0x86,0xBC,0x61,0x98, + 0xEF,0x40,0xC0,0xBE,0x3E,0x48,0xDC,0x81,0xD1,0x11,0xC1,0xDD,0x0A,0x23,0x22,0x7D, + 0xBA,0xEC,0x14,0xFB,0xE4,0xCD,0xA7,0xD8,0xC1,0x6F,0xD6,0x89,0xB3,0x44,0x38,0x69, + 0x7F,0xE5,0xF5,0xEC,0x9A,0xDB,0x7E,0xC9,0x52,0x52,0x9B,0xB2,0xB4,0x74,0xD7,0x1B, + 0x2E,0x3C,0x2E,0x58,0x5B,0x6F,0xC5,0x3B,0x00,0x3B,0x76,0xF8,0x93,0x9F,0x45,0xE5, + 0xDF,0xFE,0xFD,0xFB,0xD9,0xBC,0x79,0xF3,0xC2,0xA2,0x07,0xD3,0xE2,0x7D,0x78,0x42, + 0x47,0x76,0x43,0xFF,0xFA,0x79,0x44,0x38,0x90,0x2D,0xA3,0x74,0xF7,0xDD,0x77,0xFB, + 0xBD,0x5E,0xD2,0xA8,0x1B,0x8D,0x34,0x01,0xCA,0x2F,0xDD,0x4B,0xE1,0xE0,0x4A,0x1F, + 0xF9,0x6E,0x2B,0xFB,0xF2,0xDD,0x97,0xD8,0xC9,0x43,0xDF,0x89,0xB3,0x44,0x28,0xC1, + 0xF2,0xBD,0xAB,0xC7,0x3F,0x2C,0xBB,0xC8,0x6D,0x64,0x17,0x39,0xC3,0xE5,0xF3,0xC1, + 0xDC,0x16,0x0B,0xE7,0xBD,0xA5,0x0B,0x81,0x3F,0x6E,0xB2,0x1A,0xA4,0x87,0xE4,0x6B, + 0x49,0xB3,0x54,0x32,0x14,0xD8,0x52,0xBC,0x08,0x12,0x60,0xDF,0x97,0xAD,0x5B,0xB7, + 0xFA,0xFD,0x3A,0x8C,0xBA,0xD1,0x00,0xED,0x4D,0xD0,0x48,0xCC,0xDD,0x95,0x3E,0x22, + 0xBB,0xD2,0xC7,0x0F,0xEC,0x62,0xEB,0x97,0xBD,0xC4,0x8E,0x97,0x6C,0x17,0x67,0x89, + 0x60,0x82,0x00,0x62,0xE1,0x98,0x9F,0xB1,0xD4,0xAC,0x56,0x2E,0xDB,0x8D,0x00,0x78, + 0x56,0x10,0xAD,0xB7,0xE6,0x70,0x0A,0xFE,0xB8,0xC9,0x6A,0x90,0x1E,0x7A,0xF5,0xD5, + 0x57,0x51,0x3B,0x1F,0x36,0x2D,0x78,0x15,0xEF,0xDF,0xDE,0x2F,0x91,0xFE,0xF9,0xB1, + 0x6B,0x64,0xCE,0x0A,0xE2,0x05,0xB2,0x5B,0x2B,0x21,0xF7,0xDB,0x90,0x28,0x9F,0x51, + 0x37,0x1A,0xA0,0x72,0x0B,0xAE,0xB4,0xD6,0x5D,0x1A,0x22,0xAE,0x38,0x71,0x84,0x7D, + 0xF6,0xD6,0xF3,0xEC,0xE8,0xEE,0xCD,0xE2,0x2C,0x11,0x48,0xF2,0x7A,0x14,0xB1,0x41, + 0xE3,0x67,0xB0,0xC4,0xA6,0xA9,0x2C,0x27,0xC7,0x55,0xB4,0x00,0x39,0x7B,0x78,0x53, + 0xBE,0x5C,0x64,0xE0,0xAF,0x9B,0xAC,0x46,0xBE,0x99,0x4B,0xC8,0x7E,0xA8,0xEB,0xE5, + 0x43,0x8D,0x57,0xF1,0xBE,0xB6,0x72,0xBF,0xF4,0xC6,0x87,0x07,0xC5,0x91,0x13,0xAB, + 0x88,0x37,0x90,0x77,0x3E,0x7C,0xF0,0x98,0x1B,0x79,0x4B,0xD8,0x2B,0x20,0x71,0x0F, + 0x2B,0xAC,0xE5,0x2A,0x1D,0x3D,0x7C,0x42,0xAA,0x3C,0x7D,0x42,0xB6,0xC4,0xFF,0xC7, + 0x4A,0xBE,0xF6,0xED,0x96,0x13,0xBE,0xB9,0x62,0xE0,0x28,0x36,0x70,0xF4,0xFD,0x2C, + 0x21,0x29,0x51,0x7E,0xEF,0x3D,0x45,0x8B,0xDE,0x52,0xC8,0xD7,0xA3,0x11,0xBF,0x2F, + 0x70,0x03,0xC6,0x67,0xD7,0xD0,0x55,0x3F,0xF8,0x9D,0xF2,0x94,0x0D,0x16,0x3E,0xAC, + 0x3A,0x30,0x2D,0xDE,0x69,0xB7,0xB4,0x67,0x37,0x0F,0x0A,0x5F,0x25,0x89,0x1A,0xF9, + 0x0E,0x2A,0xC9,0x22,0x0E,0xC8,0x06,0x4E,0xB0,0xC2,0x58,0x0A,0xB6,0x63,0xC7,0x0E, + 0x71,0xC6,0x3B,0x28,0x00,0x19,0x3C,0x78,0xB0,0x66,0xA1,0x7A,0x69,0xE9,0x09,0xA9, + 0xEA,0xCC,0x19,0xB6,0x7E,0xF9,0x9F,0x59,0xC9,0xB6,0x4F,0x29,0x3A,0x6D,0x12,0x44, + 0x8F,0xDB,0xF7,0x19,0xCE,0xFA,0x8F,0xBE,0x8F,0x25,0x26,0x26,0xB2,0xCC,0x2C,0xCF, + 0xB4,0x20,0x04,0x04,0x4B,0x5B,0x5A,0x5A,0x2A,0xCE,0x78,0xA7,0x6F,0xDF,0xBE,0xEC, + 0xE6,0x9B,0x6F,0x0E,0xC8,0x75,0xEB,0x6F,0xC6,0x23,0xD0,0x98,0x16,0xEF,0x1D,0xC3, + 0x73,0xD9,0x5D,0x23,0xEA,0x7B,0xFC,0x84,0x93,0x60,0x44,0xFB,0x30,0x17,0xC6,0xBC, + 0xC9,0xC8,0x9D,0x1C,0xC0,0x12,0xC3,0x9D,0xD6,0xBA,0x81,0x1C,0x3F,0x56,0x26,0xD5, + 0xD4,0x5E,0x62,0x87,0xBE,0x59,0xCF,0xBE,0x5E,0xF3,0x2F,0x72,0xA9,0x7D,0x00,0xD7, + 0xB8,0xEB,0xD5,0x63,0x58,0x76,0x87,0x3E,0xB2,0x95,0x8C,0x65,0xCD,0x9A,0xA5,0x7A, + 0xBC,0xA7,0x58,0xFE,0x09,0x2F,0xC9,0xA8,0x68,0xB1,0x65,0x0E,0xAC,0xAD,0xBF,0x73, + 0x5B,0x2D,0xBC,0x35,0x88,0x08,0x25,0xB6,0x16,0x2F,0x08,0x56,0x41,0xB8,0x19,0x57, + 0x1A,0x78,0x13,0x31,0x80,0x4B,0x5D,0x53,0x7B,0x91,0x7D,0xF3,0xE9,0x32,0x56,0xFC, + 0xF9,0xBB,0xAC,0xB2,0xEC,0x88,0xF8,0x4A,0x74,0x83,0xC2,0x8A,0x1E,0x43,0x27,0xB2, + 0x0E,0xFD,0x6E,0x60,0xB1,0xB1,0x0E,0x4D,0xD7,0x18,0x20,0x48,0x09,0x4B,0xEB,0x2B, + 0x82,0xAC,0xE0,0x2D,0x46,0xD1,0x10,0xC2,0x9D,0x1E,0x52,0xE3,0x55,0xBC,0xEF,0x7C, + 0x72,0x58,0x5A,0xF8,0xEE,0x3E,0x71,0xE4,0xC4,0x6A,0xE2,0x0D,0xA6,0x0B,0x63,0xD6, + 0x95,0x06,0x88,0x62,0xE2,0xA2,0xD1,0x9B,0x57,0x55,0x54,0x9E,0x97,0xCE,0x56,0x56, + 0xB1,0xB3,0xE5,0xC7,0xD9,0xD7,0x1F,0x2F,0x61,0x7B,0x37,0x7F,0x18,0x75,0xAB,0x98, + 0xB0,0x39,0x35,0xF2,0xB3,0xBD,0x87,0xDF,0xC5,0xE2,0x13,0x92,0x3C,0x0A,0x2B,0xD4, + 0x98,0x15,0x2D,0x40,0x79,0x23,0x52,0x40,0xEE,0xD9,0x81,0x40,0x10,0xC8,0xA9,0x5A, + 0x43,0xF1,0x2A,0xDE,0xFF,0x6D,0x38,0x26,0x3D,0xBF,0x74,0xB7,0x38,0x72,0x62,0x35, + 0xF1,0x86,0xA2,0xCA,0x05,0xAE,0x34,0x44,0x6C,0xD4,0x55,0x03,0x58,0x76,0x88,0xA8, + 0x26,0x1A,0x09,0xA0,0x61,0x9E,0x38,0xED,0xC2,0xA9,0x53,0x67,0xA4,0x8B,0x17,0x25, + 0x76,0xE6,0x58,0x09,0xFB,0x7E,0xDB,0x1A,0x76,0x60,0xE7,0xFA,0x88,0x4D,0x39,0x21, + 0xC5,0xD3,0xBA,0x73,0x7F,0xD6,0xB6,0xFB,0x60,0x96,0x9C,0x91,0xCD,0x9A,0x24,0xC4, + 0xB3,0xF4,0xF4,0x64,0xCD,0xF7,0x05,0x75,0xE6,0x58,0x84,0x82,0x9B,0xA6,0x51,0xCF, + 0x07,0xC0,0xFB,0x41,0x5E,0x3E,0x90,0x2E,0xB2,0x9A,0x15,0x2B,0x56,0x48,0xA8,0xAD, + 0x97,0xAF,0x05,0x4B,0x5C,0xFF,0xB6,0x17,0x2F,0x98,0x34,0x69,0x92,0x34,0x64,0xC8, + 0x10,0xBE,0x10,0x41,0x9C,0x0A,0x0A,0x66,0x83,0x24,0x0A,0x28,0xF6,0x40,0xC0,0x04, + 0xF9,0x62,0x3D,0x6B,0x70,0xB6,0xEA,0xA2,0x54,0x21,0x5B,0x97,0x98,0xD8,0xC6,0xEC, + 0xE4,0xC1,0x5D,0xEC,0xFB,0xAD,0x9F,0xB0,0x23,0xDF,0x6D,0xB6,0xAD,0x98,0x51,0x44, + 0xD1,0xEA,0x8A,0x2B,0x59,0xBB,0x9E,0x45,0x2C,0xBD,0x55,0x47,0x76,0xB9,0xF6,0x1C, + 0x4B,0x69,0x9A,0xCA,0x92,0x93,0xE2,0x35,0xFF,0x7E,0x94,0x31,0x42,0xB0,0x78,0x98, + 0xB1,0xB2,0xC0,0xD7,0x94,0x25,0x50,0x34,0xB4,0x38,0x28,0xD0,0x44,0x84,0x78,0x03, + 0x51,0xB4,0x61,0x06,0x7F,0x45,0x0C,0x50,0x3B,0x0D,0x11,0xFB,0x4A,0x57,0x70,0xF7, + 0xBA,0xA2,0x52,0xFE,0x54,0xE2,0xD8,0xF1,0xFD,0xDB,0xB9,0x55,0x3E,0xB6,0x6F,0x3B, + 0x3B,0x7B,0xAA,0xD4,0x72,0xF3,0x65,0xCC,0x5B,0x9B,0xA4,0x34,0xE3,0x62,0x6D,0xD3, + 0xB5,0x90,0x65,0xE6,0x76,0x66,0x92,0x3C,0xBF,0x4F,0x49,0xD3,0x17,0xAB,0x02,0x3E, + 0x3B,0x08,0xD6,0x48,0xAE,0xDD,0x9D,0x50,0x89,0x16,0xC0,0xFB,0x1A,0x3A,0x74,0x68, + 0x50,0x3D,0x3C,0xB3,0x98,0x16,0xEF,0xF0,0x7E,0x2D,0xD8,0x2F,0x26,0x6A,0xF7,0xF1, + 0x09,0x27,0xE1,0x48,0x9A,0xE3,0x03,0x85,0x88,0xFD,0xB9,0xF0,0x10,0x50,0x81,0x5B, + 0x0D,0x31,0x23,0xED,0xE4,0x6B,0x7E,0x06,0x31,0x57,0x55,0x9C,0x65,0x92,0xC3,0xC1, + 0x1A,0xC5,0x35,0x61,0x67,0x8E,0xEF,0x67,0xE7,0x2A,0x4E,0x72,0xEB,0x5C,0x5E,0x5A, + 0xC2,0x57,0x3C,0x05,0x33,0x9A,0x8D,0xB5,0xCD,0xCD,0xF3,0xBB,0xB2,0x94,0x66,0x2D, + 0x59,0xD3,0x66,0x39,0x5C,0xA4,0x10,0x6C,0x72,0x46,0x0E,0xBB,0x74,0xF1,0xBC,0x7C, + 0xF1,0x48,0x86,0xC4,0x0A,0x0B,0x8B,0xF7,0x0B,0x4B,0x31,0x51,0x09,0x65,0xA4,0xA8, + 0xC2,0x1D,0xBC,0x5F,0x10,0x6D,0x28,0xCB,0x12,0xAD,0x92,0x1E,0x52,0x13,0x31,0xE2, + 0x0D,0x67,0xB9,0x5A,0x43,0x44,0xAC,0x00,0xD7,0x1A,0x17,0xA5,0xF2,0x30,0x1A,0x6C, + 0x81,0xBB,0x7D,0xEE,0xEC,0x59,0x76,0xA9,0xF6,0x12,0x8B,0x89,0x4F,0x64,0x17,0xCE, + 0x9D,0x66,0xE7,0xCA,0x4F,0x88,0xAF,0x3A,0xA9,0x3E,0x5F,0xC1,0x45,0x6E,0x04,0x88, + 0x32,0xD6,0xAD,0x09,0x41,0xD3,0xE6,0x6D,0x59,0x4C,0xA3,0x46,0xB2,0x35,0xBD,0xC0, + 0xE2,0xE2,0x63,0x59,0x42,0x62,0x92,0x4F,0x91,0x2A,0x20,0xE8,0x07,0xA1,0xE2,0xBD, + 0xC1,0xC3,0xAC,0x4B,0xAC,0x26,0x1C,0xA2,0x55,0x90,0x7F,0x77,0xC8,0xDB,0xDC,0xF8, + 0x22,0x62,0xC4,0x0B,0x42,0xD9,0xF0,0x5A,0x0B,0x88,0x58,0x09,0xB4,0xF8,0x63,0x51, + 0xD4,0x40,0xCC,0x8A,0x55,0x0E,0x84,0x5B,0x08,0x91,0x8B,0xA1,0x57,0x8C,0x8A,0x52, + 0x0F,0x88,0x55,0x11,0x2A,0x1E,0x46,0xF3,0xE5,0xDE,0xC0,0x34,0x03,0x31,0x83,0x70, + 0x2D,0x00,0xC0,0x26,0xD9,0xDB,0xB6,0x6D,0x63,0x0B,0x17,0x2E,0xB4,0xD4,0x75,0xEF, + 0x55,0xBC,0x9F,0x6F,0x3F,0x29,0xCD,0x5E,0xE4,0x5A,0xE4,0x6D,0x65,0xF1,0x5A,0x29, + 0x07,0xD7,0x90,0xB9,0x9C,0x16,0x88,0x5E,0x43,0xD0,0x98,0xE7,0x61,0x8C,0xE2,0x03, + 0xA4,0xA5,0xCC,0x34,0x25,0x08,0x24,0x27,0x4E,0x9C,0x90,0xB0,0xA8,0x03,0x5D,0x29, + 0xF0,0x8C,0xF9,0x3F,0x84,0x6A,0x64,0xA1,0x87,0x11,0xF0,0xF7,0x21,0xE5,0xD3,0xAF, + 0x5F,0xBF,0xB0,0x7F,0x96,0xE1,0x36,0x0A,0x7A,0x78,0x15,0xEF,0xB6,0x3D,0xA7,0xA5, + 0x5F,0xBE,0xE4,0x9A,0xE3,0xB4,0xB2,0x78,0x81,0xD5,0xDC,0x9B,0x86,0x44,0x51,0x8D, + 0x82,0x0B,0x1D,0x82,0x86,0xB0,0x31,0xC6,0x52,0x37,0x35,0x66,0x2D,0x16,0x3C,0x08, + 0x31,0xE4,0x20,0x5D,0x03,0x71,0xAA,0x85,0x1A,0x0C,0x70,0x33,0x82,0x60,0xF1,0x08, + 0xD7,0x4D,0xC9,0x1D,0x2C,0x1F,0x45,0xE3,0x43,0x79,0x5A,0x64,0xB9,0x6B,0x3E,0xE2, + 0xC4,0x3B,0x6B,0xD6,0x2C,0xFE,0x17,0xC9,0x6F,0xB8,0xE5,0x5E,0x23,0xF2,0x97,0x9B, + 0x36,0x6D,0xE2,0x81,0x1A,0x33,0xF9,0xCB,0x40,0x03,0x71,0x43,0xE4,0x20,0x50,0x9E, + 0x81,0xBF,0x28,0xF9,0x70,0xB8,0xC5,0x56,0x9A,0x4F,0x2A,0x58,0x2D,0x3D,0xA4,0xC6, + 0xB4,0x78,0x8B,0x7A,0x67,0xB1,0xC7,0xEF,0xEC,0x64,0x59,0xF1,0x86,0xBB,0x35,0x89, + 0x51,0x90,0x6E,0x52,0xE6,0x85,0xC1,0xB2,0x64,0x56,0x05,0x37,0x0E,0xCC,0xE5,0xF1, + 0xD0,0xDB,0x81,0xC0,0x0A,0x58,0xFD,0x5A,0x32,0x2D,0xDE,0x9E,0x1D,0x52,0xD9,0xB3, + 0xF7,0x77,0xB7,0xB4,0x30,0xC2,0xD9,0x14,0xCC,0x5F,0x22,0x59,0xCC,0x76,0x11,0xAB, + 0x3B,0x8F,0x3D,0xF6,0x98,0x94,0x9A,0x9A,0xCA,0x66,0xCE,0x9C,0x49,0xE2,0x0D,0x15, + 0xA1,0x2E,0xDA,0x08,0x06,0x8A,0x98,0x91,0x66,0x09,0x44,0xC4,0x36,0x94,0x60,0xEE, + 0xAD,0x88,0xD5,0x0A,0x35,0xC0,0xFE,0x22,0xBF,0x7E,0xCB,0xA5,0x87,0xD4,0x44,0xA4, + 0x78,0x81,0x95,0xE7,0x2A,0xFE,0xA0,0x44,0x77,0x21,0x68,0x3C,0x43,0xD0,0xB0,0xD0, + 0xE1,0x9A,0x3B,0xA3,0xC8,0x04,0x22,0x45,0x04,0x1C,0xF3,0x56,0x08,0x15,0xCF,0x7A, + 0x75,0xDC,0x76,0x03,0x9B,0x64,0xBF,0xFB,0xEE,0xBB,0xD8,0xE5,0xDE,0xB2,0x7F,0x8F, + 0x57,0xF1,0x1E,0x38,0x76,0x4E,0x9A,0x32,0xC7,0x35,0xB9,0x6F,0x17,0xF1,0x5A,0xA1, + 0xC7,0x50,0xA8,0x40,0x74,0x18,0x91,0x6C,0x3C,0x90,0x5F,0x76,0x6F,0x2A,0xAE,0x75, + 0x4E,0x0F,0x88,0xD0,0x1D,0xE5,0x1C,0xA2,0xC1,0x78,0x84,0x2B,0xDF,0x1A,0x4A,0xAC, + 0x9A,0x1E,0x52,0xE3,0x55,0xBC,0xA5,0xA7,0xAA,0xA5,0xBB,0xFE,0xB0,0x49,0x1C,0x39, + 0xB1,0x8B,0x78,0x81,0x1D,0x3E,0x00,0xC2,0x7A,0xD8,0x65,0xDA,0xA5,0x16,0xAF,0xA1, + 0xED,0x4E,0xEC,0x84,0xD9,0xED,0x51,0x08,0x02,0xCC,0x99,0x33,0x87,0x3D,0xFA,0xE8, + 0xA3,0xE2,0xC8,0x1E,0x44,0x9C,0x78,0xE5,0xBB,0xA7,0x03,0x35,0xC7,0x08,0xF9,0x8B, + 0x53,0x04,0xE1,0x15,0x5C,0x2B,0xE1,0xDC,0x24,0xDB,0x5F,0x22,0x4E,0xBC,0xE0,0xDE, + 0x7B,0xEF,0x25,0xEB,0x4B,0x18,0x26,0xDC,0x9B,0x64,0xFB,0x4B,0x44,0x8A,0x17,0xBB, + 0xE5,0x2F,0x5D,0xBA,0x54,0x1C,0x11,0x84,0x77,0x5E,0x7E,0xF9,0xE5,0xB0,0x6F,0xD7, + 0xE9,0x0F,0x11,0x29,0x5E,0xE4,0xE8,0xB0,0x71,0x18,0x16,0x2D,0x88,0x53,0x04,0xA1, + 0x09,0x32,0x14,0xA8,0xAB,0xB6,0x6A,0x5E,0xD7,0x1B,0x11,0x29,0x5E,0x80,0x7C,0x2F, + 0xD2,0x46,0x04,0xE1,0x0D,0x3B,0x06,0xAA,0x14,0x22,0x56,0xBC,0x48,0x15,0x21,0x57, + 0x89,0x3B,0xAB,0x38,0x45,0x10,0x2E,0x20,0x3D,0x84,0x82,0x97,0x40,0xB7,0x8A,0x0D, + 0x15,0x11,0x2B,0x5E,0x10,0xC1,0x69,0x23,0xDC,0x90,0x42,0xFA,0x40,0xD9,0xA0,0xFC, + 0x1C,0x51,0x60,0xAE,0x8B,0xE0,0xA6,0x5D,0x89,0x68,0xF1,0x62,0x43,0x32,0x54,0x20, + 0xE1,0x0E,0x2B,0x4E,0x11,0x04,0x07,0xE9,0x21,0xB4,0xF6,0xB5,0xD3,0x42,0x16,0x77, + 0x3C,0x5E,0xB8,0xDD,0x2B,0xAC,0xDC,0xB1,0x43,0xBD,0xAA,0x1F,0xF0,0x9B,0xD1,0xF0, + 0x9F,0xAF,0xE5,0x07,0xC1,0xE4,0x7C,0xC5,0x51,0xF6,0xD9,0x2B,0xE3,0x79,0xB9,0xA4, + 0x55,0x97,0xC9,0xF9,0x83,0x95,0x3A,0xB0,0x98,0x21,0xA2,0x2B,0xAC,0xDC,0x41,0xE2, + 0x1D,0x09,0x78,0x2A,0xDA,0x20,0xD4,0x60,0x3A,0x65,0xC7,0xF4,0x90,0x9A,0x88,0x17, + 0x2F,0xC0,0x87,0x84,0xA8,0x22,0x41,0x00,0x25,0x3D,0x64,0xF7,0xC5,0x16,0x51,0x21, + 0x5E,0x54,0xCF,0x2C,0x5F,0xBE,0x5C,0x1C,0x11,0xD1,0x8E,0xDD,0x03,0x55,0x0A,0x51, + 0x21,0x5E,0x2A,0xDA,0x20,0x14,0x10,0xBC,0xC4,0x9A,0xE8,0x70,0xEE,0x6E,0x1F,0x28, + 0xA2,0x42,0xBC,0x80,0x56,0x1B,0x11,0x00,0x85,0x3B,0x28,0xE0,0x89,0x04,0xA2,0x46, + 0xBC,0x98,0xDF,0x60,0x9E,0x43,0x45,0x1B,0xD1,0x0D,0x16,0x21,0x58,0x69,0xFB,0x92, + 0x86,0x10,0x35,0xE2,0x05,0x28,0x83,0xA3,0xC0,0x55,0xF4,0x82,0x69,0x13,0x16,0xAD, + 0x44,0x0A,0x51,0x25,0x5E,0x94,0xC1,0xA1,0x1C,0x8E,0x8A,0x36,0xA2,0x93,0x48,0x09, + 0x54,0x29,0x44,0x95,0x78,0xC1,0xAC,0x59,0xB3,0xD0,0x9C,0x5D,0x1C,0x11,0xD1,0x02, + 0x36,0xC9,0x46,0xA1,0x89,0x9D,0x3B,0x5B,0xBA,0x13,0x75,0xE2,0x45,0x67,0x49,0x6C, + 0x43,0x42,0x45,0x1B,0xD1,0x45,0xA4,0x59,0x5D,0x10,0x75,0xE2,0x05,0x54,0xB4,0x11, + 0x5D,0x28,0x3B,0x39,0x46,0x4A,0x4B,0x60,0x85,0xA8,0x14,0x2F,0x75,0xDA,0x88,0x2E, + 0x22,0xA1,0x14,0x52,0x0B,0x0F,0xF1,0x1E,0x2B,0x0F,0xDF,0x66,0x58,0xA1,0x02,0xBB, + 0xD1,0xA1,0xEA,0x8A,0x8A,0x36,0xA2,0x03,0xDC,0xA8,0x23,0x29,0xCA,0xAC,0x10,0x95, + 0x96,0x17,0xD8,0x35,0x6D,0x84,0xED,0x43,0xC5,0x30,0xA4,0x84,0x73,0x87,0xC3,0x86, + 0x80,0x4D,0xB2,0x51,0x5D,0x67,0x95,0xED,0x43,0x03,0x49,0xD4,0x8A,0x17,0x25,0x93, + 0x03,0x07,0x0E,0xB4,0x4D,0xD1,0x06,0xE6,0x6D,0xD3,0xA7,0x4F,0x97,0xF2,0xF3,0xF3, + 0xC5,0x99,0xD0,0x82,0x92,0xC2,0xB4,0xB4,0x34,0x09,0x1B,0x71,0xD9,0x29,0xD8,0x17, + 0x89,0x81,0x2A,0x85,0xA8,0x15,0x2F,0xB0,0x43,0xDA,0x68,0xDD,0xBA,0x75,0x92,0xEC, + 0xE2,0x73,0xD1,0xCE,0x9B,0x37,0x8F,0x6F,0x6F,0x92,0x99,0x37,0x80,0xF5,0xF9,0xE1, + 0xF3,0xE2,0x3B,0x82,0x4B,0x93,0xA6,0x39,0xAC,0xD7,0x0F,0x9E,0x66,0x19,0xB9,0xBD, + 0xF9,0xEF,0x7E,0xE6,0x99,0x67,0x70,0xE3,0x83,0x1B,0x2A,0x59,0x3D,0x5F,0x8E,0x4D, + 0xB2,0xB1,0x55,0x4B,0xA4,0xEE,0x9E,0x11,0xD5,0xE2,0x55,0x3E,0x54,0x2B,0x5E,0x84, + 0xD8,0x31,0xB0,0xA8,0xA8,0x88,0xEF,0x15,0xAB,0x04,0xD7,0x5A,0x76,0x1D,0xC9,0x0A, + 0xEF,0x5C,0xC4,0x85,0x0B,0x01,0x87,0x8A,0xE6,0x1D,0xAE,0x66,0x7D,0xC7,0xFF,0x89, + 0x0D,0x98,0xF8,0x32,0xCB,0xEE,0x34,0x8C,0x9F,0x43,0x99,0xA1,0xFC,0xFE,0xB1,0x11, + 0x23,0x46,0x58,0xD6,0x12,0x47,0x6A,0xA0,0x4A,0xC1,0xE3,0x8E,0xA4,0xB5,0x4B,0x60, + 0xDF,0xCE,0xE9,0xEC,0xA9,0x9F,0x76,0x8D,0xC8,0xBB,0x17,0xDC,0x66,0xAB,0x6D,0x4E, + 0xF6,0xF4,0xD3,0x4F,0x4B,0xF0,0x08,0x30,0xCF,0x8C,0x6D,0x9C,0xCC,0x72,0x7B,0x8E, + 0x61,0x6D,0x7A,0xDF,0xCA,0x1A,0x27,0x65,0x88,0xEF,0x08,0x2F,0xE8,0xAE,0x71,0x60, + 0xF3,0x5B,0xEC,0xF0,0xCE,0x0F,0x58,0xED,0x85,0xB3,0x7C,0x23,0xB2,0xB9,0x73,0xE7, + 0xF2,0xDD,0x2A,0xC4,0xB7,0x84,0x1D,0xDC,0x50,0xEC,0xB0,0xE1,0xBA,0x59,0x4C,0x77, + 0xD2,0xC8,0x48,0x89,0x17,0xA3,0xC8,0x03,0xB9,0x3F,0xAB,0x74,0xDA,0x80,0xB5,0x95, + 0xE7,0xE1,0xD2,0xCC,0x99,0x33,0xB9,0x70,0x61,0x69,0xAF,0x99,0xF2,0x36,0xEB,0x38, + 0xF8,0x3E,0xCB,0x08,0x17,0xC0,0x95,0xEE,0x54,0xF4,0x20,0x1B,0x34,0xE9,0x1F,0xDC, + 0x2A,0xC3,0x9D,0xC6,0x26,0x5D,0x78,0xED,0xF8,0x1B,0xC4,0xB7,0x85,0x15,0x58,0xDD, + 0x48,0x9D,0xEB,0x2A,0x44,0xB5,0xDB,0xAC,0x60,0x85,0xC8,0x33,0xAC,0x6D,0x2F,0xD9, + 0x0D,0xC5,0x8D,0x04,0x42,0x85,0x6B,0xDC,0xED,0x86,0xC7,0xB9,0xE5,0xB5,0x2A,0x78, + 0x9D,0x98,0x0F,0xE3,0xB5,0x62,0x8C,0xD7,0x0E,0x57,0x1A,0x7F,0x8B,0xF8,0x96,0xB0, + 0x11,0xA9,0xE9,0x21,0x35,0x24,0x5E,0x19,0x2C,0x11,0xC3,0x87,0x1D,0xAE,0x34,0x0C, + 0x36,0x05,0x87,0xB5,0xBD,0x20,0x5B,0xDB,0xB6,0x7D,0x6E,0xE5,0x16,0x2D,0x94,0x73, + 0xDA,0x86,0x82,0xD7,0x8A,0xD7,0x0C,0x4F,0x01,0x1E,0x03,0xFE,0x16,0x04,0xB4,0xC4, + 0x97,0x43,0xCE,0xA2,0x45,0x8B,0x10,0x2F,0xB0,0xE5,0x2E,0x08,0x66,0xF0,0x10,0x6F, + 0x59,0xC5,0x45,0x31,0x8A,0x2E,0x50,0xB4,0x81,0x20,0x4C,0x28,0xC1,0xCD,0x02,0xAE, + 0x26,0x5A,0xF4,0xC0,0x72,0x21,0x20,0x04,0x77,0xD4,0xCA,0xD6,0x56,0x0F,0xBC,0x66, + 0x78,0x0A,0x08,0x6C,0xC5,0xC9,0x63,0xBC,0x97,0x08,0x66,0x85,0xE3,0x86,0x18,0xE9, + 0x81,0x2A,0x05,0x0F,0xF1,0x5E,0xAC,0xB5,0xC4,0x94,0x25,0xE4,0xC0,0x75,0x0E,0x65, + 0xA7,0x0D,0xE4,0x6D,0x11,0x50,0x81,0xAB,0x89,0x39,0x64,0x7F,0x59,0xB8,0xA9,0x39, + 0x5D,0xC5,0x57,0xED,0x0B,0x52,0x4A,0x7D,0x6F,0xFD,0x13,0xFF,0x9B,0xD0,0x17,0x79, + 0xE8,0xD0,0xA1,0x21,0x8D,0x27,0x28,0x99,0x83,0x48,0x4D,0x0F,0xA9,0x21,0xB7,0x59, + 0x00,0x17,0x2B,0x54,0x9D,0x36,0x70,0x81,0x0D,0x94,0x85,0xBB,0x6B,0xD7,0x2E,0x96, + 0x92,0xD5,0x91,0xA7,0x7F,0x70,0xB1,0x47,0x0A,0xF8,0x9B,0xFA,0xDE,0xFA,0x22,0x7F, + 0xC6,0x82,0x00,0xDC,0xA4,0x42,0x15,0xC8,0x42,0xEC,0xC2,0xAE,0x7B,0x0F,0x99,0x85, + 0xC4,0xAB,0x22,0x14,0x45,0x1B,0x10,0x2E,0x2E,0xE6,0x63,0xA5,0xA5,0x7C,0xAE,0x08, + 0x57,0xD9,0x8E,0x6E,0xB2,0x2F,0x70,0x33,0xEA,0x27,0x5B,0x60,0x58,0xE2,0x92,0x92, + 0x12,0x2E,0x60,0x78,0x1B,0xE2,0xCB,0x41,0x01,0x16,0x1E,0x9E,0x8C,0xDD,0x36,0xC9, + 0xF6,0x17,0x43,0xE2,0x4D,0x6F,0x1A,0x27,0x46,0x91,0x0D,0x5C,0xAD,0x84,0x84,0x04, + 0x5E,0xD5,0x24,0x4E,0x05,0x14,0x5C,0x5C,0x63,0xC7,0x8E,0xE5,0x41,0x1D,0xA4,0x58, + 0x10,0xA5,0x8D,0x89,0x8D,0xDC,0x34,0x1C,0x6E,0x4A,0x7D,0xC6,0x3E,0x5F,0x57,0x9D, + 0x75,0xE3,0x8D,0x37,0x06,0x35,0x28,0x68,0xD7,0x4D,0xB2,0xFD,0xC5,0x90,0x78,0xE3, + 0x1A,0x45,0xC5,0x8D,0x8C,0x13,0xCC,0xB4,0x11,0x84,0x0B,0x2B,0x04,0x77,0xB2,0xC7, + 0xC8,0xE8,0xE8,0xE6,0x81,0x9B,0x13,0xD2,0x49,0xB0,0xC4,0x98,0x26,0x20,0x1F,0x1C, + 0x2C,0x50,0xC7,0x1C,0x0D,0x81,0x2A,0x05,0x72,0x9B,0xDD,0x40,0xD1,0x06,0x2E,0xB2, + 0x40,0xCF,0xD1,0x50,0x9F,0xAC,0xE4,0x70,0x7B,0x8D,0x7E,0x2A,0xA2,0x2D,0xAE,0x3B, + 0xDC,0x02,0xFF,0xF0,0x39,0x1E,0x85,0x46,0x64,0x1D,0x8B,0x1B,0xC4,0x97,0x02,0x86, + 0xB2,0x0B,0x42,0xA4,0xA7,0x87,0xD4,0x78,0x88,0xF7,0x62,0xCD,0x65,0x31,0x8A,0x5E, + 0x50,0x99,0x83,0xBB,0x78,0xA0,0x40,0xD1,0x02,0xF2,0xC8,0x6A,0x2B,0x14,0x6D,0x24, + 0x65,0xB4,0x65,0xDD,0x6F,0x72,0x7A,0x1B,0x58,0xDC,0x80,0x0D,0xE0,0xF8,0x41,0x80, + 0x88,0xA6,0x40,0x95,0x82,0x87,0x78,0xCB,0x2B,0xA3,0x33,0xCF,0xAB,0x06,0x45,0x1B, + 0xB0,0x10,0x81,0x48,0x71,0x60,0xFE,0x8C,0xA2,0x05,0x80,0x3C,0x68,0x24,0xA4,0x83, + 0xFC,0x05,0x01,0x3A,0xE4,0xB1,0x01,0xDC,0xE7,0x40,0x05,0xB0,0x10,0x04,0x44,0x1C, + 0xA1,0xD0,0xA6,0x9B,0x64,0xFB,0x0B,0xB9,0xCD,0x3A,0x60,0x01,0xB7,0xB2,0x9A,0xA7, + 0x21,0x4C,0x9D,0x3A,0x95,0x3F,0xE7,0xF6,0x18,0x53,0xB7,0x22,0x27,0x9A,0x41,0x05, + 0x19,0xDE,0x0B,0x88,0x4D,0xBE,0x49,0x8A,0xB3,0x0D,0x23,0x92,0xD7,0xEC,0x7A,0x83, + 0xC4,0xAB,0x43,0x20,0x8A,0x36,0xD0,0x66,0x07,0x79,0x4E,0xCC,0x73,0x15,0x8B,0x43, + 0x30,0xD6,0xAE,0xF0,0x1E,0xF9,0x3D,0x69,0xC6,0xE7,0xBF,0x0D,0xCD,0xAB,0xC3,0x3B, + 0xB2,0xFB,0x26,0xD9,0xFE,0x62,0x48,0xBC,0x2D,0x32,0x12,0xC4,0x28,0x7A,0x50,0x3A, + 0x6D,0xF8,0x3B,0x37,0xC3,0x45,0xF5,0x8C,0x88,0x5A,0x43,0xB8,0xD1,0x14,0xA0,0xF2, + 0x05,0x6E,0x66,0xED,0x0A,0x9D,0x51,0x67,0xC5,0x33,0xF1,0x17,0x78,0x47,0xF0,0x92, + 0xA2,0x11,0xB2,0xBC,0x5E,0x68,0x48,0xDA,0x08,0xC5,0x1E,0x28,0xC4,0x40,0x8E,0x93, + 0xDC,0x65,0x4F,0xE0,0x3A,0x23,0x65,0x86,0xF6,0x3A,0x0D,0x89,0x3E,0x47,0x4B,0x1D, + 0xB3,0x16,0x1E,0xE2,0xAD,0xB9,0x14,0x90,0x18,0x42,0x44,0x80,0xA2,0x8D,0xEC,0xEC, + 0x6C,0xDE,0x6D,0x5F,0x9C,0x32,0x04,0x02,0x28,0x0B,0x17,0x2E,0xE4,0xD6,0x96,0xDC, + 0x65,0x7D,0xBA,0x8D,0x78,0x9C,0x3F,0xA3,0xBD,0x8F,0x3F,0xA9,0x39,0x25,0x3D,0x64, + 0xF7,0x4D,0xB2,0xFD,0xC5,0x43,0xBC,0xE5,0x15,0x35,0x62,0x44,0x00,0x7F,0xD2,0x46, + 0x8A,0xB5,0x56,0xAC,0x0B,0xA1,0x0D,0xDE,0x1B,0x25,0x78,0xE5,0x4F,0x6A,0x2E,0x5A, + 0x03,0x55,0x0A,0xE4,0x36,0xFB,0x00,0x45,0x1B,0xA8,0x8A,0x52,0x56,0xAB,0xF8,0x02, + 0x73,0x5D,0x04,0x62,0x40,0x5E,0xBF,0x3B,0xF8,0x33,0xA1,0x4F,0xEB,0x9E,0xA3,0xF9, + 0x33,0x3C,0x15,0x33,0xE0,0xF3,0x88,0x94,0x4D,0xB2,0xFD,0x85,0xC4,0x6B,0x00,0x6C, + 0xC6,0x8C,0x3E,0x57,0x46,0x40,0x7D,0xAD,0x52,0xBB,0x8C,0xC0,0x0C,0xE1,0x1D,0x58, + 0x5F,0xC4,0x05,0xF0,0x9E,0x99,0x69,0x82,0x1F,0x49,0x9B,0x64,0xFB,0x8B,0x21,0xF1, + 0x66,0x67,0x34,0x16,0xA3,0xE8,0xC4,0x4C,0xD1,0x86,0xE2,0xFE,0xB5,0x96,0xDD,0x41, + 0xC2,0x18,0xAD,0x7B,0x38,0xAD,0xAF,0xD1,0x1B,0x24,0xC0,0x4D,0x32,0x52,0x36,0xC9, + 0xF6,0x17,0xB2,0xBC,0x06,0x31,0xD2,0x69,0x03,0x01,0x14,0xB8,0xD8,0x28,0x7F,0xB4, + 0x53,0x1B,0x9B,0x70,0xD3,0xBC,0xFD,0x35,0xDC,0x4B,0x41,0x4E,0xDC,0xC8,0x8A,0xAE, + 0x48,0xDB,0x24,0xDB,0x5F,0x3C,0xC4,0x7B,0xB1,0x96,0x6A,0x9B,0xB5,0x40,0x3A,0xC2, + 0x57,0x50,0x45,0xB1,0x1C,0x6D,0xFA,0x8C,0xE7,0xCF,0x84,0x31,0x10,0x95,0x47,0xFF, + 0x2B,0x60,0xA4,0x30,0x26,0xDA,0x03,0x55,0x0A,0x1E,0xE2,0xA5,0xDA,0x66,0x6D,0x50, + 0xB4,0x31,0x62,0xC4,0x08,0xBE,0xF7,0x8D,0x38,0xE5,0x01,0x2A,0x7D,0x00,0xE5,0x75, + 0xCD,0xA3,0xB8,0xCE,0xCA,0x7B,0xA8,0x47,0x24,0x6E,0x92,0xED,0x2F,0xE4,0x36,0x9B, + 0xC0,0x5B,0xDA,0x08,0x5B,0x6B,0x20,0xE8,0x82,0x00,0x0C,0x05,0xAA,0xCC,0x83,0xA9, + 0x06,0x1E,0x58,0xB4,0xEF,0x2D,0xB2,0x4F,0x56,0xB7,0x1E,0x12,0xAF,0x09,0x50,0xB4, + 0x81,0xBB,0xBE,0x56,0x3D,0x2E,0xE6,0x6B,0x00,0x91,0x53,0xC2,0x3F,0xD2,0xC5,0x7B, + 0xA7,0xBC,0x97,0xEE,0x44,0xEA,0x26,0xD9,0xFE,0x62,0x48,0xBC,0x2D,0xD2,0xA3,0xAF, + 0xB6,0x59,0x0F,0xBD,0xB4,0xD1,0x27,0x9F,0x7C,0xC2,0x9F,0x53,0x73,0xBA,0xF0,0x67, + 0xC2,0x3C,0x29,0x59,0x1D,0xF8,0xB3,0xF2,0x5E,0xBA,0x13,0xCD,0xA5,0x90,0x5A,0x90, + 0xE5,0x35,0x89,0x5E,0xD1,0xC6,0x9A,0x35,0x6B,0xF8,0x73,0x34,0xAF,0xD7,0x6D,0x28, + 0x8A,0xD7,0xA2,0xBC,0x97,0xEE,0x44,0xC3,0x2E,0x08,0x66,0x20,0xF1,0xFA,0x81,0xFB, + 0xDC,0x17,0x42,0xC6,0x5C,0x4D,0x99,0xB7,0x11,0xFE,0x81,0x78,0x01,0x5A,0xE6,0xE0, + 0xE6,0xE8,0xBE,0x50,0x3F,0x92,0x37,0xC9,0xF6,0x17,0x0F,0xF1,0x46,0xEB,0x8E,0x09, + 0x66,0xC0,0xDA,0x51,0x44,0x45,0x95,0xA2,0x0D,0x65,0x8E,0x46,0x56,0xB7,0xE1,0x28, + 0xD6,0x17,0x02,0x56,0x43,0x81,0x2A,0x4F,0x3C,0xC4,0x1B,0xAD,0x3B,0x26,0x98,0x05, + 0x17,0x92,0x92,0x93,0x84,0xD5,0x05,0x4D,0x52,0xB3,0xF9,0x33,0xE1,0x3F,0xB1,0x8D, + 0x53,0xF8,0xB3,0x5A,0xBC,0x91,0xBE,0x49,0xB6,0xBF,0x18,0x72,0x9B,0x93,0x9A,0x34, + 0x12,0x23,0x42,0x01,0x73,0x2F,0xA5,0x4D,0x8E,0x22,0xDE,0xD8,0xF8,0xC8,0x6B,0x9E, + 0x1E,0x6A,0x9A,0x34,0x75,0xDE,0x00,0x91,0x76,0x53,0xA0,0x40,0x95,0x36,0x86,0xC4, + 0x9B,0x92,0x18,0x47,0x77,0x3C,0x37,0x50,0xB4,0x81,0x39,0x18,0x4A,0xF5,0xF6,0xEF, + 0xDF,0xCF,0xCF,0x51,0x7E,0xB7,0xE1,0xC4,0x34,0x72,0x76,0x1C,0xC1,0x8A,0x21,0x80, + 0xA9,0x09,0xA5,0x87,0xB4,0xF1,0x74,0x9B,0xA9,0xF5,0xAB,0x61,0x94,0xB4,0x51,0x9D, + 0xE5,0x15,0x2E,0x1F,0xE1,0x3F,0xCA,0x0D,0xF0,0xD8,0xB1,0x63,0xFC,0x19,0x56,0x97, + 0xE6,0xBA,0xDA,0x78,0x88,0x97,0xCA,0x23,0x8D,0xA3,0x14,0x6D,0xEC,0xD9,0xB3,0x87, + 0x1F,0x47,0xE2,0x9E,0x43,0xA1,0x26,0x3E,0xA9,0x19,0x7F,0x56,0xDC,0x66,0x4A,0x0F, + 0xE9,0x63,0xC8,0x6D,0x26,0xF4,0x81,0x55,0xD8,0xBB,0x77,0x2F,0x1F,0x53,0xC0,0xAA, + 0xE1,0x28,0x6E,0x33,0x02,0x56,0xD1,0xB2,0x49,0xB6,0xBF,0xF8,0x14,0x6F,0x34,0x76, + 0x8E,0x34,0x83,0xBA,0x93,0x43,0xED,0x85,0xB3,0x62,0x44,0x34,0x14,0x6C,0xF8,0x46, + 0x81,0x2A,0xEF,0x90,0xE5,0x0D,0x00,0xF9,0xF9,0xF9,0xFC,0xB9,0xA6,0x9A,0xC4,0xDB, + 0x50,0x2E,0x9E,0x3B,0xC5,0x9F,0xE3,0xE3,0x9D,0x16,0x98,0xD2,0x43,0xFA,0x90,0x78, + 0x03,0x40,0xFF,0xFE,0xFD,0xF9,0xB3,0x72,0xE1,0x11,0xFE,0x73,0xB9,0xD6,0x19,0x73, + 0xD9,0xBD,0x7B,0x77,0xD4,0xED,0x3D,0x64,0x16,0x17,0xF1,0x96,0x9E,0xAA,0xA6,0x0A, + 0x0D,0x3F,0x40,0x01,0x01,0xA8,0x21,0xB7,0xB9,0xC1,0x9C,0xAF,0xA8,0x4B,0x11,0x45, + 0xCD,0x26,0xD9,0xFE,0x42,0x96,0x37,0x00,0xA4,0xA6,0xA6,0xF2,0xE7,0x8B,0x55,0x65, + 0xFC,0x99,0xF0,0x1F,0x25,0x6E,0x30,0x68,0xD0,0x20,0xFE,0x4C,0xE8,0xE3,0x53,0xBC, + 0xF1,0xB1,0x74,0xF3,0xF3,0x05,0xD2,0x45,0x80,0x02,0x56,0x0D,0xE7,0x62,0x75,0x05, + 0x7F,0x1E,0x35,0x6A,0x14,0x7F,0x26,0xF4,0xF1,0x29,0xDE,0x8C,0xA6,0xB4,0xC7,0x8E, + 0x2F,0x14,0xB7,0xF9,0x7C,0xC5,0x51,0xFE,0x4C,0xF8,0xCF,0xF9,0xF2,0x83,0xFC,0x19, + 0x3B,0x21,0x10,0xDE,0x21,0xB7,0x39,0x00,0x20,0x17,0x09,0xCA,0x0E,0x6E,0xE1,0xCF, + 0x84,0x7F,0x20,0x58,0x55,0x71,0x62,0x37,0x4F,0x13,0x45,0xDB,0x5E,0xBB,0xFE,0xE0, + 0x22,0xDE,0xB3,0xE7,0x6B,0xC5,0x88,0x30,0x03,0xD6,0x98,0x76,0xEE,0xDC,0x99,0xBB, + 0xCD,0x95,0xF2,0xC5,0x47,0xF8,0xC7,0xE9,0xA3,0x3B,0xB9,0x80,0xF1,0x5E,0x12,0xBE, + 0x71,0x11,0x6F,0x55,0x35,0x89,0xD7,0x5F,0xB0,0x1D,0x28,0x20,0xEB,0xEB,0x3F,0xE5, + 0x87,0x9C,0xEF,0x9D,0xE2,0xC9,0x10,0xDE,0x21,0xB7,0x39,0x40,0x0C,0x19,0x32,0x84, + 0x3F,0x2B,0x17,0x20,0x61,0x1E,0xE5,0xBD,0x53,0xDE,0x4B,0xC2,0x3B,0x3E,0xC5,0x9B, + 0x94,0x10,0x2B,0x46,0x84,0x37,0x14,0x6B,0x71,0x46,0x76,0xFD,0x08,0xFF,0xA8,0x3C, + 0xEE,0x9C,0x72,0x90,0xE5,0x35,0x86,0x4F,0xF1,0x26,0x37,0x21,0xF1,0x1A,0x01,0x7B, + 0xC4,0x22,0xEA,0x7C,0xA1,0xAA,0x8C,0xE6,0xBD,0x7E,0x80,0x9B,0x1E,0x8A,0x5C,0x90, + 0x76,0xA3,0x3E,0x55,0xC6,0x20,0xB7,0x39,0x80,0x28,0x4B,0xD7,0x8E,0xEC,0x5C,0xC1, + 0x9F,0x09,0xE3,0xEC,0xDF,0xFC,0x16,0x7F,0xC6,0x9E,0x50,0x84,0x31,0x5C,0xC4,0x4B, + 0xD1,0xE6,0x86,0xA1,0x6C,0x39,0x79,0xF0,0xEB,0xE5,0x75,0x35,0xBA,0x84,0x6F,0xE0, + 0xAD,0x9C,0xD8,0xFB,0x29,0x1F,0xD3,0x2A,0x22,0xE3,0xB8,0x89,0xF7,0x92,0x18,0x11, + 0xFE,0x80,0x15,0x30,0x98,0xAF,0x41,0xB8,0x10,0x30,0x61,0x8C,0x23,0x3B,0x3F,0x60, + 0x97,0xE4,0xF7,0x0C,0x6D,0x85,0x68,0xED,0xAE,0x71,0xC8,0x6D,0x0E,0x30,0x4A,0xCB, + 0x16,0x72,0x9D,0x8D,0x73,0x60,0xCB,0xBF,0xF8,0x33,0xB5,0xBB,0x31,0x87,0x4F,0xF1, + 0x52,0xE7,0x48,0x73,0x60,0x25,0x4C,0x76,0x76,0x36,0x0F,0x5A,0x51,0xCE,0xD7,0x37, + 0xC7,0xF7,0x7C,0xC6,0xDD,0x66,0x04,0xAA,0xD4,0x8D,0x0D,0x08,0xDF,0xF8,0x16,0x6F, + 0x02,0x89,0xD7,0x2C,0x4A,0xE0,0xAA,0x64,0xE3,0x1B,0xFC,0x99,0xD0,0x67,0xEF,0xBA, + 0xBF,0xF3,0x67,0x9A,0xEB,0x9A,0x87,0xDC,0xE6,0x20,0x80,0x0B,0x11,0x69,0xA3,0x93, + 0x25,0x5F,0x72,0xCB,0x42,0x68,0x83,0xB8,0x00,0x3C,0x14,0x78,0x2A,0x33,0x66,0xCC, + 0x20,0xAB,0x6B,0x12,0x17,0xF1,0x56,0x51,0xB4,0x39,0x20,0x20,0xE8,0x32,0x6B,0xD6, + 0x2C,0x3E,0x2E,0xFE,0xF8,0x59,0x8A,0x3C,0x6B,0x00,0x57,0xF9,0xFB,0x75,0x8B,0xF8, + 0x78,0xEE,0xDC,0xB9,0xFC,0x99,0x30,0x87,0x8B,0x78,0x29,0x55,0x14,0x38,0x60,0x49, + 0xB0,0xAC,0x0D,0x17,0xE9,0xDE,0xF5,0x4E,0xD7,0x90,0xA8,0xE7,0x7B,0xD9,0x5D,0xBE, + 0x50,0x75,0x8A,0x8D,0x18,0x31,0x82,0x3A,0x66,0xF8,0x09,0xB9,0xCD,0x41,0x64,0xC1, + 0x82,0x05,0xFC,0x79,0xFF,0xE6,0x7F,0xB1,0xAA,0x32,0xE7,0xAE,0x0A,0x04,0xE3,0xAE, + 0x32,0x5C,0x66,0x2C,0xFD,0x23,0xAB,0xEB,0x3F,0x3E,0xC5,0x1B,0x1F,0x4B,0xFA,0xF6, + 0x17,0xAC,0x49,0x45,0xF0,0x0A,0x6E,0x73,0xF1,0xC7,0xCF,0x91,0xFB,0x2C,0x83,0xF7, + 0xE0,0xEB,0xF7,0x7F,0xCB,0xC7,0xD3,0xA7,0x4F,0x67,0x05,0x05,0x05,0x64,0x75,0xFD, + 0xC4,0xA7,0x32,0xD3,0xA9,0x93,0x46,0x83,0x78,0xFA,0xE9,0xA7,0x79,0xF0,0x0A,0x69, + 0xA3,0x6F,0xD7,0xBC,0x28,0xCE,0x46,0x2F,0x5F,0x7F,0x30,0x8B,0x7B,0x21,0x48,0x0D, + 0x3D,0xF3,0xCC,0x33,0x24,0xDC,0x06,0x40,0x66,0x35,0xC8,0x20,0x78,0xB5,0x6C,0xD9, + 0x32,0xEE,0x22,0xC2,0x55,0x84,0x0B,0x1D,0xAD,0xEC,0x5E,0xBB,0x90,0x47,0xDF,0x71, + 0x33,0x5B,0xB1,0x82,0x8A,0x58,0x1A,0x8A,0x8B,0x78,0x6B,0x2E,0x51,0xE7,0xD7,0x60, + 0x30,0x74,0xE8,0x50,0x87,0x32,0xB7,0x83,0xF5,0x45,0x0A,0x29,0xDA,0x28,0xFD,0x76, + 0x15,0xDB,0xB7,0xC1,0x99,0xF7,0x5E,0xB2,0x64,0x09,0xB9,0xCB,0x01,0xC0,0x45,0xBC, + 0xE5,0x15,0x35,0x62,0x44,0x04,0x1A,0xEC,0xA6,0xFF,0xD8,0x63,0x8F,0xF1,0xF1,0xF6, + 0xF7,0x9D,0xAE,0x63,0xB4,0x80,0xE5,0x7E,0x3B,0xFF,0xF7,0x14,0x1F,0xE3,0x26,0x46, + 0x95,0x54,0x81,0x81,0xDC,0xE6,0x10,0x82,0x39,0x1E,0x8A,0xEF,0xB1,0x6E,0x75,0xF3, + 0x3B,0xBF,0x88,0x8A,0x6E,0x93,0xB8,0x49,0x6D,0xFD,0xCF,0xE3,0x7C,0xE1,0x01,0x82, + 0x77,0x54,0x8C,0x11,0x38,0x48,0xBC,0x21,0x66,0xF9,0xF2,0xE5,0x3C,0xFF,0x0B,0xE1, + 0x6E,0x58,0x72,0x6F,0x44,0x2F,0xDC,0x87,0xC5,0xDD,0xB0,0xF4,0xBE,0xBA,0x7C,0xEE, + 0xE2,0xC5,0x8B,0x49,0xB8,0x01,0xC4,0xA7,0x78,0xB3,0x33,0x1A,0x8B,0x11,0x11,0x28, + 0xB6,0x6E,0xDD,0xEA,0xC0,0xC5,0x8C,0x02,0x8E,0x4D,0xFF,0x9A,0x16,0x91,0x73,0x60, + 0x04,0xA6,0x36,0xBD,0x35,0x8D,0xD5,0x54,0x57,0xF2,0x05,0xF6,0x2B,0x57,0xAE,0x24, + 0xE1,0x06,0x18,0xB2,0xBC,0x61,0x02,0x17,0x33,0xDC,0x48,0xB8,0xD0,0xDB,0xFE,0x33, + 0x93,0xAF,0x69,0x8D,0x14,0x10,0x55,0xDF,0x2A,0xFF,0x4D,0x70,0x95,0x91,0xCB,0x5D, + 0xBA,0x74,0x29,0x09,0x37,0x08,0x90,0x78,0xC3,0x08,0xDC,0x48,0xD4,0x40,0xE3,0x22, + 0xDF,0xF1,0xBF,0xA7,0x78,0x2A,0xC5,0xCE,0x85,0x1C,0xE8,0x5B,0x8D,0xBF,0xA3,0x78, + 0xD5,0x73,0xFC,0x18,0xC1,0xA9,0x79,0xF3,0xE6,0x91,0x70,0x83,0x84,0x8B,0x78,0xCB, + 0x2A,0xA9,0x02,0x28,0xD4,0xCC,0x9E,0x3D,0xDB,0xB1,0x68,0x91,0xB3,0x40,0x1F,0xA9, + 0x94,0x75,0x6F,0x4C,0xB6,0x65,0x07,0x4A,0xB8,0xFE,0x9F,0x2F,0xBE,0x9D,0x7B,0x10, + 0xC8,0x69,0x23,0x1D,0x44,0xC1,0xA9,0xE0,0xE2,0x22,0xDE,0x9A,0xDA,0xCB,0x62,0x44, + 0x84,0x92,0xC9,0x93,0x27,0x3B,0x8A,0x8B,0x8B,0x79,0xE3,0x76,0x44,0x67,0xBF,0x5C, + 0x72,0x2F,0xB7,0x60,0x76,0xD8,0xB8,0x4C,0xB1,0xB6,0x9B,0xDF,0x79,0x98,0xCF,0xE1, + 0xF1,0x37,0x6C,0xD9,0xB2,0x85,0x16,0x1B,0x84,0x00,0x72,0x9B,0x2D,0x02,0x8A,0x16, + 0xD6,0xAF,0x5F,0xEF,0x40,0x39,0x25,0x2C,0x17,0x2C,0x18,0x2C,0x99,0x95,0xD7,0x03, + 0xE3,0xB5,0x7D,0xBE,0xF8,0x47,0x75,0xD6,0x16,0xAF,0x1D,0x7F,0x03,0x15,0x60,0x84, + 0x06,0x97,0x37,0xF9,0x97,0x2F,0x6D,0x97,0xB6,0xED,0x39,0x23,0x8E,0x9C,0xBC,0xF4, + 0xF3,0x5E,0xAC,0x43,0xEB,0x64,0xFA,0x30,0x42,0x88,0x6C,0x85,0x25,0xD9,0x1A,0x43, + 0x08,0xFC,0x38,0x29,0xA3,0x2D,0x6B,0xD3,0x67,0x3C,0x6B,0xD5,0x65,0x24,0x8B,0x89, + 0x0D,0x6F,0xAD,0x39,0x2C,0xED,0x61,0x59,0xAC,0x07,0x36,0xBF,0x55,0x97,0xA7,0x86, + 0xB5,0x85,0xEB,0x4F,0xA2,0x0D,0x3E,0x92,0x54,0x5F,0x05,0xE9,0x53,0xBC,0xAF,0x3D, + 0xD1,0x97,0x65,0x37,0x4B,0xA0,0x0F,0x25,0x0C,0xCC,0x9D,0x3B,0x57,0x9A,0x33,0x67, + 0x0E,0x2B,0x2D,0x75,0xEE,0x16,0x1F,0xDB,0x38,0x99,0xE5,0xF6,0x1C,0xC3,0xDA,0xF4, + 0xBE,0x95,0x35,0x4E,0xCA,0xE0,0xE7,0x42,0x05,0x84,0x0A,0xC1,0xC2,0xCA,0x22,0x42, + 0x0E,0xB0,0xB8,0x00,0x5D,0x43,0x68,0x6E,0x1B,0x3A,0x48,0xBC,0x36,0x63,0xC9,0x92, + 0x25,0xD2,0xFC,0xF9,0xF3,0xEB,0x2C,0x31,0xC8,0xEE,0x34,0x8C,0xF5,0xB8,0xC9,0xB9, + 0xB4,0x2E,0x98,0x38,0xE7,0xB4,0x7F,0x70,0x71,0xDF,0xD1,0xDE,0x16,0xA2,0x1D,0x3B, + 0x76,0x2C,0x5D,0x17,0x21,0x46,0x2D,0x5E,0x9A,0xF3,0xDA,0x00,0x04,0x7F,0x30,0x97, + 0x44,0x20,0x48,0x69,0x6E,0x87,0x42,0xFF,0x50,0x50,0x73,0xA1,0x92,0x0B,0x17,0x73, + 0x5A,0xFC,0x6E,0x04,0xD6,0xD6,0xAC,0x59,0xE3,0x20,0xE1,0x86,0x1F,0x12,0xAF,0x8D, + 0x40,0x53,0xF7,0x70,0x95,0x18,0xA2,0x49,0x1C,0x7E,0x37,0xCD,0x6B,0xAD,0x03,0x89, + 0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x8A,0x8B,0x78,0xCB,0x2A,0xA8,0xC2,0x8A, + 0x20,0xEC,0x82,0x8B,0x78,0x2F,0xD6,0x52,0x27,0x0D,0x82,0xB0,0x0B,0xE4,0x36,0x13, + 0x84,0x4D,0x21,0xF1,0x12,0x84,0x4D,0x21,0xF1,0x12,0x84,0x4D,0x21,0xF1,0x12,0x84, + 0x4D,0x21,0xF1,0x12,0x84,0x4D,0xF1,0x29,0x5E,0xAA,0x6B,0x26,0x08,0x6B,0x42,0x96, + 0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x8A,0xCB,0x7C, + 0xF6,0xCE,0x27,0x37,0x49,0xC7,0xCA,0xAA,0xC5,0x91,0x93,0x0F,0x5F,0x18,0x4C,0x73, + 0x5E,0xEB,0xC1,0x4B,0xE1,0xDA,0x17,0xDE,0xC3,0x0F,0x82,0x09,0xD6,0xF3,0x62,0x73, + 0x34,0x2C,0xBC,0x2F,0x29,0x29,0xA1,0x6B,0x21,0xCC,0xE8,0x2E,0xC6,0x27,0xF1,0xDA, + 0x86,0x90,0xD7,0xB1,0x92,0x78,0xAD,0x81,0xAE,0x78,0x7F,0xF8,0xC4,0x7A,0xE9,0xEC, + 0xF9,0x5A,0x71,0xE4,0x84,0xC4,0x6B,0x3D,0x66,0xCD,0x9A,0x15,0x72,0xF1,0x62,0x5B, + 0x4E,0x6A,0x77,0x13,0x7E,0x74,0xC5,0x3B,0xFC,0xE7,0x6B,0x3D,0x2E,0x0A,0x12,0x2F, + 0x41,0x58,0x07,0x6A,0x83,0x43,0x10,0x11,0x00,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97, + 0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20, + 0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C, + 0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A, + 0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89, + 0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97,0x20,0x6C,0x0A,0x89,0x97, + 0x20,0x6C,0x8A,0x4B,0x7F,0x2A,0xAB,0x77,0x8F,0xDC,0xF0,0xF5,0x7E,0x69,0xF2,0x63, + 0x6F,0x8A,0x23,0x22,0xD4,0x3C,0x39,0xE3,0x26,0x36,0xF6,0xFA,0x9E,0x86,0xAF,0x87, + 0x65,0xCB,0x96,0x49,0x5B,0xB7,0x6E,0x15,0x47,0xC1,0x63,0xFA,0xF4,0xE9,0x2C,0x3D, + 0x3D,0x3D,0x2A,0x7A,0xAD,0xD9,0xB6,0xF5,0x2B,0x89,0x37,0xBC,0x98,0x15,0xEF,0xA4, + 0x49,0x93,0xA4,0xC5,0x8B,0x17,0x8B,0xA3,0xE0,0xB1,0x6F,0xDF,0x3E,0x96,0x9F,0x9F, + 0x4F,0xE2,0xB5,0x8B,0x78,0x53,0x92,0x12,0x58,0xE7,0xF6,0x2D,0xF8,0x98,0x08,0x1E, + 0xFB,0x0E,0x9E,0x64,0x27,0xCB,0xAB,0xF8,0xD8,0x5F,0xF1,0xB6,0xEC,0x3A,0x92,0x35, + 0x69,0x9A,0x2D,0xCE,0x06,0x8E,0x23,0x3B,0x57,0xB0,0xF3,0x15,0x47,0x49,0xBC,0xC0, + 0x4E,0xE2,0xED,0xD7,0xA3,0x2D,0x5B,0xFC,0xCC,0x8F,0xA2,0xE2,0x03,0x0B,0x27,0x4F, + 0xBC,0xF0,0x9E,0xB4,0x7C,0xD5,0xD7,0x7C,0xEC,0xAF,0x78,0xFB,0x8E,0xFF,0x13,0xCB, + 0xC8,0xED,0x2D,0xCE,0x06,0x8E,0x4D,0x6F,0x4D,0x63,0x65,0x07,0xB7,0x44,0xAD,0x78, + 0x7D,0x06,0xAC,0x4A,0x4F,0x55,0xD7,0x7F,0x37,0x41,0x10,0x96,0x81,0xA2,0xCD,0x04, + 0x61,0x53,0x48,0xBC,0x04,0x61,0x53,0x6C,0x2B,0xDE,0xCD,0x3B,0x0F,0xB2,0xAE,0x23, + 0x9F,0x92,0x8C,0x3C,0x7E,0x31,0x67,0xB9,0x74,0xA2,0xEC,0x2C,0xB9,0xFF,0x44,0x44, + 0xE1,0x22,0xDE,0xEC,0x8C,0xC6,0x62,0x64,0x7D,0x2E,0x5D,0xBA,0x2C,0x46,0xBE,0x59, + 0xF1,0xC9,0x37,0x6C,0xED,0x57,0x7B,0xC5,0x11,0x41,0x44,0x06,0x51,0xE1,0x36,0x67, + 0xA6,0x27,0xB1,0x9E,0x9D,0x5B,0x89,0x23,0x82,0x88,0x0C,0x6C,0x2B,0x5E,0xA4,0x8A, + 0x76,0x7E,0xF0,0xB8,0xC3,0xC8,0xE3,0x93,0x37,0x1F,0x72,0xB4,0xCB,0xCD,0xA4,0xB4, + 0x12,0x11,0x51,0xF8,0x14,0xEF,0xC5,0x5A,0xE3,0xEE,0x29,0x41,0x10,0xA1,0xC3,0xA7, + 0x78,0xCB,0x2B,0x2F,0x8A,0x11,0x41,0x10,0x56,0x22,0x2A,0xE6,0xBC,0x04,0x11,0x89, + 0x90,0x78,0x89,0xA0,0x71,0xFA,0xF4,0x69,0x31,0x0A,0x2E,0xA5,0xA5,0xA5,0x62,0x14, + 0x5D,0xB8,0x88,0x37,0x2E,0x96,0xB4,0x4C,0x34,0x9C,0x05,0x0B,0x16,0x48,0x79,0x79, + 0x79,0xD2,0xF2,0xE5,0xCB,0xC5,0x99,0xE0,0x52,0x58,0x58,0xC8,0x26,0x4C,0x98,0x20, + 0xAD,0x5B,0xB7,0x2E,0xAA,0x72,0xF9,0x2E,0x11,0xD8,0xE7,0x96,0xEC,0x96,0x3E,0xDC, + 0x78,0x4C,0x1C,0x39,0x79,0xF6,0xFE,0x6E,0xAC,0x67,0x87,0x34,0x4B,0x44,0x6A,0xD5, + 0x0B,0x13,0x62,0x62,0x1C,0xEC,0xF2,0xE5,0xC0,0x7E,0x56,0x48,0x29,0x3D,0xFA,0x93, + 0x61,0x6C,0x64,0x51,0x57,0x8A,0x4C,0x0B,0x8C,0x2E,0x4C,0x38,0x7A,0xF4,0xA8,0x34, + 0x7F,0xFE,0x7C,0xB6,0x70,0xE1,0xC2,0x3A,0x8B,0xDB,0xA4,0x69,0x0E,0x6B,0xD3,0x67, + 0x3C,0xCB,0xED,0x31,0x86,0xC5,0xC4,0xC6,0xF3,0x73,0x81,0xA4,0xAA,0x6C,0x3F,0xDB, + 0xB7,0xF1,0x4D,0x76,0x64,0xE7,0x07,0xE2,0x0C,0x63,0x03,0x07,0x0E,0x64,0x8F,0x3E, + 0xFA,0x28,0x1B,0x3B,0x76,0x6C,0x44,0x7E,0x86,0xA6,0x16,0x26,0x58,0x95,0x40,0x0B, + 0x17,0x60,0xE9,0xDB,0xDF,0xDE,0x5E,0x2F,0x8E,0x08,0xA3,0x2C,0x5A,0xB4,0x48,0x2A, + 0x28,0x28,0x60,0xCF,0x3C,0xF3,0x0C,0x17,0x6E,0x6A,0x4E,0x57,0xD6,0xE3,0xA6,0xDF, + 0xB2,0xAB,0xA7,0xBC,0xC5,0xDA,0xF6,0xB9,0x35,0x28,0xC2,0x05,0x49,0x19,0x6D,0x59, + 0xB7,0x1B,0x1E,0x67,0x43,0xEE,0xFD,0x0F,0xCB,0xEF,0x7F,0x07,0x8B,0x6D,0x9C,0xCC, + 0xD6,0xAF,0x5F,0x0F,0xE1,0xB2,0x11,0x23,0x46,0x48,0xB8,0xA1,0x88,0x6F,0x8D,0x48, + 0xC8,0x4F,0x56,0xD1,0x38,0x3E,0x96,0x8D,0xB8,0xA6,0x40,0x1C,0x11,0xBE,0x80,0x38, + 0x20,0x92,0xC9,0x93,0x27,0x73,0xD1,0x66,0xE6,0x0D,0x60,0x03,0x26,0xBE,0xCC,0x1F, + 0xD9,0x9D,0x86,0x89,0xEF,0x0A,0x3E,0x8D,0x93,0x32,0x58,0xC7,0xC1,0xF7,0xB1,0x22, + 0x59,0xC4,0x9D,0x8A,0x1E,0xE4,0x22,0x5E,0xB9,0x72,0x25,0xC3,0x0D,0x65,0xEE,0xDC, + 0xB9,0x11,0x2B,0x60,0x9F,0x6E,0xF3,0x1F,0x7E,0xD2,0x85,0xF5,0x2B,0xC8,0xB0,0x9C, + 0xDB,0x4C,0xEB,0x79,0x43,0x83,0x9E,0xDB,0x0C,0x6B,0x3B,0x63,0xC6,0x0C,0x2E,0x5A, + 0x88,0xA5,0xB3,0x2C,0x1A,0x2C,0xBA,0xB7,0x02,0x17,0xAA,0xCA,0xD8,0xEE,0xB5,0x0B, + 0xEB,0xDC,0x69,0xB8,0xD2,0xF2,0xEB,0x85,0x98,0x6D,0x7F,0xBD,0x98,0x72,0x9B,0xCB, + 0x2A,0x6B,0xC4,0x88,0x20,0x9C,0x60,0x91,0xBD,0x62,0x6D,0x9B,0x77,0xB8,0x9A,0x0D, + 0x9A,0xF4,0x0F,0xCB,0x08,0x17,0xC0,0x12,0xC3,0x9D,0xEE,0xF3,0xC3,0xE7,0xF9,0x18, + 0xAE,0x34,0x82,0x5A,0x2B,0x56,0xAC,0x88,0x28,0x2B,0xEC,0x22,0xDE,0xF8,0x38,0x32, + 0x64,0x84,0x3E,0xE7,0xCE,0x9D,0x63,0x45,0x45,0x45,0xBC,0x3B,0x46,0x9C,0x6C,0x6D, + 0x21,0x8E,0x5E,0x3F,0x78,0x9A,0x0B,0xC4,0x8A,0xC0,0x8D,0xC7,0x8D,0x05,0x2E,0x3C, + 0x6E,0x34,0x98,0x0B,0xC3,0x63,0x10,0x5F,0xB6,0x3D,0x2E,0xE2,0x4D,0x4B,0x8E,0x13, + 0x23,0x82,0xF0,0x64,0xCE,0x9C,0x39,0x6C,0xCD,0x9A,0x35,0x3C,0x8A,0xDC,0x5F,0x9E, + 0xD7,0x42,0x1C,0x56,0x07,0x2E,0x3D,0x82,0x67,0x98,0x13,0x57,0x57,0x57,0x33,0x78, + 0x0C,0x8F,0x3D,0xF6,0x58,0x44,0x08,0xD8,0xA7,0xDB,0x5C,0x75,0xBE,0x56,0x8C,0x88, + 0x68,0xE7,0xC0,0x81,0x03,0x2C,0x25,0xAB,0x23,0x17,0x2E,0x22,0xBD,0x76,0x02,0xD1, + 0x68,0xB8,0xD2,0x8D,0x62,0xE3,0x79,0x54,0x1C,0xAE,0xBF,0xF8,0x92,0x6D,0xF1,0x29, + 0xDE,0xB3,0x24,0xDE,0xA8,0xE6,0xFC,0xF9,0xF3,0x62,0xC4,0x58,0x72,0x66,0x3B,0xD6, + 0xEF,0xD6,0x3F,0x59,0xD6,0x4D,0xF6,0x05,0xE6,0xE5,0xBD,0xC7,0x3E,0xCF,0x5D,0x7E, + 0xB8,0xFE,0x76,0xB7,0xC0,0x2E,0x93,0xDC,0x77,0x3E,0x39,0x2C,0x2D,0x7C,0x77,0x9F, + 0x38,0x72,0x72,0xC7,0xF0,0x5C,0x76,0xD7,0x88,0xB6,0x96,0x98,0x0C,0xFB,0x5B,0xA4, + 0x31,0xF8,0xCA,0x76,0xEC,0xC9,0x19,0xA3,0x58,0x56,0x46,0x32,0x4D,0xEA,0x4D,0xD2, + 0xEB,0xBA,0xA9,0x52,0x4D,0xE3,0x5C,0x3E,0x4E,0x6D,0xD1,0x8E,0x25,0xA7,0xB7,0xE6, + 0x63,0x3B,0x73,0xB2,0xE4,0x4B,0xB6,0xF9,0x9D,0x87,0xF9,0x78,0xD9,0xB2,0x65,0xB6, + 0x2A,0xE8,0xD0,0x8D,0x36,0x27,0x35,0x89,0x15,0x23,0xEB,0x63,0xA6,0x48,0x63,0xED, + 0x57,0xDF,0xB3,0x8F,0xD7,0x7D,0x2B,0x8E,0x08,0xA3,0xC0,0xB5,0x3C,0x71,0xE2,0x84, + 0x38,0xC2,0x0D,0xD3,0x3E,0xD7,0x87,0x37,0x30,0x57,0x47,0x3E,0x18,0x4C,0x9C,0x38, + 0x91,0x6D,0xD9,0xB2,0xC5,0x96,0x16,0xD8,0xA7,0xDB,0x7C,0xFA,0xAC,0xFD,0x53,0x45, + 0xAD,0x5A,0xA4,0xB2,0xEB,0x0A,0x3B,0x89,0x23,0xC2,0x08,0x28,0x6E,0x80,0x6B,0xE9, + 0x88,0xF1,0x79,0x89,0xD8,0x12,0x54,0x7E,0x21,0x0A,0x8D,0x20,0x16,0xA2,0xD0,0xE5, + 0xE5,0xE5,0xB6,0x13,0xB0,0x8B,0xBB,0xF0,0xBF,0x0D,0xC7,0xA4,0xE7,0x97,0xEE,0x16, + 0x47,0x4E,0x86,0xF7,0x6B,0xC1,0x7E,0x31,0xB1,0xA3,0xE5,0xDC,0x66,0x2A,0xD2,0x08, + 0x1E,0xB0,0x44,0x03,0x0B,0x0B,0xD9,0x05,0xF9,0xC2,0xEE,0x76,0xE3,0xEF,0x98,0xE4, + 0x70,0x5A,0xDC,0xF4,0x9C,0x2B,0x58,0x62,0x6A,0xE0,0x77,0x3E,0x08,0x17,0x97,0x6B, + 0x2F,0xB2,0x8D,0x6F,0x4D,0x63,0x67,0x8E,0xEE,0xC4,0xC2,0x06,0xB6,0x74,0xE9,0x52, + 0xCB,0x5F,0x4F,0xBA,0x6E,0x73,0x46,0x0A,0xA5,0x8A,0x08,0xC6,0x50,0x39,0x05,0xE1, + 0x62,0x41,0x41,0x93,0x34,0xFB,0xCF,0x71,0xF5,0x40,0xCD,0x35,0xF2,0xD4,0x78,0x96, + 0x85,0x6B,0xBB,0x22,0x0E,0x17,0xF1,0xC6,0xC7,0x79,0xBA,0x48,0x65,0xD4,0x49,0x23, + 0xAA,0x40,0x11,0x03,0x72,0xB9,0x88,0x28,0xB7,0x2B,0xBC,0x47,0x9C,0x8D,0x5C,0xF0, + 0x77,0x22,0x07,0x0C,0xA6,0x4E,0x9D,0xCA,0x9F,0xED,0x82,0x8B,0x5A,0xB5,0xD6,0xF3, + 0xD6,0x50,0x0F,0xAB,0xA8,0x01,0xF3,0xBE,0x99,0x33,0x67,0xF2,0x31,0x84,0x6B,0xD7, + 0x94,0x90,0x59,0x30,0xFF,0x45,0xFE,0xBA,0xA4,0xA4,0xC4,0x56,0xE9,0x23,0x37,0xB7, + 0x39,0x38,0x4B,0xB7,0x08,0x7B,0x30,0x7B,0xF6,0x6C,0xDE,0x95,0x02,0x4B,0xFA,0xE0, + 0x32,0x47,0x13,0x5D,0x86,0xFD,0x82,0x3F,0xCF,0x9B,0x37,0x8F,0x15,0x17,0x17,0xDB, + 0x42,0xC0,0x9E,0xA6,0xD6,0x8D,0xD2,0xB2,0x0B,0x62,0x44,0x44,0x32,0xB0,0xBA,0x58, + 0x48,0x0F,0x94,0x0B,0x39,0x9A,0xC0,0x0D,0x0B,0x45,0x1C,0x88,0x3E,0xBF,0xFC,0xF2, + 0xCB,0xE2,0xAC,0xB5,0x71,0x89,0xAE,0x55,0x9E,0xAB,0x91,0x6E,0xF9,0xD5,0x97,0xE2, + 0xC8,0x49,0x8B,0x8C,0x04,0xF6,0xFA,0xAF,0xFA,0x5A,0x2A,0xDA,0xEC,0x90,0xFF,0x93, + 0xE4,0xFF,0x02,0x0D,0xF6,0xFC,0x9D,0x3E,0x69,0x08,0x9B,0x70,0xD3,0x95,0x51,0x17, + 0xC5,0x46,0x6A,0x08,0x81,0x2A,0xE4,0x40,0xB1,0xE0,0x40,0xA1,0xFC,0xE8,0x77,0xEC, + 0xDC,0x19,0x67,0x8F,0xA8,0x48,0x8B,0x36,0xBB,0x83,0xCE,0x1C,0x9F,0x2F,0xFE,0x11, + 0x4B,0x4B,0x4B,0xC3,0x42,0x06,0x4B,0x5E,0x03,0xBA,0xD1,0xE6,0x94,0x44,0xCF,0x65, + 0x45,0x56,0xAC,0x6D,0x0E,0x86,0x70,0x41,0x65,0x55,0x35,0x7B,0x6B,0xC5,0x56,0x71, + 0x14,0x5D,0xBC,0xFA,0xEA,0xAB,0xFC,0xB9,0x75,0x94,0xB9,0xCB,0x6A,0x50,0xAF,0x8D, + 0x7D,0x84,0xB1,0x02,0x09,0x7D,0xB8,0xC4,0x69,0xCB,0xE2,0xD3,0x6D,0xB6,0x62,0x6D, + 0x33,0x2C,0x6F,0x30,0x80,0xE5,0x1D,0x7F,0x63,0x2F,0x71,0x14,0x3D,0xA0,0x71,0xDB, + 0xD6,0xAD,0x5B,0x79,0x80,0x0A,0xEB,0x73,0xA3,0x99,0xD6,0x3D,0x46,0xF3,0x67,0x3B, + 0xB8,0xCE,0x1E,0x2A,0xB0,0xF2,0xEE,0xF8,0x54,0xA4,0x11,0x1C,0x94,0x1D,0xEC,0xDB, + 0x17,0xDE,0xC3,0x1F,0x6A,0xA2,0xC9,0x6D,0x06,0x28,0xDC,0xF8,0xEC,0x6F,0xE3,0x78, + 0x37,0x8E,0x2D,0x5B,0xB6,0xB0,0xDE,0xBD,0x7B,0x5B,0xEA,0x1A,0x33,0xDD,0x80,0x8E, + 0x76,0xC7,0x8F,0x6C,0x94,0x16,0xAD,0x2D,0xBB,0xDE,0xC8,0x9F,0xA3,0x19,0x14,0x6C, + 0x28,0xFD,0xB7,0x42,0xD5,0xBA,0xD6,0x5F,0x3C,0xC4,0x9B,0xDC,0xA4,0x91,0x18,0x11, + 0xD1,0x00,0x4A,0x21,0x31,0xC7,0xC3,0x02,0x7B,0x3C,0x08,0xD9,0xC3,0x68,0xDD,0x9B, + 0x3F,0x7F,0xF2,0xC9,0x27,0xFC,0xD9,0xAA,0x68,0x88,0xD7,0x73,0xE5,0xC8,0xB1,0x72, + 0x57,0x37,0x9A,0x88,0x1C,0x30,0xD7,0x05,0xE9,0xB9,0xCE,0x0B,0x96,0x60,0x3C,0x68, + 0x05,0x94,0xF7,0xC6,0xAA,0x78,0x88,0x37,0x29,0x21,0x32,0x96,0x7D,0x11,0xC6,0x50, + 0xAC,0x4B,0x4A,0x56,0x07,0xFE,0x4C,0x38,0x5B,0xE7,0xC0,0x0B,0x81,0x47,0x62,0xE5, + 0xE5,0x82,0x86,0x2C,0x6F,0x59,0x05,0xD5,0x37,0x47,0x2A,0xE8,0xAC,0x08,0x14,0x6B, + 0x43,0x38,0x51,0x3C,0x11,0xD4,0x79,0x5B,0x15,0x8F,0x48,0xDA,0x8B,0x6F,0xEF,0x91, + 0xDE,0xFB,0xC2,0x75,0xE3,0xA6,0x87,0x27,0x74,0x64,0x37,0xF4,0x6F,0x11,0xF6,0xA8, + 0x9B,0x3A,0xDA,0x6C,0x06,0xAC,0xE7,0x7D,0xF3,0xF9,0xBB,0xA9,0x93,0x86,0x1B,0xA8, + 0xAA,0x4A,0x4F,0x4F,0xE7,0x96,0xE6,0xDA,0x07,0x56,0x8A,0xB3,0xAE,0x44,0x5B,0xB4, + 0x59,0x01,0x3D,0x9F,0x77,0xFC,0xEF,0x29,0x76,0xDF,0x7D,0xF7,0x61,0x0B,0x17,0xCB, + 0x5C,0x37,0x5E,0xA3,0xCD,0x5A,0x1D,0x24,0xCB,0x6D,0x6E,0x79,0x0F,0x1F,0x3B,0x43, + 0x9D,0x34,0x34,0x50,0x76,0xD7,0xA3,0x40,0x95,0x27,0x09,0xE2,0x3D,0xC1,0x62,0x05, + 0xAB,0xE2,0x21,0xDE,0x78,0x8D,0x95,0x45,0x56,0xDC,0x1D,0x1F,0x3D,0xAC,0x8C,0x82, + 0x1E,0x56,0xD4,0x49,0xC3,0x13,0x45,0xBC,0x71,0x09,0xC9,0xFC,0x99,0xA8,0x47,0x59, + 0x51,0x85,0x5A,0x67,0xAB,0xE2,0xA1,0xD4,0xF4,0xA6,0x9E,0x2B,0x8B,0xAA,0xAA,0x2F, + 0x89,0x91,0x75,0xB8,0xB2,0x5B,0x1B,0xB6,0xF3,0x83,0xC7,0x1D,0x46,0x1E,0x2F,0xFF, + 0x7E,0x82,0x83,0x5C,0x66,0x4F,0x14,0xF1,0x2A,0x56,0x86,0xA8,0x47,0xD9,0x1C,0xCD, + 0x56,0x96,0x57,0x2B,0xCF,0x5B,0x4E,0x5B,0x9E,0x44,0x24,0x88,0xA6,0x82,0x46,0x8D, + 0x68,0x29,0xA8,0x3B,0xCA,0x54,0x42,0x79,0x8F,0xAC,0x88,0x86,0x78,0x3D,0xA3,0xCD, + 0xE5,0xD4,0x4D,0x23,0x22,0x51,0x2C,0x6F,0x7C,0x94,0x2C,0xBA,0x37,0x0B,0x02,0x79, + 0xB6,0x12,0x6F,0x8B,0xF4,0x04,0x31,0xAA,0x87,0x52,0x45,0x44,0x34,0x12,0xD7,0x38, + 0x45,0x8C,0xAC,0x89,0x87,0x78,0x93,0xC8,0x6D,0x8E,0x1A,0x12,0x12,0x9C,0x37,0xEA, + 0xCB,0x97,0xE8,0xE6,0xAC,0xC5,0xF9,0x8A,0xA3,0x75,0xEF,0x91,0x15,0xF1,0x10,0x2F, + 0xD6,0xF4,0xBA,0x47,0x9C,0x69,0xCB,0x93,0xC8,0x24,0x3B,0xDB,0x99,0xB3,0xC5,0x0A, + 0x1A,0xC2,0x95,0xDA,0x0B,0x67,0xF9,0xB3,0xF2,0x1E,0x59,0x11,0xCD,0x08,0xAC,0xD6, + 0xB2,0xC0,0xD7,0x9E,0xE8,0xCB,0xB2,0x9B,0x25,0x84,0x35,0x62,0xEB,0x6F,0x91,0x86, + 0x51,0xB0,0x33,0xFE,0xD4,0xDB,0x07,0xB3,0x9F,0xDC,0x7A,0x55,0x54,0x44,0xA6,0x57, + 0xAF,0x5E,0x2D,0x0D,0x1D,0x3A,0xD4,0xA3,0x7B,0x86,0x9A,0x68,0x2D,0xD2,0x80,0xD5, + 0xFD,0xEC,0x95,0xF1,0xAC,0x57,0xAF,0x5E,0xA8,0x71,0xB6,0xCC,0xF5,0xE0,0x73,0x49, + 0xA0,0x56,0xFF,0xE6,0x68,0xB0,0xBE,0x17,0x2E,0xD6,0xB2,0x95,0x9F,0x16,0x8B,0xA3, + 0xC8,0x07,0xED,0x5E,0x00,0xB9,0xCD,0x9E,0x5C,0x14,0xDE,0x88,0xF2,0x1E,0x59,0x11, + 0x4D,0xF1,0x6A,0xED,0x59,0x64,0xB5,0x88,0x73,0x4A,0x72,0x02,0x5F,0x90,0x1F,0xE8, + 0xC7,0xF4,0x49,0x45,0xE2,0x37,0x44,0x3E,0xCA,0x85,0x79,0x5E,0x58,0x56,0xA2,0x9E, + 0x1A,0xBB,0xBA,0xCD,0x5A,0xF5,0xCD,0xD3,0x6E,0x69,0xCF,0x6E,0x1E,0x94,0x63,0x19, + 0xB7,0x19,0x42,0xA3,0x4E,0x1A,0x0D,0x47,0x16,0x30,0x5F,0xCF,0x8B,0xDA,0x66,0xA4, + 0x46,0xDC,0x89,0x56,0xB7,0x79,0xEF,0xBA,0xBF,0xF3,0xC7,0xAC,0x59,0xB3,0xD0,0x12, + 0xD7,0x3E,0x6E,0xB3,0x56,0x7D,0xF3,0xF1,0xD3,0xD4,0x02,0x36,0x12,0x19,0x38,0x70, + 0x20,0x7F,0x2E,0x3B,0xB8,0x85,0x3F,0x13,0x4E,0xCA,0x0F,0x39,0xDF,0x0F,0xE5,0xFD, + 0xB1,0x22,0x9A,0xE2,0x45,0xBB,0x57,0x77,0xCA,0x2B,0x28,0x5D,0x14,0x89,0x0C,0x18, + 0x30,0x80,0x3F,0x2B,0x17,0x2B,0xE1,0xEC,0x63,0x75,0xFA,0xE8,0x4E,0x3E,0xB6,0x9D, + 0x78,0xB3,0x33,0x1A,0x8B,0x51,0x3D,0xD4,0x4D,0x23,0x32,0x29,0x2A,0x72,0xCE,0xF1, + 0x95,0x8B,0x95,0x60,0xAC,0xAA,0x7C,0x3F,0x17,0x30,0x22,0xCD,0xE9,0xE9,0xE9,0x96, + 0x9D,0x9A,0x69,0x5B,0x5E,0x8D,0x2A,0x2B,0xDA,0x39,0x21,0x32,0xC1,0x05,0x0A,0x2A, + 0x4F,0xEC,0xE6,0x17,0x2C,0x51,0x3F,0x85,0xB0,0xB2,0xD5,0x05,0xDA,0x96,0x57,0x23, + 0x9F,0xEB,0x9E,0xF7,0x0D,0x37,0xE7,0xCE,0x5F,0xE4,0x01,0x2C,0x23,0x0F,0xF1,0x23, + 0x84,0x06,0xB0,0x2C,0xB8,0x48,0x21,0xDC,0xE3,0x7B,0x3F,0x15,0x67,0xA3,0x9B,0x23, + 0x3B,0x57,0xF0,0x67,0x65,0x4A,0x61,0x55,0x74,0x5D,0x82,0xDB,0x66,0x6D,0x90,0xDC, + 0xD3,0x43,0x4B,0x7F,0xDB,0x8F,0x65,0x34,0x6D,0x1C,0x36,0x37,0x02,0x42,0xF4,0xA7, + 0x48,0x23,0x33,0x3D,0x89,0x2D,0x7A,0xE6,0x47,0xAC,0x5D,0x6E,0xA6,0x65,0x5D,0xA0, + 0x70,0x82,0xDD,0x01,0xB0,0xBD,0x25,0x5A,0xE1,0xF4,0x1D,0xFF,0x27,0x71,0xD6,0x49, + 0xB4,0x45,0x9B,0xE1,0x81,0xAC,0x7B,0x7D,0x32,0x4F,0x11,0x95,0x96,0x96,0x5A,0xEE, + 0x7A,0x31,0xD4,0xB7,0x59,0x6B,0xDE,0xBB,0xF7,0x70,0x95,0x18,0xD9,0x8B,0x93,0xE5, + 0x55,0x6C,0xDB,0xAE,0xC3,0xE2,0x88,0x70,0x47,0x16,0xAE,0x03,0x35,0xBC,0x70,0x17, + 0x71,0xF1,0x46,0x33,0x87,0xB6,0xBD,0xCB,0x9F,0xB1,0x53,0xBE,0xD5,0xD1,0x15,0x6F, + 0x6E,0xF3,0x44,0x31,0xAA,0xE7,0xE0,0xF1,0xF3,0x62,0x14,0x7E,0xCC,0x14,0x69,0xDC, + 0x38,0xA4,0x0B,0x1B,0x7C,0x65,0x7B,0xF1,0x93,0x84,0x16,0xE8,0xD5,0x04,0x14,0x97, + 0x31,0x1A,0x41,0x3D,0xF3,0xE1,0x6F,0x3E,0xE0,0xE3,0x7B,0xEF,0xBD,0x97,0x3F,0x5B, + 0x19,0x5D,0xB7,0x60,0xE9,0xAA,0x83,0xD2,0xDF,0x3F,0xD8,0x2F,0x8E,0x9C,0x8C,0xBD, + 0xA6,0x25,0x9B,0x3A,0xA6,0x9D,0x25,0xDC,0x66,0x88,0x92,0x8A,0x34,0x02,0x07,0x5A, + 0x9C,0xF6,0xEE,0xDD,0x9B,0x77,0x90,0xB8,0xF6,0xFE,0x95,0x75,0x9D,0x24,0xA2,0xC9, + 0x6D,0xDE,0xBF,0xF9,0x5F,0xEC,0xDB,0x35,0x2F,0xB2,0x11,0x23,0x46,0xB0,0x95,0x2B, + 0x57,0x5A,0xF2,0xDA,0x32,0xE4,0x36,0xB7,0xD0,0x70,0x9B,0xAD,0x64,0x79,0x89,0xC0, + 0x82,0x3D,0x79,0x94,0xC0,0xD5,0xEE,0xB5,0xCE,0x7D,0x7A,0xA3,0x09,0xAC,0xAC,0x2A, + 0xD9,0xE8,0x34,0x0C,0x76,0xB0,0xBA,0xC0,0x94,0xDB,0x6C,0xD7,0x39,0x2F,0x61,0x8C, + 0x05,0x0B,0x16,0xF0,0xE7,0x43,0x5F,0x2F,0x8F,0xBA,0xB9,0xEF,0xF7,0xEB,0xFE,0x2E, + 0x0B,0xF8,0x14,0x4F,0x0F,0x8D,0x1D,0x3B,0xD6,0x16,0x1E,0x9D,0xAE,0x78,0x3B,0xB4, + 0xF6,0x6C,0xD8,0x86,0xE8,0x33,0x36,0xE0,0x16,0x87,0x44,0x84,0x01,0xEB,0x8B,0xB9, + 0xEF,0x25,0xD9,0xFA,0xC2,0x7D,0x8C,0x16,0x70,0xA3,0x3A,0x28,0xDF,0xB0,0x80,0x72, + 0x03,0xB3,0x03,0xBA,0xE2,0x05,0x5A,0x65,0x92,0xE4,0x3A,0x47,0x36,0x28,0xC4,0x47, + 0x9A,0x04,0x91,0xE7,0xD2,0x6F,0x57,0x89,0xB3,0x91,0xCD,0x8E,0x95,0x4F,0xF1,0xE7, + 0xE9,0xD3,0xA7,0x5B,0x6E,0x4B,0x4F,0x6F,0x78,0x7D,0xA1,0xBF,0xFD,0x7B,0xB1,0xF4, + 0xC5,0x8E,0x53,0xE2,0xC8,0xC9,0x7D,0xA3,0xF3,0xD9,0x0F,0x87,0xB4,0x0A,0xCB,0x1F, + 0xA8,0x0E,0x58,0x15,0x74,0xC8,0x66,0x8F,0x4C,0xB9,0x8E,0x8F,0x03,0x05,0xF2,0xC1, + 0x94,0x0B,0xAE,0xCF,0xFB,0xA2,0x77,0x71,0xD7,0x1B,0x7F,0xC7,0x2E,0x9C,0xAB,0xE0, + 0xE7,0x23,0x31,0x60,0xA5,0x04,0xA9,0x70,0xC3,0x2A,0x2E,0x2E,0xB6,0x74,0x39,0x24, + 0x50,0x07,0xAC,0xBC,0xBE,0xD0,0x77,0x3E,0x39,0x2C,0x2D,0x7C,0x77,0x9F,0x38,0x72, + 0x32,0xEA,0xAA,0x6C,0xF6,0xE0,0xB8,0x0E,0x61,0x17,0x6F,0xB0,0x98,0x32,0xBE,0x90, + 0xCD,0x98,0x3C,0x34,0xEA,0x05,0x2C,0xCF,0xFD,0x24,0xEC,0x63,0x94,0xD7,0xFF,0x1E, + 0x96,0x94,0xE9,0xDC,0x84,0x2C,0xD2,0xC4,0x7B,0xB2,0xE4,0x4B,0xB6,0xF9,0x9D,0x87, + 0xF9,0x78,0xD1,0xA2,0x45,0x6C,0xF2,0xE4,0xC9,0x96,0xFF,0xDC,0x0D,0x45,0x9B,0x41, + 0xFB,0x56,0x49,0x62,0x54,0x4F,0xF1,0xFE,0x4A,0x31,0x8A,0x4C,0xD6,0x7E,0xF5,0xBD, + 0x18,0x45,0x37,0xCB,0x96,0x2D,0x63,0x79,0x79,0x79,0xAC,0xA6,0xDA,0x69,0x75,0x23, + 0x8D,0xAA,0xB2,0xFD,0x6C,0xFB,0xFB,0xB3,0xF8,0x18,0xEE,0xB2,0x1D,0x84,0xEB,0x8E, + 0xCF,0x17,0x3C,0xEA,0x91,0x2F,0x24,0xF7,0xED,0x4E,0xFE,0xFD,0xE4,0x00,0xDE,0xA8, + 0x4E,0x1C,0x86,0x8C,0x3A,0xCB,0x2B,0xDF,0x7C,0x52,0x52,0x12,0x58,0xE7,0x76,0x2D, + 0xC4,0x57,0x02,0x43,0xE3,0xB8,0x46,0xEC,0x8E,0xD1,0xFD,0xD8,0xD5,0x7D,0xDB,0x47, + 0xBD,0xE5,0x05,0xC8,0xFD,0x8E,0xBE,0xE7,0x19,0x96,0x92,0xD3,0x93,0x1F,0x47,0x8A, + 0xE5,0x45,0x31,0x06,0x4A,0x20,0xD1,0xA7,0xCA,0xCA,0x39,0x5D,0x2D,0x0C,0xBB,0xCD, + 0x60,0xEA,0xF3,0x5B,0x24,0xF7,0x14,0xD1,0xAC,0xC9,0x9D,0xD9,0xA0,0xEE,0xA1,0x9F, + 0x1B,0x52,0x91,0x46,0xE8,0xB9,0x7D,0xDA,0x9F,0xA4,0x6D,0x7B,0x9D,0xDE,0x56,0x8C, + 0xA3,0x96,0xE5,0x74,0xBA,0x96,0x8F,0xED,0x0A,0xF2,0xD8,0x5B,0xFF,0x33,0x93,0xBB, + 0xCC,0x9D,0x3B,0x77,0x66,0xEB,0xD6,0xAD,0xB3,0xFC,0x3C,0x57,0x8D,0x61,0xB7,0x19, + 0xF4,0x68,0x9F,0x2A,0x46,0xF5,0xAC,0xDB,0x51,0x2E,0x46,0x44,0xA4,0x93,0x9F,0x9F, + 0x2F,0x46,0x8C,0x1D,0xDC,0xB6,0xBC,0x2E,0xA5,0x62,0x47,0x60,0x71,0x37,0xBE,0x35, + 0x8D,0x0B,0x17,0xFD,0xBB,0x56,0xAC,0x58,0x61,0x2B,0xE1,0xBA,0x63,0x40,0xBC,0x4D, + 0xC5,0xA8,0x9E,0x8D,0xBB,0x48,0xBC,0xD1,0x4A,0xF1,0xAA,0xE7,0x6C,0x59,0x81,0x05, + 0x17,0xF9,0xCB,0x25,0xF7,0xB2,0x33,0x47,0x77,0xF2,0xB9,0x3C,0x2C,0xAE,0x7C,0x63, + 0xB2,0xB5,0xE7,0x66,0xC8,0xF2,0xBA,0x37,0x61,0x47,0xB1,0xC6,0x9E,0x43,0x67,0xEB, + 0xED,0x37,0x11,0x15,0xA0,0x80,0x03,0xAB,0x8F,0xF6,0x6D,0x78,0x83,0x7D,0xFD,0xFE, + 0x6F,0x6D,0xB3,0x78,0x1F,0x45,0x18,0xEB,0xE5,0x39,0x2E,0x82,0x54,0xA8,0xA0,0x92, + 0xE7,0xF2,0xAC,0xA0,0xA0,0xC0,0xF6,0x53,0x2E,0x9F,0xE2,0x45,0x60,0xAA,0x20,0xCF, + 0x73,0xCF,0x96,0x4F,0xB6,0x9D,0x14,0x23,0x22,0x5A,0xC0,0xE2,0xF4,0xD5,0xAB,0x57, + 0x73,0x97,0x13,0x05,0x1C,0xEB,0xDE,0x98,0xCC,0x2D,0x99,0x55,0x51,0xEA,0xB4,0x11, + 0x9C,0x42,0x2B,0xD7,0x31,0x63,0xC6,0xB0,0xF5,0xEB,0xD7,0x3B,0xEC,0xEC,0x2A,0xAB, + 0xF1,0x29,0x5E,0x70,0x4D,0xCF,0x4C,0x31,0xAA,0xE7,0xC3,0x0D,0xC7,0xC5,0x28,0x3C, + 0x9C,0x3D,0x77,0x81,0x07,0xB0,0x8C,0x3C,0xC4,0x8F,0x10,0x01,0xA0,0xB0,0xB0,0xD0, + 0x01,0xCB,0x05,0x0B,0x06,0x4B,0x06,0x57,0x14,0x45,0x0E,0xCA,0xF6,0x20,0x56,0x01, + 0x37,0x15,0xDC,0x5C,0xE0,0x25,0x80,0xC7,0x1E,0x7B,0x8C,0x2D,0x5F,0xBE,0x3C,0x22, + 0x44,0xAB,0x60,0xE8,0x8F,0x29,0xAB,0xB8,0x20,0xDD,0xF5,0xE4,0x57,0x1E,0x3B,0xE4, + 0x87,0x3A,0xEA,0x0C,0x21,0xFA,0x53,0xA4,0x91,0x92,0x94,0xC0,0x16,0x3D,0x73,0x3B, + 0x2B,0x68,0x9F,0x1D,0x51,0x1F,0x5E,0x28,0x78,0xE2,0x85,0xF7,0xA4,0xE5,0xAB,0xBE, + 0xE6,0xE3,0x27,0x67,0xDC,0xC4,0xC6,0x5E,0xDF,0xB3,0xEE,0x3D,0x7C,0xFA,0xE9,0xA7, + 0xA5,0xD9,0xB3,0x67,0xF3,0xDD,0xE3,0x79,0x35,0xD6,0x0D,0x4F,0xF0,0xAD,0x53,0xC2, + 0x09,0x6E,0x22,0xFB,0x36,0xBE,0x51,0x27,0x5A,0x44,0x94,0x51,0x80,0x81,0x9B,0x0E, + 0x3F,0x61,0x73,0x4C,0x45,0x9B,0x01,0x5A,0xDF,0xF4,0xED,0x9C,0x2E,0x8E,0xEA,0x79, + 0xE3,0xC3,0x83,0x62,0x64,0x6D,0x2A,0xAB,0xAA,0xD9,0xAE,0xEF,0x8F,0x89,0x23,0x22, + 0x50,0xCC,0x9C,0x39,0xB3,0xCE,0x0A,0x63,0x49,0x1D,0xAA,0x95,0xE0,0xA2,0x1E,0xD9, + 0xE9,0x5C,0xD0,0x1E,0x4A,0x10,0x90,0x82,0x07,0xF0,0xD9,0x2B,0xE3,0x5C,0xAC,0xED, + 0xAE,0x5D,0xBB,0x1C,0x91,0x22,0x5C,0x77,0x0C,0xFF,0x51,0x1B,0x8B,0xCB,0xA4,0x27, + 0xFE,0xFA,0x8D,0x38,0xAA,0xE7,0xE1,0x09,0x1D,0xD9,0x0D,0xFD,0x5B,0x84,0xE4,0xCD, + 0x51,0x5B,0x5E,0x74,0xD2,0x30,0x5A,0xA4,0xD1,0xB3,0x53,0x4B,0x2A,0x79,0xF4,0x13, + 0x6F,0x96,0x57,0x0D,0xAC,0xF0,0xFC,0xF9,0xF3,0xEB,0x36,0xEC,0x86,0x25,0x6E,0xD3, + 0xFB,0x56,0xD6,0xB2,0xEB,0x48,0x3E,0x0E,0x16,0x70,0x8F,0xF7,0x6F,0x7E,0xCB,0x65, + 0x11,0x05,0xDA,0xD9,0xCA,0xAF,0x27,0x62,0xAC,0xAD,0x1A,0x53,0x45,0x1A,0x6A,0x1E, + 0x9A,0xBF,0x4D,0x72,0x2F,0x8F,0x4C,0x4F,0x89,0x67,0xFF,0x9C,0xDD,0x3F,0xE4,0xE2, + 0xA5,0x22,0x8D,0xD0,0x60,0x54,0xBC,0x0A,0xB2,0x8B,0x2A,0xCD,0x99,0x33,0x07,0x16, + 0x8F,0x1F,0xA3,0x23,0xC7,0x80,0x89,0x2F,0xB3,0x94,0xAC,0x8E,0xFC,0x38,0x90,0x20, + 0xE2,0xAD,0x88,0x16,0x51,0x70,0xF4,0x9D,0x7A,0xE8,0xA1,0x87,0x6C,0xB5,0x32,0xC8, + 0x2C,0xA6,0xDD,0x66,0x05,0xEC,0x57,0xE4,0x0E,0xD2,0x46,0xAF,0xAD,0xA4,0xA0,0x10, + 0xE1,0x04,0x35,0xC2,0x70,0x55,0x11,0x95,0x46,0x4F,0x68,0x44,0x7C,0x6B,0xAA,0x83, + 0x13,0xCC,0xBA,0x78,0xCE,0xB9,0xE2,0x0D,0xEE,0xF1,0xBE,0x7D,0xFB,0xD8,0xE2,0xC5, + 0x8B,0x1D,0x91,0x2C,0x5C,0x77,0x4C,0x89,0x17,0x0B,0xF4,0xAF,0xEA,0xD6,0x4C,0x1C, + 0xD5,0x83,0xB9,0xEF,0xE7,0xDB,0x4F,0x92,0x80,0x89,0x3A,0x86,0x0E,0x1D,0xEA,0x50, + 0x1A,0xBA,0x07,0x1B,0xB4,0xAD,0xC9,0xC9,0x09,0xEF,0x26,0x78,0xE1,0xC0,0x94,0x78, + 0xC1,0x1D,0xC3,0x73,0xC5,0xC8,0x95,0xA7,0x5F,0xFF,0x8E,0x0A,0x37,0x08,0x22,0x84, + 0x98,0x16,0x2F,0xAC,0xEF,0x3D,0x23,0xDB,0x8A,0xA3,0x7A,0x90,0x46,0x7A,0x64,0xC1, + 0x0E,0xF6,0xBF,0x0D,0xC7,0x48,0xC0,0x04,0x11,0x02,0x4C,0x8B,0x17,0x4C,0x18,0x96, + 0xEB,0x28,0xEA,0x9D,0x25,0x8E,0xEA,0xC1,0xEE,0xF9,0xCF,0x2F,0xDD,0xCD,0x1E,0xFF, + 0xCB,0x4E,0xE9,0xC0,0xB1,0x73,0x41,0x15,0x71,0x65,0x95,0xF1,0x22,0x0D,0xA3,0x8F, + 0xE2,0xBD,0xA5,0x74,0xE3,0x21,0x6C,0x43,0x83,0xE6,0x09,0x5A,0xD1,0x67,0x35,0x05, + 0x6D,0x53,0xD8,0xB0,0xBE,0xCD,0x59,0xBF,0xCE,0xE9,0x9A,0xFB,0x1F,0x99,0x05,0x02, + 0xF3,0xA7,0x48,0xC3,0x0C,0xB7,0x8D,0xEC,0xC3,0x7E,0xF3,0xB3,0x11,0x51,0x37,0x7F, + 0xD2,0xC3,0x6C,0xB4,0x59,0xCD,0xA4,0x49,0x93,0xA4,0xC5,0x8B,0x17,0xF3,0x2D,0x54, + 0xB0,0x95,0x4A,0xA0,0xD9,0xF4,0xD6,0x34,0xDE,0x6B,0x0B,0xC1,0x2A,0xBB,0x2F,0x32, + 0x30,0x8A,0xDF,0xD1,0x66,0x77,0x50,0x61,0x95,0xDB,0xBC,0x89,0x38,0xF2,0x04,0xC2, + 0xFE,0xD3,0xBF,0xF7,0xB2,0xBB,0xFE,0xB0,0x89,0xEF,0x7D,0x04,0x8B,0x8C,0xC8,0x34, + 0x1E,0xFF,0xFD,0xFC,0xA8,0xB4,0x6D,0xCF,0x69,0xDD,0x07,0xAA,0xBA,0xC4,0x3F,0x13, + 0x52,0xA8,0x98,0x83,0xB0,0x0B,0x01,0xB9,0x5B,0xBD,0xF8,0xF6,0x1E,0xE9,0xBD,0x2F, + 0x9C,0xC9,0xF9,0x70,0xD1,0xC8,0x71,0x89,0xC5,0x3A,0xF4,0x37,0x00,0x6F,0xC4,0x2E, + 0xC9,0xDF,0xE3,0xF9,0xF5,0x18,0x76,0x99,0x25,0xC4,0x9C,0x97,0xBF,0x56,0xCB,0x9A, + 0x26,0x35,0xE6,0x9D,0x34,0xFA,0xF7,0x68,0x4B,0x96,0x57,0x40,0x96,0xD7,0x5A,0x04, + 0xCC,0xF2,0x2A,0xA0,0x21,0xDD,0x1F,0x7E,0xD2,0x85,0x25,0x37,0x89,0x15,0x67,0x42, + 0xCF,0x25,0xA9,0x11,0xBB,0x70,0x39,0x41,0xF7,0x71,0xEE,0x72,0x12,0xAB,0xBC,0x94, + 0xE6,0xF1,0x38,0x73,0x29,0x83,0x95,0x4B,0xB9,0x6C,0xC6,0x94,0x9B,0xD8,0x8B,0xBF, + 0x1E,0xE7,0x20,0xE1,0x12,0x76,0x21,0x20,0xE2,0x05,0xFD,0x0A,0x32,0x1C,0xAF,0x3E, + 0x71,0x25,0x2F,0xE4,0xF0,0xE6,0x4A,0x5B,0x11,0x44,0xCA,0xDF,0x5F,0x47,0xEE,0x32, + 0x61,0x2F,0x02,0x26,0x5E,0x80,0xB5,0xBF,0x37,0x0F,0xCA,0x71,0xFC,0xED,0xB1,0x2B, + 0x1D,0xF3,0x1E,0xEC,0xC1,0xDB,0xC4,0xF6,0xEC,0xE0,0xD9,0x46,0xC7,0x8A,0x5C,0xAC, + 0x71,0x5D,0x31,0x45,0x10,0x56,0x27,0xA0,0xE2,0x55,0xD3,0x25,0xAF,0xA9,0x03,0xEE, + 0xF4,0xB3,0xF7,0x77,0x77,0x7C,0xF8,0xC2,0x60,0xC7,0x2B,0x8F,0xF6,0xE1,0x01,0x2E, + 0x14,0x79,0x28,0x0F,0x54,0x6B,0x41,0xDC,0xBE,0x1E,0x5A,0x3B,0x37,0x04,0x9A,0xB1, + 0xD7,0xE4,0x88,0x11,0x41,0xD8,0x03,0x5B,0xCD,0xEF,0xD4,0xA9,0xA2,0x56,0x2D,0x52, + 0xD9,0xE8,0xEB,0xBA,0xF3,0xB1,0x9A,0xB3,0xD5,0x0E,0x76,0xA1,0x56,0x3F,0x50,0x5D, + 0x76,0xD6,0x21,0xCF,0x8F,0xC5,0x81,0x20,0x27,0x55,0x62,0xA9,0x9E,0xFB,0xAA,0x11, + 0x32,0xFF,0x6F,0xFD,0xEE,0xBA,0x08,0x3C,0x05,0xAC,0xC2,0x8F,0xDF,0xAB,0x8A,0xC2, + 0x4D,0x28,0xF2,0xBC,0x84,0x3E,0xFE,0x8A,0x37,0xD8,0x50,0xB4,0x99,0x20,0x08,0x5B, + 0x61,0xAB,0xBB,0xD5,0xA1,0xD2,0xD3,0xD2,0xBB,0x22,0xE7,0x48,0x84,0x9E,0x6B,0x0B, + 0xAF,0xA0,0x56,0x42,0x61,0xC6,0xB6,0x6E,0x33,0x41,0x44,0x3B,0x41,0x17,0xEF,0xB2, + 0x65,0xCB,0xA4,0xAD,0x5B,0xB7,0x8A,0x23,0x82,0x20,0x02,0x01,0x9A,0xC5,0x4F,0x9A, + 0x34,0x29,0xB8,0x06,0x17,0x81,0x0A,0xF9,0x89,0x1E,0xF4,0xA0,0x47,0x00,0x1F,0x45, + 0x45,0x45,0xB2,0xE1,0x95,0xB8,0xF5,0xC5,0xC3,0x9B,0x8A,0xF1,0x03,0x5A,0xF8,0x54, + 0xBE,0x12,0x65,0x44,0x93,0xEB,0x9E,0x3D,0x9D,0x3B,0xCC,0x11,0x04,0xE1,0x1F,0xFB, + 0xF7,0xEF,0x47,0x8B,0x1F,0xDE,0x58,0x6F,0xF5,0xEA,0xD5,0xBE,0x2D,0xEF,0xAC,0x59, + 0xB3,0x24,0x3C,0x64,0x53,0xCD,0x1F,0xCA,0xB1,0xF8,0xB2,0x57,0x14,0xCB,0x8B,0x66, + 0x64,0xCE,0x33,0x04,0x41,0xF8,0x8B,0x2C,0x58,0x4D,0xCB,0xAB,0x9B,0x2A,0x9A,0x3D, + 0x7B,0xB6,0x03,0xDD,0xF8,0xB0,0xB5,0x05,0x1E,0x18,0xE3,0x9C,0xF8,0x32,0x41,0x10, + 0x61,0xC6,0x43,0xBC,0xFB,0xF6,0xED,0x93,0xA6,0x4F,0x9F,0x2E,0x75,0xEE,0xDC,0x59, + 0x2A,0x28,0x28,0x60,0x08,0x3C,0xE1,0x81,0x71,0x42,0x42,0x02,0xFF,0xDA,0xD1,0xA3, + 0x47,0x25,0x58,0xD7,0x11,0x23,0x46,0x90,0x65,0x25,0x88,0x30,0xE1,0x22,0xDE,0x75, + 0xEB,0xD6,0x49,0x85,0x85,0x85,0x6C,0xDE,0xBC,0x79,0xBC,0x0B,0xFE,0xDC,0xB9,0x73, + 0xF9,0xC6,0x52,0x78,0x60,0x0C,0xEB,0x8B,0xAF,0xE5,0xE4,0xE4,0x70,0x1F,0x7C,0xC8, + 0x90,0x21,0xE2,0x27,0x09,0x82,0x08,0x35,0x75,0xE2,0xC5,0xFC,0x74,0xE8,0xD0,0xA1, + 0xDC,0x45,0xC6,0xDE,0xA5,0xB2,0x38,0x1D,0x33,0x66,0xCC,0x70,0xA0,0x85,0x27,0xF6, + 0xA3,0x39,0x76,0xEC,0x18,0xBB,0xED,0xB6,0xDB,0xF8,0xD7,0xB0,0xFF,0x0B,0x80,0xC0, + 0x09,0x82,0x08,0x23,0x70,0x83,0xE1,0x12,0xCB,0x62,0xD4,0x73,0x83,0xF9,0x84,0x19, + 0x8F,0xFB,0xEE,0xBB,0x4F,0x2A,0x2F,0x2F,0xE7,0xDF,0x9B,0x9D,0x9D,0xCD,0x5D,0x68, + 0xFE,0x1D,0x2A,0x28,0x60,0x45,0x10,0x81,0xC3,0x6B,0xC0,0x0A,0x96,0x15,0x60,0x37, + 0x35,0x5F,0x2C,0x5C,0xB8,0x90,0xC9,0x16,0x99,0x7F,0xEF,0xE9,0xD3,0xA7,0xD9,0xD4, + 0xA9,0x53,0xC5,0x57,0x08,0x82,0x08,0x25,0x31,0xC5,0xC5,0xC5,0x12,0x04,0x39,0x7D, + 0xFA,0x74,0xC3,0xBB,0x85,0x63,0xBE,0x8B,0x20,0x16,0x7E,0x66,0xE5,0xCA,0x95,0xE2, + 0x2C,0x41,0x10,0xA1,0x24,0xA6,0xA4,0xA4,0x84,0x0F,0xCC,0x06,0x9F,0xFE,0xF9,0xCF, + 0x7F,0xF2,0x9F,0xC1,0xDE,0xAC,0x28,0x87,0x14,0xA7,0x09,0x82,0x08,0x11,0x75,0xE2, + 0x35,0x1B,0x7C,0x5A,0xB3,0x66,0x4D,0xDD,0xCF,0x50,0x1D,0x33,0x41,0x84,0x9E,0x18, + 0x65,0x3F,0xD5,0xF4,0xF4,0x74,0x5D,0x97,0x59,0x49,0x17,0xA9,0x1F,0xB2,0xB5,0xAD, + 0xFB,0x19,0x44,0xA8,0x09,0x82,0x08,0x2D,0x31,0x58,0xA9,0x00,0xB6,0x6C,0xD9,0xA2, + 0xEB,0xFA,0x22,0x5D,0xA4,0xF5,0x50,0x7E,0x26,0x3B,0x3B,0x9B,0x7F,0x1F,0x41,0x10, + 0xA1,0x23,0x66,0xC4,0x88,0x11,0x7C,0xB0,0x7E,0xFD,0x7A,0xFE,0x6C,0x06,0xE5,0x67, + 0x94,0x1B,0x00,0x41,0x10,0xA1,0x23,0x06,0xFB,0x9A,0x62,0xEE,0x3A,0x7F,0xFE,0x7C, + 0x71,0xCA,0x38,0xF8,0x19,0xEC,0xC1,0x5A,0x58,0x58,0x48,0x35,0xCF,0x04,0x11,0x62, + 0x78,0x9E,0xF7,0xA1,0x87,0x1E,0x62,0xBB,0x76,0xED,0xC2,0x0E,0xE3,0x86,0xA3,0xC6, + 0xF8,0x5E,0xFC,0xCC,0x82,0x05,0x0B,0xC4,0x19,0x82,0x20,0xC2,0x02,0x16,0x1C,0xC8, + 0x4F,0xD2,0xD3,0x4F,0x3F,0xED,0x53,0xC0,0xE2,0x7B,0xA4,0x09,0x13,0x26,0x68,0x7E, + 0x2F,0x55,0x58,0x11,0x44,0xE0,0x58,0xAD,0x53,0x61,0xE5,0x82,0x58,0x25,0xC4,0x4B, + 0x1F,0x57,0xAC,0x58,0xE1,0x21,0x3C,0x9C,0xC3,0xD7,0xE4,0x21,0x5F,0x5D,0xE4,0x3C, + 0xEB,0x09,0x89,0x97,0x20,0x02,0x87,0x21,0xF1,0x82,0x25,0x4B,0x96,0xF0,0xC5,0xF7, + 0xF2,0x90,0x3F,0xB0,0x34,0x10,0x0F,0xE5,0x18,0xF5,0xCC,0xF8,0x1E,0x79,0xAC,0x0B, + 0x89,0x97,0x20,0x02,0x87,0x9E,0x78,0x75,0x03,0x4D,0xF2,0x5C,0x56,0x42,0x0E,0x18, + 0xAB,0x89,0x30,0xB7,0x45,0x50,0x0B,0xAB,0x8A,0x7A,0xF7,0xEE,0xED,0x33,0x38,0x05, + 0xF1,0xA2,0x84,0x12,0xAB,0x8F,0x28,0x8D,0x44,0x10,0x0D,0x03,0x6B,0x08,0x50,0x08, + 0x25,0x8B,0x17,0x42,0x0E,0x6E,0x70,0x58,0xB1,0xBC,0xF4,0xA0,0x07,0x3D,0x02,0xF7, + 0x30,0x6C,0x79,0x09,0x82,0xB0,0x1E,0x10,0xAD,0x13,0xC6,0xFE,0x3F,0xBD,0xEA,0xD4, + 0xA9,0xCF,0x71,0x4E,0x7C,0x00,0x00,0x00,0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60, + 0x82, +}; // plantmodel_png, 22369 bytes + +// File: pointer.png +// +const char pointer_png[] PROGMEM = { + 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, + 0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x16,0x08,0x03,0x00,0x00,0x00,0x15,0x43,0x57, + 0x4D,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, + 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, + 0x00,0x69,0x50,0x4C,0x54,0x45,0xFC,0xFC,0xFC,0xC9,0xCA,0xCC,0xF6,0xF6,0xF6,0xE4, + 0xE5,0xE6,0xBB,0xC0,0xC9,0xDA,0xDB,0xDE,0xC6,0xC8,0xCC,0x5A,0x7F,0xC4,0xC6,0xC8, + 0xCA,0xEE,0xEE,0xEE,0xAB,0xB6,0xCB,0x46,0x72,0xC4,0x97,0xA9,0xCA,0xCC,0xCF,0xD4, + 0x6A,0x8A,0xC5,0x56,0x7D,0xC4,0xF5,0xF5,0xF5,0xBB,0xC1,0xCB,0x83,0x9A,0xC7,0xC4, + 0xC6,0xCA,0x4A,0x74,0xC4,0xC2,0xC5,0xCB,0xFA,0xFA,0xFA,0x52,0x7A,0xC5,0xC6,0xC8, + 0xCB,0x66,0x87,0xC5,0xCA,0xCD,0xD2,0x7A,0x95,0xC5,0xD8,0xDA,0xDD,0x91,0xA4,0xC8, + 0xE2,0xE3,0xE4,0xD8,0xDA,0xDB,0xC8,0xC8,0xC8,0xCE,0xCF,0xD2,0x00,0x00,0x00,0x5B, + 0x43,0x98,0xD1,0x00,0x00,0x00,0x23,0x74,0x52,0x4E,0x53,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x66,0x29, + 0x83,0x96,0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0E,0xC3,0x00,0x00, + 0x0E,0xC3,0x01,0xC7,0x6F,0xA8,0x64,0x00,0x00,0x00,0x93,0x49,0x44,0x41,0x54,0x28, + 0x53,0x7D,0x8E,0x59,0x0E,0xC2,0x30,0x0C,0x05,0x03,0xA1,0x81,0xD6,0xDD,0x17,0xF6, + 0x35,0xF7,0x3F,0x24,0xB6,0x9F,0xDB,0x08,0x90,0x98,0x8F,0xE8,0x79,0xA4,0x48,0xE3, + 0xE2,0x2F,0x7F,0x9D,0x5B,0xAD,0x6D,0x25,0xE7,0x37,0x99,0xAD,0xE4,0xC2,0x76,0x67, + 0x6B,0x71,0x79,0x41,0xA5,0xB7,0x3D,0xBB,0xAA,0xA6,0x26,0xD8,0x36,0xD7,0x76,0x44, + 0x54,0xE4,0x38,0xCC,0x65,0x3D,0xBB,0xBA,0xC2,0x01,0xE7,0x86,0x91,0x1D,0x75,0x2D, + 0x2E,0x7D,0x7D,0x29,0x8A,0x7A,0xE4,0xC0,0x85,0x46,0xDD,0x38,0xED,0x17,0xC7,0x21, + 0x00,0x39,0xEA,0x38,0x04,0x1C,0x8E,0xB3,0xD3,0x10,0xA0,0x39,0xE2,0x34,0x04,0x9C, + 0xCE,0x70,0x16,0x02,0x24,0x87,0x9D,0x85,0x80,0xCB,0x55,0x9D,0x85,0x00,0xC9,0x71, + 0x29,0x04,0xDC,0xEE,0xEC,0x1E,0xCF,0x4F,0x5E,0xF2,0xF7,0x8B,0x18,0xDF,0x6A,0x3F, + 0x28,0x84,0x97,0xF1,0x29,0x9F,0x00,0x00,0x00,0x00,0x49,0x45,0x4E,0x44,0xAE,0x42, + 0x60,0x82, +}; // pointer_png, 418 bytes // File: rssi.htm // @@ -3282,11 +4077,13 @@ const char rssi_htm[] PROGMEM = { "\n" "\n" " Grow Controller RSSI\n" - " \n" + " \n" + " \n" + " \n" " \n" " \n" "\n" - "\n" + "\n" "

Grow Controller - RSSI

\n" "
\n" " \n" @@ -3305,23 +4102,10 @@ const char rssi_htm[] PROGMEM = { " \n" "
\n" "
\n" - " \n" - " \n" - " \n" - " \n" - " \n" - "
NAV:\n" - " Home |\n" - " Config |\n" - " Scan |\n" - " RSSI |\n" - " Current |\n" - " Factory Reset |\n" - " About\n" - "
\n" + " \n" "\n" "\n" -}; // rssi_htm, 1194 bytes +}; // rssi_htm, 954 bytes // File: rssi.js // @@ -3435,11 +4219,316 @@ const char rssi_js[] PROGMEM = { " ctx.fillText('RSSI Graph', axes.x0, axes.y0 - 6);\n" " ctx.stroke();\n" "}\n" -}; // rssi_js, 2770 bytes +}; // rssi_js, 2879 bytes -// File: Water.png +// File: soilheater_off.png // -const char Water_png[] PROGMEM = { +const char soilheater_off_png[] PROGMEM = { + 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, + 0x00,0x00,0x00,0x45,0x00,0x00,0x00,0x12,0x08,0x03,0x00,0x00,0x00,0x3A,0xD8,0xE3, + 0x54,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, + 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, + 0x00,0x48,0x50,0x4C,0x54,0x45,0xF7,0xF7,0xF7,0x48,0x48,0x48,0x40,0x40,0x40,0x70, + 0x70,0x70,0xB7,0xB7,0xB7,0x9F,0x9F,0x9F,0x87,0x87,0x87,0xE7,0xE7,0xE7,0x8F,0x8F, + 0x8F,0x00,0x00,0x00,0xCF,0xCF,0xCF,0x30,0x30,0x30,0x18,0x18,0x18,0x08,0x08,0x08, + 0x50,0x50,0x50,0xAF,0xAF,0xAF,0xBF,0xBF,0xBF,0x78,0x78,0x78,0x38,0x38,0x38,0x7F, + 0x7F,0x7F,0xA7,0xA7,0xA7,0xDF,0xDF,0xDF,0x20,0x20,0x20,0x00,0x00,0x00,0xC4,0xC2, + 0xC4,0x2F,0x00,0x00,0x00,0x18,0x74,0x52,0x4E,0x53,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0x00,0xCD,0x13,0x2E,0xEA,0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00, + 0x0E,0xC3,0x00,0x00,0x0E,0xC3,0x01,0xC7,0x6F,0xA8,0x64,0x00,0x00,0x01,0x05,0x49, + 0x44,0x41,0x54,0x38,0x4F,0xCD,0x92,0xCB,0x96,0x82,0x40,0x10,0x43,0xB1,0x7D,0x40, + 0x29,0x28,0xEA,0x8C,0xFC,0xFF,0x9F,0x9A,0xA4,0xAA,0x91,0xE2,0xB0,0x9A,0x33,0x0B, + 0xB3,0x68,0x0A,0x03,0xB9,0x91,0xEE,0x66,0xFA,0x0F,0x7D,0x65,0x4A,0xB3,0x2B,0xFB, + 0x18,0x0F,0xA5,0x1C,0x63,0x3C,0x95,0xD2,0xFA,0xB4,0xED,0x87,0xE6,0x94,0xCE,0xCC, + 0xCE,0x3E,0x5E,0xCC,0x7A,0xFF,0xBD,0x1D,0xCC,0xE2,0xDD,0x4D,0xBF,0xAA,0xDE,0x35, + 0x3D,0x9E,0xBA,0x6A,0xBC,0x61,0xB2,0x4E,0xE3,0x1E,0xD3,0xA0,0x32,0xDB,0x7E,0x55, + 0x4D,0x01,0x0A,0x5C,0xC1,0x80,0x0A,0x18,0xAB,0x44,0x99,0x4D,0x7F,0x96,0x6E,0xC6, + 0x71,0xEC,0x6D,0x38,0x38,0x0C,0xA8,0x0B,0x3A,0x10,0x86,0xCB,0x09,0x06,0xCA,0xA0, + 0xCA,0xCA,0xBF,0xE3,0x25,0x89,0x01,0x4A,0x61,0x38,0x90,0x57,0xC1,0x80,0xBA,0xA1, + 0x04,0x60,0x5A,0x51,0x02,0x65,0xB4,0x26,0x7F,0x56,0x4A,0x01,0xF1,0x4C,0x18,0x50, + 0x0F,0xB5,0xE8,0x7C,0x61,0x8B,0x56,0xCB,0xCA,0xAF,0x9A,0x53,0x9E,0xD0,0x0F,0xAE, + 0x84,0x01,0x05,0x20,0x6B,0xFC,0xAA,0x90,0x6A,0x78,0xA1,0xA5,0xCF,0x57,0x5C,0x0C, + 0x50,0x4A,0x15,0x60,0xAF,0xD8,0x09,0xC0,0x30,0xF2,0xE3,0xB0,0x87,0x7F,0x9C,0xA5, + 0x9F,0x95,0x52,0x08,0x13,0x2A,0xB6,0xC7,0x37,0x02,0x45,0xBC,0xCA,0xD2,0xCF,0xCA, + 0x29,0x80,0x55,0x14,0xFF,0xB9,0x1F,0x0A,0x1E,0x15,0x3F,0x34,0x4B,0x3F,0x29,0xA7, + 0xC4,0x36,0x50,0xBE,0x4D,0x52,0x7C,0x15,0xEA,0xE3,0x27,0xAD,0x52,0xFE,0xA8,0xEF, + 0x49,0x99,0xA6,0x37,0xE5,0xCC,0x5A,0x3B,0xBB,0x29,0x33,0x8B,0x00,0x00,0x00,0x00, + 0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, +}; // soilheater_off_png, 488 bytes + +// File: soilheater_on.png +// +const char soilheater_on_png[] PROGMEM = { + 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, + 0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x2E,0x08,0x06,0x00,0x00,0x00,0xD7,0xCA,0x1C, + 0x24,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, + 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, + 0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0E,0xC2,0x00,0x00,0x0E,0xC2,0x01,0x15, + 0x28,0x4A,0x80,0x00,0x00,0x0B,0x59,0x49,0x44,0x41,0x54,0x78,0x5E,0xED,0x5B,0x5D, + 0xAC,0x54,0x57,0x15,0x3E,0x67,0xEE,0xA4,0x11,0xAA,0xD4,0x18,0x1F,0x8D,0xAF,0x46, + 0xFA,0x82,0xD5,0x97,0xDA,0x9A,0x36,0x2A,0x7D,0x68,0x8C,0xA5,0x40,0x25,0x96,0x6A, + 0x43,0xDB,0xA4,0x22,0x05,0x5B,0x0A,0x42,0x2B,0x3F,0xA5,0xA5,0x3F,0x48,0x0B,0xB4, + 0x2A,0x4D,0x83,0x70,0x0D,0x11,0x2B,0x7F,0x6D,0xC5,0x28,0xB1,0x69,0x4C,0x13,0xB5, + 0x36,0x4A,0x81,0x08,0xB4,0x31,0xFA,0x64,0xD4,0xA7,0x12,0x15,0x48,0x6A,0x9A,0x73, + 0x67,0x5C,0xDF,0xB7,0xD6,0xDA,0x7B,0x9F,0xBF,0x99,0x7B,0xE1,0xD6,0x98,0x38,0x5F, + 0x66,0xCD,0xFA,0xDD,0x6B,0xAF,0xBD,0xF6,0x39,0xFB,0xCC,0xCC,0x85,0x6C,0x84,0x11, + 0x46,0x18,0x61,0x84,0x11,0x46,0x18,0xE1,0xFF,0x12,0xB9,0xF1,0x69,0x41,0xF1,0xCC, + 0xE6,0xB9,0x59,0xBF,0x9F,0x1B,0x75,0xB2,0x5E,0x3F,0xEB,0xDE,0xFF,0xD0,0x51,0x73, + 0x97,0x50,0x3C,0xFE,0xE0,0xBC,0x2C,0x43,0x9C,0xD4,0xD0,0xEF,0xC3,0xC4,0x71,0xDD, + 0x75,0x5B,0x0E,0x31,0xA0,0x82,0xE2,0xE1,0xD5,0x5F,0x32,0xB1,0x54,0x73,0x77,0xC3, + 0xD6,0xFD,0x26,0x96,0x50,0x6C,0x5E,0x73,0x8B,0x30,0xC9,0x6E,0xE1,0x79,0x8E,0x49, + 0x54,0x87,0x8C,0x99,0x91,0x8A,0x72,0xDE,0x63,0x56,0x95,0xA9,0x77,0xEF,0xDB,0xD8, + 0x58,0xF7,0x74,0xA3,0xB4,0x98,0xA9,0xA2,0x78,0x76,0xCB,0xF5,0xDA,0xE8,0x1E,0x9B, + 0x27,0x0D,0x07,0xEF,0x64,0x7D,0xD3,0x1B,0x29,0x13,0xBF,0xAC,0x1D,0x32,0xE6,0x4F, + 0x65,0xF4,0x04,0xAD,0x01,0xD4,0x06,0x38,0xA7,0xDB,0xDE,0x04,0x66,0x8E,0x5E,0x83, + 0x18,0x30,0x0B,0x45,0x36,0xBD,0xCA,0xD1,0x60,0x8B,0x61,0xB3,0x61,0x97,0x0D,0xA8, + 0xC9,0x4A,0x1D,0xE5,0xDD,0xE5,0xDF,0x7A,0x99,0x39,0xA6,0x19,0xB5,0xF2,0x27,0x83, + 0xE2,0xB9,0xAD,0xD7,0xB1,0x41,0xB1,0xF1,0xB1,0xE9,0x61,0x13,0xC0,0xD3,0x8D,0xC0, + 0x92,0x5D,0x36,0x02,0x94,0x43,0x87,0x96,0xD8,0x51,0x9B,0xF6,0x2D,0x81,0xF8,0x4D, + 0x02,0xCA,0xD5,0xAB,0xC7,0xAF,0x78,0x00,0x0D,0x8C,0x1C,0x8D,0x84,0xA6,0x8D,0x2D, + 0x6F,0x42,0x33,0x69,0xF3,0xB1,0x21,0x12,0xD6,0xE9,0x41,0xEF,0x2E,0x7B,0xE0,0x15, + 0x24,0x99,0x2E,0x94,0x97,0x30,0x04,0xC5,0xAE,0xA7,0x3E,0xC3,0x06,0xF5,0x7A,0x7A, + 0x15,0x97,0x1B,0xDF,0xB2,0x09,0xAD,0x84,0x94,0x9A,0x47,0x96,0x69,0xFD,0x53,0x1F, + 0xE0,0x1B,0xA2,0x10,0xBB,0x49,0x4D,0x28,0xAD,0x02,0x4D,0xA3,0x80,0xE6,0x51,0x60, + 0x33,0xA3,0xAE,0x9C,0x4D,0x46,0x56,0x36,0xB9,0x4E,0x0D,0xCD,0x37,0x5D,0x7C,0x9D, + 0x7E,0x77,0xE9,0x9A,0x5F,0x22,0xD9,0xA5,0xC2,0x2A,0x1C,0x8E,0xE2,0xFB,0xDB,0xA4, + 0xF9,0x3D,0x6B,0xBA,0x34,0x29,0x6C,0x02,0x79,0xD3,0x06,0x80,0xAC,0xC1,0x2D,0x9B, + 0x01,0x50,0x46,0x1D,0xE4,0x30,0xE0,0x2D,0xFA,0x01,0x9A,0x1C,0x6E,0x4F,0x4A,0xB7, + 0x91,0x0A,0xB1,0xBB,0x0B,0xCD,0xC2,0xE8,0xFA,0x46,0xA8,0x8D,0xE3,0x28,0x97,0xA9, + 0xD4,0x7C,0xF0,0x4E,0xB4,0x49,0xF3,0x63,0x8C,0x6F,0x4C,0xA7,0xD7,0xBD,0x6B,0xE5, + 0xAF,0x74,0x92,0xA9,0xC1,0x4B,0x1D,0x88,0x62,0xF7,0xB6,0x6B,0x43,0x53,0x63,0xC3, + 0x45,0x97,0x86,0x2B,0x1F,0xB6,0x09,0x2E,0x83,0xA4,0x05,0xB6,0x31,0x6C,0x01,0x6C, + 0xA8,0x03,0x76,0x72,0xE8,0x02,0xBE,0x01,0xD4,0xD9,0x2E,0x22,0xD8,0x05,0x6A,0xA2, + 0xC5,0x46,0x59,0x64,0x2A,0x83,0x23,0xB3,0x10,0x15,0x70,0x23,0xB8,0x84,0xA7,0x9B, + 0x30,0xA8,0xF9,0x51,0x16,0x2E,0xCD,0x57,0x0E,0x9B,0xFA,0x5C,0x17,0xDE,0xBD,0x7D, + 0xF9,0x6B,0x98,0x6C,0x18,0x58,0xD1,0x20,0x14,0x7B,0xB6,0xA7,0xCD,0x77,0x6E,0x0D, + 0x0F,0xCD,0xD6,0xC6,0x6B,0x5C,0x2A,0x9B,0x2E,0x6B,0xAC,0x71,0xCC,0xED,0x31,0x94, + 0xDD,0x66,0x87,0x88,0xE8,0x5E,0x1F,0x45,0x47,0xAA,0xA8,0x9B,0x08,0xA2,0xA4,0x0B, + 0xA3,0x44,0x40,0x76,0xE7,0xB5,0x0D,0xD0,0x99,0x84,0xCB,0xAD,0x2D,0x82,0x37,0xD7, + 0x9B,0x0D,0x39,0x36,0x1F,0x7E,0x6F,0x7A,0x6C,0x3E,0x7C,0x1D,0xF1,0x29,0x4F,0xC6, + 0xD8,0x46,0x7C,0x65,0xD9,0x6F,0x31,0x69,0x1B,0x64,0x64,0x3B,0x8A,0x3D,0x3B,0xAE, + 0x45,0xB9,0xD6,0x38,0x96,0x6A,0xDC,0x75,0xE5,0xC1,0xEF,0x32,0x56,0x63,0x36,0xF7, + 0xD5,0x39,0x36,0x02,0x3C,0x25,0x69,0xBE,0xCB,0xC9,0xBC,0x65,0xC2,0xB8,0x2A,0x95, + 0x62,0x24,0x47,0x92,0x87,0x94,0xE4,0xB1,0x35,0x84,0x71,0x5C,0x83,0xF4,0x21,0xAD, + 0x8F,0xCF,0x26,0x8F,0x53,0x7B,0xF0,0x87,0x1E,0xA8,0xAF,0xC6,0x19,0xA3,0x5C,0xA8, + 0xF8,0xE1,0xCE,0xAB,0xA1,0xB5,0xA1,0x75,0x03,0x8A,0xF1,0x1D,0xD7,0xD8,0xA4,0x50, + 0x75,0x52,0x16,0xE3,0xB2,0x58,0xBD,0x20,0x9F,0x54,0x63,0x40,0x88,0xC3,0xA2,0x5C, + 0xAF,0x10,0xC7,0x94,0xE2,0xD1,0x30,0x21,0x5F,0x78,0xEA,0x4B,0x29,0x69,0x4C,0xA8, + 0xA9,0x62,0x8F,0x14,0x36,0x22,0x6B,0xCC,0x0B,0xD9,0xEC,0xA8,0x1D,0xF9,0x9C,0x5B, + 0x1C,0x0C,0xEA,0x87,0x4D,0x79,0xB0,0x05,0x2E,0x36,0xF3,0xA7,0xCD,0x07,0xB7,0xF8, + 0x62,0x5F,0xFB,0x26,0x34,0x6E,0x40,0x31,0xFE,0xF4,0x35,0x1C,0xCC,0x04,0x02,0x9D, + 0xC4,0xB8,0x4D,0x5C,0xE7,0xC9,0xE4,0x4E,0x1C,0x95,0xE8,0xB4,0x59,0xAC,0x92,0xDC, + 0xAC,0x08,0x70,0x5D,0x73,0xC5,0x86,0x56,0x1B,0x2B,0x7E,0x4C,0x01,0x62,0x6C,0x4A, + 0x69,0x5C,0x69,0x5C,0xD8,0x08,0x10,0x06,0x47,0x5F,0x75,0x5C,0xA4,0x50,0x53,0x52, + 0xAF,0x8F,0x0D,0x0D,0x27,0x37,0x1B,0xB8,0xC7,0x1A,0x77,0x9B,0xB0,0x62,0xDF,0xB3, + 0x8D,0x9B,0x80,0x24,0x35,0xC8,0xD5,0x2F,0x47,0x0F,0x12,0xC9,0x48,0x3F,0xD7,0x7B, + 0x72,0x4C,0x2A,0x87,0xEE,0xE7,0xBF,0xEA,0x16,0x33,0xB6,0x6A,0xD3,0xDD,0x96,0x22, + 0x60,0xE2,0x3E,0x31,0x7D,0xE8,0x8A,0xBD,0xE2,0xD7,0xF1,0x9A,0x37,0xCF,0x4F,0xFF, + 0xE9,0xD6,0xCE,0xE1,0x9F,0x5A,0x54,0x44,0xEF,0xC1,0x15,0x07,0x59,0xBC,0x84,0x2B, + 0x28,0xE4,0xF9,0xBE,0x97,0x16,0xE4,0x7F,0xF9,0x2B,0x2D,0x8E,0xFE,0xEC,0x8F,0x65, + 0xFD,0x2F,0xCE,0x3D,0x1C,0x57,0x81,0xED,0x04,0x93,0x2B,0xEB,0xB1,0xEF,0x2C,0xA4, + 0x9C,0xA0,0xB7,0xE2,0xEE,0xAC,0xFF,0xC1,0x99,0x3F,0xE6,0x39,0x8D,0x20,0xCC,0x02, + 0xF9,0x9F,0xE7,0x17,0x8F,0x6D,0x7F,0xCE,0xA2,0x22,0x26,0xB6,0xAC,0xDB,0x1D,0x1E, + 0xB0,0xF1,0xE1,0x0B,0xEE,0xE7,0xBD,0xF2,0x70,0xF6,0x97,0x7C,0xFE,0xCC,0x40,0xF5, + 0xF4,0x77,0x17,0x7F,0xBD,0xF6,0x3C,0xA8,0xDD,0x01,0xC5,0x0F,0x78,0xF5,0xEB,0xBA, + 0x7D,0x39,0x68,0x5E,0xE4,0x62,0x4F,0x74,0x49,0x2D,0x6F,0x79,0x67,0xFC,0x40,0xAD, + 0xF9,0x40,0x67,0xF7,0x3E,0x8D,0xB7,0xC6,0x9B,0x9C,0x75,0x5E,0xFA,0xB9,0x45,0x54, + 0x70,0xEC,0x0F,0xB7,0xE8,0xBC,0x1A,0xC7,0xFC,0xC2,0xAB,0xCD,0x07,0xF2,0x37,0xFF, + 0x28,0xEF,0xDC,0x2C,0x23,0x91,0xA1,0x1F,0x3B,0x55,0x6B,0x3E,0xD0,0x19,0x67,0x2D, + 0x1E,0x07,0x93,0x70,0xAB,0xB1,0x01,0x9D,0xC3,0x47,0xEF,0x64,0x5E,0xCE,0xC1,0x5A, + 0x30,0x1E,0x2E,0xCB,0x91,0xF8,0x00,0xF7,0xC1,0x86,0x60,0x8E,0x25,0x18,0xDB,0x74, + 0x17,0xD4,0x8F,0x20,0x1D,0x94,0x0C,0x2C,0x25,0x8F,0x7E,0xD7,0x75,0xA2,0x2C,0x3F, + 0xF3,0x96,0xE9,0x65,0xE4,0xE7,0x2E,0x64,0xD9,0x3F,0xCE,0x7D,0x95,0xE3,0x30,0x44, + 0x78,0x7E,0xE6,0xCF,0xB7,0x66,0x13,0x13,0x1A,0x50,0x41,0xE7,0xE5,0x57,0x75,0x2E, + 0xCE,0xC3,0xC5,0xE5,0xF9,0x8F,0x7E,0xB2,0xC0,0xDC,0x35,0xE4,0x47,0x5E,0x99,0xAF, + 0xF1,0x4C,0x8E,0x39,0x72,0xE6,0x68,0xC2,0xF9,0x0B,0x59,0xFE,0xAF,0x77,0x16,0x21, + 0xA7,0x51,0x86,0xAB,0x9F,0x35,0x36,0x20,0xFF,0xDD,0x1B,0xF2,0x6E,0x71,0x5E,0x0F, + 0xC0,0xB9,0xC8,0x31,0x1F,0xA0,0xF9,0x88,0x60,0x13,0x98,0xAC,0x14,0xC7,0x27,0x68, + 0x78,0x06,0xC4,0x11,0x36,0x81,0x0F,0x02,0x47,0x12,0x75,0x73,0x52,0xF5,0xC9,0xD5, + 0xFF,0x35,0x5A,0x5A,0xA0,0x57,0x18,0x26,0x67,0xDE,0xBC,0xF5,0xEA,0x77,0x1C,0x3F, + 0xBD,0x30,0xCE,0x2D,0x6F,0x0D,0x57,0xBF,0x23,0xDC,0x05,0xC8,0x8D,0xF4,0xC7,0x4F, + 0xCF,0xA7,0xA3,0x05,0xB8,0x0B,0x58,0x34,0x4B,0xF1,0xDA,0xDA,0xD1,0x39,0x24,0x77, + 0x81,0xAE,0x9B,0xC3,0xAC,0xD1,0x49,0x93,0x05,0xBE,0x21,0x88,0x51,0x31,0xE9,0x9B, + 0xD5,0xA6,0x0E,0xB3,0x45,0xD4,0x0C,0xE1,0xFC,0x8F,0x9F,0xE3,0x71,0xDE,0x63,0x12, + 0xFC,0xBA,0x29,0x7A,0x2F,0xCF,0x8F,0xBE,0xBA,0x22,0x3B,0x7B,0x96,0xF1,0xF9,0xBF, + 0xDF,0xCD,0xF2,0x93,0xA7,0x28,0x0F,0x02,0x9F,0x05,0xB3,0x2E,0xDF,0x27,0x67,0xFF, + 0xE2,0xA6,0xB3,0xBF,0x8A,0xDE,0x9A,0x65,0x2F,0xA0,0xE8,0xFC,0xF9,0x23,0xF3,0x07, + 0x6D,0x00,0xC0,0x67,0xC1,0x17,0x3E,0xF7,0x22,0x96,0xDD,0xD9,0xB2,0x73,0xE0,0x06, + 0x00,0x78,0x16,0x64,0x57,0xCC,0xD8,0xDF,0xBF,0xF0,0xCE,0xA2,0xA6,0xB3,0xBF,0x8A, + 0xDE,0xA7,0xE6,0x64,0x59,0x77,0xCC,0xB4,0x16,0xCC,0x98,0x99,0xF5,0xBF,0x7C,0xD3, + 0x76,0x7D,0x26,0xE0,0xCC,0xF7,0xE7,0x82,0x9E,0xFF,0x42,0xD2,0xAC,0x3C,0x93,0xE7, + 0xC0,0x6F,0x6C,0x04,0xD1,0x74,0x04,0xD9,0x66,0x95,0xE0,0xBB,0xC9,0xF7,0xCE,0xF1, + 0x53,0x59,0xE7,0xF5,0x37,0x48,0x93,0x69,0x3E,0xA0,0xCF,0x02,0x29,0x6B,0xD8,0xD5, + 0xEF,0x38,0x71,0x46,0x8E,0x16,0x99,0x78,0x48,0xF3,0x01,0xBD,0x0B,0x04,0x27,0xDE, + 0x1C,0xDA,0x7C,0x80,0xCF,0x02,0xF0,0x21,0x57,0xBF,0xA3,0x73,0xEC,0x64,0x58,0x6F, + 0x2B,0xFD,0xFE,0x84,0x45,0x4F,0x0D,0x4D,0x1F,0x43,0x6B,0x77,0x45,0x09,0xF5,0xCD, + 0x99,0x14,0x70,0xCE,0x8E,0xED,0xD8,0xD5,0x7A,0xF6,0x57,0x81,0x73,0xBC,0xB3,0x67, + 0xFF,0xA4,0x1A,0x0A,0xC8,0xA7,0xA4,0x9B,0x5B,0xCF,0xFE,0x2A,0xF0,0x2C,0xD8,0x73, + 0x60,0x51,0xDB,0xD9,0x7F,0x09,0xD0,0xDE,0xB1,0x47,0xA1,0x51,0xB0,0x25,0xF6,0x32, + 0x9A,0x36,0xA0,0xA9,0xC5,0x17,0xD9,0xF6,0x0A,0xCE,0x9D,0x37,0x61,0x92,0x78,0x5B, + 0x8F,0xB9,0xC9,0x20,0xFF,0xDB,0xDF,0x4D,0xAA,0x60,0xAC,0x69,0x89,0x03,0xE2,0x2F, + 0xBB,0xCC,0x84,0x8B,0xC2,0x94,0xFB,0xD4,0x5C,0x9D,0x02,0xC9,0x9C,0x1C,0x72,0x88, + 0x98,0x34,0x00,0x13,0x4F,0xAC,0x97,0x85,0x0F,0x39,0x33,0x0D,0xFD,0x59,0xEF,0xCF, + 0x26,0xD6,0xDD,0x6F,0xDA,0x70,0xF4,0x6E,0xB8,0x9E,0x34,0x59,0x4C,0x6C,0xD9,0xC0, + 0x39,0x26,0x85,0x0F,0x48,0x2D,0xEB,0xEF,0xDD,0x6B,0xDA,0xC5,0x83,0x3D,0x0A,0x8D, + 0x8A,0x3D,0x6C,0xE8,0x5D,0x7D,0x03,0xDA,0x1B,0x9C,0x6E,0x44,0x2B,0x7A,0x57,0x7F, + 0x52,0xDE,0x8A,0x3D,0xBD,0x79,0x37,0x9A,0x65,0x30,0x7A,0x77,0x2E,0xCE,0xF2,0x89, + 0x77,0x0F,0xF6,0x3F,0xFA,0x11,0xB3,0x0C,0xC1,0x9C,0x8F,0xBF,0x48,0x9A,0x04,0xF0, + 0x70,0xCE,0xCF,0xBE,0x7D,0x08,0x73,0x4C,0x06,0xBD,0x25,0x1A,0xC7,0x35,0x5C,0x3A, + 0x9A,0xFA,0x55,0xB3,0xD5,0xDA,0xCD,0xDF,0x80,0xE2,0xA7,0x20,0x19,0x92,0x7E,0xFB, + 0xD5,0x4F,0x41,0x95,0x6F,0xC1,0xF2,0xED,0x96,0x1C,0x3E,0xFB,0xA4,0xA4,0xBE,0xB1, + 0x8D,0x4F,0x2E,0x19,0x74,0xE6,0xE3,0xCA,0xEC,0xDF,0x73,0xC7,0x7E,0xE6,0xC6,0xC7, + 0xD3,0xC7,0xBF,0x8B,0xBF,0xE3,0xB6,0x82,0x57,0xFE,0x9C,0xD9,0xD2,0x7C,0xA9,0xEB, + 0xE4,0x5B,0x43,0xCF,0xFC,0xDE,0xDA,0x7B,0x0E,0xF9,0xD5,0x98,0x7F,0x6F,0x7C,0xE1, + 0xC0,0x33,0x1F,0x57,0xFF,0xEA,0xA5,0x7B,0xF9,0x69,0xC5,0x7F,0xED,0x0C,0x9F,0x62, + 0xC2,0xEF,0xFE,0xD0,0x93,0x5F,0x3D,0x61,0x0F,0xB2,0xFA,0xF8,0xAB,0xA9,0xFF,0x5A, + 0x2A,0xB9,0x30,0x96,0x9F,0x80,0x64,0x0E,0xB1,0xC9,0xA7,0xA0,0xD2,0xCF,0xD4,0x0D, + 0x47,0x10,0x23,0x35,0x29,0x44,0xAC,0x16,0x32,0x79,0xD0,0x95,0xC3,0x20,0xED,0xD6, + 0x78,0x98,0xC8,0x2D,0x36,0xEF,0x0F,0xBB,0x0B,0x78,0x65,0x62,0x1C,0xF3,0xE7,0xFD, + 0xA1,0x77,0xC1,0x9C,0xD9,0xF2,0xD1,0xD4,0xE6,0x53,0xB9,0x15,0xB8,0xFA,0xAD,0x26, + 0xBC,0xFA,0xC3,0xEE,0x02,0x5E,0xFD,0xFA,0x51,0x11,0xF5,0x03,0x5C,0x83,0x18,0x2A, + 0x6B,0xA3,0x62,0x3E,0xE8,0x82,0x20,0xEB,0x5C,0x94,0x19,0x66,0x7E,0xC2,0x72,0x55, + 0xD0,0xF4,0x0C,0x48,0x07,0xC9,0xCB,0x06,0x79,0xD3,0x63,0xF3,0xBD,0x20,0x9B,0x2C, + 0xE8,0x88,0xE5,0x98,0xFE,0x27,0x66,0x8F,0xB7,0x3D,0x0B,0x70,0xF5,0xE7,0x97,0xCF, + 0x78,0x3E,0x8C,0x97,0x31,0xFD,0xDB,0x6E,0x3E,0xA0,0xDE,0x3A,0x78,0xF5,0x23,0xAF, + 0x36,0x89,0x34,0xE8,0x59,0xD0,0xBF,0x69,0xEE,0x21,0xCB,0xCD,0x1A,0xF3,0x99,0xEF, + 0xDB,0xDF,0xFA,0x2C,0x90,0xAB,0xBF,0xFF,0xE1,0x59,0x38,0xFB,0x51,0xB7,0x8E,0x09, + 0xEB,0xD5,0xF1,0xAC,0x31,0x5D,0x23,0x7D,0xC6,0x01,0xEF,0x53,0x1A,0xEB,0x32,0xF3, + 0x59,0x5C,0x05,0xB5,0x0D,0xE8,0x2E,0xF9,0xC6,0x6B,0x9A,0x80,0x03,0xD2,0xE4,0x98, + 0xD0,0x92,0x24,0x93,0x44,0x2E,0x3E,0x51,0x74,0x22,0x8D,0x15,0x6A,0xBB,0x0B,0xE2, + 0xD5,0xCF,0x71,0x21,0x4F,0xEB,0x5D,0x70,0xD5,0x95,0x38,0x4E,0x74,0x1E,0xA7,0xAB, + 0xAE,0x3C,0x6C,0xDE,0x12,0x78,0xF5,0xC7,0x9A,0x84,0x6B,0xFE,0xB6,0xBB,0xA0,0x74, + 0xF5,0xB3,0xA9,0xC2,0xB9,0x06,0x8E,0xC7,0xAB,0x54,0x23,0x75,0xEF,0x85,0xE6,0x8E, + 0x32,0x7B,0xC6,0xC0,0x18,0xAF,0xF9,0xE4,0x4B,0xD8,0xD2,0xDA,0x8F,0x71,0x0C,0xA9, + 0xA2,0x18,0x7F,0xFA,0xD3,0x3C,0x97,0xF9,0x0C,0xF0,0xF3,0x5D,0x08,0x7F,0x09,0x0B, + 0xCF,0x81,0xC0,0xFD,0x19,0x90,0x3C,0x0B,0xEC,0xF9,0x00,0xEE,0xCF,0x11,0xCD,0x17, + 0x48,0x7F,0x1E,0xC6,0xFC,0xD4,0xAD,0x5C,0xDA,0x04,0xCE,0x69,0x53,0xAE,0x7A,0x33, + 0xC2,0x2A,0x28,0xC4,0x85,0x73,0x94,0x28,0xA9,0x2E,0x0D,0x96,0x37,0x97,0x9B,0xC9, + 0xCF,0xFD,0x28,0xFB,0xF9,0x1E,0x7D,0xE0,0xA5,0x67,0x81,0xC7,0xB9,0xCD,0x74,0xCD, + 0x29,0xD3,0xE3,0xFC,0x5F,0xFA,0x3A,0x2A,0x49,0xD1,0x74,0x04,0xE9,0x5D,0x60,0x2B, + 0xD7,0xC2,0x7D,0x61,0x90,0x61,0x0F,0x1C,0xAF,0x94,0xDB,0x64,0x1E,0x5B,0xFE,0x39, + 0x36,0x25,0xFE,0x25,0xA0,0x34,0x26,0xF8,0xEA,0xF1,0x1A,0xD3,0x4E,0xEA,0x97,0xB9, + 0x32,0x6D,0x9A,0xCE,0x1B,0xEB,0x52,0x1F,0x38,0xD6,0xE3,0x72,0x3B,0xF9,0xFA,0xA2, + 0xAC,0x7F,0xB2,0x0C,0xF5,0xBA,0xCF,0xF3,0xA0,0x3D,0x66,0x77,0x5B,0x88,0x83,0x2B, + 0x6B,0x6C,0x3E,0xD0,0xB8,0x01,0x40,0xF7,0x8E,0x7B,0xE5,0x28,0x42,0x12,0x66,0xC7, + 0x82,0x9C,0x5B,0xE2,0x4A,0x41,0xE4,0xB4,0xA1,0x58,0xC8,0x91,0x74,0x33,0x35,0x26, + 0xF1,0xE9,0x26,0x38,0x49,0x84,0xCA,0x36,0x87,0xE5,0x8F,0x36,0xB7,0x37,0x51,0xD9, + 0x87,0x64,0x71,0xAC,0xE9,0x94,0xE5,0xFE,0x0C,0xF2,0x20,0x8A,0x0D,0x57,0x1D,0xB2, + 0xAD,0x8B,0x36,0xF4,0x42,0x7D,0xBE,0x2E,0xCA,0xCE,0xE1,0xA3,0x1D,0x8B,0xC2,0x27, + 0x9F,0xC6,0xE6,0x03,0xAD,0x1B,0x00,0x70,0x13,0x74,0x22,0xA8,0x4D,0xDC,0xC9,0x37, + 0xC6,0x0A,0x77,0x3B,0xC2,0xD2,0x38,0xC8,0x42,0x95,0x4D,0xB0,0x8D,0xF0,0x05,0xFA, + 0xF8,0xB4,0xA9,0xB0,0x99,0xDD,0x72,0x44,0x1F,0xA8,0xE2,0xAF,0x6C,0x88,0xE9,0x70, + 0xD6,0xFC,0x98,0x13,0x35,0xB2,0xCE,0xE0,0x43,0xAE,0xD8,0x70,0xAD,0xD7,0xC7,0x22, + 0x56,0x63,0xE2,0xDA,0x24,0x56,0xA0,0x3E,0xE3,0x1A,0xDF,0xBD,0xAD,0xBD,0xF9,0x00, + 0xB3,0x4C,0x06,0xC5,0xAE,0xA7,0xEC,0xFB,0x41,0xF5,0xBC,0x4F,0x74,0x9E,0xFD,0x3C, + 0xD3,0x61,0x4F,0x64,0x52,0xFA,0x3C,0x40,0xCA,0xC4,0x87,0x3A,0xB8,0x0D,0x02,0xEA, + 0xEA,0x37,0x21,0xEA,0x80,0xD9,0x02,0xC2,0x12,0x98,0x45,0x21,0x42,0xC8,0xE2,0x59, + 0xD9,0x14,0xC4,0xA0,0x61,0x6E,0x87,0x5C,0x26,0x9E,0xDD,0xD8,0x04,0xB9,0x36,0xC1, + 0x55,0x17,0xE2,0xF9,0x0F,0xBB,0x9F,0xEF,0xF0,0xC9,0x25,0xEC,0xCF,0x0A,0x3F,0xFB, + 0x95,0x77,0x6F,0x5F,0x3E,0xF0,0x5F,0x43,0x38,0x42,0xC9,0x53,0x45,0xB1,0xF3,0x89, + 0xEB,0xC2,0x83,0xB6,0xB4,0x11,0x94,0x61,0x93,0xE5,0xB9,0x1E,0x28,0xD9,0x04,0x64, + 0x71,0x3B,0xEA,0x20,0x47,0x7F,0xC8,0xA9,0x2B,0x4C,0x07,0x82,0x50,0x81,0x85,0x2A, + 0x63,0x16,0x1F,0xC5,0x23,0x07,0x36,0x34,0x47,0xB9,0xF8,0x20,0xA3,0x89,0x66,0x6F, + 0x22,0xFF,0x52,0x15,0x37,0x41,0xB8,0xEB,0xA1,0xD9,0xA1,0xF9,0xDD,0xBB,0x56,0xFE, + 0x1A,0x13,0x4D,0x15,0x56,0xF9,0xA5,0xA1,0x78,0x66,0xF3,0x67,0xAD,0xF9,0xB2,0xC4, + 0xE4,0xDB,0x70,0xB9,0xF9,0x4E,0x71,0x13,0x00,0xDA,0x50,0x07,0x6C,0xE4,0x6C,0x01, + 0x75,0x07,0x75,0x15,0x9A,0x61,0x6E,0x64,0x72,0x41,0x4D,0xDA,0x28,0xE5,0x51,0x2F, + 0xCB,0xCD,0x64,0x4D,0xEF,0xAE,0x7C,0xE8,0x17,0x08,0x7E,0xAF,0x60,0x95,0x4F,0x0F, + 0x8A,0x1D,0x0F,0x7F,0x9E,0x0D,0x0D,0x77,0x42,0x89,0x62,0xE3,0x55,0xC7,0x10,0xB3, + 0xA1,0x0E,0xD8,0x60,0x4A,0x74,0x81,0xBC,0x99,0x1D,0x08,0x42,0x05,0xB6,0x0C,0x8C, + 0xE2,0x2B,0x19,0x85,0x66,0x46,0x8E,0xA6,0xA6,0x72,0x2B,0x75,0x57,0x6D,0xFA,0xDF, + 0xFF,0xE7,0xE9,0x6D,0x28,0xB6,0x6D,0xBA,0x21,0x3C,0x13,0x4A,0x4D,0x47,0x5B,0x4A, + 0xBA,0xC0,0x62,0xD8,0x32,0xE7,0x60,0xBA,0x01,0x1C,0xA3,0x06,0xA0,0x54,0xAF,0x2B, + 0xE2,0x95,0x97,0x68,0x3E,0x02,0x40,0x23,0x55,0xC0,0x0B,0x7E,0x66,0x32,0x7B,0x68, + 0x74,0x24,0xDA,0xB2,0xEE,0xEA,0x47,0x7E,0xC6,0x61,0xFF,0x25,0xF8,0x1A,0xDE,0x53, + 0x14,0xDF,0x5E,0x7F,0xA3,0x36,0x1C,0x4D,0xD5,0x8D,0xE8,0x3E,0xF0,0xD8,0x11,0x73, + 0x97,0x50,0x3C,0xF2,0xCD,0x05,0x1A,0x67,0x30,0xB9,0xBB,0xF1,0xC9,0x83,0xD4,0x2B, + 0x28,0x36,0xAD,0xC2,0x7F,0xDC,0xA8,0x34,0x5B,0xE2,0x37,0x6C,0x6D,0xFE,0x8F,0x1E, + 0x8F,0xAE,0x9D,0x87,0x46,0x0B,0xF1,0xFC,0xEE,0xAE,0x7D,0x74,0xF8,0xDF,0x47,0x47, + 0x18,0x61,0x84,0x11,0x46,0x18,0x61,0x84,0x11,0x46,0x98,0x56,0x64,0xD9,0x7F,0x00, + 0x16,0x15,0xCD,0xD0,0xA5,0x58,0xB8,0xAE,0x00,0x00,0x00,0x00,0x49,0x45,0x4E,0x44, + 0xAE,0x42,0x60,0x82, +}; // soilheater_on_png, 3012 bytes + +// File: soilmoisture.png +// +const char soilmoisture_png[] PROGMEM = { + 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, + 0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x28,0x08,0x03,0x00,0x00,0x00,0x2B,0x33,0x31, + 0x90,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, + 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, + 0x00,0x2A,0x50,0x4C,0x54,0x45,0xCF,0xCF,0xC1,0xCF,0xCF,0xBF,0xD1,0xD1,0x92,0xEF, + 0xEF,0x30,0xD7,0xD7,0x77,0xD7,0xD7,0x83,0xFF,0xFF,0x00,0xDF,0xDF,0x60,0xBF,0xBF, + 0xBF,0xCF,0xCF,0x9B,0xCF,0xCF,0x9F,0xC7,0xC7,0xB3,0xC1,0xC1,0xBE,0x00,0x00,0x00, + 0xDB,0xEE,0xE4,0x29,0x00,0x00,0x00,0x0E,0x74,0x52,0x4E,0x53,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x45,0xC0,0xDC,0xC8,0x00,0x00, + 0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0E,0xC3,0x00,0x00,0x0E,0xC3,0x01,0xC7, + 0x6F,0xA8,0x64,0x00,0x00,0x00,0x3E,0x49,0x44,0x41,0x54,0x38,0x4F,0x63,0xE0,0xC5, + 0x04,0x0C,0xBC,0x0C,0x8C,0x68,0x00,0x28,0xC6,0xC4,0x8C,0x0A,0x58,0x80,0x62,0xAC, + 0x6C,0xA8,0x80,0x9D,0x56,0x62,0xAC,0x1C,0x20,0xC0,0x89,0x22,0xC6,0x05,0x76,0x2C, + 0xF7,0xA8,0xD8,0xA8,0x18,0x39,0x62,0xE0,0x14,0xC5,0x01,0x16,0xE3,0x81,0x30,0x31, + 0xF3,0x02,0x2F,0x2F,0x00,0xB0,0x20,0x19,0xAD,0x8A,0xD2,0x78,0xC1,0x00,0x00,0x00, + 0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, +}; // soilmoisture_png, 249 bytes + +// File: thermometer.png +// +const char thermometer_png[] PROGMEM = { + 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, + 0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x26,0x08,0x06,0x00,0x00,0x00,0x1B,0x75,0xC1, + 0xB4,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, + 0x00,0x04,0x67,0x41,0x4D,0x41,0x00,0x00,0xB1,0x8F,0x0B,0xFC,0x61,0x05,0x00,0x00, + 0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0E,0xC3,0x00,0x00,0x0E,0xC3,0x01,0xC7, + 0x6F,0xA8,0x64,0x00,0x00,0x02,0x9E,0x49,0x44,0x41,0x54,0x48,0x4B,0xED,0x95,0xCB, + 0x4F,0x13,0x51,0x18,0xC5,0xCF,0xBC,0xA7,0x53,0x6D,0xE9,0x83,0xDA,0x49,0xB5,0x24, + 0x0D,0x41,0x09,0x2B,0x09,0xC1,0x85,0xC6,0x05,0x91,0xB8,0x36,0x46,0x57,0xAE,0x34, + 0x6E,0x8C,0x1B,0x57,0xFE,0x25,0xBA,0x74,0xA1,0x18,0xE2,0x4E,0xDD,0x54,0xC2,0x02, + 0x0C,0xC6,0x85,0x09,0x98,0x18,0x34,0x80,0xF2,0xB2,0x42,0x5F,0x4C,0x6B,0x53,0x3A, + 0x9D,0xCE,0x83,0x2B,0x73,0x3B,0x92,0x4C,0xCB,0x42,0x76,0x62,0xFC,0x6D,0x6E,0xEE, + 0xF9,0xBE,0x93,0xEF,0xCE,0x9D,0xE4,0x5C,0x1C,0x4F,0x18,0x6F,0xED,0xA2,0x5C,0x2E, + 0x93,0x7C,0x3E,0x8F,0x58,0x2C,0x86,0x54,0x2A,0x75,0x68,0x5F,0x97,0x68,0xDB,0x36, + 0x99,0x7D,0x3B,0x87,0x5A,0x5D,0x07,0xC4,0x08,0x58,0x67,0x17,0x02,0xEB,0x60,0xFC, + 0xCA,0x18,0x24,0x49,0xF2,0xF5,0x77,0x99,0xE7,0x17,0x3E,0x92,0xEF,0xA5,0x16,0xC4, + 0x50,0x9F,0xA7,0x00,0x56,0xA3,0x80,0x68,0x40,0xC7,0xE5,0x4B,0x17,0x7D,0xFD,0xAC, + 0xB7,0x52,0xDC,0xA9,0xEB,0xEB,0x1B,0xE0,0x95,0x53,0x9E,0xD2,0x86,0x57,0x12,0xC8, + 0x6F,0x6D,0xD1,0xBA,0x27,0x51,0x7C,0x66,0x97,0x96,0xA1,0x83,0xE5,0x65,0x6F,0xD7, + 0x86,0x61,0x58,0x30,0x1C,0x0F,0xC3,0x30,0x3C,0xA5,0x4D,0x97,0xF9,0x28,0xFC,0x4B, + 0x66,0x96,0x21,0x88,0xB4,0x36,0x10,0x6B,0xAC,0x20,0x6A,0xAC,0xED,0x37,0xD9,0x5E, + 0xC5,0xCF,0xE1,0x93,0x89,0x03,0xDE,0xD1,0x31,0xF8,0xF0,0x01,0xE4,0x4A,0x11,0xDC, + 0x91,0xCC,0xFB,0x30,0xB6,0x83,0xD0,0xC2,0x02,0xD8,0x66,0xD3,0x53,0xBA,0xF9,0xCB, + 0x2E,0xEC,0x4F,0xF9,0x6F,0x3E,0x22,0x3E,0x73,0xA1,0x50,0x80,0x12,0xEA,0xF5,0x76, + 0x7E,0x24,0x25,0x8E,0xDC,0x8F,0x2D,0x6F,0xD7,0xE6,0xC0,0x5C,0xA9,0x54,0xC8,0x87, + 0xF9,0x4F,0x10,0xA2,0x43,0x08,0xDA,0x1A,0xC4,0x72,0x99,0xEA,0xD2,0xF6,0x36,0x14, + 0x53,0x03,0xDF,0xD3,0x8F,0xE5,0xB5,0x3C,0x56,0xBE,0x7E,0x3B,0x48,0x13,0x9A,0x49, + 0xBA,0xAE,0x93,0xEC,0x9B,0x69,0x48,0x89,0x61,0x44,0xF5,0x4D,0xA4,0x5E,0x4E,0x22, + 0xF5,0xEC,0x29,0xB8,0x7A,0x1D,0x7B,0xA2,0x88,0xE2,0x8D,0x9B,0xC8,0xDD,0xBA,0x8D, + 0x9D,0xF0,0x39,0x98,0xDA,0x22,0x46,0x87,0x87,0x68,0xA2,0xD2,0xC9,0x8B,0x9F,0xBF, + 0x80,0x55,0x54,0x04,0x51,0x47,0x72,0x26,0x8B,0xF4,0xE3,0x47,0xD4,0xE8,0xC2,0x9A, + 0x26,0xD4,0xE7,0x13,0x38,0x33,0xF1,0x04,0x61,0x33,0x0F,0x26,0xA0,0x62,0x69,0x79, + 0xA5,0x5D,0x73,0x43,0xAD,0x54,0x2A,0x83,0x95,0x42,0x08,0x34,0xCB,0x88,0x4D,0x65, + 0x69,0xA1,0x93,0xC4,0xEB,0x57,0x10,0xB8,0x26,0xF8,0x40,0x14,0xA5,0x62,0x91,0x86, + 0x21,0x9D,0x6C,0x59,0x16,0x58,0x56,0x80,0x7B,0x0E,0x41,0xD3,0x68,0x73,0x27,0xEE, + 0x49,0x88,0xC0,0xD3,0x30,0xDC,0xDB,0x73,0xA8,0x46,0xCD,0xBD,0xF1,0x38,0x6C,0xA3, + 0x06,0x07,0x02,0xF4,0x81,0x01,0x5A,0xE8,0xC4,0xD5,0x99,0x46,0x0B,0x8E,0xB9,0x8B, + 0x93,0xA1,0x30,0xD5,0x58,0x9E,0xE7,0x99,0x44,0x22,0xBE,0x1F,0xDA,0x75,0xD4,0x95, + 0xD3,0xC8,0xDD,0xBB,0x4F,0x0B,0x9D,0xE4,0xEE,0xDC,0xC5,0xAE,0x98,0x80,0x63,0x54, + 0x91,0x4C,0x26,0xE1,0xFA,0xE8,0x6D,0xBB,0xE7,0xCF,0x4E,0x4D,0x83,0x04,0xFB,0x11, + 0x42,0x13,0xE1,0xC2,0x12,0xD4,0x17,0x93,0x08,0x6C,0x6E,0xA2,0xA5,0xAA,0x28,0x5E, + 0xBB,0x8E,0x7A,0xDF,0x20,0x34,0x49,0x85,0x5D,0x5D,0xC4,0xD5,0xF1,0x31,0x28,0x8A, + 0xD2,0x36,0xBB,0xB8,0xFF,0x79,0x66,0x76,0x0E,0x7C,0xE4,0x2C,0x64,0x59,0x46,0xB0, + 0xB5,0x03,0xDE,0x6A,0xC0,0xE1,0x64,0x34,0xE4,0x5E,0xB4,0x6C,0x06,0x56,0x75,0x09, + 0x23,0xE7,0x87,0x90,0x4E,0xA7,0xA9,0xCF,0xF7,0xF6,0xD4,0x6A,0x35,0x32,0xF7,0xEE, + 0x3D,0x2C,0x22,0x83,0x70,0x41,0x70,0xE2,0x09,0x38,0x96,0x0E,0xC6,0x69,0x80,0x98, + 0x3F,0x71,0x61,0x74,0xC4,0xF7,0x62,0xFA,0xCC,0xBF,0x59,0x5D,0x5D,0x25,0x95,0x4A, + 0x15,0x3B,0x5A,0x05,0x3D,0x3D,0x61,0xC4,0xA2,0x11,0x64,0x32,0x19,0xFA,0x9D,0x5E, + 0xCB,0xF1,0x05,0xF8,0x05,0x93,0x5D,0x02,0xA9,0x47,0x4F,0xA7,0xF8,0x00,0x00,0x00, + 0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82, +}; // thermometer_png, 777 bytes + +// File: water.png +// +const char water_png[] PROGMEM = { 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,0x0D,0x49,0x48,0x44,0x52, 0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x43,0x08,0x03,0x00,0x00,0x00,0xBB,0xBC,0x9B, 0xAC,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xAE,0xCE,0x1C,0xE9,0x00,0x00, @@ -3495,25 +4584,33 @@ const char Water_png[] PROGMEM = { 0x47,0x1A,0xB4,0xFD,0x0F,0x94,0x2B,0x83,0xB6,0xDF,0x35,0x12,0x83,0x4E,0xE2,0xF8, 0x17,0x10,0x4C,0xD8,0xAF,0xAD,0x7C,0x4D,0x0E,0x00,0x00,0x00,0x00,0x49,0x45,0x4E, 0x44,0xAE,0x42,0x60,0x82, -}; // Water_png, 869 bytes +}; // water_png, 869 bytes // Prototypes: // const char about_htm[] PROGMEM // const char about_js[] PROGMEM -// const char Button_css[] PROGMEM +// const char button_css[] PROGMEM // const char curr_htm[] PROGMEM // const char curr_js[] PROGMEM // const char favicon_ico[] PROGMEM -// const char Green1x1_png[] PROGMEM -// const char Heater_png[] PROGMEM +// const char green1x1_png[] PROGMEM // const char icon_png[] PROGMEM // const char index_htm[] PROGMEM // const char index_js[] PROGMEM -// const char Open_png[] PROGMEM -// const char PlantModel_png[] PROGMEM +// const char myip_js[] PROGMEM +// const char nav_js[] PROGMEM +// const char navigation_htm[] PROGMEM +// const char open_png[] PROGMEM +// const char plantmodel_css[] PROGMEM +// const char plantmodel_png[] PROGMEM +// const char pointer_png[] PROGMEM // const char rssi_htm[] PROGMEM // const char rssi_js[] PROGMEM -// const char Water_png[] PROGMEM +// const char soilheater_off_png[] PROGMEM +// const char soilheater_on_png[] PROGMEM +// const char soilmoisture_png[] PROGMEM +// const char thermometer_png[] PROGMEM +// const char water_png[] PROGMEM // Directory of Files // @@ -3521,29 +4618,37 @@ const char Water_png[] PROGMEM = { // an empty "" Filename is reached. // typedef struct { - const char * Filename; - const char * Filedata; - const char * Filetype; - uint16_t Filesize; + const char * Filename; + const char * Filedata; + const char * Filetype; + uint16_t Filesize; } DirEntry; const DirEntry Directory[] PROGMEM = { - { "Button.css", Button_css, "text/css", 404 }, - { "Green1x1.png", Green1x1_png, "image/png", 119 }, - { "Heater.png", Heater_png, "image/png", 443 }, - { "Open.png", Open_png, "image/png", 655 }, - { "PlantModel.png", PlantModel_png, "image/png", 28345 }, - { "Water.png", Water_png, "image/png", 869 }, - { "about.htm", about_htm, "text/html", 1839 }, - { "about.js", about_js, "application/javascript", 605 }, - { "curr.htm", curr_htm, "text/html", 1196 }, - { "curr.js", curr_js, "application/javascript", 3615 }, - { "favicon.ico", favicon_ico, "image/x-icon", 4286 }, - { "icon.png", icon_png, "image/png", 8721 }, - { "index.htm", index_htm, "text/html", 5713 }, - { "index.js", index_js, "application/javascript", 1408 }, - { "rssi.htm", rssi_htm, "text/html", 1194 }, - { "rssi.js", rssi_js, "application/javascript", 2770 }, - { "", NULL, NULL, 0 } + { "/about.htm" , about_htm , "text/html", 1468 }, + { "/about.js" , about_js , "text/javascript", 635 }, + { "/button.css" , button_css , "text/css", 912 }, + { "/curr.htm" , curr_htm , "text/html", 956 }, + { "/curr.js" , curr_js , "text/javascript", 3756 }, + { "/favicon.ico" , favicon_ico , "image/x-icon", 4286 }, + { "/green1x1.png" , green1x1_png , "image/png", 119 }, + { "/icon.png" , icon_png , "image/png", 8721 }, + { "/index.htm" , index_htm , "text/html", 5346 }, + { "/index.js" , index_js , "text/javascript", 4528 }, + { "/myip.js" , myip_js , "text/javascript", 167 }, + { "/nav.js" , nav_js , "text/javascript", 684 }, + { "/navigation.htm" , navigation_htm , "text/html", 557 }, + { "/open.png" , open_png , "image/png", 14893 }, + { "/plantmodel.css" , plantmodel_css , "text/css", 3982 }, + { "/plantmodel.png" , plantmodel_png , "image/png", 22369 }, + { "/pointer.png" , pointer_png , "image/png", 418 }, + { "/rssi.htm" , rssi_htm , "text/html", 954 }, + { "/rssi.js" , rssi_js , "text/javascript", 2879 }, + { "/soilheater_off.png", soilheater_off_png , "image/png", 488 }, + { "/soilheater_on.png", soilheater_on_png , "image/png", 3012 }, + { "/soilmoisture.png" , soilmoisture_png , "image/png", 249 }, + { "/thermometer.png" , thermometer_png , "image/png", 777 }, + { "/water.png" , water_png , "image/png", 869 }, + { NULL , NULL , NULL, 0 } }; diff --git a/Firmware/Web_RootPage.cpp b/Firmware/Web_RootPage.cpp deleted file mode 100644 index c7a62cd..0000000 --- a/Firmware/Web_RootPage.cpp +++ /dev/null @@ -1,33 +0,0 @@ - -#include - -#include "ProjGlobals.h" -#include "Web_RootPage.h" -#include "GrowController.h" -#include "Web_Resources.h" - -void HandleRootPage() { - if (server.hasArg("SW")) { - String newState = server.arg("SW"); - if (newState == "1") { - SetCircuit(CMD_On); - Serial.printf("SW 1\n"); - } else if (newState == "0") { - SetCircuit(CMD_Off); - Serial.printf("SW 0\n"); - } else if (newState == "2") { - SetCircuit(CMD_Toggle); - Serial.printf("SW 2\n"); - } else { - Serial.printf("SW %s ???\n", newState.c_str()); - ; // no action - } - } - String modeText = (isStationMode) ? "Station mode
" : "Access Point mode
"; - String status = GetCircuitStatus() ? "On
" : "Off
"; - String myIP = String(WiFi.localIP()[0]); - myIP += "." + String(WiFi.localIP()[1]); - myIP += "." + String(WiFi.localIP()[2]); - myIP += "." + String(WiFi.localIP()[3]); - server.send_P(200, "text/html", index_htm); -} diff --git a/Firmware/Web_RootPage.h b/Firmware/Web_RootPage.h deleted file mode 100644 index 89c471b..0000000 --- a/Firmware/Web_RootPage.h +++ /dev/null @@ -1,7 +0,0 @@ - -#ifndef WEB_ROOTPAGE_H -#define WEB_ROOTPAGE_H - -void HandleRootPage(); - -#endif // WEB_ROOTPAGE_H diff --git a/Firmware/WiFiConfiguration.h b/Firmware/WiFiConfiguration.h index 6c37ea4..314ea26 100644 --- a/Firmware/WiFiConfiguration.h +++ b/Firmware/WiFiConfiguration.h @@ -26,30 +26,29 @@ /// class ConfigManager { public: - ConfigManager(); - void load(); - void save(); - void factoryReset(); - String getName(); - void setName(String _name); - String getSSID(); - void setSSID(String _ssid); - String getPassword(); - void setPassword(String _password); - String getURL(); - void setURL(String _url); - uint16_t getOnRef(); - void setOnRef(uint16 onR); - uint16_t getOffRef(); - void setOffRef(uint16 offR); - uint16_t getAutoOff(); - void setAutoOff(uint16 autoOff); - #if 0 - String getNTPServerName(); - void setNTPServerName(String _name); - #endif + ConfigManager(); + void load(); + void save(); + void factoryReset(); + String getName(); + void setName(String _name); + String getSSID(); + void setSSID(String _ssid); + String getPassword(); + void setPassword(String _password); + String getURL(); + void setURL(String _url); + uint16_t getOnRef(); + void setOnRef(uint16 onR); + uint16_t getOffRef(); + void setOffRef(uint16 offR); + uint16_t getAutoOff(); + void setAutoOff(uint16 autoOff); + #if 0 + String getNTPServerName(); + void setNTPServerName(String _name); + #endif private: }; - #endif // !WIFICONFIGURATION_H diff --git a/Firmware/WiFiStateHandler.cpp b/Firmware/WiFiStateHandler.cpp new file mode 100644 index 0000000..c385dc7 --- /dev/null +++ b/Firmware/WiFiStateHandler.cpp @@ -0,0 +1,103 @@ +// +// +// + +#include "ProjGlobals.h" +#include "WiFiStateHandler.h" + +WiFiConnectState wifiConState; ///< Track the current WiFi state + + +void WiFiStateSet(WiFiConnectState newState) { + wifiConState = newState; +} + +WiFiConnectState WiFiStateGet() { + return wifiConState; +} + +WiFiConnectState WiFiStateHandler() { + static unsigned long timeStateChange = 0; + // @todo static unsigned long timeLEDControl; + // @todo unsigned long timeLEDCycle; + String ssid = wifiConfig.getSSID(); + String pass = wifiConfig.getPassword(); + IPAddress myIP; + + // @todo + #if 0 + timeLEDCycle = millis() - timeLEDControl; + if (timeLEDCycle >= LED_PERIOD__MS) { + timeLEDControl = millis(); + timeLEDCycle = 0; + } + #endif + + switch (wifiConState) { + case WFC_ConnectToAP: + // @todo isStationMode = true; + WiFi.mode(WIFI_STA); + wifi_set_sleep_type(NONE_SLEEP_T); // rumor is that this fixes multicast receive + //ssid = wifiConfig.getSSID(); + //pass = wifiConfig.getPassword(); + WiFi.begin(ssid.c_str(), pass.c_str()); + timeStateChange = millis(); + // @todo timeLEDControl = timeStateChange; + wifiConState = WFC_JoiningAP; + break; + case WFC_JoiningAP: + // @todo if (timeLEDCycle <= LED_JOINING_MS) { + // @todo SetLED(LED_WIFI, 1); + // @todo } else { + // @todo SetLED(LED_WIFI, 0); + // @todo } + if (WiFi.status() == WL_CONNECTED) { + myIP = WiFi.localIP(); + Serial.printf("IP Address: %s\n", myIP.toString().c_str()); + timeStateChange = millis(); + //StartWebServer(); + wifiConState = WFC_JoinedAP; + } else if (millis() - timeStateChange > 30000) { + timeStateChange = millis(); + wifiConState = WFC_CreateAP; // failed for 30 sec, now what. retry or CreateAP? + } + break; + case WFC_CreateAP: + // @todo if (timeLEDCycle <= LED_APMODE__MS) { + // @todo SetLED(LED_WIFI, 1); + // @todo } else { + // @todo SetLED(LED_WIFI, 0); + // @todo } + // @todo isStationMode = false; + Serial.printf("Starting Access Point %s\n", AP_NAME.c_str()); + WiFi.softAP(AP_NAME.c_str()); + myIP = WiFi.softAPIP(); + Serial.printf("IP Address: %s\n", myIP.toString().c_str()); + // @todo dnsServer.start(DNS_PORT, "*", apIP); + timeStateChange = millis(); + //StartWebServer(); + wifiConState = WFC_HostingAP; + break; + case WFC_JoinedAP: + // @todo if (timeLEDCycle <= LED_JOINED__MS) { + // @todo SetLED(LED_WIFI, 1); + // @todo } else { + // @todo SetLED(LED_WIFI, 0); + // @todo } + // @todo server.handleClient(); + break; + case WFC_HostingAP: + // @todo if (timeLEDCycle <= LED_APMODE__MS) { + // @todo SetLED(LED_WIFI, 1); + // @todo } else { + // @todo SetLED(LED_WIFI, 0); + // @todo } + // @todo server.handleClient(); + // @todo dnsServer.processNextRequest(); + break; + default: + case WFC_Idle: + break; + } + return wifiConState; +} diff --git a/Firmware/WiFiStateHandler.h b/Firmware/WiFiStateHandler.h new file mode 100644 index 0000000..4bfcac0 --- /dev/null +++ b/Firmware/WiFiStateHandler.h @@ -0,0 +1,58 @@ +// +// +// WiFi Connection - handles the state - AP or Client +// +// + +#ifndef WIFISTATEHANDLER_H +#define WIFISTATEHANDLER_H +#include + +/// WiFi Connection States of connection +typedef enum { + WFC_ConnectToAP, ///< Connect to an Access Point + WFC_JoiningAP, ///< Joining the Access Point + WFC_JoinedAP, ///< Joined to the Access Point + WFC_CreateAP, ///< Create an Access Point + WFC_HostingAP, ///< Hosting an Access Point + WFC_Idle, ///< Idle take no action, or invalid +} WiFiConnectState; + +/// Get the current state +/// +/// @returns the current state +/// +WiFiConnectState WiFiStateGet(); + + +/// Called from the main loop to manage the WiFi connection state +/// +/// @returns current connection state +/// +/// @code +/// void loop() { +/// ... +/// WiFiStateHandler(); +/// ... +/// } +/// @endcode +WiFiConnectState WiFiStateHandler(); ///< WiFi interface manager + +/// Used to force a specific state +/// +/// @param[in] newState is the state to set the WiFi connection to +/// +/// @code +/// void setup() { +/// ... +/// if (ssid == "" || pass == "") +/// WiFiStateSet(WFC_CreateAP); +/// else +/// WiFiStateSet(WFC_ConnectToAP); +/// ... +/// } +/// @endcode +/// +void WiFiStateSet(WiFiConnectState newState); + +#endif // WIFISTATEHANDLER_H diff --git a/Firmware/WifiConfiguration.cpp b/Firmware/WifiConfiguration.cpp index 9e13a04..384824c 100644 --- a/Firmware/WifiConfiguration.cpp +++ b/Firmware/WifiConfiguration.cpp @@ -8,31 +8,31 @@ // Change this when it is required to force a reinitialization // -#define EXPECTED_FMT 0x03 +#define EXPECTED_FMT 0x03 typedef struct { - uint8_t format[2]; // Format of this data structure, and ~format - struct info { - char name[CFG_NAMESIZE]; // Name of this node - char ssid[CFG_SSIDSIZE]; // SSID of the saved network [max length defined by standard] - char pass[CFG_PASSSIZE]; // PASScode of the saved network - char updateURL[CFG_UURLSIZE]; // URL of the trusted server with code updates - uint16_t onRef; // A/D reference above which the output is considered 'On' - uint16_t offRef; // A/D reference below which the output is considered 'Off' - uint16_t autoOff; // When non-zero, this is the # minutes until auto-turn off - //char NTPIP[64]; // Name or IP of the NTP Server - char Padding[10]; - } info; + uint8_t format[2]; // Format of this data structure, and ~format + struct info { + char name[CFG_NAMESIZE]; // Network Discoverable Name of this node + char ssid[CFG_SSIDSIZE]; // SSID of the saved network [max length defined by standard] + char pass[CFG_PASSSIZE]; // PASScode of the saved network + char updateURL[CFG_UURLSIZE]; // URL of the trusted server with code updates + uint16_t onRef; // A/D reference above which the output is considered 'On' + uint16_t offRef; // A/D reference below which the output is considered 'Off' + uint16_t autoOff; // When non-zero, this is the # minutes until auto-turn off + //char NTPIP[64]; // Name or IP of the NTP Server + char Padding[10]; + } info; } Config_t; -#define OFS_FORMAT (0) -#define OFS_NAME (OFS_FORMAT + 2) -#define OFS_SSID (OFS_NAME + CFG_NAMESIZE) -#define OFS_PASS (OFS_SSID + CFG_SSIDSIZE) -#define OFS_URL (OFS_PASS + CFG_PASSSIZE) -#define OFS_ONREF (OFS_URL + CFG_UURLSIZE) -#define OFS_OFFREF (OFS_ONREF + sizeof(uint16_t)) +#define OFS_FORMAT (0) +#define OFS_NAME (OFS_FORMAT + 2) +#define OFS_SSID (OFS_NAME + CFG_NAMESIZE) +#define OFS_PASS (OFS_SSID + CFG_SSIDSIZE) +#define OFS_URL (OFS_PASS + CFG_PASSSIZE) +#define OFS_ONREF (OFS_URL + CFG_UURLSIZE) +#define OFS_OFFREF (OFS_ONREF + sizeof(uint16_t)) #define OFS_AUTOOFF (OFS_OFFREF + sizeof(uint16_t)) -//#define OFS_NTPIP (OFS_OFFREF + 2) +//#define OFS_NTPIP (OFS_OFFREF + 2) Config_t Configuration; @@ -41,117 +41,116 @@ ConfigManager::ConfigManager() { } void ConfigManager::factoryReset() { - Configuration.format[0] = EXPECTED_FMT; - Configuration.format[1] = ~EXPECTED_FMT; - strcpy(Configuration.info.name, "3-Way Switch"); - Configuration.info.ssid[0] = '\0'; - Configuration.info.pass[0] = '\0'; - //Configuration.info.updateURL[0] = '\0'; - strcpy(Configuration.info.updateURL, "https://192.168.1.201/mbed/ESP.php"); - Configuration.info.onRef = 150; - Configuration.info.offRef = 100; - Configuration.info.autoOff = 0; - //Configuration.info.NTPIP[0] = '\0'; + Configuration.format[0] = EXPECTED_FMT; + Configuration.format[1] = ~EXPECTED_FMT; + strcpy(Configuration.info.name, "3-Way Switch"); + Configuration.info.ssid[0] = '\0'; + Configuration.info.pass[0] = '\0'; + //Configuration.info.updateURL[0] = '\0'; + strcpy(Configuration.info.updateURL, "https://192.168.1.201/mbed/ESP.php"); + Configuration.info.onRef = 150; + Configuration.info.offRef = 100; + Configuration.info.autoOff = 0; + //Configuration.info.NTPIP[0] = '\0'; } void ConfigManager::load() { - EEPROM.begin(512); - - uint8_t * ptr = (uint8_t *) &Configuration; - uint8_t i = 0; - do { - *ptr++ = EEPROM.read(OFS_FORMAT + i++); - } while (i < sizeof(Configuration)); - if ((Configuration.format[0] & 0xFF) != (~Configuration.format[1] & 0xFF)) { - // Factory default - Serial.printf("Bad Configuration - reset to factory defaults\n"); - factoryReset(); - return; - } - Serial.printf("Loading from EEROM\n"); - Serial.printf("Node Name: %s\n", Configuration.info.name); - Serial.printf("SSID: %s\n", Configuration.info.ssid); - Serial.printf("PASS: %s\n", Configuration.info.pass); - Serial.printf("URL : %s\n", Configuration.info.updateURL); - Serial.printf("On Ref: %d\n", Configuration.info.onRef); - Serial.printf("Off Ref: %d\n", Configuration.info.offRef); - Serial.printf("Auto Off: %d\n", Configuration.info.autoOff); - //Serial.printf("NTP Svr: %s\n", Configuration.info.NTPIP); - delay(500); + EEPROM.begin(512); + uint8_t * ptr = (uint8_t *) &Configuration; + uint8_t i = 0; + do { + *ptr++ = EEPROM.read(OFS_FORMAT + i++); + } while (i < sizeof(Configuration)); + if ((Configuration.format[0] & 0xFF) != (~Configuration.format[1] & 0xFF)) { + // Factory default + Serial.printf("Bad Configuration - reset to factory defaults\n"); + factoryReset(); + return; + } + Serial.printf("Loading from EEROM\n"); + Serial.printf("Node Name: %s\n", Configuration.info.name); + Serial.printf("SSID: %s\n", Configuration.info.ssid); + Serial.printf("PASS: %s\n", Configuration.info.pass); + Serial.printf("URL : %s\n", Configuration.info.updateURL); + Serial.printf("On Ref: %d\n", Configuration.info.onRef); + Serial.printf("Off Ref: %d\n", Configuration.info.offRef); + Serial.printf("Auto Off: %d\n", Configuration.info.autoOff); + //Serial.printf("NTP Svr: %s\n", Configuration.info.NTPIP); + delay(500); } void ConfigManager::save(void) { - EEPROM.begin(512); - uint8_t * ptr = (uint8_t *) &Configuration; - uint8_t i = 0; - do { - EEPROM.write(OFS_FORMAT + i++, *ptr++); - } while (i < sizeof(Configuration)); - EEPROM.commit(); - delay(500); + EEPROM.begin(512); + uint8_t * ptr = (uint8_t *) &Configuration; + uint8_t i = 0; + do { + EEPROM.write(OFS_FORMAT + i++, *ptr++); + } while (i < sizeof(Configuration)); + EEPROM.commit(); + delay(500); } #if 0 String ConfigManager::getNTPServerName() { - return String(Configuration.info.NTPIP); + return String(Configuration.info.NTPIP); } void ConfigManager::setNTPServerName(String _name) { - strncpy(Configuration.info.NTPIP, _name.c_str(), sizeof(Configuration.info.NTPIP)); - Serial.printf("setNTPServerName(%s)\n", Configuration.info.NTPIP); + strncpy(Configuration.info.NTPIP, _name.c_str(), sizeof(Configuration.info.NTPIP)); + Serial.printf("setNTPServerName(%s)\n", Configuration.info.NTPIP); } #endif String ConfigManager::getName() { - return String(Configuration.info.name); + return String(Configuration.info.name); } void ConfigManager::setName(String _name) { - strncpy(Configuration.info.name, _name.c_str(), sizeof(Configuration.info.name)); - Serial.printf("setName(%s)\n", Configuration.info.name); + strncpy(Configuration.info.name, _name.c_str(), sizeof(Configuration.info.name)); + Serial.printf("setName(%s)\n", Configuration.info.name); } String ConfigManager::getSSID() { - return String(Configuration.info.ssid); + return String(Configuration.info.ssid); } void ConfigManager::setSSID(String _ssid) { - strncpy(Configuration.info.ssid, _ssid.c_str(), sizeof(Configuration.info.ssid)); - Serial.printf("setSSID(%s)\n", Configuration.info.ssid); + strncpy(Configuration.info.ssid, _ssid.c_str(), sizeof(Configuration.info.ssid)); + Serial.printf("setSSID(%s)\n", Configuration.info.ssid); } String ConfigManager::getPassword() { - return String(Configuration.info.pass); + return String(Configuration.info.pass); } void ConfigManager::setPassword(String _password) { - strncpy(Configuration.info.pass, _password.c_str(), sizeof(Configuration.info.pass)); - Serial.printf("setPass(%s)\n", Configuration.info.pass); + strncpy(Configuration.info.pass, _password.c_str(), sizeof(Configuration.info.pass)); + Serial.printf("setPass(%s)\n", Configuration.info.pass); } String ConfigManager::getURL() { - return String(Configuration.info.updateURL); + return String(Configuration.info.updateURL); } void ConfigManager::setURL(String _url) { - strncpy(Configuration.info.updateURL, _url.c_str(), sizeof(Configuration.info.updateURL)); - Serial.printf("setURL (%s)\n", Configuration.info.updateURL); + strncpy(Configuration.info.updateURL, _url.c_str(), sizeof(Configuration.info.updateURL)); + Serial.printf("setURL (%s)\n", Configuration.info.updateURL); } uint16_t ConfigManager::getOnRef() { - return Configuration.info.onRef; + return Configuration.info.onRef; } void ConfigManager::setOnRef(uint16 onR) { - Configuration.info.onRef = onR; + Configuration.info.onRef = onR; } uint16_t ConfigManager::getOffRef() { - return Configuration.info.offRef; + return Configuration.info.offRef; } void ConfigManager::setOffRef(uint16 offR) { - Configuration.info.offRef = offR; + Configuration.info.offRef = offR; } uint16_t ConfigManager::getAutoOff() { - return Configuration.info.autoOff; + return Configuration.info.autoOff; } void ConfigManager::setAutoOff(uint16 autoOff) { - Configuration.info.autoOff = autoOff; + Configuration.info.autoOff = autoOff; } diff --git a/Firmware/fauxmoESP.cpp b/Firmware/fauxmoESP.cpp deleted file mode 100644 index e150698..0000000 --- a/Firmware/fauxmoESP.cpp +++ /dev/null @@ -1,484 +0,0 @@ -/* - -FAUXMO ESP 2.4.2 - -Copyright (C) 2016 by Xose Pérez - -The MIT License (MIT) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ - -#include - -#if defined(ESP32) - #include -#elif defined(ESP8266) - #include -#else - #error Platform not supported -#endif - -#include "fauxmoESP.h" -#include "Web_Resources.h" - -// ----------------------------------------------------------------------------- -// UDP -// ----------------------------------------------------------------------------- - -void fauxmoESP::_sendUDPResponse(unsigned int device_id) { - - fauxmoesp_device_t device = _devices[device_id]; - DEBUG_MSG_FAUXMO("[FAUXMO] UDP response for device #%d (%s)\n", _current, device.name); - - char buffer[16]; - IPAddress ip = WiFi.localIP(); - snprintf_P(buffer, sizeof(buffer), PSTR("%d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]); - - char response[strlen(UDP_TEMPLATE) + 128]; - snprintf_P(response, sizeof(response), UDP_TEMPLATE, - buffer, - _base_port + _current, - device.uuid, - _udpPattern == 1 ? UDP_DEVICE_PATTERN_1 : _udpPattern == 2 ? UDP_DEVICE_PATTERN_2 : _udpPattern == 3 ? UDP_DEVICE_PATTERN_3 : _udpPattern == 4 ? UDP_DEVICE_PATTERN_4 : _udpPattern == 5 ? UDP_DEVICE_PATTERN_5 : UDP_ROOT_DEVICE, - device.uuid, - _udpPattern == 1 ? UDP_DEVICE_PATTERN_1 : _udpPattern == 2 ? UDP_ROOT_DEVICE : _udpPattern == 3 ? UDP_ROOT_DEVICE : _udpPattern == 4 ? UDP_ROOT_DEVICE : _udpPattern == 5 ? UDP_ROOT_DEVICE : UDP_ROOT_DEVICE - ); - - _udp.beginPacket(_remoteIP, _remotePort); - #if defined(ESP32) - _udp.printf(response); - #else - _udp.write(response); - #endif - _udp.endPacket(); - DEBUG_MSG_FAUXMO("[FAUXMO] response:\n%s\n", response); -} - -void fauxmoESP::_nextUDPResponse() { - - while (_roundsLeft) { - if (_devices[_current].hit == false) break; - if (++_current == _devices.size()) { - --_roundsLeft; - _current = 0; - } - } - - if (_roundsLeft > 0) { - _sendUDPResponse(_current); - if (++_current == _devices.size()) { - --_roundsLeft; - _current = 0; - } - } -} - -void fauxmoESP::_onUDPData(IPAddress remoteIP, unsigned int remotePort, void *data, size_t len) { - - if (!_enabled) { - DEBUG_MSG_FAUXMO("onUDPData\n"); - return; - } - char * p = (char *) data; - p[len] = 0; - - if (strstr(p, UDP_SEARCH_PATTERN) == (char *) data) { - Serial.printf("onUDP: %s\n", p); - _udpPattern = 0; - if (strstr(p, UDP_DEVICE_PATTERN_1) != NULL) _udpPattern = 1; - if (strstr(p, UDP_DEVICE_PATTERN_2) != NULL) _udpPattern = 2; - if (strstr(p, UDP_DEVICE_PATTERN_3) != NULL) _udpPattern = 3; - if (strstr(p, UDP_DEVICE_PATTERN_4) != NULL) _udpPattern = 4; // ssdp:all - if (strstr(p, UDP_DEVICE_PATTERN_5) != NULL) _udpPattern = 5; // ssdpsearch:all - if (strstr(p, UDP_ROOT_DEVICE) != NULL) _udpPattern = 6; // upnp:rootdevice - if (_udpPattern) { - - #ifdef DEBUG_FAUXMO - char buffer[16]; - snprintf_P(buffer, sizeof(buffer), PSTR("%d.%d.%d.%d"), remoteIP[0], remoteIP[1], remoteIP[2], remoteIP[3]); - DEBUG_MSG_FAUXMO("[FAUXMO] Search request from %s\n", buffer); - #endif - - // Set hits to false - for (unsigned int i = 0; i < _devices.size(); i++) { - _devices[i].hit = false; - } - - // Send responses - _remoteIP = remoteIP; - _remotePort = remotePort; - _current = random(0, _devices.size()); - _roundsLeft = UDP_RESPONSES_TRIES; - - } - } - -} - -// ----------------------------------------------------------------------------- -// TCP -// ----------------------------------------------------------------------------- - -void fauxmoESP::_handleSetup(AsyncClient *client, unsigned int device_id, void *data, size_t len) { - (void) data; - (void) len; - - DEBUG_MSG_FAUXMO("[FAUXMO] Device #%d /setup.xml\n", device_id); - _devices[device_id].hit = true; - fauxmoesp_device_t device = _devices[device_id]; - - IPAddress myIP; - myIP = WiFi.localIP(); - char response[80 + strlen_P(SETUP_TEMPLATE) + strlen(device.name) + strlen(device.uuid) + strlen(device.serial) + 25]; - snprintf_P(response, sizeof(response), SETUP_TEMPLATE, - device.name, device.uuid, device.serial, - myIP.toString().c_str(), 80); - - char headers[strlen_P(HEADERS) + 10]; - snprintf_P(headers, sizeof(headers), HEADERS, strlen(response)); - - client->write(headers, strlen(headers)); - client->write(response, strlen(response)); - DEBUG_MSG_FAUXMO("[FAUXMO] end /setup.xml: %d, %d\n", strlen(headers), strlen(response)); -} - -void fauxmoESP::_handleEventService(AsyncClient *client, unsigned int device_id, void *data, size_t len) { - (void) device_id; - (void) data; - (void) len; - - DEBUG_MSG_FAUXMO("[FAUXMO] Device #%d /eventservice.xml\n", device_id); - - char response[strlen_P(EVENTSERVICE_TEMPLATE)]; - snprintf_P(response, sizeof(response), EVENTSERVICE_TEMPLATE); - - char headers[strlen_P(HEADERS) + 10]; - snprintf_P(headers, sizeof(headers), HEADERS, strlen(response)); - - client->write(headers, strlen(headers)); - client->write(response, strlen(response)); - DEBUG_MSG_FAUXMO("[FAUXMO] end /eventservice.xml\n"); -} - -void fauxmoESP::_handleMetaInfoService(AsyncClient *client, unsigned int device_id, void *data, size_t len) { - (void) device_id; - (void) data; - (void) len; - - DEBUG_MSG_FAUXMO("[FAUXMO] Device #%d /metainfoservice.xml\n", device_id); - - char response[strlen_P(METAINFO_TEMPLATE)]; - snprintf_P(response, sizeof(response), METAINFO_TEMPLATE); - - char headers[strlen_P(HEADERS) + 10]; - snprintf_P(headers, sizeof(headers), HEADERS, strlen(response)); - - client->write(headers, strlen(headers)); - client->write(response, strlen(response)); - DEBUG_MSG_FAUXMO("[FAUXMO] end /metainfoservice.xml\n"); -} - -void fauxmoESP::_handleControl(AsyncClient *client, unsigned int device_id, void *data, size_t len) { - - DEBUG_MSG_FAUXMO("[FAUXMO] Device #%d /upnp/control/basicevent1\n", device_id); - - char content[len+1]; - memcpy(content, data, len); - fauxmoesp_device_t device = _devices[device_id]; - - // The default template is the one for GetBinaryState queries - const char * response_template = GETSTATE_TEMPLATE; - - if (strstr(content, "SetBinaryState") != NULL) { - - if (strstr(content, "0") != NULL) { - if (_setCallback) _setCallback(device_id, device.name, false); - } - - if (strstr(content, "1") != NULL) { - if (_setCallback) _setCallback(device_id, device.name, true); - } - - // Use a specific response template for SetBinaryState action - response_template = SETSTATE_TEMPLATE; - - } - - // Update current state - if (_getCallback) device.state = _getCallback(device_id, device.name); - - // Send response - char response[strlen_P(response_template) + 10]; - snprintf_P(response, sizeof(response), response_template, device.state ? 1 : 0); - - char headers[strlen_P(HEADERS) + 10]; - snprintf_P(headers, sizeof(headers), HEADERS, strlen(response)); - - client->write(headers, strlen(headers)); - client->write(response, strlen(response)); - DEBUG_MSG_FAUXMO("[FAUXMO] end /upnp/control/basicevent1\n"); -} - -void fauxmoESP::_handleIcon(AsyncClient *client, unsigned int device_id, void *data, size_t len) { - (void) device_id; - (void) data; - (void) len; - - DEBUG_MSG_FAUXMO("[FAUXMO] Icon /icon.png\n"); - - char *buf = (char *) malloc(strlen(HEADERJPG) + 5); - if (buf) { - snprintf_P(buf, strlen_P(HEADERJPG) + 5, HEADERJPG, sizeof(icon_png)); - client->write(buf, strlen(buf)); - client->write(icon_png, sizeof(icon_png)); - DEBUG_MSG_FAUXMO("[FAUXMO] sent icon.png [%d bytes]\n", sizeof(icon_png)); - delay(100); - free(buf); - } - DEBUG_MSG_FAUXMO("[FAUXMO] end /icon.png\n"); -} - - - -void fauxmoESP::_onTCPData(AsyncClient *client, unsigned int device_id, void *data, size_t len) { - - if (!_enabled) { - DEBUG_MSG_FAUXMO("onTCPData ! _enabled\n"); - return; - } - - #ifdef DEBUG_FAUXMO - char * p = (char *) data; - p[len] = 0; - Serial.printf("[FAUXMO] onTCPData(dev:%d,\n%s\n", device_id, p); - #endif - - { - char match[] = {"GET /setup.xml HTTP/1.1"}; - if (memcmp(data, match, strlen(match)-1) == 0) { - _handleSetup(client, device_id, data, len); - return; - } - } - - { - char match[] = {"GET /eventservice.xml HTTP/1.1"}; - if (memcmp(data, match, strlen(match)-1) == 0) { - _handleEventService(client, device_id, data, len); - return; - } - } - - { - char match[] = {"GET /metainfoservice.xml HTTP/1.1"}; - if (memcmp(data, match, strlen(match)-1) == 0) { - _handleMetaInfoService(client, device_id, data, len); - return; - } - } - - { - char match[] = {"POST /upnp/control/basicevent1 HTTP/1.1"}; - if (memcmp(data, match, strlen(match)-1) == 0) { - _handleControl(client, device_id, data, len); - return; - } - } - - { - char match[] = {"GET /icon.png HTTP/1.1"}; - if (memcmp(data, match, strlen(match)-1) == 0) { - _handleIcon(client, device_id, data, len); - return; - } - } -} - -void fauxmoESP::_onTCPClient(AsyncClient *client, unsigned int device_id) { - - for (unsigned char i = 0; i < TCP_MAX_CLIENTS; i++) { - - if (!_tcpClients[i] || !_tcpClients[i]->connected()) { - - _tcpClients[i] = client; - - client->onAck([i](void *s, AsyncClient *c, size_t len, uint32_t time) { - (void) s; - (void) c; - (void) len; - (void) time; - }, 0); - - client->onData([this, i, device_id](void *s, AsyncClient *c, void *data, size_t len) { - (void) s; - _onTCPData(c, device_id, data, len); - }, 0); - - client->onDisconnect([this, i](void *s, AsyncClient *c) { - (void) s; - _tcpClients[i]->free(); - _tcpClients[i] = NULL; - delete c; - DEBUG_MSG_FAUXMO("[FAUXMO] Client #%d disconnected\n", i); - }, 0); - - client->onError([i](void *s, AsyncClient *c, int8_t error) { - (void) s; - (void) c; - (void) error; - DEBUG_MSG_FAUXMO("[FAUXMO] Error %s (%d) on client #%d\n", c->errorToString(error), error, i); - }, 0); - - client->onTimeout([i](void *s, AsyncClient *c, uint32_t time) { - (void) s; - (void) time; - DEBUG_MSG_FAUXMO("[FAUXMO] Timeout on client #%d at %i\n", i, time); - c->close(); - }, 0); - - DEBUG_MSG_FAUXMO("[FAUXMO] Client #%d connected\n", i); - return; - - } - - } - - DEBUG_MSG_FAUXMO("[FAUXMO] Rejecting - Too many connections\n"); - client->onDisconnect([](void *s, AsyncClient *c) { - (void) s; - c->free(); - delete c; - }); - client->close(true); - -} - -// ----------------------------------------------------------------------------- -// Public API -// ----------------------------------------------------------------------------- - -unsigned char fauxmoESP::addDevice(const char * device_name) { - - fauxmoesp_device_t new_device; - unsigned int device_id = _devices.size(); - - // Copy name - new_device.name = strdup(device_name); - - // Chip ID - #if defined(ESP32) - unsigned long chip_id = (uint32_t) ESP.getEfuseMac(); - #else - unsigned long chip_id = ESP.getChipId(); - #endif - - // Create UUID - char uuid[15]; - snprintf_P(uuid, sizeof(uuid), PSTR("444776%06X%02X\0"), chip_id, device_id); // "DEV" + CHIPID + DEV_ID - new_device.uuid = strdup(uuid); - - // Create Serialnumber - char serial[15]; - sprintf(serial, "221793K0%06X", (uint32)chip_id); // "221703K0" + CHIPID - new_device.serial = strdup(serial); - - // TCP Server - new_device.server = new AsyncServer(_base_port + device_id); - new_device.server->onClient([this, device_id](void *s, AsyncClient* c) { - (void) s; - _onTCPClient(c, device_id); - }, 0); - new_device.server->begin(); - - // Attach - _devices.push_back(new_device); - - DEBUG_MSG_FAUXMO("[FAUXMO] Device '%s' added as #%d\n", device_name, device_id); - - return device_id; - -} - -bool fauxmoESP::renameDevice(unsigned char id, const char * device_name) { - if (id <= _devices.size()) { - free(_devices[id].name); - _devices[id].name = strdup(device_name); - DEBUG_MSG_FAUXMO("[FAUXMO] Device #%d renamed to '%s'\n", id, device_name); - return true; - } - return false; -} - -char * fauxmoESP::getDeviceName(unsigned char id, char * device_name, size_t len) { - if (id <= _devices.size()) { - strncpy(device_name, _devices[id].name, len); - } - return device_name; -} - -void fauxmoESP::setState(unsigned char id, bool state) { - if (id <= _devices.size()) { - _devices[id].state = state; - } -} - -void fauxmoESP::handle() { - - int len = _udp.parsePacket(); - if (len > 0) { - DEBUG_MSG_FAUXMO("[FAUXMO] handle %d bytes\n", len); - IPAddress remoteIP = _udp.remoteIP(); - unsigned int remotePort = _udp.remotePort(); - uint8_t data[len]; - _udp.read(data, len); - _onUDPData(remoteIP, remotePort, data, len); - } - - if (_roundsLeft > 0) { - if (millis() - _lastTick > UDP_RESPONSES_INTERVAL) { - _lastTick = millis(); - _nextUDPResponse(); - } - } - -} - -void fauxmoESP::enable(bool enable) { - DEBUG_MSG_FAUXMO("[FAUXMO] %s\n", enable ? "Enabled" : "Disabled"); - _enabled = enable; - #ifdef ESP32 - _udp.beginMulticast(UDP_MULTICAST_IP, UDP_MULTICAST_PORT); - #endif -} - -fauxmoESP::fauxmoESP(unsigned int port) { - _base_port = port; - - #ifdef ESP8266 - // Start UDP server on STA connection - _handler = WiFi.onStationModeGotIP([this](WiFiEventStationModeGotIP ipInfo) { - (void) ipInfo; - _udp.beginMulticast(WiFi.localIP(), UDP_MULTICAST_IP, UDP_MULTICAST_PORT); - DEBUG_MSG_FAUXMO("[FAUXMO] UDP server started\n"); - }); - #endif - -} diff --git a/Firmware/fauxmoESP.h b/Firmware/fauxmoESP.h deleted file mode 100644 index 0518dfe..0000000 --- a/Firmware/fauxmoESP.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - -FAUXMO ESP 2.4.2 - -Copyright (C) 2016 by Xose Pérez - -The MIT License (MIT) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ - -#pragma once - -#define DEFAULT_TCP_BASE_PORT 49152 -#define UDP_MULTICAST_IP IPAddress(239,255,255,250) -#define UDP_MULTICAST_PORT 1900 -#define TCP_MAX_CLIENTS 10 - -#define UDP_SEARCH_PATTERN "M-SEARCH" -#define UDP_DEVICE_PATTERN_1 "urn:Belkin:device:**" -#define UDP_DEVICE_PATTERN_2 "urn:Belkin:device:controllee:1" -#define UDP_DEVICE_PATTERN_3 "urn:Belkin:service:basicevent:1" -#define UDP_DEVICE_PATTERN_4 "ssdp:all" -#define UDP_DEVICE_PATTERN_5 "ssdpsearch:all" -#define UDP_ROOT_DEVICE "upnp:rootdevice" - -#define UDP_RESPONSES_INTERVAL 250 -#define UDP_RESPONSES_TRIES 5 - -// Here, or in the compiler configuration -#define DEBUG_FAUXMO Serial -#ifdef DEBUG_FAUXMO - #define DEBUG_MSG_FAUXMO(...) DEBUG_FAUXMO.printf( __VA_ARGS__ ) -#else - #define DEBUG_MSG_FAUXMO(...) -#endif - -#include - -#if defined(ESP32) - #include - #include -#elif defined(ESP8266) - #include - #include -#else - #error Platform not supported -#endif - -#include -#include -#include -#include "WeMo.h" - -typedef std::function TSetStateCallback; -typedef std::function TGetStateCallback; - -typedef struct { - char * name; - char * uuid; - char * serial; - bool hit; - bool state; - AsyncServer * server; -} fauxmoesp_device_t; - -class fauxmoESP { - - public: - - fauxmoESP(unsigned int port = DEFAULT_TCP_BASE_PORT); - - unsigned char addDevice(const char * device_name); - bool renameDevice(unsigned char id, const char * device_name); - char * getDeviceName(unsigned char id, char * buffer, size_t len); - void onSetState(TSetStateCallback fn) { _setCallback = fn; } - void onGetState(TGetStateCallback fn) { _getCallback = fn; } - void enable(bool enable); - void handle(); - - // backwards compatibility DEPRECATED - void onMessage(TSetStateCallback fn) { onSetState(fn); } - void setState(unsigned char id, bool state); - - private: - - bool _enabled = true; - unsigned int _base_port = DEFAULT_TCP_BASE_PORT; - std::vector _devices; - #ifdef ESP8266 - WiFiEventHandler _handler; - #endif - WiFiUDP _udp; - AsyncClient * _tcpClients[TCP_MAX_CLIENTS]; - TSetStateCallback _setCallback = NULL; - TGetStateCallback _getCallback = NULL; - - unsigned int _roundsLeft = 0; - unsigned int _current = 0; - unsigned long _lastTick; - IPAddress _remoteIP; - unsigned int _remotePort; - unsigned int _udpPattern; - - void _sendUDPResponse(unsigned int device_id); - void _nextUDPResponse(); - - void _handleSetup(AsyncClient *client, unsigned int device_id, void *data, size_t len); - void _handleMetaInfoService(AsyncClient *client, unsigned int device_id, void *data, size_t len); - void _handleEventService(AsyncClient *client, unsigned int device_id, void *data, size_t len); - void _handleControl(AsyncClient *client, unsigned int device_id, void *data, size_t len); - void _handleIcon(AsyncClient *client, unsigned int device_id, void *data, size_t len); - - void _onUDPData(const IPAddress remoteIP, unsigned int remotePort, void *data, size_t len); - void _onTCPData(AsyncClient *client, unsigned int device_id, void *data, size_t len); - void _onTCPClient(AsyncClient *client, unsigned int device_id); - -}; diff --git a/Tools/MakeByteArray.pl b/Tools/MakeByteArray.pl index a5711e1..4f9b92d 100644 --- a/Tools/MakeByteArray.pl +++ b/Tools/MakeByteArray.pl @@ -9,6 +9,8 @@ my $maxCols = 16; my $maxLines = 0; my $ESP = 0; my $DIR = 0; +my $ROOT = 0; +my $UINT8 = 0; my $file = ""; my $ctrlC = 0; # User induced termination my $lineT = 0; # Linecount induced termination @@ -34,7 +36,7 @@ my %FileType = ( "ico" => "image/x-icon", "png" => "image/png", "jpg" => "image/jpeg", - "js" => "application/javascript", + "js" => "text/javascript", ); @@ -45,21 +47,26 @@ if (!@ARGV) $prg [file| [...]] [-n=##] [-l=##] [-ESP] [-DIR] [-o=outfile] version $VERSION - Dumps out the contents of the [file] as a c array. + Dumps out the contents of the [file(s)] as a c array. If the file is binary, it emits a hex char-array using the -n and -l settings. If the file is text, it emits as an ascii char-array where each source line is one ascii quoted line. - -ESP adds the PROGMEM attribte to the byte array data. + -ESP adds the PROGMEM attribute to the byte array data. -DIR adds a 'directory' at the end of the output, providing a reference to each input file. Most useful for a set of files. + -ROOT prefixes each entry in the 'directory' with '/', + so "index.htm" becomes + -o=outfile Writes the output to outfile. + -u overrides the default 'char' array to be 'uint8_t' + NOTE that the filename and type info remains 'char'. -n=## sets the byte count for each line, defaults 32. -l=## sets a termination after ## lines have been printed. @@ -83,8 +90,12 @@ foreach (@ARGV) { $outfile = $1; } elsif (/-ESP/) { $ESP = 1; } + elsif (/-ROOT/) + { $ROOT = 1; } elsif (/-DIR/) { $DIR = 1; } + elsif (/-u/) + { $UINT8 = 1; } elsif (-e $_ ) { push @files, $_; } elsif (/[\*\?]/) @@ -114,19 +125,32 @@ if ($outfile ne "") { printf("No outfile, emitting to console.\n"); } printf("//\n"); -printf("// Command : %s %s\n", $prg, join(" ", @ARGV)); +printf("// Command: %s %s\n", $prg, join(" ", @ARGV)); printf("// version: %2.1f\n", $VERSION); -printf("// From cwd : %s\n", cwd); +printf("// From cwd: %s\n", cwd); printf("// Generated: %s\n", scalar localtime()); -printf("// Run script in command shell, not PowerShell\n"); +printf("// NOTE: Run script in command shell, not PowerShell\n"); +printf("//\n"); + +if ($ESP) { + print < '%s'\n", $ext, $FileType{lc($ext)}); printf("\t{ %-20s, %-20s, %24s, %6d },\n", $fn, $title, $ftype, $DirInfo{$file}{'size'}); } - printf("\t{ %-20s, %-20s, %24s, %6d }\n", "\"\"", "NULL", "NULL", 0); + printf("\t{ %-20s, %-20s, %24s, %6d }\n", "NULL", "NULL", "NULL", 0); printf("};\n\n"); } @@ -185,7 +209,7 @@ sub Process { printf("\n"); printf("// File: %s\n", $file); printf("//\n"); - $prototype = sprintf("const char %s[]%s", $title, ($ESP) ? " PROGMEM" : ""); + $prototype = sprintf("const %s %s[]%s", ($UINT8) ? "uint8_t" : "char", $title, ($ESP) ? " PROGMEM" : ""); printf("%s = {\n", $prototype); my $size = 0; @@ -198,7 +222,7 @@ sub Process { $line =~ s/\r//g; $line =~ s/"/\\"/g; printf("\t\"%s\\n\"\n", $line); - $size += length($line); + $size += length($line) + 1; # +1 for the \n line termination. } } else { printf("\t"); diff --git a/Tools/MakeResourceFiles.cmd b/Tools/MakeResourceFiles.cmd index d83be73..6fcdf36 100644 --- a/Tools/MakeResourceFiles.cmd +++ b/Tools/MakeResourceFiles.cmd @@ -2,7 +2,7 @@ REM REM "Compile" the web resources folder into code modules. REM -REM Command : MakeByteArray -ESP *.* -o=..\Web_Resources.h +REM Command : MakeByteArray -ESP -ROOT -DIR *.* -o=..\Web_Resources.h REM From cwd : C:/Projects/SmartSwitch/Firmware/Resources REM Run script in command shell, not PowerShell REM @@ -46,7 +46,7 @@ dir /b echo. echo.Compiling the web resources into code modules... -MakeByteArray -ESP -DIR *.* -o=%TARG% +MakeByteArray -ESP -ROOT -DIR *.* -o=%TARG% echo. echo.Done. %TARG% has been updated and returning to prior folder.