Repository: yuan910715/Esp8266_NTP_Clock_Weather
Branch: master
Commit: bf2ff92ac656
Files: 33
Total size: 144.9 KB
Directory structure:
gitextract_audyxj9l/
├── 3Dmodel/
│ ├── 0.96/
│ │ ├── Double_Station.stl
│ │ ├── Double_Station_back.stl
│ │ ├── README.md
│ │ ├── Square_Station_Box.stl
│ │ ├── Station_Box.stl
│ │ ├── Station_Box_Plate.stl
│ │ └── Station_Box_with_Button_Hole.stl
│ ├── 1.3/
│ │ ├── 1.3_Monitor_base.stl
│ │ ├── 1.3_Monitor_case.stl
│ │ ├── PrintMonitor_Base_2.stl
│ │ ├── PrintMonitor_Double.stl
│ │ └── README.md
│ └── README.md
├── Esp8266_NTP_Clock_Weather/
│ ├── Esp8266_NTP_Clock_Weather.ino
│ ├── HeFeng.cpp
│ ├── HeFeng.h
│ ├── README.md
│ ├── WeatherStationFonts.h
│ └── WeatherStationImages.h
├── LICENSE
├── Pictures/
│ └── README.md
├── README.md
├── library/
│ ├── DS18B20/
│ │ ├── LICENSE.txt
│ │ ├── README.md
│ │ ├── examples/
│ │ │ ├── Alarms/
│ │ │ │ └── Alarms.ino
│ │ │ ├── Multiple/
│ │ │ │ └── Multiple.ino
│ │ │ └── Single/
│ │ │ └── Single.ino
│ │ ├── keywords.txt
│ │ ├── library.properties
│ │ └── src/
│ │ ├── DS18B20.cpp
│ │ └── DS18B20.h
│ └── README.md
└── web配网参考.html
================================================
FILE CONTENTS
================================================
================================================
FILE: 3Dmodel/0.96/README.md
================================================
0.96 OLED屏幕英寸相关模型
================================================
FILE: 3Dmodel/1.3/README.md
================================================
1.3英寸OLED 3D模型
================================================
FILE: 3Dmodel/README.md
================================================
此目录为3D模型文件
================================================
FILE: Esp8266_NTP_Clock_Weather/Esp8266_NTP_Clock_Weather.ino
================================================
/**The MIT License (MIT)
Copyright (c) 2018 by Daniel Eichhorn - ThingPulse
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.
See more at https://thingpulse.com
*/
//Monsteryuan forked from Daniel Eichhorn/ThingPulse ESP8266 Weather Station
#include <DS18B20.h>
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
// time
#include <time.h> // time() ctime()
#include <sys/time.h> // struct timeval
#include <coredecls.h> // settimeofday_cb()
#include "SH1106Wire.h"//or #include "SSD1306Wire.h"
#include "OLEDDisplayUi.h"
#include "Wire.h"
#include "HeFeng.h"
#include "WeatherStationFonts.h"
#include "WeatherStationImages.h"
/***************************
* Begin Settings
**************************/
DS18B20 ds(D7);
#define TZ -8 // (utc+) TZ in hours
#define DST_MN 0 // use 60mn for summer time in some countries
// Setup
const int UPDATE_INTERVAL_SECS = 20 * 60; // Update every 20 minutes online weather
// Setup
const int UPDATE_CURR_INTERVAL_SECS = 10; // Update every 10 secs DS18B20
// Display Settings
const int I2C_DISPLAY_ADDRESS = 0x3c;
#if defined(ESP8266)
const int SDA_PIN = D2;
const int SDC_PIN = D5;
#endif
const String WDAY_NAMES[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
const String MONTH_NAMES[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
/***************************
* End Settings
**************************/
// Initialize the oled display for address 0x3c
// sda-pin=14 and sdc-pin=12
SH1106Wire display(I2C_DISPLAY_ADDRESS, SDA_PIN, SDC_PIN); // or SSD1306Wire display(I2C_DISPLAY_ADDRESS, SDA_PIN, SDC_PIN);
OLEDDisplayUi ui( &display );
HeFengCurrentData currentWeather;
HeFengForeData foreWeather[3];
HeFeng HeFengClient;
//OpenWeatherMapForecastData forecasts[MAX_FORECASTS];
//OpenWeatherMapForecast forecastClient;
#define TZ_MN ((TZ)*60)
#define TZ_SEC ((TZ)*3600)
#define DST_SEC ((DST_MN)*60)
const char* HEFENG_KEY="";
const char* HEFENG_LOCATION="";
time_t now;
// flag changed in the ticker function every 10 minutes
bool readyForWeatherUpdate = false;
String lastUpdate = "--";
long timeSinceLastWUpdate = 0;
long timeSinceLastCurrUpdate = 0;
String currTemp="-1.0";
//declaring prototypes
void drawProgress(OLEDDisplay *display, int percentage, String label);
void updateData(OLEDDisplay *display);
void drawDateTime(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y);
void drawCurrentWeather(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y);
void drawForecast(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y);
void drawForecastDetails(OLEDDisplay *display, int x, int y, int dayIndex);
void drawHeaderOverlay(OLEDDisplay *display, OLEDDisplayUiState* state);
void setReadyForWeatherUpdate();
// Add frames
// this array keeps function pointers to all frames
// frames are the single views that slide from right to left
FrameCallback frames[] = { drawDateTime, drawCurrentWeather,drawForecast };
//drawForecast
int numberOfFrames = 3;
OverlayCallback overlays[] = { drawHeaderOverlay };
int numberOfOverlays = 1;
bool autoConfig()
{
WiFi.mode(WIFI_STA);
WiFi.begin();
Serial.print("AutoConfig Waiting......");
int counter = 0;
for (int i = 0; i < 20; i++)
{
if (WiFi.status() == WL_CONNECTED)
{
Serial.println("AutoConfig Success");
Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());
Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());
WiFi.printDiag(Serial);
return true;
}
else
{
delay(500);
Serial.print(".");
display.clear();
display.drawString(64, 10, "Connecting to WiFi");
display.drawXbm(46, 30, 8, 8, counter % 3 == 0 ? activeSymbole : inactiveSymbole);
display.drawXbm(60, 30, 8, 8, counter % 3 == 1 ? activeSymbole : inactiveSymbole);
display.drawXbm(74, 30, 8, 8, counter % 3 == 2 ? activeSymbole : inactiveSymbole);
display.display();
counter++;
}
}
Serial.println("AutoConfig Faild!" );
return false;
}
ESP8266WebServer server(80);
String HTML_TITLE = "<!DOCTYPE html><html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\"><title>ESP8266网页配网</title>";
String HTML_SCRIPT_ONE = "<script type=\"text/javascript\">function wifi(){var ssid = s.value;var password = p.value;var xmlhttp=new XMLHttpRequest();xmlhttp.open(\"GET\",\"/HandleWifi?ssid=\"+ssid+\"&password=\"+password,true);xmlhttp.send();xmlhttp.onload = function(e){alert(this.responseText);}}</script>";
String HTML_SCRIPT_TWO = "<script>function c(l){document.getElementById('s').value=l.innerText||l.textContent;document.getElementById('p').focus();}</script>";
String HTML_HEAD_BODY_BEGIN = "</head><body>请输入wifi信息进行配网:";
String HTML_FORM_ONE = "<form>WiFi名称:<input id='s' name='s' type=\"text\" placeholder=\"请输入您WiFi的名称\"><br>WiFi密码:<input id='p' name='p' type=\"text\" placeholder=\"请输入您WiFi的密码\"><br><input type=\"button\" value=\"扫描\" onclick=\"window.location.href = '/HandleScanWifi'\"><input type=\"button\" value=\"连接\" onclick=\"wifi()\"></form>";
String HTML_BODY_HTML_END = "</body></html>";
void handleRoot() {
Serial.println("root page");
String str = HTML_TITLE + HTML_SCRIPT_ONE + HTML_SCRIPT_TWO + HTML_HEAD_BODY_BEGIN + HTML_FORM_ONE + HTML_BODY_HTML_END;
server.send(200, "text/html", str);
}
void HandleScanWifi() {
Serial.println("scan start");
String HTML_FORM_TABLE_BEGIN = "<table><head><tr><th>序号</th><th>名称</th><th>强度</th></tr></head><body>";
String HTML_FORM_TABLE_END = "</body></table>";
String HTML_FORM_TABLE_CON = "";
String HTML_TABLE;
// WiFi.scanNetworks will return the number of networks found
int n = WiFi.scanNetworks();
Serial.println("scan done");
if (n == 0) {
Serial.println("no networks found");
HTML_TABLE = "NO WIFI !!!";
}
else {
Serial.print(n);
Serial.println(" networks found");
for (int i = 0; i < n; ++i) {
// Print SSID and RSSI for each network found
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) ? " " : "*");
delay(10);
HTML_FORM_TABLE_CON = HTML_FORM_TABLE_CON + "<tr><td align=\"center\">" + String(i+1) + "</td><td align=\"center\">" + "<a href='#p' onclick='c(this)'>" + WiFi.SSID(i) + "</a>" + "</td><td align=\"center\">" + WiFi.RSSI(i) + "</td></tr>";
}
HTML_TABLE = HTML_FORM_TABLE_BEGIN + HTML_FORM_TABLE_CON + HTML_FORM_TABLE_END;
}
Serial.println("");
String scanstr = HTML_TITLE + HTML_SCRIPT_ONE + HTML_SCRIPT_TWO + HTML_HEAD_BODY_BEGIN + HTML_FORM_ONE + HTML_TABLE + HTML_BODY_HTML_END;
server.send(200, "text/html", scanstr);
}
void HandleWifi()
{
String wifis = server.arg("ssid"); //从JavaScript发送的数据中找ssid的值
String wifip = server.arg("password"); //从JavaScript发送的数据中找password的值
Serial.println("received:"+wifis);
server.send(200, "text/html", "连接中..");
WiFi.begin(wifis,wifip);
}
void handleNotFound() {
String message = "File Not Found\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET) ? "GET" : "POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
for (uint8_t i = 0; i < server.args(); i++) {
message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
}
server.send(404, "text/plain", message);
}
void htmlConfig()
{
WiFi.mode(WIFI_AP_STA);//设置模式为AP+STA
WiFi.softAP("wifi_clock");
IPAddress myIP = WiFi.softAPIP();
if (MDNS.begin("clock")) {
Serial.println("MDNS responder started");
}
server.on("/", handleRoot);
server.on("/HandleWifi", HTTP_GET, HandleWifi);
server.on("/HandleScanWifi", HandleScanWifi);
server.onNotFound(handleNotFound);//请求失败回调函数
MDNS.addService("http", "tcp", 80);
server.begin();//开启服务器
Serial.println("HTTP server started");
int counter = 0;
while(1)
{
server.handleClient();
MDNS.update();
delay(500);
display.clear();
display.drawString(64, 5, "WIFI AP:wifi_clock");
display.drawString(64, 20, "192.168.4.1");
display.drawString(64, 35, "waiting for config wifi.");
display.drawXbm(46, 50, 8, 8, counter % 3 == 0 ? activeSymbole : inactiveSymbole);
display.drawXbm(60, 50, 8, 8, counter % 3 == 1 ? activeSymbole : inactiveSymbole);
display.drawXbm(74, 50, 8, 8, counter % 3 == 2 ? activeSymbole : inactiveSymbole);
display.display();
counter++;
if (WiFi.status() == WL_CONNECTED)
{
Serial.println("HtmlConfig Success");
Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());
Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());
Serial.println("HTML连接成功");
break;
}
}
server.close();
WiFi.mode(WIFI_STA);
}
void setup() {
Serial.begin(115200);
Serial.println();
Serial.println();
// initialize dispaly
display.init();
display.clear();
display.display();
//display.flipScreenVertically();
display.setFont(ArialMT_Plain_10);
display.setTextAlignment(TEXT_ALIGN_CENTER);
display.setContrast(255);
bool wifiConfig = autoConfig();
if(wifiConfig == false){
htmlConfig();//HTML配网
}
ui.setTargetFPS(30);
ui.setActiveSymbol(activeSymbole);
ui.setInactiveSymbol(inactiveSymbole);
// You can change this to
// TOP, LEFT, BOTTOM, RIGHT
ui.setIndicatorPosition(BOTTOM);
// Defines where the first frame is located in the bar.
ui.setIndicatorDirection(LEFT_RIGHT);
// You can change the transition that is used
// SLIDE_LEFT, SLIDE_RIGHT, SLIDE_TOP, SLIDE_DOWN
ui.setFrameAnimation(SLIDE_LEFT);
ui.setFrames(frames, numberOfFrames);
ui.setTimePerFrame(7500);
ui.setOverlays(overlays, numberOfOverlays);
// Inital UI takes care of initalising the display too.
ui.init();
Serial.println("");
configTime(TZ_SEC, DST_SEC, "pool.ntp.org","0.cn.pool.ntp.org","1.cn.pool.ntp.org");
updateData(&display);
}
void loop() {
if (millis() - timeSinceLastWUpdate > (1000L*UPDATE_INTERVAL_SECS)) {
setReadyForWeatherUpdate();
timeSinceLastWUpdate = millis();
}
if (millis() - timeSinceLastCurrUpdate > (1000L*UPDATE_CURR_INTERVAL_SECS)) {
if( ui.getUiState()->frameState == FIXED)
{
currTemp=String(ds.getTempC(), 1);
timeSinceLastCurrUpdate = millis();
}
}
if (readyForWeatherUpdate && ui.getUiState()->frameState == FIXED) {
updateData(&display);
}
int remainingTimeBudget = ui.update();
if (remainingTimeBudget > 0) {
// You can do some work here
// Don't do stuff if you are below your
// time budget.
delay(remainingTimeBudget);
}
}
void drawProgress(OLEDDisplay *display, int percentage, String label) {
display->clear();
display->setTextAlignment(TEXT_ALIGN_CENTER);
display->setFont(ArialMT_Plain_10);
display->drawString(64, 10, label);
display->drawProgressBar(2, 28, 124, 10, percentage);
display->display();
}
void updateData(OLEDDisplay *display) {
drawProgress(display, 30, "Updating weather...");
for(int i=0;i<5;i++){
HeFengClient.doUpdateCurr(¤tWeather, HEFENG_KEY, HEFENG_LOCATION);
if(currentWeather.cond_txt!="no network"){
break;}
}
drawProgress(display, 50, "Updating forecasts...");
for(int i=0;i<5;i++){
HeFengClient.doUpdateFore(foreWeather, HEFENG_KEY, HEFENG_LOCATION);
if(foreWeather[0].datestr!="N/A"){
break;}
}
readyForWeatherUpdate = false;
drawProgress(display, 100, "Done...");
delay(1000);
}
void drawDateTime(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {
now = time(nullptr);
struct tm* timeInfo;
timeInfo = localtime(&now);
char buff[16];
display->setTextAlignment(TEXT_ALIGN_CENTER);
display->setFont(ArialMT_Plain_16);
String date = WDAY_NAMES[timeInfo->tm_wday];
sprintf_P(buff, PSTR("%04d-%02d-%02d, %s"), timeInfo->tm_year + 1900, timeInfo->tm_mon+1, timeInfo->tm_mday, WDAY_NAMES[timeInfo->tm_wday].c_str());
display->drawString(64 + x, 5 + y, String(buff));
display->setFont(ArialMT_Plain_24);
sprintf_P(buff, PSTR("%02d:%02d:%02d"), timeInfo->tm_hour, timeInfo->tm_min, timeInfo->tm_sec);
display->drawString(64 + x, 22 + y, String(buff));
display->setTextAlignment(TEXT_ALIGN_LEFT);
}
void drawCurrentWeather(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {
display->setFont(ArialMT_Plain_10);
display->setTextAlignment(TEXT_ALIGN_CENTER);
display->drawString(64 + x, 38 + y, currentWeather.cond_txt+" | Wind: "+currentWeather.wind_sc);
display->setFont(ArialMT_Plain_24);
display->setTextAlignment(TEXT_ALIGN_LEFT);
String temp = currentWeather.tmp + "°C" ;
display->drawString(60 + x, 3 + y, temp);
display->setFont(ArialMT_Plain_10);
display->drawString(70 + x, 26 + y, currentWeather.fl+"°C | "+currentWeather.hum+"%");
display->setFont(Meteocons_Plain_36);
display->setTextAlignment(TEXT_ALIGN_CENTER);
display->drawString(32 + x, 0 + y, currentWeather.iconMeteoCon);
}
void drawForecast(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {
drawForecastDetails(display, x, y, 0);
drawForecastDetails(display, x + 44, y, 1);
drawForecastDetails(display, x + 88, y, 2);
}
void drawForecastDetails(OLEDDisplay *display, int x, int y, int dayIndex) {
display->setTextAlignment(TEXT_ALIGN_CENTER);
display->setFont(ArialMT_Plain_10);
display->drawString(x + 20, y, foreWeather[dayIndex].datestr);
display->setFont(Meteocons_Plain_21);
display->drawString(x + 20, y + 12, foreWeather[dayIndex].iconMeteoCon);
String temp=foreWeather[dayIndex].tmp_min+" | "+foreWeather[dayIndex].tmp_max;
display->setFont(ArialMT_Plain_10);
display->drawString(x + 20, y + 34, temp);
display->setTextAlignment(TEXT_ALIGN_LEFT);
}
void drawHeaderOverlay(OLEDDisplay *display, OLEDDisplayUiState* state) {
now = time(nullptr);
struct tm* timeInfo;
timeInfo = localtime(&now);
char buff[14];
sprintf_P(buff, PSTR("%02d:%02d"), timeInfo->tm_hour, timeInfo->tm_min);
display->setColor(WHITE);
display->setFont(ArialMT_Plain_10);
display->setTextAlignment(TEXT_ALIGN_LEFT);
display->drawString(6, 54, String(buff));
display->setTextAlignment(TEXT_ALIGN_RIGHT);
String temp =currTemp +"°C";
display->drawString(128, 54, temp);
display->drawHorizontalLine(0, 52, 128);
}
void setReadyForWeatherUpdate() {
Serial.println("Setting readyForUpdate to true");
readyForWeatherUpdate = true;
}
================================================
FILE: Esp8266_NTP_Clock_Weather/HeFeng.cpp
================================================
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <WiFiClientSecureBearSSL.h>
#include "HeFeng.h"
HeFeng::HeFeng() {
}
void HeFeng::doUpdateCurr(HeFengCurrentData *data, String key,String location) {
std::unique_ptr<BearSSL::WiFiClientSecure>client(new BearSSL::WiFiClientSecure);
client->setInsecure();
HTTPClient https;
String url="https://free-api.heweather.net/s6/weather/now?lang=en&location="+location+"&key="+key;
Serial.print("[HTTPS] begin...\n");
if (https.begin(*client, url)) { // HTTPS
// start connection and send HTTP header
int httpCode = https.GET();
// httpCode will be negative on error
if (httpCode > 0) {
// HTTP header has been send and Server response header has been handled
Serial.printf("[HTTPS] GET... code: %d\n", httpCode);
if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {
String payload = https.getString();
Serial.println(payload);
DynamicJsonDocument jsonBuffer(2048);
deserializeJson(jsonBuffer, payload);
JsonObject root = jsonBuffer.as<JsonObject>();
String tmp=root["HeWeather6"][0]["now"]["tmp"];
data->tmp=tmp;
String fl=root["HeWeather6"][0]["now"]["fl"];
data->fl=fl;
String hum=root["HeWeather6"][0]["now"]["hum"];
data->hum=hum;
String wind_sc=root["HeWeather6"][0]["now"]["wind_sc"];
data->wind_sc=wind_sc;
String cond_code=root["HeWeather6"][0]["now"]["cond_code"];
String meteoconIcon=getMeteoconIcon(cond_code);
String cond_txt=root["HeWeather6"][0]["now"]["cond_txt"];
data->cond_txt=cond_txt;
data->iconMeteoCon=meteoconIcon;
}
} else {
Serial.printf("[HTTPS] GET... failed, error: %s\n", https.errorToString(httpCode).c_str());
data->tmp="-1";
data->fl="-1";
data->hum="-1";
data->wind_sc="-1";
data->cond_txt="no network";
data->iconMeteoCon=")";
}
https.end();
} else {
Serial.printf("[HTTPS] Unable to connect\n");
data->tmp="-1";
data->fl="-1";
data->hum="-1";
data->wind_sc="-1";
data->cond_txt="no network";
data->iconMeteoCon=")";
}
}
void HeFeng::doUpdateFore(HeFengForeData *data, String key,String location) {
std::unique_ptr<BearSSL::WiFiClientSecure>client(new BearSSL::WiFiClientSecure);
client->setInsecure();
HTTPClient https;
String url="https://free-api.heweather.net/s6/weather/forecast?lang=en&location="+location+"&key="+key;
Serial.print("[HTTPS] begin...\n");
if (https.begin(*client, url)) { // HTTPS
// start connection and send HTTP header
int httpCode = https.GET();
// httpCode will be negative on error
if (httpCode > 0) {
// HTTP header has been send and Server response header has been handled
Serial.printf("[HTTPS] GET... code: %d\n", httpCode);
if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {
String payload = https.getString();
Serial.println(payload);
DynamicJsonDocument jsonBuffer(8192);
deserializeJson(jsonBuffer, payload);
JsonObject root = jsonBuffer.as<JsonObject>();
int i;
for (i=0; i<3; i++){
String tmp_min=root["HeWeather6"][0]["daily_forecast"][i]["tmp_min"];
data[i].tmp_min=tmp_min;
String tmp_max=root["HeWeather6"][0]["daily_forecast"][i]["tmp_max"];
data[i].tmp_max=tmp_max;
String datestr=root["HeWeather6"][0]["daily_forecast"][i]["date"];
data[i].datestr=datestr.substring(5,datestr.length());
String cond_code=root["HeWeather6"][0]["daily_forecast"][i]["cond_code_d"];
String meteoconIcon=getMeteoconIcon(cond_code);
data[i].iconMeteoCon=meteoconIcon;
}
}
} else {
Serial.printf("[HTTPS] GET... failed, error: %s\n", https.errorToString(httpCode).c_str());
int i;
for (i=0; i<3; i++){
data[i].tmp_min="-1";
data[i].tmp_max="-1";
data[i].datestr="N/A";
data[i].iconMeteoCon=")";
}
}
https.end();
} else {
Serial.printf("[HTTPS] Unable to connect\n");
int i;
for (i=0; i<3; i++){
data[i].tmp_min="-1";
data[i].tmp_max="-1";
data[i].datestr="N/A";
data[i].iconMeteoCon=")";
}
}
}
String HeFeng::getMeteoconIcon(String cond_code){
if(cond_code=="100"||cond_code=="9006"){return "B";}
if(cond_code=="999"){return ")";}
if(cond_code=="104"){return "D";}
if(cond_code=="500"){return "E";}
if(cond_code=="503"||cond_code=="504"||cond_code=="507"||cond_code=="508"){return "F";}
if(cond_code=="499"||cond_code=="901"){return "G";}
if(cond_code=="103"){return "H";}
if(cond_code=="502"||cond_code=="511"||cond_code=="512"||cond_code=="513"){return "L";}
if(cond_code=="501"||cond_code=="509"||cond_code=="510"||cond_code=="514"||cond_code=="515"){return "M";}
if(cond_code=="102"){return "N";}
if(cond_code=="213"){return "O";}
if(cond_code=="302"||cond_code=="303"){return "P";}
if(cond_code=="305"||cond_code=="308"||cond_code=="309"||cond_code=="314"||cond_code=="399"){return "Q";}
if(cond_code=="306"||cond_code=="307"||cond_code=="310"||cond_code=="311"||cond_code=="312"||cond_code=="315"||cond_code=="316"||cond_code=="317"||cond_code=="318"){return "R";}
if(cond_code=="200"||cond_code=="201"||cond_code=="202"||cond_code=="203"||cond_code=="204"||cond_code=="205"||cond_code=="206"||cond_code=="207"||cond_code=="208"||cond_code=="209"||cond_code=="210"||cond_code=="211"||cond_code=="212"){return "S";}
if(cond_code=="300"||cond_code=="301"){return "T";}
if(cond_code=="400"||cond_code=="408"){return "U";}
if(cond_code=="407"){return "V";}
if(cond_code=="401"||cond_code=="402"||cond_code=="403"||cond_code=="409"||cond_code=="410"){return "W";}
if(cond_code=="304"||cond_code=="313"||cond_code=="404"||cond_code=="405"||cond_code=="406"){return "X";}
if(cond_code=="101"){return "Y";}
return ")";
}
================================================
FILE: Esp8266_NTP_Clock_Weather/HeFeng.h
================================================
#pragma once
#include <ArduinoJson.h>
typedef struct HeFengCurrentData {
String cond_txt;
String fl;
String tmp;
String hum;
String wind_sc;
String iconMeteoCon;
} HeFengCurrentData;
typedef struct HeFengForeData {
String datestr;
String tmp_min;
String tmp_max;
String iconMeteoCon;
} HeFengForeData;
class HeFeng {
private:
String getMeteoconIcon(String cond_code);
public:
HeFeng();
void doUpdateCurr(HeFengCurrentData *data, String key,String location);
void doUpdateFore(HeFengForeData *data, String key,String location);
};
================================================
FILE: Esp8266_NTP_Clock_Weather/README.md
================================================
## 说明
此目录为Arudino工程
================================================
FILE: Esp8266_NTP_Clock_Weather/WeatherStationFonts.h
================================================
/**The MIT License (MIT)
Copyright (c) 2015 by Daniel Eichhorn
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.
See more at http://blog.squix.ch
*/
// Created by http://oleddisplay.squix.ch/ Consider a donation
// In case of problems make sure that you are using the font file with the correct version!
const uint8_t Meteocons_Plain_36[] PROGMEM = {
0x25, // Width: 37
0x26, // Height: 38
0x20, // First Char: 32
0xE0, // Numbers of Chars: 224
// Jump Table:
0xFF, 0xFF, 0x00, 0x24, // 32:65535
0x00, 0x00, 0xB6, 0x25, // 33:0
0x00, 0xB6, 0xB1, 0x24, // 34:182
0x01, 0x67, 0xB1, 0x24, // 35:359
0x02, 0x18, 0xB1, 0x24, // 36:536
0x02, 0xC9, 0xB3, 0x24, // 37:713
0x03, 0x7C, 0xB2, 0x24, // 38:892
0x04, 0x2E, 0x73, 0x24, // 39:1070
0x04, 0xA1, 0xB2, 0x24, // 40:1185
0x05, 0x53, 0x9F, 0x24, // 41:1363
0x05, 0xF2, 0x80, 0x24, // 42:1522
0x06, 0x72, 0x7F, 0x24, // 43:1650
0xFF, 0xFF, 0x00, 0x24, // 44:65535
0xFF, 0xFF, 0x00, 0x24, // 45:65535
0xFF, 0xFF, 0x00, 0x24, // 46:65535
0xFF, 0xFF, 0x00, 0x24, // 47:65535
0x06, 0xF1, 0xB2, 0x25, // 48:1777
0x07, 0xA3, 0xA3, 0x24, // 49:1955
0x08, 0x46, 0x80, 0x24, // 50:2118
0x08, 0xC6, 0xB3, 0x24, // 51:2246
0x09, 0x79, 0xB3, 0x24, // 52:2425
0x0A, 0x2C, 0xB2, 0x24, // 53:2604
0x0A, 0xDE, 0xB1, 0x24, // 54:2782
0x0B, 0x8F, 0xB2, 0x24, // 55:2959
0x0C, 0x41, 0xB1, 0x25, // 56:3137
0x0C, 0xF2, 0xB2, 0x24, // 57:3314
0xFF, 0xFF, 0x00, 0x24, // 58:65535
0xFF, 0xFF, 0x00, 0x24, // 59:65535
0xFF, 0xFF, 0x00, 0x24, // 60:65535
0xFF, 0xFF, 0x00, 0x24, // 61:65535
0xFF, 0xFF, 0x00, 0x24, // 62:65535
0xFF, 0xFF, 0x00, 0x24, // 63:65535
0xFF, 0xFF, 0x00, 0x24, // 64:65535
0x0D, 0xA4, 0x8E, 0x24, // 65:3492
0x0E, 0x32, 0xA3, 0x24, // 66:3634
0x0E, 0xD5, 0x85, 0x24, // 67:3797
0x0F, 0x5A, 0x99, 0x24, // 68:3930
0x0F, 0xF3, 0xB2, 0x24, // 69:4083
0x10, 0xA5, 0xA8, 0x24, // 70:4261
0x11, 0x4D, 0x90, 0x24, // 71:4429
0x11, 0xDD, 0xB3, 0x24, // 72:4573
0x12, 0x90, 0xB3, 0x24, // 73:4752
0x13, 0x43, 0xA5, 0x24, // 74:4931
0x13, 0xE8, 0xA5, 0x24, // 75:5096
0x14, 0x8D, 0xB4, 0x25, // 76:5261
0x15, 0x41, 0x90, 0x24, // 77:5441
0x15, 0xD1, 0xB2, 0x24, // 78:5585
0x16, 0x83, 0xB1, 0x24, // 79:5763
0x17, 0x34, 0xB1, 0x24, // 80:5940
0x17, 0xE5, 0xB2, 0x24, // 81:6117
0x18, 0x97, 0xB2, 0x25, // 82:6295
0x19, 0x49, 0xB2, 0x24, // 83:6473
0x19, 0xFB, 0xB6, 0x25, // 84:6651
0x1A, 0xB1, 0xB1, 0x24, // 85:6833
0x1B, 0x62, 0xB1, 0x24, // 86:7010
0x1C, 0x13, 0xB2, 0x24, // 87:7187
0x1C, 0xC5, 0xB1, 0x24, // 88:7365
0x1D, 0x76, 0xB3, 0x25, // 89:7542
0x1E, 0x29, 0xB2, 0x25, // 90:7721
0xFF, 0xFF, 0x00, 0x24, // 91:65535
0xFF, 0xFF, 0x00, 0x24, // 92:65535
0xFF, 0xFF, 0x00, 0x24, // 93:65535
0xFF, 0xFF, 0x00, 0x24, // 94:65535
0xFF, 0xFF, 0x00, 0x24, // 95:65535
0xFF, 0xFF, 0x00, 0x24, // 96:65535
0xFF, 0xFF, 0x00, 0x24, // 97:65535
0xFF, 0xFF, 0x00, 0x24, // 98:65535
0xFF, 0xFF, 0x00, 0x24, // 99:65535
0xFF, 0xFF, 0x00, 0x24, // 100:65535
0xFF, 0xFF, 0x00, 0x24, // 101:65535
0xFF, 0xFF, 0x00, 0x24, // 102:65535
0xFF, 0xFF, 0x00, 0x24, // 103:65535
0xFF, 0xFF, 0x00, 0x24, // 104:65535
0xFF, 0xFF, 0x00, 0x24, // 105:65535
0xFF, 0xFF, 0x00, 0x24, // 106:65535
0xFF, 0xFF, 0x00, 0x24, // 107:65535
0xFF, 0xFF, 0x00, 0x24, // 108:65535
0xFF, 0xFF, 0x00, 0x24, // 109:65535
0xFF, 0xFF, 0x00, 0x24, // 110:65535
0xFF, 0xFF, 0x00, 0x24, // 111:65535
0xFF, 0xFF, 0x00, 0x24, // 112:65535
0xFF, 0xFF, 0x00, 0x24, // 113:65535
0xFF, 0xFF, 0x00, 0x24, // 114:65535
0xFF, 0xFF, 0x00, 0x24, // 115:65535
0xFF, 0xFF, 0x00, 0x24, // 116:65535
0xFF, 0xFF, 0x00, 0x24, // 117:65535
0xFF, 0xFF, 0x00, 0x24, // 118:65535
0xFF, 0xFF, 0x00, 0x24, // 119:65535
0xFF, 0xFF, 0x00, 0x24, // 120:65535
0xFF, 0xFF, 0x00, 0x24, // 121:65535
0xFF, 0xFF, 0x00, 0x24, // 122:65535
0xFF, 0xFF, 0x00, 0x24, // 123:65535
0xFF, 0xFF, 0x00, 0x24, // 124:65535
0xFF, 0xFF, 0x00, 0x24, // 125:65535
0xFF, 0xFF, 0x00, 0x24, // 126:65535
0xFF, 0xFF, 0x00, 0x24, // 127:65535
0xFF, 0xFF, 0x00, 0x24, // 128:65535
0xFF, 0xFF, 0x00, 0x24, // 129:65535
0xFF, 0xFF, 0x00, 0x24, // 130:65535
0xFF, 0xFF, 0x00, 0x24, // 131:65535
0xFF, 0xFF, 0x00, 0x24, // 132:65535
0xFF, 0xFF, 0x00, 0x24, // 133:65535
0xFF, 0xFF, 0x00, 0x24, // 134:65535
0xFF, 0xFF, 0x00, 0x24, // 135:65535
0xFF, 0xFF, 0x00, 0x24, // 136:65535
0xFF, 0xFF, 0x00, 0x24, // 137:65535
0xFF, 0xFF, 0x00, 0x24, // 138:65535
0xFF, 0xFF, 0x00, 0x24, // 139:65535
0xFF, 0xFF, 0x00, 0x24, // 140:65535
0xFF, 0xFF, 0x00, 0x24, // 141:65535
0xFF, 0xFF, 0x00, 0x24, // 142:65535
0xFF, 0xFF, 0x00, 0x24, // 143:65535
0xFF, 0xFF, 0x00, 0x24, // 144:65535
0xFF, 0xFF, 0x00, 0x24, // 145:65535
0xFF, 0xFF, 0x00, 0x24, // 146:65535
0xFF, 0xFF, 0x00, 0x24, // 147:65535
0xFF, 0xFF, 0x00, 0x24, // 148:65535
0xFF, 0xFF, 0x00, 0x24, // 149:65535
0xFF, 0xFF, 0x00, 0x24, // 150:65535
0xFF, 0xFF, 0x00, 0x24, // 151:65535
0xFF, 0xFF, 0x00, 0x24, // 152:65535
0xFF, 0xFF, 0x00, 0x24, // 153:65535
0xFF, 0xFF, 0x00, 0x24, // 154:65535
0xFF, 0xFF, 0x00, 0x24, // 155:65535
0xFF, 0xFF, 0x00, 0x24, // 156:65535
0xFF, 0xFF, 0x00, 0x24, // 157:65535
0xFF, 0xFF, 0x00, 0x24, // 158:65535
0xFF, 0xFF, 0x00, 0x24, // 159:65535
0xFF, 0xFF, 0x00, 0x24, // 160:65535
0xFF, 0xFF, 0x00, 0x24, // 161:65535
0xFF, 0xFF, 0x00, 0x24, // 162:65535
0xFF, 0xFF, 0x00, 0x24, // 163:65535
0xFF, 0xFF, 0x00, 0x24, // 164:65535
0xFF, 0xFF, 0x00, 0x24, // 165:65535
0xFF, 0xFF, 0x00, 0x24, // 166:65535
0xFF, 0xFF, 0x00, 0x24, // 167:65535
0xFF, 0xFF, 0x00, 0x24, // 168:65535
0xFF, 0xFF, 0x00, 0x24, // 169:65535
0xFF, 0xFF, 0x00, 0x24, // 170:65535
0xFF, 0xFF, 0x00, 0x24, // 171:65535
0xFF, 0xFF, 0x00, 0x24, // 172:65535
0xFF, 0xFF, 0x00, 0x24, // 173:65535
0xFF, 0xFF, 0x00, 0x24, // 174:65535
0xFF, 0xFF, 0x00, 0x24, // 175:65535
0xFF, 0xFF, 0x00, 0x24, // 176:65535
0xFF, 0xFF, 0x00, 0x24, // 177:65535
0xFF, 0xFF, 0x00, 0x24, // 178:65535
0xFF, 0xFF, 0x00, 0x24, // 179:65535
0xFF, 0xFF, 0x00, 0x24, // 180:65535
0xFF, 0xFF, 0x00, 0x24, // 181:65535
0xFF, 0xFF, 0x00, 0x24, // 182:65535
0xFF, 0xFF, 0x00, 0x24, // 183:65535
0xFF, 0xFF, 0x00, 0x24, // 184:65535
0xFF, 0xFF, 0x00, 0x24, // 185:65535
0xFF, 0xFF, 0x00, 0x24, // 186:65535
0xFF, 0xFF, 0x00, 0x24, // 187:65535
0xFF, 0xFF, 0x00, 0x24, // 188:65535
0xFF, 0xFF, 0x00, 0x24, // 189:65535
0xFF, 0xFF, 0x00, 0x24, // 190:65535
0xFF, 0xFF, 0x00, 0x24, // 191:65535
0xFF, 0xFF, 0x00, 0x24, // 192:65535
0xFF, 0xFF, 0x00, 0x24, // 193:65535
0xFF, 0xFF, 0x00, 0x24, // 194:65535
0xFF, 0xFF, 0x00, 0x24, // 195:65535
0xFF, 0xFF, 0x00, 0x24, // 196:65535
0xFF, 0xFF, 0x00, 0x24, // 197:65535
0xFF, 0xFF, 0x00, 0x24, // 198:65535
0xFF, 0xFF, 0x00, 0x24, // 199:65535
0xFF, 0xFF, 0x00, 0x24, // 200:65535
0xFF, 0xFF, 0x00, 0x24, // 201:65535
0xFF, 0xFF, 0x00, 0x24, // 202:65535
0xFF, 0xFF, 0x00, 0x24, // 203:65535
0xFF, 0xFF, 0x00, 0x24, // 204:65535
0xFF, 0xFF, 0x00, 0x24, // 205:65535
0xFF, 0xFF, 0x00, 0x24, // 206:65535
0xFF, 0xFF, 0x00, 0x24, // 207:65535
0xFF, 0xFF, 0x00, 0x24, // 208:65535
0xFF, 0xFF, 0x00, 0x24, // 209:65535
0xFF, 0xFF, 0x00, 0x24, // 210:65535
0xFF, 0xFF, 0x00, 0x24, // 211:65535
0xFF, 0xFF, 0x00, 0x24, // 212:65535
0xFF, 0xFF, 0x00, 0x24, // 213:65535
0xFF, 0xFF, 0x00, 0x24, // 214:65535
0xFF, 0xFF, 0x00, 0x24, // 215:65535
0xFF, 0xFF, 0x00, 0x24, // 216:65535
0xFF, 0xFF, 0x00, 0x24, // 217:65535
0xFF, 0xFF, 0x00, 0x24, // 218:65535
0xFF, 0xFF, 0x00, 0x24, // 219:65535
0xFF, 0xFF, 0x00, 0x24, // 220:65535
0xFF, 0xFF, 0x00, 0x24, // 221:65535
0xFF, 0xFF, 0x00, 0x24, // 222:65535
0xFF, 0xFF, 0x00, 0x24, // 223:65535
0xFF, 0xFF, 0x00, 0x24, // 224:65535
0xFF, 0xFF, 0x00, 0x24, // 225:65535
0xFF, 0xFF, 0x00, 0x24, // 226:65535
0xFF, 0xFF, 0x00, 0x24, // 227:65535
0xFF, 0xFF, 0x00, 0x24, // 228:65535
0xFF, 0xFF, 0x00, 0x24, // 229:65535
0xFF, 0xFF, 0x00, 0x24, // 230:65535
0xFF, 0xFF, 0x00, 0x24, // 231:65535
0xFF, 0xFF, 0x00, 0x24, // 232:65535
0xFF, 0xFF, 0x00, 0x24, // 233:65535
0xFF, 0xFF, 0x00, 0x24, // 234:65535
0xFF, 0xFF, 0x00, 0x24, // 235:65535
0xFF, 0xFF, 0x00, 0x24, // 236:65535
0xFF, 0xFF, 0x00, 0x24, // 237:65535
0xFF, 0xFF, 0x00, 0x24, // 238:65535
0xFF, 0xFF, 0x00, 0x24, // 239:65535
0xFF, 0xFF, 0x00, 0x24, // 240:65535
0xFF, 0xFF, 0x00, 0x24, // 241:65535
0xFF, 0xFF, 0x00, 0x24, // 242:65535
0xFF, 0xFF, 0x00, 0x24, // 243:65535
0xFF, 0xFF, 0x00, 0x24, // 244:65535
0xFF, 0xFF, 0x00, 0x24, // 245:65535
0xFF, 0xFF, 0x00, 0x24, // 246:65535
0xFF, 0xFF, 0x00, 0x24, // 247:65535
0xFF, 0xFF, 0x00, 0x24, // 248:65535
0xFF, 0xFF, 0x00, 0x24, // 249:65535
0xFF, 0xFF, 0x00, 0x24, // 250:65535
0xFF, 0xFF, 0x00, 0x24, // 251:65535
0xFF, 0xFF, 0x00, 0x24, // 252:65535
0xFF, 0xFF, 0x00, 0x24, // 253:65535
0xFF, 0xFF, 0x00, 0x24, // 254:65535
0xFF, 0xFF, 0x00, 0x24, // 255:65535
// Font Data:
0x00,0x80,0x19,0x00,0x00,0x00,0x80,0x19,0x00,0x00,0x00,0x8C,0x19,0x00,0x00,0x00,0x8C,0x19,0x00,0x00,0x00,0x8C,0x19,0x00,0x00,0x00,0x8C,0x19,0x00,0x00,0x00,0x8C,0x19,0x00,0x00,0x00,0x0C,0x18,0x00,0x00,0x00,0x0C,0x18,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x30,0x18,0x00,0x00,0x00,0xFE,0x01,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0x80,0xFF,0x07,0x00,0x00,0x80,0xFF,0x0F,0x00,0x00,0x80,0xFF,0x0F,0x00,0x00,0xC0,0xFF,0x0F,0x38,0x00,0xC0,0xFF,0x0F,0x3E,0x00,0xE0,0xFF,0x0F,0x7F,0x00,0xF0,0xFF,0x1F,0x3E,0x00,0xF0,0xFF,0x1F,0x38,0x00,0xF0,0xFF,0x1F,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0xF0,0xFF,0x1F,0x80,0x03,0xF0,0xFF,0x1F,0xC0,0x07,0xF0,0xFF,0x1F,0xF0,0x07,0xE0,0xFF,0x0F,0xC0,0x07,0xC0,0xFF,0x0F,0x80,0x03,0xC0,0xFF,0x0F,0x00,0x00,0xC0,0xFF,0x0F,0x00,0x00,0x80,0xFF,0x0F,0x00,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0x00,0xFE,0x01,0x00,0x00,0x00,0x70, // 33
0x00,0xF8,0x00,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xFF,0x07,0x00,0x00,0x80,0xFF,0x0F,0x00,0x00,0x80,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x3F,0x00,0x00,0xC0,0xFF,0x1F,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0xFC,0xFF,0x7F,0x38,0x07,0xFC,0xFF,0x7F,0x38,0x07,0xFC,0xFF,0x7F,0xF0,0x03,0xFE,0xFF,0xFF,0xF0,0x03,0xFE,0xFF,0xFF,0x3E,0x1F,0xFE,0xFF,0xFF,0x3E,0x1F,0xFE,0xFF,0xFF,0xF0,0x03,0xFC,0xFF,0x7F,0xF0,0x03,0xFC,0xFF,0x7F,0x38,0x07,0xFC,0xFF,0x7F,0x38,0x07,0xF8,0xFF,0x3F,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x3F,0x00,0x00,0xC0,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x1F,0x00,0x00,0x80,0xFF,0x1F,0x00,0x00,0x80,0xFF,0x0F,0x00,0x00,0x00,0xFF,0x07,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xF8, // 34
0x00,0xF8,0x00,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xFF,0x07,0x08,0x00,0x80,0xFF,0x0F,0x0B,0x00,0x80,0xFF,0x1F,0x3E,0x00,0xC0,0xFF,0x1F,0x32,0x00,0xC0,0xFF,0x9F,0x1F,0x00,0xC0,0xFF,0x3F,0x3C,0x00,0xC0,0xFF,0x1F,0x26,0x00,0xE0,0xFF,0x1F,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0xFC,0xFF,0x7F,0x38,0x07,0xFC,0xFF,0x7F,0x38,0x07,0xFC,0xFF,0x7F,0xF0,0x03,0xFE,0xFF,0xFF,0xF0,0x03,0xFE,0xFF,0xFF,0x3E,0x1F,0xFE,0xFF,0xFF,0x3E,0x1F,0xFE,0xFF,0xFF,0xF0,0x03,0xFC,0xFF,0x7F,0xF0,0x03,0xFC,0xFF,0x7F,0x38,0x07,0xFC,0xFF,0x7F,0x38,0x07,0xF8,0xFF,0x3F,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x3F,0x90,0x00,0xC0,0xFF,0x1F,0xF0,0x00,0xC0,0xFF,0x1F,0x7E,0x00,0xC0,0xFF,0x1F,0xC8,0x01,0x80,0xFF,0x1F,0xF8,0x00,0x80,0xFF,0x0F,0x2C,0x00,0x00,0xFF,0x07,0x60,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xF8, // 35
0x00,0xF8,0x00,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xFF,0x07,0x00,0x00,0x80,0xFF,0x0F,0x00,0x00,0x80,0xFF,0x1F,0x04,0x00,0xC0,0xFF,0x1F,0x0F,0x00,0xC0,0xFF,0x1F,0x0F,0x00,0xC0,0xFF,0x3F,0x0F,0x00,0xC0,0xFF,0x1F,0x06,0x00,0xE0,0xFF,0x1F,0x00,0x0C,0xF0,0xFF,0x1F,0x00,0x1E,0xF8,0xFF,0x3F,0x00,0x1E,0xF8,0xFF,0x3F,0x00,0x1E,0xFC,0xFF,0x7F,0x00,0x08,0xFC,0xFF,0x7F,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0xFE,0xFF,0xFF,0x38,0x00,0xFE,0xFF,0xFF,0x7C,0x00,0xFE,0xFF,0xFF,0x3C,0x00,0xFE,0xFF,0xFF,0x38,0x00,0xFC,0xFF,0x7F,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x08,0xF8,0xFF,0x3F,0x00,0x1E,0xF8,0xFF,0x3F,0x00,0x1E,0xF0,0xFF,0x1F,0x00,0x1E,0xE0,0xFF,0x1F,0x00,0x0C,0xC0,0xFF,0x3F,0x06,0x00,0xC0,0xFF,0x1F,0x0F,0x00,0xC0,0xFF,0x1F,0x0F,0x00,0xC0,0xFF,0x1F,0x0F,0x00,0x80,0xFF,0x1F,0x04,0x00,0x80,0xFF,0x0F,0x00,0x00,0x00,0xFF,0x07,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xF8, // 36
0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0xF8,0x0F,0x00,0x00,0x00,0xFC,0x1F,0x00,0x00,0x00,0xFE,0x3F,0x00,0x00,0x00,0xFF,0x7F,0x00,0x00,0x00,0xFF,0x7F,0x00,0x00,0x00,0xFF,0x7F,0x00,0x00,0x00,0xFF,0x7F,0x00,0x00,0x00,0xFF,0x7F,0x00,0x00,0xF0,0xFF,0x7F,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0xFE,0xFF,0x7F,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0xFF,0xFF,0xFF,0x01,0x00,0xFF,0xFF,0xFF,0x01,0x80,0xFF,0xFF,0xFF,0x01,0x80,0xFF,0xFF,0xFF,0x03,0xC0,0xFF,0xFF,0xFF,0x01,0xE0,0xFF,0xFF,0xFF,0x01,0xE0,0xFF,0xFF,0xFF,0x01,0xE0,0xFF,0xFF,0xFF,0x01,0xE0,0xFF,0xFF,0xFF,0x01,0xE0,0xFF,0xFF,0xFF,0x00,0xE0,0xFF,0xFF,0x7F,0x00,0xE0,0xFF,0xFF,0x7F,0x00,0xC0,0xFF,0xFF,0x7F,0x00,0xC0,0xFF,0xFF,0x7F,0x00,0x80,0xFF,0xFF,0x7F,0x00,0x00,0xFF,0xFF,0x7F,0x00,0x00,0xFF,0xFF,0x7F,0x00,0x00,0xFF,0xFF,0x7F,0x00,0x00,0xFE,0xFF,0x3F,0x00,0x00,0xFE,0xFF,0x1F,0x00,0x00,0xFC,0xFF,0x0F,0x00,0x00,0xF0,0xE1,0x03, // 37
0x00,0x00,0x3E,0x00,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xF0,0xFF,0x07,0x00,0x00,0xF0,0xFF,0x07,0x00,0x00,0xF0,0xFF,0x07,0x00,0x00,0xF0,0xFF,0x07,0x00,0x00,0xF0,0xFF,0x07,0x00,0x00,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0x07,0x00,0xE0,0xFF,0xFF,0x0F,0x00,0xE0,0xFF,0xFF,0x0F,0x00,0xE0,0xFF,0xFF,0x5F,0x10,0xF0,0xFF,0xFF,0x5F,0x08,0xF0,0xFF,0xFF,0xFF,0x0E,0xF8,0xFF,0xFF,0xFF,0x07,0xF8,0xFF,0xFF,0xFF,0x03,0xFC,0xFF,0xFF,0xBF,0x03,0xFC,0xFF,0xFF,0x1F,0x01,0xFE,0xFF,0xFF,0x1F,0x00,0xFE,0xFF,0xFF,0x1F,0x00,0xFE,0xFF,0xFF,0x1F,0x00,0xFE,0xFF,0xFF,0x0F,0x00,0xFE,0xFF,0xFF,0x0F,0x00,0xFC,0xFF,0xFF,0x07,0x00,0xFC,0xFF,0xFF,0x07,0x00,0xF8,0xFF,0xFF,0x07,0x00,0xF8,0xFF,0xFF,0x07,0x00,0xF0,0xFF,0xFF,0x07,0x00,0xF0,0xFF,0xFF,0x07,0x00,0xE0,0xFF,0xFF,0x07,0x00,0xE0,0xFF,0xFF,0x03,0x00,0xC0,0xFF,0xFF,0x01,0x00,0xC0,0xFF,0xFF,0x00,0x00,0x00,0x1F,0x3E, // 38
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0xF8,0x03,0xF0,0xFF,0xFF,0xFF,0x07,0xF0,0xFF,0xFF,0xFF,0x07,0xF8,0xFF,0xFF,0xFF,0x07,0xF0,0xFF,0xFF,0xFF,0x07,0xE0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0xF8,0x03,0x00,0x00,0x00,0xF0,0x01, // 39
0x00,0x80,0xFF,0x00,0x00,0x00,0xF0,0xFF,0x07,0x00,0x00,0xFC,0xFF,0x1F,0x00,0x00,0xFE,0xFF,0x3F,0x00,0x80,0xFF,0xFF,0x7F,0x00,0xC0,0x3F,0x00,0xFF,0x00,0xE0,0x0F,0x00,0xFC,0x01,0xE0,0x07,0x00,0xF0,0x03,0xF0,0x03,0x00,0xE0,0x07,0xF8,0x01,0x00,0xC0,0x07,0xF8,0x00,0x00,0xC0,0x0F,0x7C,0x00,0x00,0x82,0x0F,0x7C,0x00,0x80,0x01,0x0F,0x7C,0x00,0xE0,0x01,0x1F,0x3C,0x00,0xF8,0x00,0x1F,0x3E,0x00,0xFE,0x00,0x1E,0x3E,0x00,0x7E,0x00,0x1E,0x3E,0x00,0x7F,0x00,0x1E,0x3E,0x00,0x3F,0x00,0x1E,0x3E,0x80,0x3F,0x00,0x1E,0x3E,0x80,0x1F,0x00,0x1E,0x3C,0xC0,0x07,0x00,0x1F,0x7C,0xC0,0x01,0x00,0x1F,0x7C,0x60,0x00,0x00,0x0F,0x7C,0x10,0x00,0x80,0x0F,0xF8,0x00,0x00,0xC0,0x0F,0xF8,0x01,0x00,0xC0,0x07,0xF0,0x03,0x00,0xE0,0x07,0xE0,0x07,0x00,0xF0,0x03,0xE0,0x0F,0x00,0xFC,0x01,0xC0,0x3F,0x00,0xFF,0x00,0x80,0xFF,0xFF,0x7F,0x00,0x00,0xFE,0xFF,0x3F,0x00,0x00,0xFC,0xFF,0x0F,0x00,0x00,0xF0,0xFF,0x07,0x00,0x00,0x80,0xFF, // 40
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0x80,0x0F,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x80,0x03,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x00,0xF8,0x01,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0xE0,0x6F,0x00,0x00,0x00,0xE0,0x60,0x00,0x00,0x00,0xE0,0x63,0x00,0x00,0x00,0xC0,0x7F,0x00,0x00,0x00,0x00,0xFE,0x01,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x80,0x01, // 41
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0x60,0x03,0x00,0x00,0x00,0x60,0x03,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0xC0,0xFF,0x00,0x00,0x00,0xE0,0xC0,0x01,0x00,0x00,0x60,0x80,0x01,0x00,0x00,0x60,0x80,0x01,0x00,0x00,0x60,0x80,0x01,0x00,0x00,0xE0,0xC0,0x01,0x00,0x00,0x40,0x80, // 42
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0x60,0x02,0x00,0x00,0x00,0x60,0x02,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0x60,0x0C,0x00,0x00,0x00,0x60,0x0C,0x00,0x00,0x00,0x60,0x0C,0x00,0x00,0x00,0x60,0x0C,0x00,0x00,0x00,0x60,0x0C,0x00,0x00,0x00,0x60,0x0C,0x00,0x00,0x00,0x60, // 43
0x00,0x00,0x1C,0x00,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xE0,0x80,0x03,0x00,0x00,0x60,0x00,0x03,0x00,0x00,0x70,0x00,0x07,0x00,0x00,0x30,0x00,0x06,0x00,0x00,0x30,0x00,0x06,0x00,0x00,0x30,0x00,0x06,0x00,0x00,0x3E,0x00,0x06,0x00,0x80,0x3F,0x00,0x07,0x00,0xC0,0x0F,0x00,0x03,0x00,0xC0,0x07,0x00,0x02,0x00,0x60,0x07,0x00,0x10,0x10,0x60,0x03,0x00,0x18,0x0C,0xE0,0x01,0x00,0xB8,0x07,0xF0,0x01,0x00,0xFC,0x03,0xF0,0x01,0x00,0xFE,0x01,0x98,0x01,0x00,0xF6,0x00,0x9C,0x01,0x80,0x61,0x00,0x8C,0x01,0x00,0x00,0x00,0x0C,0x03,0x00,0x0C,0x00,0x0C,0x03,0x00,0x0C,0x00,0x0C,0x07,0x00,0x0E,0x00,0x0C,0x0E,0x00,0x06,0x00,0x0C,0x1C,0x00,0x07,0x00,0x18,0x38,0x00,0x06,0x00,0x38,0x30,0x00,0x06,0x00,0x70,0x30,0x00,0x06,0x00,0x60,0x30,0x00,0x06,0x00,0x60,0x30,0x00,0x06,0x00,0x60,0x60,0x00,0x03,0x00,0xC0,0xE0,0x80,0x03,0x00,0xC0,0xE1,0xC1,0x01,0x00,0x80,0xFF,0xFF,0x00,0x00,0x00,0x1E,0x3E, // 48
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x02,0x0C,0x10,0x00,0x00,0x06,0x00,0x38,0x00,0x00,0x0E,0x00,0x1C,0x00,0x00,0x0C,0x3E,0x0C,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xF0,0xFF,0x03,0x00,0x00,0xF0,0xFF,0x07,0x00,0x00,0xF0,0xFF,0x07,0x00,0xE0,0xF9,0xFF,0xE7,0x03,0xE0,0xF9,0xFF,0xC7,0x03,0x00,0xF0,0xFF,0x07,0x00,0x00,0xF0,0xFF,0x07,0x00,0x00,0xF0,0xFF,0x03,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0x0C,0x3E,0x0C,0x00,0x00,0x0E,0x00,0x1C,0x00,0x00,0x06,0x00,0x38,0x00,0x00,0x02,0x0C,0x10,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x08, // 49
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xF0,0xFF,0x03,0x00,0x00,0x10,0xFE,0x07,0x00,0x00,0x00,0xF8,0x07,0x00,0x00,0x00,0xF0,0x07,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x80,0x03,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x40, // 50
0x00,0x80,0x01,0x1E,0x00,0x00,0x80,0x81,0x7F,0x00,0x00,0x80,0xC1,0xFF,0x01,0x00,0x80,0xE1,0xFF,0x03,0x60,0x00,0xF1,0xFF,0x03,0xE0,0x00,0xF0,0xFF,0x07,0xC0,0x01,0xF8,0xFF,0x07,0x80,0xE1,0xFF,0xFF,0x07,0x00,0xF8,0xFF,0xFF,0x07,0x00,0x3C,0xFC,0xFF,0x07,0x00,0x0E,0xFC,0xFF,0x07,0x00,0x06,0xFE,0xFF,0x07,0x00,0x07,0xFE,0xFF,0x0F,0x00,0x03,0xFF,0xFF,0x0F,0x3E,0x03,0xFF,0xFF,0x1F,0x3E,0x83,0xFF,0xFF,0x1F,0x00,0x83,0xFF,0xFF,0x1F,0x00,0x87,0xFF,0xFF,0x1F,0x00,0x86,0xFF,0xFF,0x1F,0x00,0x9C,0xFF,0xFF,0x1F,0x00,0xFC,0xFF,0xFF,0x1F,0x00,0xF1,0xFF,0xFF,0x1F,0xC0,0xC1,0xFF,0xFF,0x0F,0xE0,0x01,0xFF,0xFF,0x0F,0xE0,0x00,0xFE,0xFF,0x07,0x00,0x80,0xFD,0xFF,0x07,0x00,0x80,0xF9,0xFF,0x07,0x00,0x80,0xF9,0xFF,0x07,0x00,0x80,0xF9,0xFF,0x07,0x00,0x00,0xF8,0xFF,0x07,0x00,0x00,0xF0,0xFF,0x07,0x00,0x00,0xF0,0xFF,0x03,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0xC0,0xFF,0x00,0x00,0x00,0x00,0x3F, // 51
0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xF0,0xFF,0x03,0x00,0x00,0xF0,0xFF,0x07,0x00,0x00,0xF8,0xFF,0x07,0x00,0x00,0xF8,0xFF,0x07,0x00,0x00,0xF8,0xFF,0x07,0x00,0x00,0xF8,0xFF,0x07,0x00,0x00,0xFC,0xFF,0x07,0x00,0x00,0xFE,0xFF,0x07,0x00,0x00,0xFF,0xFF,0x0F,0x00,0x00,0xFF,0xFF,0x0F,0x00,0x80,0xFF,0xFF,0x1F,0x00,0x80,0xFF,0xFF,0x1F,0x00,0xBC,0xFF,0xFF,0x1F,0x00,0xFF,0xFF,0xFF,0x1F,0x80,0xEF,0xFF,0xFF,0x1F,0xC0,0x81,0xFF,0xFF,0x1F,0xE0,0x80,0xFF,0xFF,0x1F,0xF0,0x87,0xFF,0xFF,0x1F,0xF0,0x1F,0xFF,0xFF,0x0F,0x30,0x3C,0xFF,0xFF,0x0F,0x00,0x70,0xFE,0xFF,0x07,0x00,0xE0,0xFC,0xFF,0x07,0x00,0xC0,0xF8,0xFF,0x07,0x00,0xC0,0xF8,0xFF,0x07,0x00,0xC0,0xFD,0xFF,0x07,0x00,0xC0,0xFD,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0x07,0x00,0xC0,0xF7,0xFF,0x03,0x00,0xC0,0xE3,0xFF,0x03,0x00,0xC0,0xE0,0xFF,0x01,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0x00,0x3F, // 52
0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0xF0,0xFF,0x0F,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0xF0,0xFF,0x0F,0x00,0x00,0xF8,0xFF,0x0F,0x00,0x00,0xFC,0xFF,0x0F,0x00,0x00,0xFE,0xFF,0x1F,0x00,0x00,0xFE,0xFF,0x3F,0x00,0x00,0xFE,0xFF,0x3F,0x00,0x00,0xFF,0xFF,0x3F,0x00,0x00,0xFF,0xFF,0x3F,0x00,0x00,0xFF,0xFF,0x3F,0x00,0x00,0xFF,0xFF,0x3F,0x00,0x00,0xFF,0xFF,0x3F,0x00,0x00,0xFF,0xFF,0x3F,0x00,0x00,0xFE,0xFF,0x3F,0x00,0x00,0xFE,0xFF,0x3F,0x00,0x00,0xFE,0xFF,0x1F,0x00,0x00,0xFC,0xFF,0x0F,0x00,0x00,0xF8,0xFF,0x0F,0x00,0x00,0xF0,0xFF,0x0F,0x00,0x00,0xF0,0xFF,0x0F,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x7C, // 53
0x00,0xF8,0x00,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xFF,0x07,0x00,0x00,0x80,0xFF,0x0F,0x00,0x00,0x80,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x3F,0x00,0x00,0xC0,0xFF,0x1F,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0xFC,0xFF,0x7F,0x04,0x04,0xFC,0xFF,0x7F,0x06,0x03,0xFC,0xFF,0x7F,0xEF,0x01,0xFE,0xFF,0xFF,0xFF,0x00,0xFE,0xFF,0xFF,0x7F,0x00,0xFE,0xFF,0xFF,0x3D,0x00,0xFE,0xFF,0xFF,0x18,0x00,0xFC,0xFF,0x7F,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x3F,0x00,0x00,0xC0,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x1F,0x00,0x00,0x80,0xFF,0x1F,0x00,0x00,0x80,0xFF,0x0F,0x00,0x00,0x00,0xFF,0x07,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xF8, // 54
0x00,0xE0,0x07,0x00,0x00,0x00,0xF8,0x1F,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0xFE,0x3F,0x00,0x00,0x00,0xFE,0x7F,0x00,0x00,0x00,0xFF,0x7F,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x80,0xFF,0xFF,0x00,0x00,0xC0,0xFF,0x7F,0x00,0x00,0xC0,0xFF,0xFF,0x00,0x00,0xE0,0xFF,0xFF,0x01,0x00,0xF0,0xFF,0xFF,0x01,0x00,0xF0,0xFF,0xFF,0x01,0x00,0xF0,0xFF,0xFF,0x03,0x00,0xF0,0xFF,0xFF,0x83,0x03,0xF8,0xFF,0xFF,0xC3,0x07,0xF0,0xFF,0xFF,0xF3,0x07,0xF0,0xFF,0xFF,0xC3,0x07,0xF0,0xFF,0xFF,0x83,0x03,0xF0,0xFF,0xFF,0x01,0x00,0xF0,0xFF,0xFF,0x01,0x00,0xE0,0xFF,0xFF,0x01,0x00,0xC0,0xFF,0xFF,0x00,0x00,0xC0,0xFF,0x7F,0x00,0x00,0x80,0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0xFF,0x7F,0x00,0x00,0x00,0xFE,0x7F,0x00,0x00,0x00,0xFE,0x3F,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0xF8,0x0F,0x00,0x00,0x00,0xE0,0x07, // 55
0x00,0xF8,0x00,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xFF,0x07,0x00,0x00,0x80,0xFF,0x0F,0x00,0x00,0x80,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x1F,0x00,0x00,0xC0,0xFF,0x3F,0x38,0x00,0xC0,0xFF,0x1F,0x3E,0x00,0xE0,0xFF,0x1F,0x7F,0x00,0xF0,0xFF,0x1F,0x3E,0x00,0xF8,0xFF,0x3F,0x38,0x00,0xF8,0xFF,0x3F,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x0E,0xFE,0xFF,0xFF,0x00,0x1F,0xFE,0xFF,0xFF,0xC0,0x1F,0xFE,0xFF,0xFF,0x00,0x1F,0xFC,0xFF,0x7F,0x00,0x0C,0xFC,0xFF,0x7F,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0xF0,0xFF,0x1F,0x80,0x03,0xE0,0xFF,0x1F,0xC0,0x07,0xC0,0xFF,0x3F,0xF0,0x07,0xC0,0xFF,0x1F,0xC0,0x07,0xC0,0xFF,0x1F,0x80,0x03,0xC0,0xFF,0x1F,0x00,0x00,0x80,0xFF,0x1F,0x00,0x00,0x80,0xFF,0x0F,0x00,0x00,0x00,0xFF,0x07,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xF8, // 56
0x00,0x00,0xC0,0x0C,0x00,0x00,0x00,0xC0,0x0C,0x00,0x00,0x00,0xC6,0x0C,0x00,0x00,0x00,0xC6,0x0C,0x00,0x00,0x00,0xC6,0x0C,0x00,0x00,0x00,0xC6,0x0C,0x00,0x00,0x00,0xC6,0x0C,0x00,0x00,0x00,0x06,0x0C,0x00,0x00,0x00,0x06,0x0C,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x7E,0x0C,0x00,0x00,0x80,0xFF,0x01,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0xE0,0xFF,0x07,0x00,0x00,0xE0,0xFF,0x07,0x00,0x00,0xE0,0xFF,0x07,0x00,0x00,0xF0,0xFF,0x07,0x00,0x00,0xF8,0xFF,0x07,0x00,0x00,0xF8,0xFF,0x0F,0x00,0x00,0xFC,0xFF,0x0F,0x00,0x00,0xFC,0xFF,0x0F,0x00,0x00,0xFC,0xFF,0x0F,0x00,0x00,0xFC,0xFF,0x0F,0x00,0x00,0xFC,0xFF,0x0F,0x00,0x00,0xF8,0xFF,0x0F,0x00,0x00,0xF8,0xFF,0x0F,0x00,0x00,0xF8,0xFF,0x07,0x00,0x00,0xF0,0xFF,0x07,0x00,0x00,0xE0,0xFF,0x07,0x00,0x00,0xE0,0xFF,0x07,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x80,0xFF,0x01,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7E, // 57
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0xC0,0x30,0x03,0x00,0x00,0x00,0x3C,0x03,0x00,0x00,0x00,0x3E,0x23,0x00,0x00,0x00,0x07,0x33,0x00,0x00,0x00,0x03,0x33,0x00,0x00,0x80,0x03,0x33,0x00,0x00,0x80,0x01,0x33,0x00,0x00,0x9F,0x01,0x33,0x00,0x00,0x8F,0x01,0x33,0x00,0x00,0x80,0x01,0x33,0x00,0x00,0x80,0x03,0x33,0x00,0x00,0x00,0x03,0x33,0x00,0x00,0x00,0x07,0x33,0x00,0x00,0x00,0x3E,0x23,0x00,0x00,0x00,0x3C,0x03,0x00,0x00,0xC0,0x30,0x03,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x20, // 65
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x02,0x0C,0x10,0x00,0x00,0x06,0x00,0x38,0x00,0x00,0x0E,0x00,0x1C,0x00,0x00,0x0C,0x3E,0x0C,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0xC0,0xE3,0x01,0x00,0x00,0xE0,0x80,0x03,0x00,0x00,0x70,0x00,0x03,0x00,0x00,0x30,0x00,0x07,0x00,0x00,0x30,0x00,0x06,0x00,0xE0,0x39,0x00,0xE6,0x03,0xE0,0x39,0x00,0xC6,0x03,0x00,0x30,0x00,0x06,0x00,0x00,0x30,0x00,0x07,0x00,0x00,0x70,0x00,0x03,0x00,0x00,0xE0,0x80,0x03,0x00,0x00,0xC0,0xF3,0x01,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0x0C,0x3E,0x0C,0x00,0x00,0x0E,0x00,0x1C,0x00,0x00,0x06,0x00,0x38,0x00,0x00,0x02,0x0C,0x10,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x08, // 66
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xC0,0xFF,0x00,0x00,0x00,0xE0,0xF3,0x01,0x00,0x00,0x70,0x80,0x03,0x00,0x00,0x38,0x00,0x07,0x00,0x00,0xF8,0x01,0x06,0x00,0x00,0xFC,0x07,0x0E,0x00,0x00,0x18,0x1F,0x0C,0x00,0x00,0x00,0x1C,0x0C,0x00,0x00,0x00,0x38,0x0C,0x00,0x00,0x00,0x70,0x0C,0x00,0x00,0x00,0x60,0x0E,0x00,0x00,0x00,0x60,0x06,0x00,0x00,0x00,0x60,0x07,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x60, // 67
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x04,0x18,0x20,0x00,0x00,0x0C,0x00,0x70,0x00,0x00,0x3C,0x00,0x38,0x00,0x00,0x18,0x7C,0x18,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x80,0xEF,0x03,0x00,0x00,0xC0,0x01,0x07,0x00,0x00,0xE0,0x00,0x06,0x00,0x00,0x60,0xFE,0x0E,0x00,0x00,0xE0,0xFF,0x0D,0x00,0xC0,0xF3,0xFF,0xCF,0x07,0xC0,0xF3,0xFF,0x8F,0x07,0x00,0xE0,0xFF,0x0F,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0xF0,0xFF,0x0F,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x80,0xFF,0x01,0x00,0x00,0x00,0xFE, // 68
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xC0,0x00,0x00,0x00,0x60,0xC0,0x00,0x00,0x00,0x60,0xC4,0x00,0x00,0x00,0x60,0xC6,0x00,0x00,0x00,0x60,0xC6,0x00,0x00,0x00,0x60,0xC6,0x00,0x00,0x00,0x60,0xC6,0x00,0x00,0x00,0xE0,0xFF,0x00,0x00,0x00,0xE0,0xFF,0x00,0x00,0x00,0xF0,0xF6,0x01,0x00,0x00,0x78,0xC6,0x03,0x00,0x00,0x7C,0xC6,0x07,0x00,0x00,0x6E,0xC6,0x06,0x00,0x00,0x66,0xC6,0x0E,0x00,0x00,0x67,0xC6,0x0C,0x00,0x00,0x63,0xC6,0x0C,0x00,0x00,0x63,0xC6,0x0C,0x00,0x00,0x63,0xC6,0x0C,0x00,0x00,0x03,0xC6,0x0C,0x00,0x00,0x03,0xC6,0x0C,0x00,0x00,0x06,0xC6,0x0E,0x00,0x00,0x06,0xC6,0x06,0x00,0x00,0x0C,0xC6,0x07,0x00,0x00,0x3C,0xC6,0x03,0x00,0x00,0xF8,0xE6,0x01,0x00,0x00,0xE0,0xFF,0x00,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0x00,0xC6,0x00,0x00,0x00,0x00,0xC6,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x06, // 69
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x03,0x00,0x00,0x80,0x19,0x03,0x00,0x00,0x80,0x19,0x03,0x00,0x00,0x80,0x19,0x03,0x00,0x00,0x80,0x19,0x03,0x00,0x00,0x80,0x19,0x03,0x00,0x00,0x80,0x19,0x03,0x00,0x00,0x80,0x19,0x03,0x00,0x00,0x80,0x19,0x03,0x00,0x00,0x80,0x19,0x03,0x00,0x00,0x80,0x19,0x03,0x00,0x00,0x80,0x19,0x03,0x00,0x00,0xF0,0x19,0x03,0x00,0x00,0xF8,0x19,0x03,0x00,0x00,0xFC,0x19,0x03,0x00,0x00,0xF8,0x19,0x03,0x00,0x00,0xF8,0x19,0x1F,0x00,0x00,0xF0,0x18,0x3F,0x00,0x00,0x00,0x18,0x3F,0x00,0x00,0x00,0x18,0x3F,0x00,0x00,0x00,0x18,0x3F,0x00,0x00,0x00,0x18,0x3E,0x00,0x00,0x00,0x18,0x1C,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xC0,0x1F,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x80,0x0F,0x00,0x00,0x00,0x00,0x06, // 70
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x80,0x01,0x00,0x00,0xE0,0xC1,0x03,0x00,0x00,0xE0,0xE1,0x03,0x00,0x00,0xE0,0xEB,0x03,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0xFE,0xE3,0x3F,0x00,0x00,0xFF,0xE1,0x3F,0x00,0x00,0xFF,0xE1,0x3F,0x00,0x00,0xFF,0xE3,0x3F,0x00,0x00,0xFE,0xFF,0x3F,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0xE0,0xEB,0x03,0x00,0x00,0xE0,0xE1,0x03,0x00,0x00,0xE0,0xC1,0x03,0x00,0x00,0xC0,0x80,0x01, // 71
0x00,0x80,0x01,0x1E,0x00,0x00,0x80,0x81,0x7F,0x00,0x00,0x80,0xE1,0xE1,0x01,0x00,0x80,0x61,0x80,0x01,0x60,0x00,0x31,0x00,0x03,0xE0,0x00,0x38,0x00,0x07,0xC0,0x01,0x18,0x00,0x06,0x80,0xE1,0x1B,0x00,0x06,0x00,0xF8,0x1F,0x00,0x06,0x00,0x3C,0x1C,0x00,0x06,0x00,0x0E,0x1C,0x00,0x07,0x00,0x06,0x0E,0x00,0x07,0x00,0x07,0x06,0x00,0x0E,0x00,0x03,0x03,0x00,0x0C,0x3E,0x03,0x03,0x00,0x18,0x3E,0x83,0x01,0x00,0x18,0x00,0x83,0x01,0x00,0x18,0x00,0x87,0x01,0x00,0x18,0x00,0x86,0x01,0x00,0x18,0x00,0x9C,0x01,0x00,0x18,0x00,0xFC,0x01,0x00,0x18,0x00,0xF1,0x03,0x00,0x18,0xC0,0xC1,0x03,0x00,0x0C,0xE0,0x01,0x07,0x00,0x0E,0xE0,0x00,0x0E,0x00,0x07,0x00,0x80,0x1F,0x00,0x07,0x00,0x80,0x1D,0x00,0x06,0x00,0x80,0x19,0x00,0x06,0x00,0x80,0x19,0x00,0x06,0x00,0x00,0x18,0x00,0x06,0x00,0x00,0x38,0x00,0x07,0x00,0x00,0x30,0x00,0x03,0x00,0x00,0x70,0x80,0x03,0x00,0x00,0xE0,0xE1,0x01,0x00,0x00,0xC0,0xFF,0x00,0x00,0x00,0x00,0x3F, // 72
0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0xC0,0xFF,0x00,0x00,0x00,0xE0,0xE1,0x01,0x00,0x00,0x70,0x80,0x03,0x00,0x00,0x30,0x00,0x03,0x00,0x00,0x38,0x00,0x07,0x00,0x00,0x18,0x00,0x06,0x00,0x00,0x18,0x00,0x06,0x00,0x00,0x18,0x00,0x06,0x00,0x00,0x1C,0x00,0x06,0x00,0x00,0x1C,0x00,0x07,0x00,0x00,0x06,0x00,0x07,0x00,0x00,0x03,0x00,0x0E,0x00,0x00,0x03,0x00,0x0C,0x00,0x80,0x01,0x00,0x18,0x00,0x80,0x01,0x00,0x18,0x00,0xB8,0x01,0x00,0x18,0x00,0xFF,0x01,0x00,0x18,0x80,0xFF,0x01,0x00,0x18,0xC0,0x81,0x01,0x00,0x18,0xE0,0x80,0x01,0x00,0x18,0xE0,0x87,0x01,0x00,0x18,0xF0,0x1F,0x03,0x00,0x0C,0x60,0x3E,0x03,0x00,0x0E,0x00,0x70,0x06,0x00,0x07,0x00,0xE0,0x1C,0x00,0x07,0x00,0xC0,0x18,0x00,0x06,0x00,0xC0,0x19,0x00,0x06,0x00,0x80,0x19,0x00,0x06,0x00,0x80,0x1D,0x00,0x06,0x00,0x80,0x3F,0x00,0x07,0x00,0xC0,0x37,0x00,0x03,0x00,0xC0,0x73,0x80,0x03,0x00,0x80,0xE0,0xE1,0x01,0x00,0x00,0xC0,0xFF,0x00,0x00,0x00,0x00,0x3F, // 73
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x84,0x08,0x01,0x00,0x00,0xC6,0x8C,0x01,0x00,0x00,0xC6,0x8C,0x01,0x00,0x00,0xC6,0x8C,0x01,0x00,0x01,0xC6,0x8C,0x01,0x80,0x03,0xC0,0x8C,0x01,0x00,0x07,0xC0,0x8C,0x01,0x00,0x86,0xC7,0x8C,0x01,0x00,0xE0,0xC7,0x8C,0x01,0x00,0xF0,0xC0,0x8C,0x01,0x00,0x38,0xC0,0x8C,0x01,0x00,0x18,0xC0,0x8C,0x01,0x00,0x1C,0xC0,0x8C,0x01,0x00,0x1C,0xC0,0x8C,0x01,0xF8,0x0C,0xC0,0x8C,0x01,0xF0,0x0C,0xC0,0x8C,0x01,0x00,0x1C,0xC0,0x8C,0x01,0x00,0x1C,0xC0,0x8C,0x01,0x00,0x18,0xC0,0x8C,0x01,0x00,0x38,0xC0,0x8C,0x01,0x00,0xF0,0xC0,0x8C,0x01,0x00,0xE0,0xC7,0x8C,0x01,0x00,0x86,0xC7,0x8C,0x01,0x00,0x07,0xC0,0x8C,0x01,0x80,0x03,0xC0,0x8C,0x01,0x00,0x01,0xC6,0x8C,0x01,0x00,0x00,0xC6,0x8C,0x01,0x00,0x00,0xC6,0x8C,0x01,0x00,0x00,0xC6,0x8C,0x01,0x00,0x00,0x84,0x08,0x01, // 74
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x10,0x01,0x00,0x00,0xC0,0x98,0x01,0x00,0x00,0xC0,0x98,0x01,0x00,0x00,0xC0,0x98,0x01,0x00,0x00,0xC0,0x98,0x01,0x00,0x00,0xC0,0x98,0x01,0x00,0x00,0xC0,0x98,0x01,0x00,0xF0,0xC3,0x98,0x01,0x00,0xFC,0xCF,0x98,0x01,0x00,0x3E,0xCE,0x98,0x01,0x00,0x0F,0xC8,0x98,0x01,0x80,0x07,0xC0,0x98,0x01,0x80,0x3F,0xC0,0x98,0x01,0x80,0xFF,0xC0,0x98,0x01,0x80,0xE0,0xC1,0x98,0x01,0x00,0x80,0xC3,0x99,0x01,0x00,0x00,0xC7,0x99,0x01,0x00,0x00,0xC7,0x99,0x01,0x00,0x00,0xCE,0x99,0x01,0x00,0x00,0xCE,0x99,0x01,0x00,0x00,0xCE,0x99,0x01,0x00,0x00,0xCE,0x99,0x01,0x00,0x00,0xCE,0x99,0x01,0x00,0x00,0xCE,0x99,0x01,0x00,0x00,0xC2,0x99,0x01,0x00,0x00,0xC0,0x99,0x01,0x00,0x00,0xC0,0x99,0x01,0x00,0x00,0xC0,0x99,0x01,0x00,0x00,0xC0,0x99,0x01,0x00,0x00,0x80,0x10,0x01, // 75
0x00,0x80,0xC7,0x8C,0x01,0x00,0xE0,0xC7,0x8C,0x01,0x00,0x70,0xC0,0x8C,0x01,0x00,0x38,0xC0,0x8C,0x01,0x00,0x18,0xC0,0x8C,0x01,0x00,0x0C,0xC0,0x8C,0x01,0x00,0x0C,0xC0,0x8C,0x01,0x00,0x0C,0xC0,0x8C,0x01,0x00,0x0C,0xC0,0x8C,0x01,0x00,0x0E,0xC0,0x8C,0x01,0x00,0x07,0xC0,0x8C,0x01,0x80,0x03,0xC0,0x8C,0x01,0x80,0x01,0xC0,0x8C,0x01,0xC0,0x01,0xC0,0x8C,0x01,0xC0,0x00,0xC0,0x8C,0x01,0xC0,0x00,0xC0,0x8C,0x01,0xC0,0x00,0xC0,0x8C,0x01,0xE0,0x00,0xC0,0x8C,0x01,0xE0,0x00,0xC0,0x8C,0x01,0xC0,0x00,0xC0,0x8C,0x01,0xC0,0x00,0xC0,0x8C,0x01,0xC0,0x00,0xC0,0x8C,0x01,0xC0,0x01,0xC0,0x8C,0x01,0x80,0x01,0xC0,0x8C,0x01,0x00,0x03,0xC0,0x8C,0x01,0x00,0x07,0xC0,0x8C,0x01,0x00,0x0E,0xC0,0x8C,0x01,0x00,0x0C,0xC0,0x8C,0x01,0x00,0x0C,0xC0,0x8C,0x01,0x00,0x0C,0xC0,0x8C,0x01,0x00,0x0C,0xC0,0x8C,0x01,0x00,0x18,0xC0,0x8C,0x01,0x00,0x38,0xC0,0x8C,0x01,0x00,0x70,0xC0,0x8C,0x01,0x00,0xE0,0xC7,0x8C,0x01,0x00,0x80,0xC7,0x8C,0x01, // 76
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03,0x00,0x00,0x8C,0x19,0x03, // 77
0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x80,0xC7,0x03,0x00,0x00,0xC0,0x01,0x07,0x00,0x00,0xC0,0x00,0x06,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x60,0x00,0x0C,0x00,0x00,0x60,0x00,0x0C,0x00,0x00,0x60,0x00,0x0C,0x00,0x00,0x70,0x00,0x0C,0x00,0x00,0x78,0x00,0x0E,0x00,0x00,0x1C,0x00,0x0E,0x00,0x00,0x0C,0x00,0x1C,0x00,0x00,0x0E,0x00,0x18,0x00,0x00,0x06,0x00,0x30,0x00,0x00,0x06,0x00,0x30,0x00,0x00,0x06,0x00,0x30,0x00,0x00,0x07,0x00,0x30,0x00,0x00,0x07,0x00,0x30,0x00,0x00,0x06,0x00,0x30,0x00,0x00,0x06,0x00,0x30,0x00,0x00,0x06,0x00,0x30,0x00,0x00,0x0E,0x00,0x18,0x00,0x00,0x0C,0x00,0x1C,0x00,0x00,0x18,0x00,0x0E,0x00,0x00,0x78,0x00,0x0E,0x00,0x00,0x70,0x00,0x0C,0x00,0x00,0x60,0x00,0x0C,0x00,0x00,0x60,0x00,0x0C,0x00,0x00,0x60,0x00,0x0C,0x00,0x00,0xE0,0x00,0x0E,0x00,0x00,0xC0,0x00,0x06,0x00,0x00,0xC0,0x01,0x07,0x00,0x00,0x80,0xC7,0x03,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x7C, // 78
0x00,0xF8,0x00,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0x8F,0x07,0x00,0x00,0x80,0x03,0x0E,0x00,0x00,0x80,0x01,0x0C,0x00,0x00,0xC0,0x01,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x38,0x00,0x1C,0x00,0x00,0x18,0x00,0x38,0x00,0x00,0x1C,0x00,0x30,0x04,0x04,0x0C,0x00,0x70,0x06,0x03,0x0C,0x00,0x60,0xEF,0x01,0x0C,0x00,0xE0,0xFF,0x00,0x0E,0x00,0xE0,0x7F,0x00,0x0E,0x00,0xE0,0x3C,0x00,0x0C,0x00,0x60,0x18,0x00,0x0C,0x00,0x60,0x00,0x00,0x0C,0x00,0x70,0x00,0x00,0x1C,0x00,0x30,0x00,0x00,0x18,0x00,0x38,0x00,0x00,0x30,0x00,0x1C,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x01,0x1C,0x00,0x00,0x80,0x01,0x0C,0x00,0x00,0x80,0x03,0x0E,0x00,0x00,0x00,0x8F,0x07,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xF8, // 79
0x00,0xF8,0x00,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0x8F,0x07,0x00,0x00,0x80,0x03,0x0E,0x00,0x00,0x80,0x01,0x0C,0x00,0x00,0xC0,0x01,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x38,0x00,0x1C,0x00,0x00,0x18,0x00,0x38,0x00,0x00,0x1C,0x00,0x30,0x04,0x04,0x0C,0x00,0x10,0x06,0x03,0x0C,0x00,0x00,0xEF,0x01,0x0C,0x00,0x80,0xFF,0x00,0x0E,0x00,0xC0,0x7F,0x00,0x0E,0x00,0xE0,0x3D,0x00,0x0C,0x00,0x38,0x18,0x00,0x0C,0x00,0x00,0x00,0x00,0x0C,0x00,0x40,0x00,0x00,0x1C,0x00,0x30,0x00,0x00,0x18,0x00,0x38,0x00,0x00,0x30,0x00,0x1C,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x01,0x1C,0x00,0x00,0x80,0x01,0x0C,0x00,0x00,0x80,0x03,0x0E,0x00,0x00,0x00,0x8F,0x07,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xF8, // 80
0x00,0xE0,0x07,0x00,0x00,0x00,0xF8,0x1F,0x00,0x00,0x00,0x3C,0x3C,0x00,0x00,0x00,0x0E,0x70,0x00,0x00,0x00,0x06,0x60,0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x80,0x03,0xC0,0x00,0x00,0xC0,0x03,0xE0,0x00,0x00,0xE0,0x00,0xE0,0x00,0x00,0x60,0x00,0xC0,0x01,0x00,0x70,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x03,0x00,0x30,0x00,0x00,0x03,0x00,0x30,0x00,0x00,0x83,0x03,0x38,0x00,0x00,0xC3,0x07,0x38,0x00,0x00,0xF3,0x07,0x30,0x00,0x00,0xC3,0x07,0x30,0x00,0x00,0x83,0x03,0x30,0x00,0x00,0x03,0x00,0x70,0x00,0x80,0x01,0x00,0x60,0x00,0xC0,0x01,0x00,0xC0,0x00,0xE0,0x00,0x00,0xC0,0x03,0xE0,0x00,0x00,0x80,0x03,0xC0,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x00,0x06,0x60,0x00,0x00,0x00,0x0E,0x70,0x00,0x00,0x00,0x3C,0x3C,0x00,0x00,0x00,0xF8,0x1F,0x00,0x00,0x00,0xE0,0x07, // 81
0x00,0xF8,0x01,0x00,0x00,0x00,0xFE,0x07,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x80,0x03,0x1C,0x00,0x00,0x80,0x01,0x18,0x00,0x00,0xC0,0x01,0x38,0x00,0x00,0xC0,0x00,0x30,0x00,0x00,0xC0,0x00,0x30,0x38,0x00,0xC0,0x00,0x30,0x7E,0x00,0xE0,0x00,0x30,0x7F,0x00,0xF0,0x00,0x38,0x7E,0x00,0x38,0x00,0x38,0x38,0x00,0x18,0x00,0x70,0x00,0x00,0x1C,0x00,0x60,0x00,0x00,0x0C,0x00,0xC0,0x00,0x00,0x0C,0x00,0xC0,0x00,0x00,0x0C,0x00,0xC0,0x00,0x0E,0x0E,0x00,0xC0,0x00,0x1F,0x0E,0x00,0xC0,0xC0,0x1F,0x0C,0x00,0xC0,0x00,0x1F,0x0C,0x00,0xC0,0x00,0x0C,0x0C,0x00,0xC0,0x00,0x00,0x1C,0x00,0x60,0x00,0x00,0x18,0x00,0x70,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xF0,0x00,0x38,0x80,0x03,0xE0,0x00,0x30,0xC0,0x07,0xC0,0x00,0x30,0xF0,0x07,0xC0,0x00,0x30,0xC0,0x07,0xC0,0x00,0x30,0x80,0x03,0xC0,0x01,0x38,0x00,0x00,0x80,0x01,0x18,0x00,0x00,0x80,0x03,0x1C,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0xFE,0x07,0x00,0x00,0x00,0xF8,0x01, // 82
0x00,0x00,0xC0,0x0C,0x00,0x00,0x00,0xC0,0x0C,0x00,0x00,0x00,0xC6,0x0C,0x00,0x00,0x00,0xC6,0x0C,0x00,0x00,0x00,0xC6,0x0C,0x00,0x00,0x00,0xC6,0x0C,0x00,0x00,0x00,0xC6,0x0C,0x00,0x00,0x00,0x06,0x0C,0x00,0x00,0x00,0x06,0x0C,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x7E,0x0C,0x00,0x00,0x80,0xFF,0x01,0x00,0x00,0xC0,0xC3,0x03,0x00,0x00,0xC0,0x00,0x03,0x00,0x00,0xE0,0x00,0x07,0x00,0x00,0x60,0x00,0x06,0x00,0x00,0x60,0x00,0x06,0x00,0x00,0x70,0x00,0x06,0x00,0x00,0x38,0x00,0x06,0x00,0x00,0x18,0x00,0x0C,0x00,0x00,0x18,0x00,0x0C,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x18,0x00,0x0C,0x00,0x00,0x18,0x00,0x0E,0x00,0x00,0x30,0x00,0x06,0x00,0x00,0x70,0x00,0x06,0x00,0x00,0x60,0x00,0x06,0x00,0x00,0x60,0x00,0x06,0x00,0x00,0xE0,0x00,0x07,0x00,0x00,0xC0,0x81,0x03,0x00,0x00,0x80,0xC3,0x01,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7E, // 83
0x00,0x80,0x19,0x00,0x00,0x00,0x80,0x19,0x00,0x00,0x00,0x8C,0x19,0x00,0x00,0x00,0x8C,0x19,0x00,0x00,0x00,0x8C,0x19,0x00,0x00,0x00,0x8C,0x19,0x00,0x00,0x00,0x8C,0x19,0x00,0x00,0x00,0x0C,0x18,0x00,0x00,0x00,0x0C,0x18,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x30,0x18,0x00,0x00,0x00,0xFE,0x01,0x00,0x00,0x00,0x87,0x03,0x00,0x00,0x80,0x01,0x06,0x00,0x00,0x80,0x01,0x06,0x00,0x00,0xC0,0x00,0x0C,0x00,0x00,0xC0,0x00,0x0C,0x38,0x00,0xC0,0x00,0x0C,0x3E,0x00,0x60,0x00,0x0C,0x7F,0x00,0x30,0x00,0x0C,0x3E,0x00,0x30,0x00,0x18,0x38,0x00,0x18,0x00,0x18,0x00,0x00,0x18,0x00,0x18,0x00,0x00,0x18,0x00,0x18,0x00,0x00,0x18,0x00,0x18,0x00,0x00,0x38,0x00,0x18,0x80,0x03,0x30,0x00,0x1C,0xC0,0x07,0x70,0x00,0x1C,0xF0,0x07,0xE0,0x00,0x0C,0xC0,0x07,0xC0,0x00,0x0C,0x80,0x03,0xC0,0x00,0x0C,0x00,0x00,0xC0,0x01,0x0E,0x00,0x00,0x80,0x03,0x07,0x00,0x00,0x80,0x87,0x07,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0x00,0xFE,0x01,0x00,0x00,0x00,0x78, // 84
0x00,0xF8,0x00,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0x8F,0x07,0x00,0x00,0x80,0x03,0x0E,0x00,0x00,0x80,0x01,0x0C,0x00,0x00,0xC0,0x01,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x38,0x00,0x1C,0x00,0x00,0x18,0x00,0x38,0x00,0x00,0x1C,0x00,0x30,0x38,0x07,0x0C,0x00,0x60,0x38,0x07,0x0C,0x00,0x60,0xF0,0x03,0x0C,0x00,0x60,0xF0,0x03,0x0E,0x00,0x60,0x3E,0x1F,0x0E,0x00,0x60,0x3E,0x1F,0x0C,0x00,0x60,0xF0,0x03,0x0C,0x00,0x60,0xF0,0x03,0x0C,0x00,0x60,0x38,0x07,0x1C,0x00,0x30,0x38,0x07,0x18,0x00,0x38,0x00,0x00,0x30,0x00,0x1C,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x01,0x1C,0x00,0x00,0x80,0x01,0x0C,0x00,0x00,0x80,0x03,0x0E,0x00,0x00,0x00,0x8F,0x07,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xF8, // 85
0x00,0xF8,0x00,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0x8F,0x07,0x00,0x00,0x80,0x03,0x0E,0x00,0x00,0x80,0x01,0x0C,0x00,0x00,0xC0,0x01,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0xF0,0x00,0x0C,0x00,0x00,0x38,0x00,0x04,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x1C,0x00,0x60,0x0C,0x00,0x0C,0x00,0xE0,0x0E,0x00,0x0C,0x00,0xE0,0x07,0x00,0x0C,0x00,0xE0,0x0F,0x00,0x0E,0x00,0x7C,0x3E,0x00,0x0E,0x00,0x7C,0x3E,0x00,0x0C,0x00,0xE0,0x0F,0x00,0x0C,0x00,0xE0,0x07,0x00,0x0C,0x00,0xE0,0x0E,0x00,0x1C,0x00,0x60,0x0C,0x00,0x18,0x00,0x00,0x00,0x00,0x30,0x00,0x04,0x00,0x00,0xF0,0x00,0x0C,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x00,0x18,0x00,0x00,0xC0,0x01,0x1C,0x00,0x00,0x80,0x01,0x0C,0x00,0x00,0x80,0x03,0x0E,0x00,0x00,0x00,0x8F,0x07,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xF8, // 86
0x00,0xF8,0x01,0x00,0x00,0x00,0xFE,0x07,0x00,0x00,0x00,0x0F,0x0F,0x18,0x00,0x80,0x03,0x1C,0x0B,0x00,0x80,0x01,0x18,0x7E,0x00,0xC0,0x01,0x38,0x32,0x00,0xC0,0x00,0xB0,0x1F,0x00,0xC0,0x00,0x30,0x3C,0x00,0xC0,0x00,0x30,0x24,0x00,0xE0,0x00,0x30,0x00,0x00,0xF0,0x00,0x38,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x18,0x00,0x70,0x00,0x00,0x1C,0x00,0x60,0x38,0x07,0x0C,0x00,0xC0,0x38,0x07,0x0C,0x00,0xC0,0xF0,0x03,0x0C,0x00,0xC0,0xF0,0x03,0x0E,0x00,0xC0,0x3E,0x1F,0x0E,0x00,0xC0,0x3E,0x1F,0x0C,0x00,0xC0,0xF0,0x03,0x0C,0x00,0xC0,0xF0,0x03,0x0C,0x00,0xC0,0x38,0x07,0x1C,0x00,0x60,0x38,0x07,0x18,0x00,0x70,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xF0,0x00,0x38,0x00,0x00,0xE0,0x00,0x30,0x00,0x00,0xC0,0x00,0x30,0x90,0x00,0xC0,0x00,0x30,0xF0,0x00,0xC0,0x00,0x30,0x7E,0x00,0xC0,0x01,0x38,0xC8,0x01,0x80,0x01,0x18,0xF8,0x00,0x80,0x03,0x1C,0x2C,0x00,0x00,0x0F,0x0F,0x60,0x00,0x00,0xFE,0x07,0x00,0x00,0x00,0xF8,0x01, // 87
0x00,0xF8,0x00,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0x8F,0x07,0x00,0x00,0x80,0x03,0x0E,0x00,0x00,0x80,0x01,0x0C,0x04,0x00,0xC0,0x01,0x18,0x0F,0x00,0xC0,0x00,0x18,0x0F,0x00,0xC0,0x00,0x18,0x0F,0x00,0xC0,0x00,0x18,0x06,0x00,0xE0,0x00,0x18,0x00,0x0C,0xF0,0x00,0x1C,0x00,0x1E,0x38,0x00,0x1C,0x00,0x1E,0x18,0x00,0x38,0x00,0x1E,0x1C,0x00,0x30,0x00,0x08,0x0C,0x00,0x60,0x00,0x00,0x0C,0x00,0x60,0x00,0x00,0x0C,0x00,0x60,0x38,0x00,0x0E,0x00,0x60,0x7C,0x00,0x0E,0x00,0x60,0x3C,0x00,0x0C,0x00,0x60,0x38,0x00,0x0C,0x00,0x60,0x00,0x00,0x0C,0x00,0x60,0x00,0x00,0x1C,0x00,0x30,0x00,0x08,0x18,0x00,0x38,0x00,0x1E,0x30,0x00,0x1C,0x00,0x1E,0xF0,0x00,0x1C,0x00,0x1E,0xE0,0x00,0x18,0x00,0x0C,0xC0,0x00,0x18,0x06,0x00,0xC0,0x00,0x18,0x0F,0x00,0xC0,0x00,0x18,0x0F,0x00,0xC0,0x01,0x1C,0x0F,0x00,0x80,0x01,0x0C,0x04,0x00,0x80,0x03,0x0E,0x00,0x00,0x00,0x8F,0x07,0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0xF8, // 88
0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0xC0,0xFF,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0xF0,0xC0,0x03,0x00,0x00,0x30,0x00,0x03,0x00,0x00,0x38,0x00,0x07,0x00,0x00,0x18,0x00,0x06,0x00,0x00,0x18,0x00,0x06,0x00,0x00,0x18,0x00,0x06,0x00,0x00,0x1F,0x00,0x06,0x00,0xC0,0x1F,0x00,0x07,0x00,0xE0,0x0F,0x00,0x07,0x00,0x60,0x07,0x00,0x0E,0x00,0x70,0x03,0x00,0x0C,0x00,0x30,0x03,0x00,0x1C,0x00,0xB0,0x01,0x00,0x18,0x00,0xB8,0x01,0x00,0x18,0x00,0xBC,0x01,0x00,0x18,0x00,0x8C,0x01,0x00,0x18,0x00,0x8E,0x01,0x00,0x18,0x00,0x86,0x01,0x00,0x18,0x00,0x86,0x03,0x00,0x18,0x00,0x06,0x03,0x00,0x0C,0x00,0x06,0x07,0x00,0x0C,0x00,0x06,0x06,0x00,0x06,0x00,0x06,0x0E,0x00,0x07,0x00,0x0C,0x1C,0x00,0x06,0x00,0x1C,0x18,0x00,0x06,0x00,0x38,0x18,0x00,0x06,0x00,0x30,0x18,0x00,0x06,0x00,0x30,0x38,0x00,0x06,0x00,0x30,0x30,0x00,0x03,0x00,0x60,0x70,0x80,0x03,0x00,0xE0,0xF0,0xE1,0x01,0x00,0xC0,0xBF,0xFF,0x00,0x00,0x00,0x1F,0x3E, // 89
0x00,0x00,0x3E,0x00,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xE0,0x80,0x03,0x00,0x00,0x60,0x00,0x03,0x00,0x00,0x70,0x00,0x07,0x00,0x00,0x30,0x00,0x06,0x00,0x00,0x30,0x00,0x06,0x00,0x00,0x30,0x00,0x06,0x00,0x00,0x3E,0x00,0x06,0x00,0x80,0x3F,0x00,0x07,0x00,0xC0,0x0F,0x00,0x07,0x00,0xC0,0x07,0x00,0x0E,0x00,0x60,0x07,0x00,0x4C,0x10,0x60,0x03,0x00,0x7C,0x08,0xE0,0x01,0x00,0xF8,0x0E,0xF0,0x01,0x00,0xF8,0x07,0xF8,0x01,0x00,0xF8,0x03,0x98,0x01,0x00,0x98,0x03,0x9C,0x01,0x00,0x18,0x01,0x8C,0x01,0x00,0x18,0x00,0x0C,0x03,0x00,0x1C,0x00,0x0C,0x03,0x00,0x0C,0x00,0x0C,0x07,0x00,0x0E,0x00,0x0C,0x0E,0x00,0x06,0x00,0x0C,0x1C,0x00,0x07,0x00,0x18,0x38,0x00,0x06,0x00,0x38,0x30,0x00,0x06,0x00,0x70,0x30,0x00,0x06,0x00,0x60,0x30,0x00,0x06,0x00,0x60,0x30,0x00,0x06,0x00,0x60,0x60,0x00,0x03,0x00,0xC0,0xE0,0x80,0x03,0x00,0xC0,0xE1,0xC1,0x01,0x00,0x80,0xFF,0xFF,0x00,0x00,0x00,0x1E,0x3E, // 90
};
#define FONT_LIB_V3
// Created by http://oleddisplay.squix.ch/ Consider a donation
// In case of problems make sure that you are using the font file with the correct version!
const uint8_t Meteocons_Plain_21[] PROGMEM = {
0x15, // Width: 21
0x16, // Height: 22
0x20, // First Char: 32
0xE0, // Numbers of Chars: 224
// Jump Table:
0xFF, 0xFF, 0x00, 0x0B, // 32:65535
0x00, 0x00, 0x3D, 0x15, // 33:0
0x00, 0x3D, 0x3E, 0x15, // 34:61
0x00, 0x7B, 0x3E, 0x15, // 35:123
0x00, 0xB9, 0x3E, 0x15, // 36:185
0x00, 0xF7, 0x3E, 0x15, // 37:247
0x01, 0x35, 0x3E, 0x15, // 38:309
0x01, 0x73, 0x27, 0x15, // 39:371
0x01, 0x9A, 0x3B, 0x15, // 40:410
0x01, 0xD5, 0x38, 0x15, // 41:469
0x02, 0x0D, 0x29, 0x15, // 42:525
0x02, 0x36, 0x2C, 0x15, // 43:566
0x02, 0x62, 0x18, 0x0D, // 44:610
0x02, 0x7A, 0x20, 0x0D, // 45:634
0x02, 0x9A, 0x15, 0x0D, // 46:666
0x02, 0xAF, 0x1F, 0x0D, // 47:687
0x02, 0xCE, 0x3E, 0x15, // 48:718
0x03, 0x0C, 0x38, 0x15, // 49:780
0x03, 0x44, 0x2C, 0x15, // 50:836
0x03, 0x70, 0x3E, 0x15, // 51:880
0x03, 0xAE, 0x3F, 0x15, // 52:942
0x03, 0xED, 0x3E, 0x15, // 53:1005
0x04, 0x2B, 0x3E, 0x15, // 54:1067
0x04, 0x69, 0x3E, 0x15, // 55:1129
0x04, 0xA7, 0x3E, 0x15, // 56:1191
0x04, 0xE5, 0x3E, 0x15, // 57:1253
0x05, 0x23, 0x15, 0x0D, // 58:1315
0x05, 0x38, 0x18, 0x0D, // 59:1336
0x05, 0x50, 0x27, 0x0D, // 60:1360
0x05, 0x77, 0x24, 0x0D, // 61:1399
0x05, 0x9B, 0x26, 0x0D, // 62:1435
0x05, 0xC1, 0x20, 0x0D, // 63:1473
0x05, 0xE1, 0x26, 0x0D, // 64:1505
0x06, 0x07, 0x31, 0x15, // 65:1543
0x06, 0x38, 0x38, 0x15, // 66:1592
0x06, 0x70, 0x2C, 0x15, // 67:1648
0x06, 0x9C, 0x32, 0x15, // 68:1692
0x06, 0xCE, 0x3E, 0x15, // 69:1742
0x07, 0x0C, 0x3B, 0x15, // 70:1804
0x07, 0x47, 0x2F, 0x15, // 71:1863
0x07, 0x76, 0x3E, 0x15, // 72:1910
0x07, 0xB4, 0x3E, 0x15, // 73:1972
0x07, 0xF2, 0x39, 0x15, // 74:2034
0x08, 0x2B, 0x39, 0x15, // 75:2091
0x08, 0x64, 0x3F, 0x15, // 76:2148
0x08, 0xA3, 0x32, 0x15, // 77:2211
0x08, 0xD5, 0x3E, 0x15, // 78:2261
0x09, 0x13, 0x3E, 0x15, // 79:2323
0x09, 0x51, 0x3E, 0x15, // 80:2385
0x09, 0x8F, 0x3E, 0x15, // 81:2447
0x09, 0xCD, 0x3E, 0x15, // 82:2509
0x0A, 0x0B, 0x3E, 0x15, // 83:2571
0x0A, 0x49, 0x3D, 0x15, // 84:2633
0x0A, 0x86, 0x3E, 0x15, // 85:2694
0x0A, 0xC4, 0x3E, 0x15, // 86:2756
0x0B, 0x02, 0x3E, 0x15, // 87:2818
0x0B, 0x40, 0x3E, 0x15, // 88:2880
0x0B, 0x7E, 0x3E, 0x15, // 89:2942
0x0B, 0xBC, 0x3E, 0x15, // 90:3004
0x0B, 0xFA, 0x21, 0x0D, // 91:3066
0x0C, 0x1B, 0x24, 0x0D, // 92:3099
0x0C, 0x3F, 0x18, 0x0D, // 93:3135
0x0C, 0x57, 0x23, 0x0D, // 94:3159
0x0C, 0x7A, 0x24, 0x0D, // 95:3194
0x0C, 0x9E, 0x19, 0x0D, // 96:3230
0x0C, 0xB7, 0x24, 0x0D, // 97:3255
0x0C, 0xDB, 0x23, 0x0D, // 98:3291
0x0C, 0xFE, 0x21, 0x0D, // 99:3326
0x0D, 0x1F, 0x21, 0x0D, // 100:3359
0x0D, 0x40, 0x24, 0x0D, // 101:3392
0x0D, 0x64, 0x22, 0x0D, // 102:3428
0x0D, 0x86, 0x21, 0x0D, // 103:3462
0x0D, 0xA7, 0x21, 0x0D, // 104:3495
0x0D, 0xC8, 0x1E, 0x0D, // 105:3528
0x0D, 0xE6, 0x1E, 0x0D, // 106:3558
0x0E, 0x04, 0x24, 0x0D, // 107:3588
0x0E, 0x28, 0x1E, 0x0D, // 108:3624
0x0E, 0x46, 0x24, 0x0D, // 109:3654
0x0E, 0x6A, 0x21, 0x0D, // 110:3690
0x0E, 0x8B, 0x24, 0x0D, // 111:3723
0x0E, 0xAF, 0x23, 0x0D, // 112:3759
0x0E, 0xD2, 0x21, 0x0D, // 113:3794
0x0E, 0xF3, 0x20, 0x0D, // 114:3827
0x0F, 0x13, 0x21, 0x0D, // 115:3859
0x0F, 0x34, 0x21, 0x0D, // 116:3892
0x0F, 0x55, 0x21, 0x0D, // 117:3925
0x0F, 0x76, 0x23, 0x0D, // 118:3958
0x0F, 0x99, 0x23, 0x0D, // 119:3993
0x0F, 0xBC, 0x24, 0x0D, // 120:4028
0x0F, 0xE0, 0x26, 0x0D, // 121:4064
0x10, 0x06, 0x21, 0x0D, // 122:4102
0x10, 0x27, 0x24, 0x0D, // 123:4135
0x10, 0x4B, 0x15, 0x0D, // 124:4171
0x10, 0x60, 0x1D, 0x0D, // 125:4192
0x10, 0x7D, 0x23, 0x0D, // 126:4221
0xFF, 0xFF, 0x00, 0x00, // 127:65535
0xFF, 0xFF, 0x00, 0x15, // 128:65535
0xFF, 0xFF, 0x00, 0x15, // 129:65535
0xFF, 0xFF, 0x00, 0x15, // 130:65535
0xFF, 0xFF, 0x00, 0x15, // 131:65535
0xFF, 0xFF, 0x00, 0x15, // 132:65535
0xFF, 0xFF, 0x00, 0x15, // 133:65535
0xFF, 0xFF, 0x00, 0x15, // 134:65535
0xFF, 0xFF, 0x00, 0x15, // 135:65535
0xFF, 0xFF, 0x00, 0x15, // 136:65535
0xFF, 0xFF, 0x00, 0x15, // 137:65535
0xFF, 0xFF, 0x00, 0x15, // 138:65535
0xFF, 0xFF, 0x00, 0x15, // 139:65535
0xFF, 0xFF, 0x00, 0x15, // 140:65535
0xFF, 0xFF, 0x00, 0x15, // 141:65535
0xFF, 0xFF, 0x00, 0x15, // 142:65535
0xFF, 0xFF, 0x00, 0x15, // 143:65535
0xFF, 0xFF, 0x00, 0x15, // 144:65535
0xFF, 0xFF, 0x00, 0x15, // 145:65535
0xFF, 0xFF, 0x00, 0x15, // 146:65535
0xFF, 0xFF, 0x00, 0x15, // 147:65535
0xFF, 0xFF, 0x00, 0x15, // 148:65535
0xFF, 0xFF, 0x00, 0x15, // 149:65535
0xFF, 0xFF, 0x00, 0x15, // 150:65535
0xFF, 0xFF, 0x00, 0x15, // 151:65535
0xFF, 0xFF, 0x00, 0x15, // 152:65535
0xFF, 0xFF, 0x00, 0x15, // 153:65535
0xFF, 0xFF, 0x00, 0x15, // 154:65535
0xFF, 0xFF, 0x00, 0x15, // 155:65535
0xFF, 0xFF, 0x00, 0x15, // 156:65535
0xFF, 0xFF, 0x00, 0x15, // 157:65535
0xFF, 0xFF, 0x00, 0x15, // 158:65535
0xFF, 0xFF, 0x00, 0x15, // 159:65535
0xFF, 0xFF, 0x00, 0x0B, // 160:65535
0x10, 0xA0, 0x18, 0x0D, // 161:4256
0x10, 0xB8, 0x20, 0x0D, // 162:4280
0x10, 0xD8, 0x24, 0x0D, // 163:4312
0x10, 0xFC, 0x21, 0x0D, // 164:4348
0x11, 0x1D, 0x1C, 0x0D, // 165:4381
0x11, 0x39, 0x15, 0x0D, // 166:4409
0x11, 0x4E, 0x24, 0x0D, // 167:4430
0x11, 0x72, 0x1C, 0x0D, // 168:4466
0x11, 0x8E, 0x26, 0x0D, // 169:4494
0x11, 0xB4, 0x20, 0x0D, // 170:4532
0x11, 0xD4, 0x24, 0x0D, // 171:4564
0x11, 0xF8, 0x24, 0x0D, // 172:4600
0x12, 0x1C, 0x1D, 0x0D, // 173:4636
0x12, 0x39, 0x26, 0x0D, // 174:4665
0x12, 0x5F, 0x19, 0x0D, // 175:4703
0x12, 0x78, 0x19, 0x0D, // 176:4728
0x12, 0x91, 0x24, 0x0D, // 177:4753
0x12, 0xB5, 0x1D, 0x0D, // 178:4789
0x12, 0xD2, 0x1A, 0x0D, // 179:4818
0x12, 0xEC, 0x13, 0x0D, // 180:4844
0x12, 0xFF, 0x21, 0x0D, // 181:4863
0x13, 0x20, 0x25, 0x0D, // 182:4896
0x13, 0x45, 0x14, 0x0D, // 183:4933
0x13, 0x59, 0x18, 0x0D, // 184:4953
0x13, 0x71, 0x1D, 0x0D, // 185:4977
0x13, 0x8E, 0x1F, 0x0D, // 186:5006
0x13, 0xAD, 0x20, 0x0D, // 187:5037
0x13, 0xCD, 0x27, 0x0D, // 188:5069
0x13, 0xF4, 0x24, 0x0D, // 189:5108
0x14, 0x18, 0x27, 0x0D, // 190:5144
0x14, 0x3F, 0x21, 0x0D, // 191:5183
0x14, 0x60, 0x27, 0x0D, // 192:5216
0x14, 0x87, 0x27, 0x0D, // 193:5255
0x14, 0xAE, 0x27, 0x0D, // 194:5294
0x14, 0xD5, 0x27, 0x0D, // 195:5333
0x14, 0xFC, 0x27, 0x0D, // 196:5372
0x15, 0x23, 0x24, 0x0D, // 197:5411
0x15, 0x47, 0x24, 0x0D, // 198:5447
0x15, 0x6B, 0x24, 0x0D, // 199:5483
0x15, 0x8F, 0x21, 0x0D, // 200:5519
0x15, 0xB0, 0x21, 0x0D, // 201:5552
0x15, 0xD1, 0x21, 0x0D, // 202:5585
0x15, 0xF2, 0x21, 0x0D, // 203:5618
0x16, 0x13, 0x24, 0x0D, // 204:5651
0x16, 0x37, 0x24, 0x0D, // 205:5687
0x16, 0x5B, 0x24, 0x0D, // 206:5723
0x16, 0x7F, 0x24, 0x0D, // 207:5759
0x16, 0xA3, 0x26, 0x0D, // 208:5795
0x16, 0xC9, 0x24, 0x0D, // 209:5833
0x16, 0xED, 0x26, 0x0D, // 210:5869
0x17, 0x13, 0x26, 0x0D, // 211:5907
0x17, 0x39, 0x26, 0x0D, // 212:5945
0x17, 0x5F, 0x26, 0x0D, // 213:5983
0x17, 0x85, 0x26, 0x0D, // 214:6021
0x17, 0xAB, 0x21, 0x0D, // 215:6059
0x17, 0xCC, 0x26, 0x0D, // 216:6092
0x17, 0xF2, 0x24, 0x0D, // 217:6130
0x18, 0x16, 0x24, 0x0D, // 218:6166
0x18, 0x3A, 0x24, 0x0D, // 219:6202
0x18, 0x5E, 0x24, 0x0D, // 220:6238
0x18, 0x82, 0x1F, 0x0D, // 221:6274
0x18, 0xA1, 0x23, 0x0D, // 222:6305
0x18, 0xC4, 0x24, 0x0D, // 223:6340
0x18, 0xE8, 0x24, 0x0D, // 224:6376
0x19, 0x0C, 0x24, 0x0D, // 225:6412
0x19, 0x30, 0x24, 0x0D, // 226:6448
0x19, 0x54, 0x24, 0x0D, // 227:6484
0x19, 0x78, 0x24, 0x0D, // 228:6520
0x19, 0x9C, 0x24, 0x0D, // 229:6556
0x19, 0xC0, 0x27, 0x0D, // 230:6592
0x19, 0xE7, 0x24, 0x0D, // 231:6631
0x1A, 0x0B, 0x24, 0x0D, // 232:6667
0x1A, 0x2F, 0x24, 0x0D, // 233:6703
0x1A, 0x53, 0x24, 0x0D, // 234:6739
0x1A, 0x77, 0x24, 0x0D, // 235:6775
0x1A, 0x9B, 0x1E, 0x0D, // 236:6811
0x1A, 0xB9, 0x1E, 0x0D, // 237:6841
0x1A, 0xD7, 0x1E, 0x0D, // 238:6871
0x1A, 0xF5, 0x1E, 0x0D, // 239:6901
0x1B, 0x13, 0x23, 0x0D, // 240:6931
0x1B, 0x36, 0x1E, 0x0D, // 241:6966
0x1B, 0x54, 0x24, 0x0D, // 242:6996
0x1B, 0x78, 0x24, 0x0D, // 243:7032
0x1B, 0x9C, 0x24, 0x0D, // 244:7068
0x1B, 0xC0, 0x24, 0x0D, // 245:7104
0x1B, 0xE4, 0x24, 0x0D, // 246:7140
0x1C, 0x08, 0x1D, 0x0D, // 247:7176
0x1C, 0x25, 0x24, 0x0D, // 248:7205
0x1C, 0x49, 0x21, 0x0D, // 249:7241
0x1C, 0x6A, 0x21, 0x0D, // 250:7274
0x1C, 0x8B, 0x21, 0x0D, // 251:7307
0x1C, 0xAC, 0x21, 0x0D, // 252:7340
0x1C, 0xCD, 0x26, 0x0D, // 253:7373
0x1C, 0xF3, 0x20, 0x0D, // 254:7411
0x1D, 0x13, 0x26, 0x0D, // 255:7443
// Font Data:
0x00,0x05,0x00,0x20,0x05,0x00,0x20,0x05,0x00,0x20,0x05,0x00,0x20,0x04,0x00,0x00,0x04,0x00,0xE0,0x05,0x00,0xF8,0x03,0x00,0xF8,0x03,0x00,0xFC,0xE3,0x00,0xFC,0xE7,0x00,0xFE,0x07,0x00,0xFE,0x07,0x00,0xFE,0x07,0x00,0xFE,0x07,0x00,0xFE,0x07,0x07,0xFC,0x03,0x07,0xF8,0x03,0x00,0xF8,0x03,0x00,0xF8,0x03,0x00,0xE0, // 33
0xE0,0x01,0x00,0xF0,0x07,0x00,0xF0,0x07,0x00,0xF8,0x0F,0x00,0xF8,0x0F,0x00,0xF8,0x0F,0x00,0xFC,0x0F,0x00,0xFE,0x0F,0x00,0xFF,0xDF,0x06,0xFF,0x9F,0x03,0xFF,0xFF,0x0E,0xFF,0x9F,0x03,0xFF,0xDF,0x06,0xFE,0x0F,0x00,0xFC,0x0F,0x00,0xF8,0x0F,0x00,0xF8,0x0F,0x00,0xF8,0x0F,0x00,0xF0,0x07,0x00,0xF0,0x07,0x00,0xE0,0x01, // 34
0xE0,0x03,0x00,0xF0,0x87,0x00,0xF8,0xCF,0x00,0xF8,0x6F,0x01,0xF8,0xCF,0x01,0xF8,0x0F,0x00,0xFC,0x0F,0x00,0xFE,0x1F,0x09,0xFE,0x1F,0x0F,0xFF,0x1F,0x0F,0xFF,0xDF,0x1D,0xFF,0x1F,0x0F,0xFE,0x1F,0x0F,0xFE,0x1F,0x09,0xFC,0x0F,0x00,0xF8,0x0F,0x00,0xF8,0x0F,0x03,0xF8,0x8F,0x02,0xF8,0x8F,0x03,0xF0,0x07,0x00,0xE0,0x03, // 35
0xE0,0x01,0x00,0xF0,0x03,0x00,0xF8,0x03,0x00,0xF8,0x77,0x00,0xF8,0x77,0x00,0xFC,0x07,0x0E,0xFE,0x07,0x0E,0xFE,0x0F,0x00,0xFF,0x0F,0x00,0xFF,0x0F,0x00,0xFF,0xEF,0x00,0xFF,0xEF,0x00,0xFF,0x0F,0x00,0xFE,0x0F,0x00,0xFE,0x07,0x0E,0xFC,0x07,0x0E,0xF8,0x77,0x00,0xF8,0x77,0x00,0xF8,0x03,0x00,0xF0,0x03,0x00,0xE0,0x01, // 36
0x00,0x78,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0xFF,0x01,0x00,0xFF,0x01,0xC0,0xFF,0x01,0xE0,0xFF,0x01,0xF0,0xFF,0x01,0xF0,0xFF,0x03,0xF0,0xFF,0x03,0xF8,0xFF,0x03,0xFC,0xFF,0x03,0xFC,0xFF,0x03,0xFC,0xFF,0x01,0xFC,0xFF,0x01,0xF8,0xFF,0x01,0xF8,0xFF,0x01,0xF0,0xFF,0x01,0xF0,0xFF,0x00,0xE0,0xFF,0x00,0xC0,0x79, // 37
0x00,0x0F,0x00,0xC0,0x1F,0x00,0xC0,0x3F,0x00,0xE0,0x3F,0x00,0xE0,0x3F,0x00,0xF8,0x3F,0x00,0xFC,0x3F,0x00,0xFE,0x7F,0x00,0xFE,0x7F,0x09,0xFE,0xFF,0x07,0xFF,0xFF,0x03,0xFF,0xFF,0x02,0xFF,0x7F,0x00,0xFF,0x7F,0x00,0xFF,0x3F,0x00,0xFF,0x3F,0x00,0xFF,0x3F,0x00,0xFE,0x3F,0x00,0xFE,0x3F,0x00,0xFC,0x1F,0x00,0x38,0x0F, // 38
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0xC0,0x07,0xFE,0xFF,0x07,0xFE,0xFF,0x07,0x00,0x80,0x03, // 39
0x80,0x1F,0x00,0xE0,0xFF,0x00,0xF0,0xE0,0x01,0x3C,0xC0,0x03,0x1C,0x80,0x07,0x0E,0x00,0x07,0x0E,0x20,0x07,0x07,0x18,0x0E,0x07,0x1E,0x0E,0x07,0x0E,0x0E,0x07,0x0F,0x0E,0x07,0x07,0x0E,0x87,0x01,0x0E,0x8E,0x00,0x07,0x0E,0x00,0x07,0x1C,0x80,0x07,0x3C,0xC0,0x03,0xF0,0xE0,0x01,0xE0,0xFF,0x00,0x80,0x1F, // 40
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x02,0x00,0x00,0x04,0x00,0x00,0x08,0x00,0x00,0x10,0x00,0x00,0x3F,0x00,0x00,0x20,0x00,0x00,0x38,0x00,0x00,0x07,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x1E,0x00,0x00,0x11,0x00,0x00,0x1F,0x00,0x00,0x38,0x00,0x00,0x20, // 41
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x02,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x80,0x40,0x00,0x80,0x40,0x00,0x80,0x40, // 42
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x09,0x00,0x00,0x09,0x00,0x00,0x09,0x00,0x00,0x01, // 43
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4E,0x00,0x00,0x6E,0x00,0x00,0x7E,0x00,0x00,0x3C, // 44
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30, // 45
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E, // 46
0x00,0x00,0x08,0x00,0x00,0x0C,0x00,0x00,0x07,0x00,0xC0,0x03,0x00,0xF0,0x00,0x00,0x3C,0x00,0x00,0x0F,0x00,0x80,0x03,0x00,0xE0,0x00,0x00,0x78,0x00,0x00,0x18, // 47
0x00,0x0F,0x00,0x80,0x10,0x00,0xC0,0x30,0x00,0x40,0x20,0x00,0x40,0x20,0x00,0x70,0x20,0x00,0x38,0x20,0x00,0x24,0x00,0x00,0x14,0x40,0x04,0x14,0xC0,0x03,0x12,0xE0,0x01,0x11,0x10,0x00,0x11,0x40,0x00,0x21,0x60,0x00,0x21,0x20,0x00,0x42,0x20,0x00,0x46,0x20,0x00,0x44,0x20,0x00,0xC4,0x30,0x00,0x88,0x11,0x00,0x70,0x0F, // 48
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x10,0x82,0x00,0x30,0x40,0x00,0x80,0x0F,0x00,0xC0,0x1F,0x00,0xC0,0x3F,0x00,0xE0,0x3F,0x00,0xEC,0xBF,0x03,0xE0,0x3F,0x00,0xC0,0x3F,0x00,0xC0,0x1F,0x00,0x80,0x0F,0x00,0x30,0x40,0x00,0x10,0x82,0x00,0x00,0x02,0x00,0x00,0x02, // 49
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x80,0x3F,0x00,0x80,0x7F,0x00,0x00,0x7C,0x00,0x00,0x78,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x30,0x00,0x00,0x10, // 50
0x00,0xE1,0x00,0x00,0xF9,0x03,0x04,0xF9,0x03,0x08,0xFC,0x07,0xC0,0xFF,0x07,0x60,0xFC,0x07,0x30,0xFE,0x07,0x10,0xFE,0x07,0x13,0xFF,0x0F,0x10,0xFF,0x0F,0x30,0xFF,0x0F,0xE0,0xFF,0x0F,0xC0,0xFF,0x0F,0x18,0xFE,0x07,0x08,0xFF,0x07,0x00,0xFD,0x07,0x00,0xFD,0x07,0x00,0xFC,0x07,0x00,0xF8,0x03,0x00,0xF8,0x03,0x00,0xE0, // 51
0x00,0xE0,0x00,0x00,0xF8,0x03,0x00,0xF8,0x03,0x00,0xFC,0x07,0x00,0xFC,0x07,0x00,0xFC,0x07,0x00,0xFE,0x07,0x00,0xFF,0x07,0x00,0xFF,0x0F,0x80,0xFF,0x0F,0xF8,0xFF,0x0F,0x1C,0xFF,0x0F,0x3E,0xFE,0x0F,0x7E,0xFE,0x07,0xC0,0xFC,0x07,0x80,0xF9,0x07,0x80,0xFD,0x07,0x80,0xFD,0x07,0x80,0xFB,0x03,0x80,0xF8,0x03,0x00,0xF0,0x01, // 52
0x00,0x1E,0x00,0x00,0x3F,0x00,0x80,0x7F,0x00,0x80,0x7F,0x00,0xC0,0x7F,0x00,0xC0,0x7F,0x00,0xE0,0x7F,0x00,0xE0,0xFF,0x00,0xF0,0xFF,0x01,0xF0,0xFF,0x01,0xF0,0xFF,0x01,0xF0,0xFF,0x01,0xF0,0xFF,0x01,0xE0,0xFF,0x00,0xE0,0x7F,0x00,0xC0,0x7F,0x00,0xC0,0x7F,0x00,0x80,0x7F,0x00,0x80,0x7F,0x00,0x00,0x3F,0x00,0x00,0x1E, // 53
0xE0,0x01,0x00,0xF0,0x03,0x00,0xF8,0x07,0x00,0xF8,0x07,0x00,0xF8,0x07,0x00,0xFC,0x07,0x00,0xFE,0x07,0x00,0xFE,0x0F,0x00,0xFF,0x6F,0x02,0xFF,0xFF,0x01,0xFF,0xFF,0x00,0xFF,0x9F,0x00,0xFF,0x0F,0x00,0xFE,0x0F,0x00,0xFE,0x07,0x00,0xFC,0x07,0x00,0xF8,0x07,0x00,0xF8,0x07,0x00,0xF8,0x07,0x00,0xF0,0x03,0x00,0xE0,0x01, // 54
0xC0,0x03,0x00,0xE0,0x07,0x00,0xE0,0x0F,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0xF8,0x1F,0x00,0xFC,0x1F,0x00,0xFC,0x1F,0x00,0xFE,0x3F,0x00,0xFE,0x3F,0x07,0xFE,0x3F,0x07,0xFE,0x3F,0x00,0xFC,0x1F,0x00,0xFC,0x1F,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0xF0,0x0F,0x00,0xE0,0x0F,0x00,0xC0,0x03, // 55
0xE0,0x01,0x00,0xF0,0x07,0x00,0xF8,0x07,0x00,0xF8,0x0F,0x00,0xF8,0xCF,0x00,0xF8,0xCF,0x00,0xFC,0x0F,0x00,0xFE,0x0F,0x00,0xFE,0x1F,0x00,0xFF,0x1F,0x00,0xFF,0x1F,0x0E,0xFF,0x1F,0x0E,0xFF,0x1F,0x00,0xFE,0x0F,0x00,0xFE,0x0F,0x00,0xFC,0x0F,0x03,0xF8,0x0F,0x03,0xF8,0x0F,0x00,0xF8,0x07,0x00,0xF0,0x07,0x00,0xE0,0x01, // 56
0x00,0x50,0x00,0x00,0x54,0x00,0x00,0x54,0x00,0x00,0x54,0x00,0x00,0x44,0x00,0x00,0x40,0x00,0x00,0x5E,0x00,0x00,0x1F,0x00,0x00,0x3F,0x00,0x80,0x3F,0x00,0x80,0x3F,0x00,0xC0,0x7F,0x00,0xC0,0x7F,0x00,0xC0,0x7F,0x00,0xC0,0x7F,0x00,0xC0,0x7F,0x00,0x80,0x3F,0x00,0x80,0x3F,0x00,0x00,0x3F,0x00,0x00,0x1F,0x00,0x00,0x1E, // 57
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x0E,0x00,0x07,0x0E,0x00,0x07,0x0E, // 58
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x4E,0x00,0x07,0x6E,0x00,0x07,0x7E,0x00,0x00,0x3C, // 59
0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xB0,0x01,0x00,0xB0,0x01,0x00,0xB0,0x01,0x00,0x18,0x03,0x00,0x18,0x03,0x00,0x0C,0x06,0x00,0x0C,0x06,0x00,0x06,0x0C, // 60
0x00,0x98,0x01,0x00,0x98,0x01,0x00,0x98,0x01,0x00,0x98,0x01,0x00,0x98,0x01,0x00,0x98,0x01,0x00,0x98,0x01,0x00,0x98,0x01,0x00,0x98,0x01,0x00,0x98,0x01,0x00,0x98,0x01,0x00,0x98,0x01, // 61
0x00,0x00,0x00,0x00,0x06,0x0C,0x00,0x0C,0x06,0x00,0x0C,0x06,0x00,0x18,0x03,0x00,0x18,0x03,0x00,0xB0,0x01,0x00,0xB0,0x01,0x00,0xB0,0x01,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0x40,0x00,0x00,0x40, // 62
0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x30,0xC0,0x0C,0x30,0xF0,0x0C,0x30,0x38,0x00,0x30,0x1C,0x00,0x70,0x0E,0x00,0xE0,0x07,0x00,0xC0,0x01, // 63
0x00,0x7F,0x00,0xC0,0xFF,0x01,0xE0,0x80,0x07,0x70,0x7C,0x06,0x38,0xFF,0x0E,0x98,0xC3,0x0C,0x98,0x61,0x0C,0x98,0x7F,0x0C,0xB8,0xFF,0x04,0x30,0xC0,0x00,0xF0,0xE0,0x00,0xC0,0x7F,0x00,0x00,0x3F, // 64
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x80,0x00,0x00,0x00,0x24,0x00,0x00,0xA2,0x00,0x00,0xA1,0x00,0x00,0xA1,0x00,0x70,0xA1,0x00,0x00,0xA1,0x00,0x00,0xA1,0x00,0x00,0xA2,0x00,0x00,0x24,0x00,0x80,0x00,0x00,0xC0, // 65
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x30,0x82,0x00,0x20,0x40,0x00,0x00,0x0F,0x00,0x80,0x18,0x00,0xC0,0x30,0x00,0x40,0x20,0x00,0x4C,0xA0,0x03,0x40,0x20,0x00,0xC0,0x30,0x00,0x80,0x18,0x00,0x00,0x0F,0x00,0x20,0xC0,0x00,0x30,0x82,0x00,0x00,0x02,0x00,0x00,0x02, // 66
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xC0,0x10,0x00,0x40,0x20,0x00,0xE0,0x41,0x00,0x20,0x46,0x00,0x00,0x44,0x00,0x00,0x48,0x00,0x00,0x28,0x00,0x00,0x38,0x00,0x00,0x1C, // 67
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x20,0x80,0x00,0x60,0xC0,0x00,0x00,0x1F,0x00,0x80,0x31,0x00,0xC0,0x7F,0x00,0xD8,0x7F,0x07,0xC0,0x7F,0x00,0xC0,0x7F,0x00,0xC0,0x7F,0x00,0x80,0x7F,0x00,0x80,0x3F,0x00,0x00,0x0E, // 68
0x00,0x00,0x00,0x80,0x08,0x00,0x80,0x0A,0x00,0x80,0x0A,0x00,0x80,0x0A,0x00,0x80,0x0F,0x00,0xC0,0x1A,0x00,0xE0,0x3A,0x00,0xA0,0x2A,0x00,0x90,0x4A,0x00,0x90,0x4A,0x00,0x90,0x4A,0x00,0x10,0x4A,0x00,0x20,0x2A,0x00,0x20,0x3A,0x00,0xC0,0x1A,0x00,0x80,0x0F,0x00,0x00,0x0A,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,0x02, // 69
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x29,0x00,0x00,0x29,0x00,0x00,0x29,0x00,0x00,0x29,0x00,0x00,0x29,0x00,0x80,0x39,0x00,0xC0,0x39,0x00,0xC0,0x39,0x00,0xC0,0xF9,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0x68,0x00,0x00,0x0E,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x06, // 70
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x39,0x00,0x80,0x39,0x00,0x80,0x1F,0x00,0x80,0x1F,0x00,0xF0,0xF9,0x00,0xF0,0xF9,0x00,0x80,0x39,0x00,0x80,0x1F,0x00,0x80,0x3F,0x00,0x80,0x39,0x00,0x80,0x39, // 71
0x00,0xF1,0x01,0x00,0x19,0x03,0x04,0x0C,0x06,0x0C,0x04,0x04,0xC0,0x07,0x04,0x60,0x0C,0x04,0x30,0x06,0x06,0x10,0x03,0x04,0x17,0x01,0x08,0x10,0x01,0x08,0x30,0x01,0x08,0x60,0x01,0x08,0xC0,0x01,0x08,0x08,0x02,0x04,0x04,0x03,0x06,0x00,0x05,0x04,0x00,0x05,0x04,0x00,0x04,0x04,0x00,0x0C,0x06,0x00,0x18,0x03,0x00,0xF0, // 72
0x00,0xF0,0x00,0x00,0x18,0x03,0x00,0x0C,0x02,0x00,0x04,0x04,0x00,0x04,0x04,0x00,0x04,0x04,0x00,0x06,0x06,0x00,0x03,0x04,0x00,0x01,0x0C,0x00,0x01,0x08,0xF0,0x01,0x08,0x08,0x01,0x08,0x3C,0x01,0x0C,0x40,0x03,0x04,0x80,0x06,0x06,0x00,0x05,0x04,0x00,0x05,0x04,0x00,0x07,0x04,0x00,0x0F,0x02,0x80,0x19,0x03,0x00,0xF0, // 73
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x49,0x01,0x00,0x49,0x01,0x10,0x49,0x01,0x10,0x48,0x01,0x80,0x49,0x01,0x40,0x48,0x01,0x60,0x48,0x01,0x20,0x48,0x01,0x26,0x48,0x01,0x20,0x48,0x01,0x60,0x48,0x01,0x40,0x48,0x01,0x80,0x49,0x01,0x10,0x48,0x01,0x08,0x49,0x01,0x00,0x49,0x01,0x00,0x49,0x01, // 74
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x01,0x00,0x48,0x01,0x00,0x48,0x01,0x00,0x48,0x01,0xE0,0x4B,0x01,0x30,0x4A,0x01,0x18,0x48,0x01,0x78,0x48,0x01,0x80,0x49,0x01,0x00,0x49,0x01,0x00,0x4A,0x01,0x00,0x4A,0x01,0x00,0x4A,0x01,0x00,0x4A,0x01,0x00,0x48,0x01,0x00,0x48,0x01,0x00,0x48,0x01, // 75
0x80,0x4B,0x01,0x40,0x48,0x01,0x60,0x48,0x01,0x20,0x48,0x01,0x20,0x48,0x01,0x20,0x48,0x01,0x10,0x48,0x01,0x10,0x48,0x01,0x08,0x48,0x01,0x08,0x48,0x01,0x08,0x48,0x01,0x08,0x48,0x01,0x08,0x48,0x01,0x10,0x48,0x01,0x10,0x48,0x01,0x20,0x48,0x01,0x20,0x48,0x01,0x20,0x48,0x01,0x60,0x48,0x01,0x40,0x48,0x01,0x80,0x4B,0x01, // 76
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x25,0x00,0x20,0x25,0x00,0x20,0x25,0x00,0x20,0x25,0x00,0x20,0x25,0x00,0x20,0x25,0x00,0x20,0x25,0x00,0x20,0x25,0x00,0x20,0x25,0x00,0x20,0x25,0x00,0x20,0x25,0x00,0x20,0x25,0x00,0x20,0x25, // 77
0x00,0x1E,0x00,0x00,0x21,0x00,0x80,0x61,0x00,0x80,0x40,0x00,0x80,0x40,0x00,0x80,0x40,0x00,0x60,0x60,0x00,0x20,0x40,0x00,0x10,0x80,0x00,0x10,0x80,0x00,0x10,0x80,0x00,0x10,0x80,0x00,0x10,0x80,0x00,0x20,0x40,0x00,0x60,0x60,0x00,0x80,0x40,0x00,0x80,0x40,0x00,0x80,0x40,0x00,0x80,0x61,0x00,0x00,0x21,0x00,0x00,0x1E, // 78
0xE0,0x01,0x00,0x10,0x03,0x00,0x18,0x06,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x06,0x04,0x00,0x02,0x0C,0x00,0x01,0x28,0x02,0x01,0xF8,0x01,0x01,0xF8,0x00,0x01,0x08,0x00,0x01,0x08,0x00,0x02,0x0C,0x00,0x06,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x18,0x06,0x00,0x10,0x03,0x00,0xE0,0x01, // 79
0xE0,0x01,0x00,0x10,0x03,0x00,0x18,0x06,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x06,0x04,0x00,0x02,0x0C,0x00,0x01,0x60,0x02,0x01,0xF0,0x01,0x01,0xF8,0x00,0x01,0x04,0x00,0x01,0x00,0x00,0x02,0x0C,0x00,0x06,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x18,0x06,0x00,0x10,0x03,0x00,0xE0,0x01, // 80
0xC0,0x03,0x00,0x20,0x04,0x00,0x10,0x0C,0x00,0x10,0x08,0x00,0x10,0x08,0x00,0x18,0x08,0x00,0x0C,0x18,0x00,0x04,0x10,0x00,0x02,0x20,0x00,0x02,0x20,0x07,0x02,0x20,0x07,0x02,0x20,0x00,0x04,0x30,0x00,0x0C,0x18,0x00,0x18,0x18,0x00,0x10,0x08,0x00,0x10,0x08,0x00,0x10,0x08,0x00,0x30,0x0C,0x00,0x60,0x06,0x00,0xC0,0x03, // 81
0xE0,0x01,0x00,0x10,0x03,0x00,0x18,0x06,0x00,0x08,0x04,0x00,0x08,0xE4,0x00,0x0C,0xE4,0x00,0x06,0x04,0x00,0x02,0x0C,0x00,0x01,0x08,0x00,0x01,0x08,0x0E,0x01,0x08,0x0E,0x01,0x08,0x00,0x02,0x0C,0x00,0x06,0x04,0x00,0x0C,0x04,0x03,0x08,0x04,0x03,0x08,0x04,0x00,0x08,0x04,0x00,0x10,0x02,0x00,0x30,0x03,0x00,0xE0,0x01, // 82
0x00,0x48,0x00,0x00,0x4A,0x00,0x00,0x4A,0x00,0x00,0x4A,0x00,0x00,0x42,0x00,0x00,0x40,0x00,0x00,0x4E,0x00,0x00,0x11,0x00,0x80,0x20,0x00,0x80,0x20,0x00,0xC0,0x20,0x00,0x60,0x60,0x00,0x20,0x40,0x00,0x20,0x40,0x00,0x20,0x40,0x00,0x60,0x60,0x00,0xC0,0x20,0x00,0x80,0x20,0x00,0x80,0x20,0x00,0x00,0x11,0x00,0x00,0x0E, // 83
0x00,0x05,0x00,0x20,0x05,0x00,0x20,0x05,0x00,0x20,0x05,0x00,0x20,0x04,0x00,0x00,0x04,0x00,0xE0,0x04,0x00,0x10,0x01,0x00,0x08,0x02,0x00,0x08,0xE2,0x00,0x04,0xE2,0x00,0x02,0x04,0x00,0x02,0x04,0x00,0x02,0x04,0x00,0x06,0x04,0x07,0x0C,0x02,0x07,0x08,0x02,0x00,0x08,0x02,0x00,0x10,0x02,0x00,0x10,0x01,0x00,0xE0, // 84
0xE0,0x01,0x00,0x10,0x02,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x0C,0x04,0x00,0x06,0x04,0x00,0x02,0xCC,0x06,0x01,0x88,0x03,0x01,0x88,0x02,0x01,0xE8,0x0E,0x01,0x88,0x03,0x02,0xCC,0x06,0x02,0x04,0x00,0x04,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x18,0x06,0x00,0x10,0x03,0x00,0xE0,0x01, // 85
0xE0,0x01,0x00,0x10,0x02,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x0C,0x04,0x00,0x06,0x00,0x00,0x02,0x68,0x00,0x01,0x38,0x00,0x01,0x28,0x00,0x01,0xEE,0x00,0x01,0x38,0x00,0x02,0x68,0x00,0x02,0x00,0x00,0x0C,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x18,0x06,0x00,0x10,0x03,0x00,0xE0,0x01, // 86
0xE0,0x03,0x00,0x30,0x86,0x00,0x18,0xCC,0x00,0x08,0x68,0x01,0x08,0xC8,0x01,0x08,0x08,0x00,0x0C,0x0C,0x00,0x06,0x18,0x09,0x02,0x10,0x0F,0x03,0x10,0x0F,0x03,0xD0,0x1D,0x03,0x10,0x0F,0x02,0x10,0x0F,0x06,0x18,0x09,0x0C,0x0C,0x00,0x08,0x08,0x00,0x08,0x08,0x03,0x08,0x88,0x02,0x18,0x8C,0x03,0x30,0x06,0x00,0xE0,0x03, // 87
0xE0,0x01,0x00,0x10,0x03,0x00,0x18,0x06,0x00,0x08,0x74,0x00,0x08,0x74,0x00,0x0C,0x04,0x0E,0x02,0x04,0x0E,0x02,0x0C,0x00,0x01,0x08,0x00,0x01,0xE8,0x00,0x01,0xE8,0x00,0x01,0x08,0x00,0x02,0x0C,0x00,0x02,0x04,0x0E,0x0C,0x04,0x0E,0x08,0x04,0x00,0x08,0x74,0x00,0x08,0x74,0x00,0x10,0x02,0x00,0x30,0x03,0x00,0xE0,0x01, // 88
0x00,0xF0,0x00,0x00,0x18,0x03,0x00,0x0C,0x06,0x00,0x04,0x04,0x00,0x04,0x04,0x00,0x0F,0x04,0x80,0x03,0x06,0x40,0x02,0x04,0x40,0x01,0x08,0x40,0x01,0x08,0x20,0x01,0x08,0x30,0x01,0x08,0x10,0x01,0x08,0x10,0x02,0x04,0x10,0x02,0x06,0x20,0x04,0x04,0x60,0x04,0x04,0x40,0x04,0x04,0x40,0x0C,0x06,0x80,0x18,0x03,0x00,0xF7, // 89
0x00,0x0F,0x00,0x80,0x10,0x00,0xC0,0x30,0x00,0x40,0x20,0x00,0x40,0x20,0x00,0x70,0x20,0x00,0x38,0x20,0x00,0x24,0x60,0x00,0x14,0xC0,0x09,0x14,0xC0,0x07,0x12,0xC0,0x03,0x11,0x40,0x00,0x11,0x40,0x00,0x21,0x60,0x00,0x21,0x20,0x00,0x42,0x20,0x00,0x46,0x20,0x00,0x44,0x20,0x00,0xC4,0x30,0x00,0x88,0x11,0x00,0x70,0x0F, // 90
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x7F,0xF8,0xFF,0x7F,0x18,0x00,0x40,0x18,0x00,0x40,0x18,0x00,0x40,0x18,0x00,0x40,0x18,0x00,0x40,0x18,0x00,0x40, // 91
0x18,0x00,0x00,0x38,0x00,0x00,0xE0,0x00,0x00,0xC0,0x01,0x00,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x38,0x00,0x00,0x70,0x00,0x00,0xC0,0x01,0x00,0x80,0x03,0x00,0x00,0x0E,0x00,0x00,0x0C, // 92
0x18,0x00,0x40,0x18,0x00,0x40,0x18,0x00,0x40,0x18,0x00,0x40,0x18,0x00,0x40,0x18,0x00,0x40,0xF8,0xFF,0x7F,0xF8,0xFF,0x7F, // 93
0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x70,0x00,0x00,0x3C,0x00,0x00,0x0F,0x00,0xC0,0x03,0x00,0xF0,0x00,0x00,0xC0,0x03,0x00,0x00,0x0F,0x00,0x00,0x3C,0x00,0x00,0x70,0x00,0x00,0x40, // 94
0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30, // 95
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x30,0x00,0x00,0x60,0x00,0x00,0x40, // 96
0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0xFC,0x07,0x00,0x1E,0x0E,0x00,0x06,0x0C,0x00,0x07,0x0C,0x00,0x03,0x0C,0x00,0x03,0x06,0x00,0x03,0x06,0x00,0x03,0x03,0x00,0xFF,0x0F,0x00,0xFF,0x0F, // 97
0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x0F,0xF8,0xFF,0x0F,0x00,0x0C,0x0C,0x00,0x06,0x0C,0x00,0x02,0x0C,0x00,0x03,0x0C,0x00,0x03,0x06,0x00,0x07,0x07,0x00,0xFE,0x03,0x00,0xFC, // 98
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0xFC,0x03,0x00,0x0E,0x07,0x00,0x06,0x06,0x00,0x03,0x0C,0x00,0x03,0x0C,0x00,0x03,0x0C,0x00,0x03,0x0C,0x00,0x06,0x06, // 99
0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0xFC,0x07,0x00,0x0E,0x0E,0x00,0x06,0x0C,0x00,0x03,0x0C,0x00,0x03,0x04,0x00,0x03,0x06,0x00,0x03,0x03,0xF8,0xFF,0x0F,0xF8,0xFF,0x0F, // 100
0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0xFC,0x03,0x00,0x3E,0x07,0x00,0x36,0x06,0x00,0x33,0x0C,0x00,0x33,0x0C,0x00,0x33,0x0C,0x00,0x33,0x0C,0x00,0x36,0x0C,0x00,0x3E,0x06,0x00,0x38,0x06, // 101
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0xE0,0xFF,0x0F,0xF0,0xFF,0x0F,0x38,0x06,0x00,0x18,0x06,0x00,0x18,0x06,0x00,0x18,0x06,0x00,0x18,0x06,0x00,0x18, // 102
0x00,0x00,0x00,0x00,0xF0,0x63,0x00,0xFC,0x47,0x00,0x0E,0x4E,0x00,0x06,0x4C,0x00,0x03,0x4C,0x00,0x03,0x44,0x00,0x03,0x46,0x00,0x03,0x63,0x00,0xFF,0x7F,0x00,0xFF,0x3F, // 103
0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x0F,0xF8,0xFF,0x0F,0x00,0x0C,0x00,0x00,0x06,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x07,0x00,0x00,0xFE,0x0F,0x00,0xFC,0x0F, // 104
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x18,0xFF,0x0F,0x18,0xFF,0x0F,0x00,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00,0x0C, // 105
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x03,0x40,0x00,0x03,0x40,0x00,0x03,0x40,0x00,0x03,0x40,0x00,0x03,0x60,0x18,0xFF,0x7F,0x18,0xFF,0x1F, // 106
0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x0F,0xF8,0xFF,0x0F,0x00,0x60,0x00,0x00,0xF0,0x00,0x00,0xD8,0x01,0x00,0x8C,0x03,0x00,0x06,0x07,0x00,0x03,0x0E,0x00,0x01,0x0C,0x00,0x00,0x08, // 107
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x18,0x00,0x00,0x18,0x00,0x00,0xF8,0xFF,0x0F,0xF8,0xFF,0x0F,0x00,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00,0x0C, // 108
0x00,0xFF,0x0F,0x00,0xFF,0x0F,0x00,0x0C,0x00,0x00,0x02,0x00,0x00,0x03,0x00,0x00,0xFF,0x0F,0x00,0xFE,0x0F,0x00,0x0C,0x00,0x00,0x02,0x00,0x00,0x03,0x00,0x00,0xFF,0x0F,0x00,0xFE,0x0F, // 109
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0x00,0xFF,0x0F,0x00,0x0C,0x00,0x00,0x06,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x07,0x00,0x00,0xFE,0x0F,0x00,0xFC,0x0F, // 110
0x00,0x00,0x00,0x00,0xF8,0x01,0x00,0xFE,0x07,0x00,0x06,0x06,0x00,0x03,0x0C,0x00,0x03,0x0C,0x00,0x03,0x0C,0x00,0x03,0x0C,0x00,0x03,0x0C,0x00,0x06,0x06,0x00,0xFE,0x07,0x00,0xF8,0x01, // 111
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0x00,0xFF,0x7F,0x00,0x0C,0x0C,0x00,0x06,0x0C,0x00,0x02,0x0C,0x00,0x03,0x0C,0x00,0x03,0x06,0x00,0x07,0x07,0x00,0xFE,0x03,0x00,0xFC, // 112
0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0xFC,0x07,0x00,0x0E,0x0E,0x00,0x06,0x0C,0x00,0x03,0x0C,0x00,0x03,0x04,0x00,0x03,0x06,0x00,0x03,0x03,0x00,0xFF,0x7F,0x00,0xFF,0x7F, // 113
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0x00,0xFF,0x0F,0x00,0x0C,0x00,0x00,0x06,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x0F,0x00,0x00,0x0F, // 114
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x07,0x00,0x3E,0x06,0x00,0x37,0x0C,0x00,0x63,0x0C,0x00,0x63,0x0C,0x00,0x63,0x0C,0x00,0xC3,0x0E,0x00,0xC6,0x07,0x00,0x80,0x03, // 115
0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0xF0,0xFF,0x03,0xF0,0xFF,0x07,0x00,0x06,0x0E,0x00,0x06,0x0C,0x00,0x06,0x0C,0x00,0x06,0x0C,0x00,0x06,0x06, // 116
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0xFF,0x07,0x00,0x00,0x0E,0x00,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00,0x06,0x00,0x00,0x03,0x00,0xFF,0x0F,0x00,0xFF,0x0F, // 117
0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x1F,0x00,0x00,0x7C,0x00,0x00,0xE0,0x03,0x00,0x80,0x0F,0x00,0x00,0x0E,0x00,0x80,0x0F,0x00,0xE0,0x03,0x00,0x7C,0x00,0x00,0x1F,0x00,0x00,0x03, // 118
0x00,0x07,0x00,0x00,0xFF,0x01,0x00,0xF8,0x0F,0x00,0x00,0x0E,0x00,0xF8,0x03,0x00,0x1F,0x00,0x00,0x3F,0x00,0x00,0xF8,0x03,0x00,0x00,0x0E,0x00,0xF0,0x0F,0x00,0xFF,0x01,0x00,0x07, // 119
0x00,0x00,0x08,0x00,0x01,0x0C,0x00,0x03,0x07,0x00,0x8E,0x03,0x00,0xDC,0x00,0x00,0x78,0x00,0x00,0x70,0x00,0x00,0xD8,0x00,0x00,0x8E,0x03,0x00,0x07,0x07,0x00,0x01,0x0C,0x00,0x00,0x08, // 120
0x00,0x00,0x40,0x00,0x03,0x40,0x00,0x0F,0x40,0x00,0x3C,0x40,0x00,0xF0,0x60,0x00,0xC0,0x73,0x00,0x00,0x3F,0x00,0x00,0x0F,0x00,0xE0,0x03,0x00,0xF8,0x00,0x00,0x1E,0x00,0x00,0x07,0x00,0x00,0x01, // 121
0x00,0x00,0x00,0x00,0x03,0x0C,0x00,0x03,0x0E,0x00,0x03,0x0F,0x00,0x83,0x0D,0x00,0xC3,0x0C,0x00,0x63,0x0C,0x00,0x33,0x0C,0x00,0x1B,0x0C,0x00,0x0F,0x0C,0x00,0x07,0x0C, // 122
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0xE0,0xF0,0x78,0xF0,0x9F,0x7F,0x38,0x0F,0x6F,0x18,0x00,0x40,0x18,0x00,0x40,0x18,0x00,0x40,0x18,0x00,0x40, // 123
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x0F,0xF8,0xFF,0x0F, // 124
0x18,0x00,0x40,0x18,0x00,0x40,0x18,0x00,0x40,0x18,0x00,0x40,0x38,0x0F,0x6F,0xF0,0x9F,0x7F,0xE0,0xF0,0x78,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60, // 125
0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0xF0,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x60,0x00,0x00,0xC0,0x00,0x00,0xC0,0x00,0x00,0xC0,0x00,0x00,0x70,0x00,0x00,0x30, // 126
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF3,0x7F,0x00,0xF3,0x7F, // 161
0x00,0x00,0x00,0x00,0x1E,0x00,0x80,0x7F,0x00,0xC0,0xE1,0x00,0xE0,0xC0,0x01,0x60,0x80,0x01,0xFE,0xFF,0x1F,0xFE,0xFF,0x1F,0x60,0x80,0x01,0x60,0x80,0x01,0xC0,0xC0, // 162
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x0C,0x0E,0xE0,0xFF,0x0F,0xF0,0xFF,0x0D,0x38,0x0C,0x0C,0x18,0x0C,0x0C,0x18,0x0C,0x0C,0x18,0x0C,0x0C,0x30,0x00,0x0C,0x00,0x00,0x0C, // 163
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x3D,0x03,0x80,0xFF,0x01,0x00,0xC3,0x00,0x80,0x81,0x01,0x80,0x81,0x01,0x80,0x81,0x01,0x00,0xC3,0x00,0x80,0xFF,0x01,0xC0,0x3D,0x03, // 164
0x30,0x00,0x00,0x70,0x98,0x01,0xC0,0x99,0x01,0x80,0x9B,0x01,0x00,0xFE,0x0F,0x00,0xFE,0x0F,0x80,0x9B,0x01,0xC0,0x99,0x01,0x70,0x98,0x01,0x30, // 165
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xF3,0x07,0xF8,0xF3,0x07, // 166
0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x39,0x60,0xF0,0x7F,0x40,0x30,0xE3,0x40,0x18,0xC3,0x41,0x18,0x86,0x41,0x18,0x8C,0x43,0x18,0x0C,0x43,0x18,0x18,0x67,0x30,0xF0,0x7F,0x00,0xE0,0x3C, // 167
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x60, // 168
0x00,0x7F,0x00,0xC0,0x80,0x01,0x20,0x3E,0x02,0x90,0xFF,0x04,0x88,0xC1,0x08,0xC8,0x80,0x09,0xC8,0x80,0x09,0xC8,0x80,0x09,0xC8,0x80,0x09,0x10,0x00,0x04,0x20,0x00,0x02,0xC0,0x80,0x01,0x00,0x7F, // 169
0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x00,0xF0,0x03,0x00,0x30,0x03,0x00,0x18,0x03,0x00,0x18,0x03,0x00,0x18,0x01,0x00,0x98,0x01,0x00,0xF8,0x03,0x00,0xF8,0x03, // 170
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0xF8,0x00,0x00,0xDE,0x03,0x00,0x8F,0x07,0x00,0x02,0x02,0x00,0x70,0x00,0x00,0xF8,0x00,0x00,0xDE,0x03,0x00,0x8F,0x07,0x00,0x02,0x02, // 171
0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0xE0,0x03,0x00,0xE0,0x03, // 172
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60, // 173
0x00,0x7F,0x00,0xC0,0x80,0x01,0x20,0x00,0x02,0xD0,0xFF,0x05,0xC8,0xFF,0x09,0x48,0x10,0x08,0x48,0x10,0x08,0x48,0x10,0x08,0xC8,0xF8,0x08,0x90,0xEF,0x05,0xA0,0x87,0x03,0xC0,0x80,0x01,0x00,0x7F, // 174
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x60, // 175
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x98,0x01,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0x98,0x01,0x00,0xF0, // 176
0x00,0x06,0x0C,0x00,0x06,0x0C,0x00,0x06,0x0C,0x00,0x06,0x0C,0x00,0x06,0x0C,0xF0,0xFF,0x0C,0xF0,0xFF,0x0C,0x00,0x06,0x0C,0x00,0x06,0x0C,0x00,0x06,0x0C,0x00,0x06,0x0C,0x00,0x06,0x0C, // 177
0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x18,0x00,0x10,0x1C,0x00,0x10,0x16,0x00,0x10,0x13,0x00,0x10,0x13,0x00,0x90,0x11,0x00,0xF0,0x10,0x00,0x60,0x10, // 178
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0xF0,0x1E,0x00,0x60,0x0E, // 179
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x10, // 180
0x00,0x00,0x00,0x00,0xFF,0x7F,0x00,0xFF,0x7F,0x00,0x00,0x0E,0x00,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00,0x06,0x00,0x80,0x03,0x00,0xFF,0x0F,0x00,0xFF,0x0F, // 181
0x00,0x00,0x00,0x80,0x03,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0xF0,0xFF,0x7F,0xF0,0xFF,0x7F,0x30,0x00,0x00,0x30,0x00,0x00,0xF0,0xFF,0x7F,0xF0,0xFF,0x7F,0x30, // 182
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0, // 183
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x70,0x00,0x00,0x40, // 184
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x10,0x00,0x60,0x10,0x00,0x30,0x10,0x00,0xF0,0x1F,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10, // 185
0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0xF0,0x01,0x00,0xB8,0x03,0x00,0x18,0x03,0x00,0x18,0x03,0x00,0x18,0x03,0x00,0xB8,0x03,0x00,0xF0,0x01,0x00,0xE0, // 186
0x00,0x00,0x00,0x00,0x02,0x02,0x00,0x8F,0x07,0x00,0xDE,0x03,0x00,0xF8,0x00,0x00,0x70,0x00,0x00,0x02,0x02,0x00,0x8F,0x07,0x00,0xDE,0x03,0x00,0xF8,0x00,0x00,0x70, // 187
0x60,0x08,0x08,0x30,0x08,0x0C,0xF0,0x0F,0x07,0xF0,0x8F,0x03,0x00,0xE8,0x00,0x00,0x70,0x03,0x00,0x9C,0x03,0x00,0xCE,0x02,0x00,0x67,0x02,0xC0,0xF1,0x0F,0xE0,0xF0,0x0F,0x30,0x00,0x02,0x10,0x00,0x02, // 188
0x60,0x08,0x08,0x30,0x08,0x0C,0xF0,0x0F,0x07,0xF0,0xCF,0x03,0x00,0xE8,0x00,0x00,0x38,0x00,0x00,0x1C,0x0C,0x00,0x17,0x0E,0xC0,0x13,0x0B,0xE0,0x90,0x09,0x30,0xF0,0x09,0x10,0xE0,0x08, // 189
0x00,0x00,0x08,0x90,0x08,0x0C,0x90,0x08,0x07,0x90,0x88,0x03,0xF0,0xEF,0x00,0x60,0x77,0x03,0x00,0x9C,0x03,0x00,0xCE,0x02,0x00,0x67,0x02,0xC0,0xF1,0x0F,0xE0,0xF0,0x0F,0x30,0x00,0x02,0x10,0x00,0x02, // 190
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7E,0x00,0x00,0x67,0x00,0x80,0x43,0x00,0xC0,0x41,0x00,0xF3,0x40,0x00,0x33,0x40,0x00,0x00,0x40,0x00,0x00,0x60, // 191
0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x80,0x0F,0x00,0xF0,0x03,0x00,0xFE,0x01,0xC1,0x8F,0x01,0xF1,0x81,0x01,0xF2,0x81,0x01,0xC4,0x8F,0x01,0x00,0xFE,0x01,0x00,0xF0,0x03,0x00,0x80,0x0F,0x00,0x00,0x0C, // 192
0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x80,0x0F,0x04,0xF0,0x03,0x06,0xFE,0x01,0xC3,0x8F,0x01,0xF1,0x81,0x01,0xF0,0x81,0x01,0xC0,0x8F,0x01,0x00,0xFE,0x01,0x00,0xF0,0x03,0x00,0x80,0x0F,0x00,0x00,0x0C, // 193
0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x80,0x0F,0x00,0xF0,0x03,0x03,0xFE,0x01,0xC1,0x8F,0x01,0xF0,0x81,0x01,0xF1,0x81,0x01,0xC3,0x8F,0x01,0x00,0xFE,0x01,0x00,0xF0,0x03,0x00,0x80,0x0F,0x00,0x00,0x0C, // 194
0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x80,0x0F,0x06,0xF0,0x03,0x02,0xFE,0x01,0xC2,0x8F,0x01,0xF2,0x81,0x01,0xF2,0x81,0x01,0xC6,0x8F,0x01,0x02,0xFE,0x01,0x00,0xF0,0x03,0x00,0x80,0x0F,0x00,0x00,0x0C, // 195
0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x80,0x0F,0x02,0xF0,0x03,0x02,0xFE,0x01,0xC0,0x8F,0x01,0xF0,0x81,0x01,0xF0,0x81,0x01,0xC2,0x8F,0x01,0x02,0xFE,0x01,0x00,0xF0,0x03,0x00,0x80,0x0F,0x00,0x00,0x0C, // 196
0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xC0,0x0F,0x00,0xF8,0x01,0x00,0xBF,0x01,0xFC,0x87,0x01,0xF2,0x80,0x01,0xEC,0x87,0x01,0x00,0xBF,0x01,0x00,0xF8,0x01,0x00,0xC0,0x0F,0x00,0x00,0x0E, // 197
0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xE0,0x0F,0x00,0xFC,0x01,0x80,0xDF,0x00,0xF0,0xC3,0x00,0xF0,0xFF,0x0F,0xF0,0xFF,0x0F,0x30,0x18,0x0C,0x30,0x18,0x0C,0x30,0x18,0x0C,0x30,0x18,0x0C, // 198
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x80,0xFF,0x03,0xC0,0x81,0x07,0xE0,0x00,0x07,0x70,0x00,0x2E,0x30,0x00,0x3C,0x30,0x00,0x6C,0x30,0x00,0x4C,0x30,0x00,0x0C,0x30,0x00,0x0C, // 199
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x0F,0xF0,0xFF,0x0F,0x30,0x18,0x0C,0x31,0x18,0x0C,0x31,0x18,0x0C,0x32,0x18,0x0C,0x34,0x18,0x0C,0x30,0x18,0x0C,0x30,0x00,0x0C, // 200
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x0F,0xF0,0xFF,0x0F,0x34,0x18,0x0C,0x32,0x18,0x0C,0x31,0x18,0x0C,0x30,0x18,0x0C,0x30,0x18,0x0C,0x30,0x18,0x0C,0x30,0x00,0x0C, // 201
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x0F,0xF0,0xFF,0x0F,0x33,0x18,0x0C,0x31,0x18,0x0C,0x30,0x18,0x0C,0x31,0x18,0x0C,0x33,0x18,0x0C,0x30,0x18,0x0C,0x30,0x00,0x0C, // 202
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x0F,0xF2,0xFF,0x0F,0x32,0x18,0x0C,0x30,0x18,0x0C,0x30,0x18,0x0C,0x30,0x18,0x0C,0x32,0x18,0x0C,0x32,0x18,0x0C,0x30,0x00,0x0C, // 203
0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x0C,0x30,0x00,0x0C,0x30,0x00,0x0C,0x31,0x00,0x0C,0xF1,0xFF,0x0F,0xF2,0xFF,0x0F,0x34,0x00,0x0C,0x30,0x00,0x0C,0x30,0x00,0x0C,0x30,0x00,0x0C, // 204
0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x0C,0x34,0x00,0x0C,0x36,0x00,0x0C,0x33,0x00,0x0C,0xF1,0xFF,0x0F,0xF0,0xFF,0x0F,0x30,0x00,0x0C,0x30,0x00,0x0C,0x30,0x00,0x0C,0x30,0x00,0x0C, // 205
0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x0C,0x30,0x00,0x0C,0x33,0x00,0x0C,0x31,0x00,0x0C,0xF0,0xFF,0x0F,0xF1,0xFF,0x0F,0x33,0x00,0x0C,0x30,0x00,0x0C,0x30,0x00,0x0C,0x30,0x00,0x0C, // 206
0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x0C,0x32,0x00,0x0C,0x32,0x00,0x0C,0x30,0x00,0x0C,0xF0,0xFF,0x0F,0xF0,0xFF,0x0F,0x32,0x00,0x0C,0x32,0x00,0x0C,0x30,0x00,0x0C,0x30,0x00,0x0C, // 207
0x00,0x18,0x00,0x00,0x18,0x00,0xF0,0xFF,0x0F,0xF0,0xFF,0x0F,0x30,0x18,0x0C,0x30,0x18,0x0C,0x30,0x00,0x0C,0x30,0x00,0x0C,0x30,0x00,0x0C,0x70,0x00,0x0E,0xE0,0x80,0x07,0xC0,0xFF,0x03,0x00,0x7F, // 208
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x0F,0xF6,0xFF,0x0F,0xE2,0x01,0x00,0x82,0x07,0x00,0x02,0x1E,0x00,0x02,0x78,0x00,0x06,0xE0,0x01,0x02,0x80,0x07,0xF0,0xFF,0x0F,0xF0,0xFF,0x0F, // 209
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xC0,0xFF,0x03,0xE0,0x00,0x07,0x71,0x00,0x0E,0x31,0x00,0x0C,0x32,0x00,0x0C,0x34,0x00,0x0C,0x70,0x00,0x0E,0xE0,0x00,0x07,0xC0,0xFF,0x03,0x00,0xFF, // 210
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xC4,0xFF,0x03,0xE6,0x00,0x07,0x73,0x00,0x0E,0x31,0x00,0x0C,0x30,0x00,0x0C,0x30,0x00,0x0C,0x70,0x00,0x0E,0xE0,0x00,0x07,0xC0,0xFF,0x03,0x00,0xFF, // 211
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xC0,0xFF,0x03,0xE3,0x00,0x07,0x71,0x00,0x0E,0x30,0x00,0x0C,0x31,0x00,0x0C,0x33,0x00,0x0C,0x70,0x00,0x0E,0xE0,0x00,0x07,0xC0,0xFF,0x03,0x00,0xFF, // 212
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xC6,0xFF,0x03,0xE2,0x00,0x07,0x72,0x00,0x0E,0x32,0x00,0x0C,0x34,0x00,0x0C,0x36,0x00,0x0C,0x72,0x00,0x0E,0xE0,0x00,0x07,0xC0,0xFF,0x03,0x00,0xFF, // 213
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xC2,0xFF,0x03,0xE2,0x00,0x07,0x70,0x00,0x0E,0x30,0x00,0x0C,0x30,0x00,0x0C,0x32,0x00,0x0C,0x72,0x00,0x0E,0xE0,0x00,0x07,0xC0,0xFF,0x03,0x00,0xFF, // 214
0x00,0x00,0x00,0x00,0x06,0x0C,0x00,0x0C,0x06,0x00,0x18,0x03,0x00,0xB0,0x01,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xB0,0x01,0x00,0x18,0x03,0x00,0x0C,0x06,0x00,0x06,0x0C, // 215
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x08,0xC0,0xFF,0x0F,0xE0,0x00,0x07,0x70,0xC0,0x0F,0x30,0xF0,0x0C,0x30,0x3C,0x0C,0x30,0x0F,0x0C,0xF0,0x03,0x0E,0xE0,0x80,0x07,0xF0,0xFF,0x03,0x10,0xFF, // 216
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x03,0xF0,0xFF,0x07,0x00,0x00,0x0E,0x01,0x00,0x0C,0x01,0x00,0x0C,0x02,0x00,0x0C,0x04,0x00,0x0C,0x00,0x00,0x06,0xF0,0xFF,0x07,0xF0,0xFF,0x01, // 217
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x03,0xF4,0xFF,0x07,0x06,0x00,0x0E,0x03,0x00,0x0C,0x01,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00,0x06,0xF0,0xFF,0x07,0xF0,0xFF,0x01, // 218
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x03,0xF0,0xFF,0x07,0x03,0x00,0x0E,0x01,0x00,0x0C,0x00,0x00,0x0C,0x01,0x00,0x0C,0x03,0x00,0x0C,0x00,0x00,0x06,0xF0,0xFF,0x07,0xF0,0xFF,0x01, // 219
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x03,0xF2,0xFF,0x07,0x02,0x00,0x0E,0x00,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00,0x0C,0x02,0x00,0x0C,0x02,0x00,0x06,0xF0,0xFF,0x07,0xF0,0xFF,0x01, // 220
0x00,0x00,0x00,0x30,0x00,0x00,0xF0,0x00,0x00,0xC4,0x03,0x00,0x06,0x0F,0x00,0x03,0xFC,0x0F,0x01,0xFC,0x0F,0x00,0x0F,0x00,0xC0,0x03,0x00,0xF0,0x00,0x00,0x30, // 221
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x0F,0xF0,0xFF,0x0F,0xC0,0x80,0x01,0xC0,0x80,0x01,0xC0,0x80,0x01,0xC0,0x80,0x01,0xC0,0xC0,0x00,0x80,0xE1,0x00,0x80,0x7F,0x00,0x00,0x1E, // 222
0x00,0x00,0x00,0xC0,0xFF,0x0F,0xF0,0xFF,0x0F,0x30,0x00,0x00,0x18,0x0C,0x0C,0x18,0x1E,0x0C,0x18,0x1B,0x0C,0x98,0x31,0x0C,0xF8,0x60,0x0C,0x70,0x60,0x0E,0x00,0xC0,0x07,0x00,0x80,0x03, // 223
0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0xFC,0x07,0x00,0x1E,0x0E,0x00,0x06,0x0C,0x10,0x07,0x0C,0x30,0x03,0x0C,0x20,0x03,0x06,0x40,0x03,0x06,0x00,0x03,0x03,0x00,0xFF,0x0F,0x00,0xFF,0x0F, // 224
0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0xFC,0x07,0x00,0x1E,0x0E,0x00,0x06,0x0C,0x40,0x07,0x0C,0x60,0x03,0x0C,0x30,0x03,0x06,0x10,0x03,0x06,0x00,0x03,0x03,0x00,0xFF,0x0F,0x00,0xFF,0x0F, // 225
0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0xFC,0x07,0x00,0x1E,0x0E,0x00,0x06,0x0C,0x20,0x07,0x0C,0x30,0x03,0x0C,0x18,0x03,0x06,0x30,0x03,0x06,0x20,0x03,0x03,0x00,0xFF,0x0F,0x00,0xFF,0x0F, // 226
0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0xFC,0x07,0x00,0x1E,0x0E,0x60,0x06,0x0C,0x20,0x07,0x0C,0x20,0x03,0x0C,0x40,0x03,0x06,0x40,0x03,0x06,0x60,0x03,0x03,0x00,0xFF,0x0F,0x00,0xFF,0x0F, // 227
0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0xFC,0x07,0x00,0x1E,0x0E,0x60,0x06,0x0C,0x00,0x07,0x0C,0x00,0x03,0x0C,0x00,0x03,0x06,0x00,0x03,0x06,0x60,0x03,0x03,0x00,0xFF,0x0F,0x00,0xFF,0x0F, // 228
0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0xFC,0x07,0x00,0x1E,0x0E,0x00,0x06,0x0C,0x78,0x07,0x0C,0x48,0x03,0x0C,0x78,0x03,0x06,0x00,0x03,0x06,0x00,0x03,0x03,0x00,0xFF,0x0F,0x00,0xFF,0x0F, // 229
0x00,0xF0,0x03,0x00,0xFC,0x07,0x00,0x0E,0x0E,0x00,0x07,0x0C,0x00,0x03,0x0E,0x00,0x03,0x07,0x00,0xFE,0x03,0x00,0xFE,0x07,0x00,0x33,0x0E,0x00,0x33,0x0C,0x00,0x33,0x0C,0x00,0x3E,0x0C,0x00,0x3C,0x04, // 230
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0xFC,0x03,0x00,0x0E,0x07,0x00,0x06,0x0E,0x00,0x03,0x2C,0x00,0x03,0x3C,0x00,0x03,0x6C,0x00,0x03,0x4C,0x00,0x03,0x0C,0x00,0x06,0x06, // 231
0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0xFC,0x03,0x00,0x3E,0x07,0x00,0x36,0x06,0x10,0x33,0x0C,0x10,0x33,0x0C,0x20,0x33,0x0C,0x40,0x33,0x0C,0x00,0x36,0x0C,0x00,0x3E,0x06,0x00,0x38,0x06, // 232
0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0xFC,0x03,0x00,0x3E,0x07,0x00,0x36,0x06,0x40,0x33,0x0C,0x20,0x33,0x0C,0x30,0x33,0x0C,0x10,0x33,0x0C,0x00,0x36,0x0C,0x00,0x3E,0x06,0x00,0x38,0x06, // 233
0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0xFC,0x03,0x00,0x3E,0x07,0x20,0x36,0x06,0x30,0x33,0x0C,0x18,0x33,0x0C,0x18,0x33,0x0C,0x30,0x33,0x0C,0x00,0x36,0x0C,0x00,0x3E,0x06,0x00,0x38,0x06, // 234
0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0xFC,0x03,0x00,0x3E,0x07,0x60,0x36,0x06,0x00,0x33,0x0C,0x00,0x33,0x0C,0x00,0x33,0x0C,0x00,0x33,0x0C,0x60,0x36,0x0C,0x00,0x3E,0x06,0x00,0x38,0x06, // 235
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x10,0xFF,0x0F,0x20,0xFF,0x0F,0x40,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00,0x0C, // 236
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x40,0x03,0x00,0x60,0x03,0x00,0x30,0xFF,0x0F,0x10,0xFF,0x0F,0x00,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00,0x0C, // 237
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x20,0x03,0x00,0x30,0x03,0x00,0x18,0xFF,0x0F,0x18,0xFF,0x0F,0x30,0x00,0x0C,0x20,0x00,0x0C,0x00,0x00,0x0C, // 238
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x60,0x03,0x00,0x00,0x03,0x00,0x00,0xFF,0x0F,0x00,0xFF,0x0F,0x00,0x00,0x0C,0x60,0x00,0x0C,0x00,0x00,0x0C, // 239
0x00,0x00,0x00,0x00,0xF0,0x01,0x18,0xF8,0x03,0x58,0x1C,0x07,0xF8,0x0E,0x0E,0x78,0x06,0x0C,0x38,0x06,0x0C,0x7C,0x06,0x0C,0xEE,0x0C,0x0E,0xC4,0x1F,0x07,0x00,0xFF,0x03,0x00,0xFC, // 240
0x00,0x00,0x00,0x00,0xFF,0x0F,0x40,0xFF,0x0F,0x60,0x0C,0x00,0x20,0x06,0x00,0x60,0x03,0x00,0x40,0x03,0x00,0x40,0x03,0x00,0x60,0xFE,0x0F,0x00,0xFC,0x0F, // 241
0x00,0x00,0x00,0x00,0xF8,0x01,0x00,0xFE,0x07,0x00,0x06,0x06,0x00,0x03,0x0C,0x10,0x03,0x0C,0x30,0x03,0x0C,0x60,0x03,0x0C,0x40,0x03,0x0C,0x00,0x06,0x06,0x00,0xFE,0x07,0x00,0xF8,0x01, // 242
0x00,0x00,0x00,0x00,0xF8,0x01,0x00,0xFE,0x07,0x00,0x06,0x06,0x40,0x03,0x0C,0x20,0x03,0x0C,0x30,0x03,0x0C,0x10,0x03,0x0C,0x00,0x03,0x0C,0x00,0x06,0x06,0x00,0xFE,0x07,0x00,0xF8,0x01, // 243
0x00,0x00,0x00,0x00,0xF8,0x01,0x00,0xFE,0x07,0x00,0x06,0x06,0x20,0x03,0x0C,0x30,0x03,0x0C,0x08,0x03,0x0C,0x30,0x03,0x0C,0x20,0x03,0x0C,0x00,0x06,0x06,0x00,0xFE,0x07,0x00,0xF8,0x01, // 244
0x00,0x00,0x00,0x00,0xF8,0x01,0x00,0xFE,0x07,0x40,0x06,0x06,0x20,0x03,0x0C,0x20,0x03,0x0C,0x60,0x03,0x0C,0x40,0x03,0x0C,0x40,0x03,0x0C,0x20,0x06,0x06,0x00,0xFE,0x07,0x00,0xF8,0x01, // 245
0x00,0x00,0x00,0x00,0xF8,0x01,0x00,0xFE,0x07,0x60,0x06,0x06,0x60,0x03,0x0C,0x00,0x03,0x0C,0x00,0x03,0x0C,0x00,0x03,0x0C,0x60,0x03,0x0C,0x60,0x06,0x06,0x00,0xFE,0x07,0x00,0xF8,0x01, // 246
0x00,0xC0,0x00,0x00,0xC0,0x00,0x00,0xC0,0x00,0x00,0xC0,0x00,0x00,0xCC,0x0C,0x00,0xCC,0x0C,0x00,0xC0,0x00,0x00,0xC0,0x00,0x00,0xC0,0x00,0x00,0xC0, // 247
0x00,0x00,0x00,0x00,0xF8,0x09,0x00,0xFC,0x0F,0x00,0x0E,0x07,0x00,0x87,0x0F,0x00,0xC3,0x0D,0x00,0x63,0x0C,0x00,0x3B,0x0C,0x00,0x1F,0x0C,0x00,0x06,0x07,0x00,0xFF,0x03,0x00,0xF9,0x01, // 248
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0xFF,0x07,0x00,0x00,0x0E,0x10,0x00,0x0C,0x30,0x00,0x0C,0x60,0x00,0x06,0x40,0x00,0x03,0x00,0xFF,0x0F,0x00,0xFF,0x0F, // 249
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0xFF,0x07,0x40,0x00,0x0E,0x60,0x00,0x0C,0x30,0x00,0x0C,0x10,0x00,0x06,0x00,0x00,0x03,0x00,0xFF,0x0F,0x00,0xFF,0x0F, // 250
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0xFF,0x07,0x20,0x00,0x0E,0x30,0x00,0x0C,0x08,0x00,0x0C,0x30,0x00,0x06,0x20,0x00,0x03,0x00,0xFF,0x0F,0x00,0xFF,0x0F, // 251
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x60,0xFF,0x07,0x60,0x00,0x0E,0x00,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00,0x06,0x60,0x00,0x03,0x60,0xFF,0x0F,0x00,0xFF,0x0F, // 252
0x00,0x00,0x40,0x00,0x03,0x40,0x00,0x0F,0x40,0x00,0x3C,0x40,0x00,0xF0,0x60,0x40,0xC0,0x63,0x20,0x00,0x3F,0x30,0x00,0x1F,0x10,0xC0,0x07,0x00,0xF8,0x00,0x00,0x3E,0x00,0x00,0x07,0x00,0x00,0x01, // 253
0x00,0x00,0x00,0xF0,0xFF,0x7F,0xF0,0xFF,0x7F,0x00,0x0C,0x0C,0x00,0x06,0x0C,0x00,0x02,0x0C,0x00,0x03,0x0C,0x00,0x03,0x0E,0x00,0x07,0x07,0x00,0xFE,0x03,0x00,0xFC, // 254
0x00,0x00,0x40,0x00,0x03,0x40,0x00,0x0F,0x40,0x00,0x3C,0x40,0x60,0xF0,0x60,0x00,0xC0,0x63,0x00,0x00,0x3F,0x00,0x00,0x1F,0x00,0xC0,0x07,0x60,0xF8,0x00,0x00,0x3E,0x00,0x00,0x07,0x00,0x00,0x01 // 255
};
================================================
FILE: Esp8266_NTP_Clock_Weather/WeatherStationImages.h
================================================
#define WiFi_Logo_width 60
#define WiFi_Logo_height 36
const uint8_t WiFi_Logo_bits[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00,
0x00, 0x00, 0xE0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF,
0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
0xFF, 0x03, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0xFF, 0xFF, 0xFF, 0x07, 0xC0, 0x83, 0x01, 0x80, 0xFF, 0xFF, 0xFF,
0x01, 0x00, 0x07, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x0C, 0x00,
0xC0, 0xFF, 0xFF, 0x7C, 0x00, 0x60, 0x0C, 0x00, 0xC0, 0x31, 0x46, 0x7C,
0xFC, 0x77, 0x08, 0x00, 0xE0, 0x23, 0xC6, 0x3C, 0xFC, 0x67, 0x18, 0x00,
0xE0, 0x23, 0xE4, 0x3F, 0x1C, 0x00, 0x18, 0x00, 0xE0, 0x23, 0x60, 0x3C,
0x1C, 0x70, 0x18, 0x00, 0xE0, 0x03, 0x60, 0x3C, 0x1C, 0x70, 0x18, 0x00,
0xE0, 0x07, 0x60, 0x3C, 0xFC, 0x73, 0x18, 0x00, 0xE0, 0x87, 0x70, 0x3C,
0xFC, 0x73, 0x18, 0x00, 0xE0, 0x87, 0x70, 0x3C, 0x1C, 0x70, 0x18, 0x00,
0xE0, 0x87, 0x70, 0x3C, 0x1C, 0x70, 0x18, 0x00, 0xE0, 0x8F, 0x71, 0x3C,
0x1C, 0x70, 0x18, 0x00, 0xC0, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x08, 0x00,
0xC0, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x0C, 0x00, 0x80, 0xFF, 0xFF, 0x1F,
0x00, 0x00, 0x06, 0x00, 0x80, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x07, 0x00,
0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0xF8, 0xFF, 0xFF,
0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x01, 0x00, 0x00,
0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF,
0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x1F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
const uint8_t activeSymbole[] PROGMEM = {
B00000000,
B00000000,
B00011000,
B00100100,
B01000010,
B01000010,
B00100100,
B00011000
};
const uint8_t inactiveSymbole[] PROGMEM = {
B00000000,
B00000000,
B00000000,
B00000000,
B00011000,
B00011000,
B00000000,
B00000000
};
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2020 MonsterYuan
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.
================================================
FILE: Pictures/README.md
================================================
## 防止SM.MS图床挂了 教程图片备份
================================================
FILE: README.md
================================================
# Esp8266_NTP_Clock_Weather
Esp8266 NTP时钟和气象站(使用和风天气API) 使用NTP网络时间 不用对时永远准确
看不到后边的图片的同学请自行爬梯 或看Pictures里的图



## 视频教程
B站 Monster阿原 除了此项目还有其他有意思的视频分享
https://space.bilibili.com/402654671
## 材料

Esp8266 mini D1
1.3英寸Oled屏幕(SH1106/SSD1306) IIC 4线版(本程序仅适用于IIC 4线版本 SPI 7线版本需要改程序)
DS18B20 / 4.7k 上拉电阻
3D打印外壳
## 程序
根据ESP8266 weather station demo修改而成, 修改了部分显示样式,主要使用了和风天气API,方便国内用户使用,并且可预报未来三天的最低/高气温,原版的openweathermap免费版API是不行的,增加了DS18B20温度传感器右下角显示室内实时温度。
## Arduino 库
1.自行设置安装ESP8266开发板
进入首选项(Preferences),找到附加开发板管理器地址(Additional Board Manager URLs),并在其后添加如下信息:
http://arduino.esp8266.com/stable/package_esp8266com_index.json

点击工具 - 开发板 - 开发板管理器
搜索ESP8266并安装。

2.Library Manager中安装
ArduinoJson库 用于解析和风天气API response的JSON
DS18B20库 用于读取DS18B20的温度,检测房间内实时温度
ESP8266 and ESP32 OLED driver for SSD1306 displays库 用于驱动OLED屏幕显示内容
OneWire库 用于连接DS18B20
## 焊接/连线
我的接线方法:(你也可以按你的喜好来,注意修改程序中的接口信息)

## 3D打印外壳
模型是别人做的 作者Qrome
一个是0.96英寸版本的 https://www.thingiverse.com/thing:2884823
一个是1.3英寸版本的 https://www.thingiverse.com/thing:2934049
他的项目是用于显示3D打印机打印状态的https://github.com/Qrome/printer-monitor
## 程序
需要修改的地方:
~~你的wifissid 密码
// WIFI
const char* WIFI_SSID = "";
const char* WIFI_PWD = "";~~
已改为HTML配网 连接ESP8266建立的wifi 访问http://192.168.4.1 即可配网
DS18B20 数据端(中间角) 连接的位置
DS18B20 ds(D7);
时区以及夏令时设置
#define TZ -8 // (utc+) TZ in hours
#define DST_MN 0 // use 60mn for summer time in some countries
第二屏实时天气 第三屏预报的更新频率
const int UPDATE_INTERVAL_SECS = 20 * 60; // Update every 20 minutes online weather
DS18B20更新频率
const int UPDATE_CURR_INTERVAL_SECS = 10; // Update every 10 secs DS18B20
OLED地址以及管脚信息
const int I2C_DISPLAY_ADDRESS = 0x3c;
#if defined(ESP8266)
const int SDA_PIN = D2;
const int SDC_PIN = D5;
#endif
和风天气KEY 城市ID 自行去https://dev.heweather.com/ 注册 城市代码查询https://dev.heweather.com/docs/refer/city
const char* HEFENG_KEY="";
const char* HEFENG_LOCATION="";
OLED屏幕一般有两种驱动SSD1306和SH1106
根据你买的屏幕 更改如下两行的信息 用错了会花屏
#include "SH1106Wire.h"//or #include "SSD1306Wire.h"
SH1106Wire display(I2C_DISPLAY_ADDRESS, SDA_PIN, SDC_PIN); // or SSD1306Wire display(I2C_DISPLAY_ADDRESS, SDA_PIN, SDC_PIN);
## 其他
和风天气目前免费版API提供了实时天气 天气预报 市级的空气质量等 可用的信息很多 如果你想显示其他信息 请查看API https://dev.heweather.com/docs/api/ 并更改HeFeng.app HeFeng.h中的结构体以及JSON解析信息
如果你想用其他网站的API 请自行修改HeFeng.app HeFeng.h
## 改进
用这个128*64的oled屏幕尺寸一般为0.96或1.3英寸 如果喜欢大尺寸 可以将屏幕换成max7219点阵, 改下程序的显示部分就可以 我的LED点阵时钟项目https://github.com/yuan910715/Esp8266_Wifi_Matrix_Clock
(已完成)目前连接的wifi的ssid/pass是写死在程序里 烧录进开发板的 如果要改的话就需要重新烧录
后续有时间的话我会让esp8266建一个webServer 写一个网页用于配置wifi信息 若没连上wifi就建立一个AP 手机连上访问webServer就能配置了。
================================================
FILE: library/DS18B20/LICENSE.txt
================================================
The MIT License (MIT)
Copyright (c) 2013 Mathias Munk Hansen
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.
================================================
FILE: library/DS18B20/README.md
================================================
# DS18B20 #
Arduino library for the Maxim Integrated DS18B20 1-Wire temperature sensor. This library is very simple and intuitive to use, and supports auto-discovering sensors with an optional high/low condition or manually addressing individual sensors.
For example, we can get the temperature from every sensor on the wire with just a few lines of code:
```
#include <DS18B20.h>
DS18B20 ds(2);
void setup() {
Serial.begin(9600);
}
void loop() {
while (ds.selectNext()) {
Serial.println(ds.getTempC());
}
}
```
See the included [examples](/examples/) for more.
## Installation ##
This library uses the OneWire library, so you will need to have this installed. Install it using the Library Manager in the Arduino IDE or download the latest release from [GitHub](https://github.com/PaulStoffregen/OneWire).
In the **OneWire.h** file set `ONEWIRE_SEARCH` to 0 since the search functionality is also implemented in this library (don't do this if you need the search functionality for other 1-Wire devices). CRC must be enabled (choose whichever algorithm you prefer). This may save some space on your Arduino.
## Wiring the DS18B20 ##
The resistor shown in all the circuit diagrams is 4.7k Ohm pullup resistor.
### External Power Mode ###
#### Single ####

#### Multiple ####

### Parasitic Power Mode ###
#### Single ####

#### Multiple ####

### Mixed Power Mode ###

================================================
FILE: library/DS18B20/examples/Alarms/Alarms.ino
================================================
#include <DS18B20.h>
#define LOW_ALARM 20
#define HIGH_ALARM 25
DS18B20 ds(2);
void setup() {
Serial.begin(9600);
while (ds.selectNext()) {
ds.setAlarms(LOW_ALARM, HIGH_ALARM);
}
}
void loop() {
ds.doConversion();
while (ds.selectNextAlarm()) {
Serial.print("Alarm Low: ");
Serial.print(ds.getAlarmLow());
Serial.println(" C");
Serial.print("Alarm High: ");
Serial.print(ds.getAlarmHigh());
Serial.println(" C");
Serial.print("Temperature: ");
Serial.print(ds.getTempC());
Serial.println(" C\n");
}
delay(10000);
}
================================================
FILE: library/DS18B20/examples/Multiple/Multiple.ino
================================================
#include <DS18B20.h>
DS18B20 ds(2);
void setup() {
Serial.begin(9600);
Serial.print("Devices: ");
Serial.println(ds.getNumberOfDevices());
Serial.println();
}
void loop() {
while (ds.selectNext()) {
switch (ds.getFamilyCode()) {
case MODEL_DS18S20:
Serial.println("Model: DS18S20/DS1820");
break;
case MODEL_DS1822:
Serial.println("Model: DS1822");
break;
case MODEL_DS18B20:
Serial.println("Model: DS18B20");
break;
default:
Serial.println("Unrecognized Device");
break;
}
uint8_t address[8];
ds.getAddress(address);
Serial.print("Address:");
for (uint8_t i = 0; i < 8; i++) {
Serial.print(" ");
Serial.print(address[i]);
}
Serial.println();
Serial.print("Resolution: ");
Serial.println(ds.getResolution());
Serial.print("Power Mode: ");
if (ds.getPowerMode()) {
Serial.println("External");
} else {
Serial.println("Parasite");
}
Serial.print("Temperature: ");
Serial.print(ds.getTempC());
Serial.print(" C / ");
Serial.print(ds.getTempF());
Serial.println(" F");
Serial.println();
}
delay(10000);
}
================================================
FILE: library/DS18B20/examples/Single/Single.ino
================================================
#include <DS18B20.h>
#define LOW_ALARM 20
#define HIGH_ALARM 25
DS18B20 ds(2);
uint8_t address[] = {40, 250, 31, 218, 4, 0, 0, 52};
uint8_t selected;
void setup() {
Serial.begin(9600);
selected = ds.select(address);
if (selected) {
ds.setAlarms(LOW_ALARM, HIGH_ALARM);
} else {
Serial.println("Device not found!");
}
}
void loop() {
if (selected) {
if (ds.hasAlarm()) {
Serial.print("Warning! Temperature is ");
Serial.print(ds.getTempC());
Serial.println(" C");
}
} else {
Serial.println("Device not found!");
}
delay(10000);
}
================================================
FILE: library/DS18B20/keywords.txt
================================================
DS18B20 KEYWORD1
select KEYWORD2
selectNext KEYWORD2
selectNextAlarm KEYWORD2
resetSearch KEYWORD2
getTempC KEYWORD2
getTempF KEYWORD2
getResolution KEYWORD2
setResolution KEYWORD2
getPowerMode KEYWORD2
getFamilyCode KEYWORD2
getAddress KEYWORD2
doConversion KEYWORD2
getNumberOfDevices KEYWORD2
hasAlarm KEYWORD2
setAlarms KEYWORD2
getAlarmLow KEYWORD2
setAlarmLow KEYWORD2
getAlarmHigh KEYWORD2
setAlarmHigh KEYWORD2
setRegisters KEYWORD2
getLowRegister KEYWORD2
setLowRegister KEYWORD2
getHighRegister KEYWORD2
setHighRegister KEYWORD2
MODEL_DS1820 LITERAL1
MODEL_DS18S20 LITERAL1
MODEL_DS1822 LITERAL1
MODEL_DS18B20 LITERAL1
================================================
FILE: library/DS18B20/library.properties
================================================
name=DS18B20
version=1.0.0
author=Mathias Munk Hansen
maintainer=Mathias Munk Hansen <matmunk@gmail.com>
sentence=Arduino library for the Maxim Integrated DS18B20 1-Wire temperature sensor.
paragraph=This library is very simple and intuitive to use, and supports auto-discovering sensors with an optional high/low condition or manually addressing individual sensors.
category=Sensors
url=https://github.com/matmunk/DS18B20
architectures=*
includes=DS18B20.h
================================================
FILE: library/DS18B20/src/DS18B20.cpp
================================================
#include <DS18B20.h>
DS18B20::DS18B20(uint8_t pin) : oneWire(OneWire(pin)) {
resetSearch();
sendCommand(SKIP_ROM, READ_POWER_SUPPLY);
globalPowerMode = oneWire.read_bit();
while (selectNext()) {
uint8_t resolution = getResolution();
if (resolution > globalResolution) {
globalResolution = resolution;
}
numberOfDevices++;
}
}
uint8_t DS18B20::select(uint8_t address[]) {
if (isConnected(address)) {
memcpy(selectedAddress, address, 8);
if (readScratchpad()) {
selectedResolution = getResolution();
sendCommand(MATCH_ROM, READ_POWER_SUPPLY);
selectedPowerMode = oneWire.read_bit();
return 1;
}
}
return 0;
}
uint8_t DS18B20::selectNext() {
if (oneWireSearch(SEARCH_ROM)) {
return select(searchAddress);
}
return 0;
}
uint8_t DS18B20::selectNextAlarm() {
if (oneWireSearch(ALARM_SEARCH)) {
return select(searchAddress);
}
return 0;
}
void DS18B20::resetSearch() {
lastDiscrepancy = 0;
lastDevice = 0;
}
float DS18B20::getTempC() {
sendCommand(MATCH_ROM, CONVERT_T, !selectedPowerMode);
delayForConversion(selectedResolution, selectedPowerMode);
readScratchpad();
uint8_t lsb = selectedScratchpad[TEMP_LSB];
uint8_t msb = selectedScratchpad[TEMP_MSB];
switch (selectedResolution) {
case 9:
lsb &= 0xF8;
break;
case 10:
lsb &= 0xFC;
break;
case 11:
lsb &= 0xFE;
break;
}
uint8_t sign = msb & 0x80;
int16_t temp = (msb << 8) + lsb;
if (sign) {
temp = ((temp ^ 0xffff) + 1) * -1;
}
return temp / 16.0;
}
float DS18B20::getTempF() {
return getTempC() * 1.8 + 32;
}
uint8_t DS18B20::getResolution() {
switch (selectedScratchpad[CONFIGURATION]) {
case RES_9_BIT:
return 9;
case RES_10_BIT:
return 10;
case RES_11_BIT:
return 11;
case RES_12_BIT:
return 12;
}
}
void DS18B20::setResolution(uint8_t resolution) {
resolution = constrain(resolution, 9, 12);
switch (resolution) {
case 9:
selectedScratchpad[CONFIGURATION] = RES_9_BIT;
break;
case 10:
selectedScratchpad[CONFIGURATION] = RES_10_BIT;
break;
case 11:
selectedScratchpad[CONFIGURATION] = RES_11_BIT;
break;
case 12:
selectedScratchpad[CONFIGURATION] = RES_12_BIT;
break;
}
if (resolution > globalResolution) {
globalResolution = resolution;
}
writeScratchpad();
}
uint8_t DS18B20::getPowerMode() {
return selectedPowerMode;
}
uint8_t DS18B20::getFamilyCode() {
return selectedAddress[0];
}
void DS18B20::getAddress(uint8_t address[]) {
memcpy(address, selectedAddress, 8);
}
void DS18B20::doConversion() {
sendCommand(SKIP_ROM, CONVERT_T, !globalPowerMode);
delayForConversion(globalResolution, globalPowerMode);
}
uint8_t DS18B20::getNumberOfDevices() {
return numberOfDevices;
}
uint8_t DS18B20::hasAlarm() {
uint8_t oldResolution = selectedResolution;
setResolution(9);
float temp = getTempC();
setResolution(oldResolution);
return ((temp <= selectedScratchpad[ALARM_LOW]) || (temp >= selectedScratchpad[ALARM_HIGH]));
}
void DS18B20::setAlarms(int8_t alarmLow, int8_t alarmHigh) {
setAlarmLow(alarmLow);
setAlarmHigh(alarmHigh);
writeScratchpad();
}
int8_t DS18B20::getAlarmLow() {
return selectedScratchpad[ALARM_LOW];
}
void DS18B20::setAlarmLow(int8_t alarmLow) {
alarmLow = constrain(alarmLow, -55, 125);
selectedScratchpad[ALARM_LOW] = alarmLow;
writeScratchpad();
}
int8_t DS18B20::getAlarmHigh() {
return selectedScratchpad[ALARM_HIGH];
}
void DS18B20::setAlarmHigh(int8_t alarmHigh) {
alarmHigh = constrain(alarmHigh, -55, 125);
selectedScratchpad[ALARM_HIGH] = alarmHigh;
writeScratchpad();
}
void DS18B20::setRegisters(int8_t lowRegister, int8_t highRegister) {
setAlarms(lowRegister, highRegister);
}
int8_t DS18B20::getLowRegister() {
return getAlarmLow();
}
void DS18B20::setLowRegister(int8_t lowRegister) {
setAlarmLow(lowRegister);
}
int8_t DS18B20::getHighRegister() {
return getAlarmHigh();
}
void DS18B20::setHighRegister(int8_t highRegister) {
setAlarmHigh(highRegister);
}
uint8_t DS18B20::readScratchpad() {
sendCommand(MATCH_ROM, READ_SCRATCHPAD);
for (uint8_t i = 0; i < SIZE_SCRATCHPAD; i++) {
selectedScratchpad[i] = oneWire.read();
}
return OneWire::crc8(selectedScratchpad, 8) == selectedScratchpad[CRC8];
}
void DS18B20::writeScratchpad() {
sendCommand(MATCH_ROM, WRITE_SCRATCHPAD);
oneWire.write(selectedScratchpad[ALARM_HIGH]);
oneWire.write(selectedScratchpad[ALARM_LOW]);
oneWire.write(selectedScratchpad[CONFIGURATION]);
sendCommand(MATCH_ROM, COPY_SCRATCHPAD, !selectedPowerMode);
if (!selectedPowerMode) {
delay(10);
}
}
uint8_t DS18B20::sendCommand(uint8_t romCommand) {
if (!oneWire.reset()) {
return 0;
}
switch (romCommand) {
case SEARCH_ROM:
case SKIP_ROM:
case ALARM_SEARCH:
oneWire.write(romCommand);
break;
case MATCH_ROM:
oneWire.select(selectedAddress);
break;
default:
return 0;
}
return 1;
}
uint8_t DS18B20::sendCommand(uint8_t romCommand, uint8_t functionCommand, uint8_t power) {
if (!sendCommand(romCommand)) {
return 0;
}
switch (functionCommand) {
case CONVERT_T:
case COPY_SCRATCHPAD:
oneWire.write(functionCommand, power);
break;
case WRITE_SCRATCHPAD:
case READ_SCRATCHPAD:
case READ_POWER_SUPPLY:
oneWire.write(functionCommand);
break;
default:
return 0;
}
return 1;
}
uint8_t DS18B20::oneWireSearch(uint8_t romCommand) {
if (lastDevice || !sendCommand(romCommand)) {
resetSearch();
return 0;
}
uint8_t lastZero = 0;
uint8_t direction, byteNumber, bitNumber, currentBit, currentBitComp;
for (uint8_t bitPosition = 0; bitPosition < 64; bitPosition++) {
currentBit = oneWire.read_bit();
currentBitComp = oneWire.read_bit();
if (currentBit && currentBitComp) {
lastDiscrepancy = 0;
return 0;
}
byteNumber = bitPosition / 8;
bitNumber = bitPosition % 8;
if (!currentBit && !currentBitComp) {
if (bitPosition == lastDiscrepancy) {
direction = 1;
} else if (bitPosition > lastDiscrepancy) {
direction = 0;
lastZero = bitPosition;
} else {
direction = bitRead(searchAddress[byteNumber], bitNumber);
if (!direction) {
lastZero = bitPosition;
}
}
} else {
direction = currentBit;
}
bitWrite(searchAddress[byteNumber], bitNumber, direction);
oneWire.write_bit(direction);
}
lastDiscrepancy = lastZero;
if (!lastDiscrepancy) {
lastDevice = 1;
}
return 1;
}
uint8_t DS18B20::isConnected(uint8_t address[]) {
if (!sendCommand(SEARCH_ROM)) {
return 0;
}
uint8_t currentBit, currentBitComp, byteNumber, bitNumber;
for (uint8_t bitPosition = 0; bitPosition < 64; bitPosition++) {
currentBit = oneWire.read_bit();
currentBitComp = oneWire.read_bit();
if (currentBit && currentBitComp) {
return 0;
}
byteNumber = bitPosition / 8;
bitNumber = bitPosition % 8;
oneWire.write_bit(bitRead(address[byteNumber], bitNumber));
}
return 1;
}
void DS18B20::delayForConversion(uint8_t resolution, uint8_t powerMode) {
if (powerMode) {
while (!oneWire.read_bit());
} else {
switch (resolution) {
case 9:
delay(CONV_TIME_9_BIT);
break;
case 10:
delay(CONV_TIME_10_BIT);
break;
case 11:
delay(CONV_TIME_11_BIT);
break;
case 12:
delay(CONV_TIME_12_BIT);
break;
}
}
}
================================================
FILE: library/DS18B20/src/DS18B20.h
================================================
#ifndef DS18B20_H
#define DS18B20_H
#include "Arduino.h"
#include <OneWire.h>
#define SEARCH_ROM 0xF0
#define READ_ROM 0x33
#define MATCH_ROM 0x55
#define SKIP_ROM 0xCC
#define ALARM_SEARCH 0xEC
#define CONVERT_T 0x44
#define WRITE_SCRATCHPAD 0x4E
#define READ_SCRATCHPAD 0xBE
#define COPY_SCRATCHPAD 0x48
#define RECALL 0xB8
#define READ_POWER_SUPPLY 0xB4
#define MODEL_DS1820 0x10
#define MODEL_DS18S20 0x10
#define MODEL_DS1822 0x22
#define MODEL_DS18B20 0x28
#define SIZE_SCRATCHPAD 9
#define TEMP_LSB 0
#define TEMP_MSB 1
#define ALARM_HIGH 2
#define ALARM_LOW 3
#define CONFIGURATION 4
#define CRC8 8
#define RES_9_BIT 0x1F
#define RES_10_BIT 0x3F
#define RES_11_BIT 0x5F
#define RES_12_BIT 0x7F
#define CONV_TIME_9_BIT 94
#define CONV_TIME_10_BIT 188
#define CONV_TIME_11_BIT 375
#define CONV_TIME_12_BIT 750
class DS18B20 {
public:
DS18B20(uint8_t pin);
uint8_t select(uint8_t address[]);
uint8_t selectNext();
uint8_t selectNextAlarm();
void resetSearch();
float getTempC();
float getTempF();
uint8_t getResolution();
void setResolution(uint8_t resolution);
uint8_t getPowerMode();
uint8_t getFamilyCode();
void getAddress(uint8_t address[]);
void doConversion();
uint8_t getNumberOfDevices();
uint8_t hasAlarm();
void setAlarms(int8_t alarmLow, int8_t alarmHigh);
int8_t getAlarmLow();
void setAlarmLow(int8_t alarmLow);
int8_t getAlarmHigh();
void setAlarmHigh(int8_t alarmHigh);
void setRegisters(int8_t lowRegister, int8_t highRegister);
int8_t getLowRegister();
void setLowRegister(int8_t lowRegister);
int8_t getHighRegister();
void setHighRegister(int8_t highRegister);
private:
OneWire oneWire;
uint8_t globalResolution;
uint8_t globalPowerMode;
uint8_t numberOfDevices;
uint8_t selectedAddress[8];
uint8_t selectedScratchpad[SIZE_SCRATCHPAD];
uint8_t selectedResolution;
uint8_t selectedPowerMode;
uint8_t searchAddress[8];
uint8_t lastDiscrepancy;
uint8_t lastDevice;
uint8_t readScratchpad();
void writeScratchpad();
uint8_t sendCommand(uint8_t romCommand);
uint8_t sendCommand(uint8_t romCommand, uint8_t functionCommand, uint8_t power = 0);
uint8_t oneWireSearch(uint8_t romCommand);
uint8_t isConnected(uint8_t address[]);
void delayForConversion(uint8_t resolution, uint8_t powerMode);
};
#endif
================================================
FILE: library/README.md
================================================
此目录为一些库
正常是在arduino IDE中library manager搜索下载 有的朋友找不到 特地上传到此处 自行放到C:\Users\XXXXXX\Documents\Arduino\libraries
================================================
FILE: web配网参考.html
================================================
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>ESP8266网页配网</title>
<script type="text/javascript">
function wifi(){
var ssid = aa.value;
var password = bb.value;
var xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","/HandleWifi?ssid="+ssid+"&password="+password,true);
xmlhttp.send();
xmlhttp.onload = function(e){
alert(this.responseText);}
}
</script>
</head>
<body>hello,我是fxy,输入wifi信息给wifi时钟配网:
<form>
WiFi名称:<input type="text" placeholder="请输入您WiFi的名称" id="aa">
<br>
WiFi密码:<input type="text" placeholder="请输入您WiFi的密码" id="bb">
<br>
<input type="button" value="连接" onclick="wifi()">
</form>
</body>
</html>
gitextract_audyxj9l/ ├── 3Dmodel/ │ ├── 0.96/ │ │ ├── Double_Station.stl │ │ ├── Double_Station_back.stl │ │ ├── README.md │ │ ├── Square_Station_Box.stl │ │ ├── Station_Box.stl │ │ ├── Station_Box_Plate.stl │ │ └── Station_Box_with_Button_Hole.stl │ ├── 1.3/ │ │ ├── 1.3_Monitor_base.stl │ │ ├── 1.3_Monitor_case.stl │ │ ├── PrintMonitor_Base_2.stl │ │ ├── PrintMonitor_Double.stl │ │ └── README.md │ └── README.md ├── Esp8266_NTP_Clock_Weather/ │ ├── Esp8266_NTP_Clock_Weather.ino │ ├── HeFeng.cpp │ ├── HeFeng.h │ ├── README.md │ ├── WeatherStationFonts.h │ └── WeatherStationImages.h ├── LICENSE ├── Pictures/ │ └── README.md ├── README.md ├── library/ │ ├── DS18B20/ │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── examples/ │ │ │ ├── Alarms/ │ │ │ │ └── Alarms.ino │ │ │ ├── Multiple/ │ │ │ │ └── Multiple.ino │ │ │ └── Single/ │ │ │ └── Single.ino │ │ ├── keywords.txt │ │ ├── library.properties │ │ └── src/ │ │ ├── DS18B20.cpp │ │ └── DS18B20.h │ └── README.md └── web配网参考.html
SYMBOL INDEX (5 symbols across 3 files)
FILE: Esp8266_NTP_Clock_Weather/HeFeng.cpp
function String (line 134) | String HeFeng::getMeteoconIcon(String cond_code){
FILE: Esp8266_NTP_Clock_Weather/HeFeng.h
type HeFengCurrentData (line 5) | typedef struct HeFengCurrentData {
type HeFengForeData (line 15) | typedef struct HeFengForeData {
function class (line 22) | class HeFeng {
FILE: library/DS18B20/src/DS18B20.h
function class (line 38) | class DS18B20 {
Condensed preview — 33 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (157K chars).
[
{
"path": "3Dmodel/0.96/README.md",
"chars": 18,
"preview": "0.96 OLED屏幕英寸相关模型\n"
},
{
"path": "3Dmodel/1.3/README.md",
"chars": 15,
"preview": "1.3英寸OLED 3D模型\n"
},
{
"path": "3Dmodel/README.md",
"chars": 11,
"preview": "此目录为3D模型文件\n"
},
{
"path": "Esp8266_NTP_Clock_Weather/Esp8266_NTP_Clock_Weather.ino",
"chars": 16652,
"preview": "/**The MIT License (MIT)\r\n\r\nCopyright (c) 2018 by Daniel Eichhorn - ThingPulse\r\n\r\nPermission is hereby granted, free of "
},
{
"path": "Esp8266_NTP_Clock_Weather/HeFeng.cpp",
"chars": 7117,
"preview": "\r\n#include <ESP8266WiFi.h>\r\n#include <ESP8266HTTPClient.h> \r\n#include <WiFiClientSecureBearSSL.h> \r\n#include \"HeFeng.h"
},
{
"path": "Esp8266_NTP_Clock_Weather/HeFeng.h",
"chars": 616,
"preview": "\r\n#pragma once\r\n#include <ArduinoJson.h>\r\n\r\ntypedef struct HeFengCurrentData {\r\n\r\n String cond_txt;\r\n String fl;\r\n St"
},
{
"path": "Esp8266_NTP_Clock_Weather/README.md",
"chars": 20,
"preview": "## 说明\n此目录为Arudino工程\n"
},
{
"path": "Esp8266_NTP_Clock_Weather/WeatherStationFonts.h",
"chars": 99068,
"preview": "/**The MIT License (MIT)\r\n\r\nCopyright (c) 2015 by Daniel Eichhorn\r\n\r\nPermission is hereby granted, free of charge, to an"
},
{
"path": "Esp8266_NTP_Clock_Weather/WeatherStationImages.h",
"chars": 2261,
"preview": "#define WiFi_Logo_width 60\r\n#define WiFi_Logo_height 36\r\nconst uint8_t WiFi_Logo_bits[] PROGMEM = {\r\n 0x00, 0x00, 0x00,"
},
{
"path": "LICENSE",
"chars": 1068,
"preview": "MIT License\n\nCopyright (c) 2020 MonsterYuan\n\nPermission is hereby granted, free of charge, to any person obtaining a cop"
},
{
"path": "Pictures/README.md",
"chars": 22,
"preview": "## 防止SM.MS图床挂了 教程图片备份\n"
},
{
"path": "README.md",
"chars": 3163,
"preview": "# Esp8266_NTP_Clock_Weather\nEsp8266 NTP时钟和气象站(使用和风天气API) 使用NTP网络时间 不用对时永远准确 \n看不到后边的图片的同学请自行爬梯 或看Pictures里的图 \n![screen1"
},
{
"path": "library/DS18B20/LICENSE.txt",
"chars": 1086,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2013 Mathias Munk Hansen\n\nPermission is hereby granted, free of charge, to any pers"
},
{
"path": "library/DS18B20/README.md",
"chars": 1711,
"preview": "# DS18B20 #\n\nArduino library for the Maxim Integrated DS18B20 1-Wire temperature sensor. This library is very simple and"
},
{
"path": "library/DS18B20/examples/Alarms/Alarms.ino",
"chars": 608,
"preview": "#include <DS18B20.h>\r\n\r\n#define LOW_ALARM 20\r\n#define HIGH_ALARM 25\r\n\r\nDS18B20 ds(2);\r\n\r\nvoid setup() {\r\n Serial.begin("
},
{
"path": "library/DS18B20/examples/Multiple/Multiple.ino",
"chars": 1216,
"preview": "#include <DS18B20.h>\n\nDS18B20 ds(2);\n\nvoid setup() {\n Serial.begin(9600);\n Serial.print(\"Devices: \");\n Serial.println"
},
{
"path": "library/DS18B20/examples/Single/Single.ino",
"chars": 591,
"preview": "#include <DS18B20.h>\n\n#define LOW_ALARM 20\n#define HIGH_ALARM 25\n\nDS18B20 ds(2);\nuint8_t address[] = {40, 250, 31, 218, "
},
{
"path": "library/DS18B20/keywords.txt",
"chars": 631,
"preview": "DS18B20\tKEYWORD1\n\nselect\tKEYWORD2\nselectNext\tKEYWORD2\nselectNextAlarm\tKEYWORD2\nresetSearch\tKEYWORD2\ngetTempC\tKEYWORD2\nge"
},
{
"path": "library/DS18B20/library.properties",
"chars": 468,
"preview": "name=DS18B20\r\nversion=1.0.0\r\nauthor=Mathias Munk Hansen\r\nmaintainer=Mathias Munk Hansen <matmunk@gmail.com>\r\nsentence=Ar"
},
{
"path": "library/DS18B20/src/DS18B20.cpp",
"chars": 8512,
"preview": "#include <DS18B20.h>\n\nDS18B20::DS18B20(uint8_t pin) : oneWire(OneWire(pin)) {\n resetSearch();\n sendCommand(SKIP_RO"
},
{
"path": "library/DS18B20/src/DS18B20.h",
"chars": 2576,
"preview": "#ifndef DS18B20_H\n#define DS18B20_H\n\n#include \"Arduino.h\"\n#include <OneWire.h>\n\n#define SEARCH_ROM 0xF0\n#define READ_ROM"
},
{
"path": "library/README.md",
"chars": 111,
"preview": "此目录为一些库 \n正常是在arduino IDE中library manager搜索下载 有的朋友找不到 特地上传到此处 自行放到C:\\Users\\XXXXXX\\Documents\\Arduino\\libraries\n"
},
{
"path": "web配网参考.html",
"chars": 871,
"preview": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n\t<meta name=\"view"
}
]
// ... and 10 more files (download for full content)
About this extraction
This page contains the full source code of the yuan910715/Esp8266_NTP_Clock_Weather GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 33 files (144.9 KB), approximately 95.7k tokens, and a symbol index with 5 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.