MicroBob
Published © GPL3+

WhatYouNeed

Here's your solution to knowing WhatYouNeed for the reported weather.

IntermediateFull instructions provided2 hours1,526
WhatYouNeed

Things used in this project

Hardware components

Omega2 Plus
Onion Corporation Omega2 Plus
The Omega2 should also work, although I didn't test if it has enough memory
×1
Expansion Dock
Onion Corporation Expansion Dock
This is optional in the final product, but some Onion dock (with a micro-USB port) may be needed to power the Onion when programming it
×1
Arduino 101 & Genuino 101
Arduino 101 & Genuino 101
×1
128x64 Monochrome SPI OLED
Just go to amazon.com and search for "128x64 SPI OLED" and you will be flooded with results that look exactly like this one. If you find a cheaper offer than the one listed here, by all means take it!
×1
SparkFun Serial Enabled 16x2 LCD - White on Black 3.3V
SparkFun Serial Enabled 16x2 LCD - White on Black 3.3V
The Arduino 101 runs on 3.3v so for best performance a 3.3v LCD is recommend, but a regular 5v LCD still works fine.
×1
Potentiometer
Any generic (10k) Potentiometer would work
×1
220Ω resistor
×1
Male/Male Jumper wires
26 is the minimum amount that I used
×26

Software apps and online services

Arduino IDE
Arduino IDE
Losant Platform
Losant Platform
DarkSky Weather

Story

Read more

Schematics

Main

Breadboard image of the setup. This image has the displays covering some of the power-bus wires. The other image will show the displays off of the breadboard, allowing you to see the wires and their placement.
Fritz bbo wg7calyi4w

Main (uncovered)

Breadboard image of the setup. This image has the displays not covering the power-bus wires.
Fritz bb 4mq8txvmnu

Code

Main Arduino code

Arduino
What else do you think it is?
#include <LiquidCrystal.h>
#include <Adafruit_SSD1306.h>
#include <CurieTime.h>
#include <SPI.h>


//OLED
#define oledMOSI 7 //D1
#define oledCLK 8 //D0
#define oledDC 6
#define oledCS 10
#define oledRST 13
Adafruit_SSD1306 display(oledMOSI, oledCLK, oledDC, oledRST, oledCS);
#if (SSD1306_LCDHEIGHT != 64)
#error("height incorrect, please fix Adafruit_SSD1306");
#endif

//LCD
#define bri 9
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

//RTC
unsigned int pmin = 0; //previous min, used to test if need to update time

//Serial
int inin = 0;
String stin = "";
int data[5];

//UI
#define scroll A0
unsigned int tshirt = 70;
unsigned int jacket = 40;
unsigned long prevMil = 0;
boolean wn[11] = {false, false, false, false, false, false, false, false, false, false, false};
int pages = 1, prevPage = 1, curPage = 1;
boolean first = false;

#define darkskyWidth 47
static const unsigned char PROGMEM darkskyIcon[] =
{
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0xf0, 0x0, 0x0,
  0x0, 0x0, 0xf, 0xf0, 0x0, 0x0,
  0x0, 0x0, 0xf, 0xf8, 0x0, 0x0,
  0x0, 0x0, 0x1e, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x30, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x40, 0x2, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x2, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x7, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xf, 0x80, 0x0,
  0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0,
  0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0,
  0x0, 0x8, 0x0, 0x3f, 0xe0, 0x0,
  0x0, 0x10, 0x0, 0x7f, 0xf0, 0x0,
  0x0, 0x10, 0x0, 0x7f, 0xf0, 0x0,
  0x0, 0x30, 0x0, 0xff, 0xf8, 0x0,
  0x0, 0x70, 0x0, 0xff, 0xfc, 0x0,
  0x0, 0xe0, 0x1, 0xf, 0xfe, 0x0,
  0x1, 0xe0, 0x0, 0x1f, 0xfe, 0x0,
  0x1, 0xe0, 0x0, 0x1f, 0xff, 0x0,
  0x3, 0xe0, 0x0, 0x3f, 0xff, 0x80,
  0x7, 0xe0, 0x0, 0x3f, 0xff, 0x80,
  0x7, 0xe0, 0x0, 0x7f, 0xff, 0xc0,
  0xf, 0xe0, 0x0, 0x7f, 0xff, 0xe0,
  0xf, 0xe0, 0x0, 0xff, 0xff, 0xe0,
  0x1f, 0xe0, 0x0, 0xff, 0xff, 0xf0,
  0x1f, 0xe4, 0x0, 0xff, 0xff, 0xf0,
  0x3f, 0xfc, 0x1, 0xff, 0xff, 0xf0,
  0x3f, 0xfc, 0x1, 0xff, 0xff, 0xf8,
  0x3f, 0xfc, 0x1, 0xff, 0xff, 0xf8,
  0x7f, 0xfc, 0x1, 0xff, 0xff, 0xf8,
  0x7f, 0xfc, 0x1, 0xff, 0xff, 0xfc,
  0x7f, 0xfc, 0x1, 0xff, 0xff, 0xfc,
  0x7f, 0xfc, 0x1, 0x3f, 0xff, 0xfc,
  0x7f, 0xfe, 0x0, 0x3f, 0xff, 0xfc,
  0x7f, 0xfe, 0x0, 0x3f, 0xff, 0xfc,
  0x7f, 0xfe, 0x0, 0x7f, 0xff, 0xfc,
  0x7f, 0xfe, 0x0, 0x7f, 0xff, 0xfc,
  0x7f, 0xfe, 0x0, 0x7f, 0xff, 0xfc,
  0x7f, 0xff, 0x0, 0x7f, 0xff, 0xfc,
  0x7f, 0xff, 0x0, 0x7f, 0xff, 0xfc,
  0x7f, 0xff, 0x20, 0x7f, 0xff, 0xf8,
  0x3f, 0xff, 0xe0, 0x7f, 0xff, 0xf8,
  0x3f, 0xff, 0xe0, 0xff, 0xff, 0xf8,
  0x3f, 0xff, 0xe0, 0xff, 0xff, 0xf8,
  0x1f, 0xff, 0xf0, 0xff, 0xff, 0xf0,
  0x1f, 0xff, 0xf0, 0xff, 0xff, 0xf0,
  0xf, 0xff, 0xf0, 0xff, 0xff, 0xe0,
  0x7, 0xff, 0xf0, 0xff, 0xff, 0xc0,
  0x7, 0xff, 0xf8, 0xff, 0xff, 0xc0,
  0x3, 0xff, 0xf8, 0xff, 0xff, 0x80,
  0x1, 0xff, 0xfc, 0x7f, 0xff, 0x0,
  0x0, 0xff, 0xfc, 0x7f, 0xfe, 0x0,
  0x0, 0x7f, 0xfe, 0x7f, 0xfc, 0x0,
  0x0, 0x3f, 0xfe, 0x7f, 0xf8, 0x0,
  0x0, 0xf, 0xff, 0x7f, 0xe0, 0x0,
  0x0, 0x3, 0xff, 0x7f, 0x80, 0x0,
  0x0, 0x0, 0xff, 0xbe, 0x0, 0x0,
  0x0, 0x0, 0x7, 0x80, 0x0, 0x0
};

static const unsigned char PROGMEM usbIcon[] =
{
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfe, 0x0, 0x1f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfc, 0x0, 0xf, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x3f, 0xe0, 0x0, 0x7, 0xff, 0xe0, 0x0, 0x7, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x3f, 0xf0, 0x0, 0xf, 0xff, 0xc0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x3, 0xff, 0xfe, 0x0, 0x1f, 0xff, 0x80, 0x0, 0x0, 0xff, 0x80, 0x0, 0x3c, 0x0, 0x0, 0x0,
  0x3, 0xff, 0xff, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x0,
  0xf, 0xff, 0xff, 0x80, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xe0, 0x0, 0x0,
  0xf, 0xff, 0xff, 0xc0, 0x3f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf0, 0x0, 0x0,
  0x3f, 0xff, 0xff, 0xe0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x0, 0x0,
  0x3f, 0xff, 0xff, 0xe0, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x0, 0x0,
  0x7f, 0xff, 0xff, 0xe3, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf8, 0x0,
  0xff, 0xff, 0xff, 0xe3, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xfc, 0x0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0,
  0x3f, 0xff, 0xff, 0xf0, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xc0, 0x0,
  0x3f, 0xff, 0xff, 0xe0, 0x0, 0x1, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xc0, 0x0,
  0xf, 0xff, 0xff, 0xc0, 0x0, 0x0, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf0, 0x0, 0x0,
  0xf, 0xff, 0xff, 0x80, 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf0, 0x0, 0x0,
  0x3, 0xff, 0xff, 0x0, 0x0, 0x0, 0x3f, 0xfc, 0x0, 0xf, 0xff, 0xff, 0x3f, 0x0, 0x0, 0x0,
  0x3, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, 0xf, 0xff, 0xff, 0x3e, 0x0, 0x0, 0x0,
  0x0, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x0, 0xf, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0,
  0x0, 0x7f, 0xf0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x80, 0xf, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xf8, 0xf, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xfc, 0xf, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0
};

static const unsigned char PROGMEM ClearDay[] =
{
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x2, 0x0, 0x40, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x0, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0x1, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0x83, 0xc0, 0x0, 0x0,
  0x0, 0xc, 0x7, 0x87, 0xc0, 0x0, 0x0,
  0x0, 0xe, 0xf, 0x87, 0xc0, 0x10, 0x0,
  0x0, 0xf, 0xf, 0x87, 0xc0, 0x30, 0x0,
  0x0, 0xf, 0x87, 0x83, 0x80, 0xf0, 0x0,
  0x0, 0xf, 0x80, 0x0, 0x1, 0xe0, 0x0,
  0x0, 0xf, 0x80, 0xfc, 0x3, 0xe0, 0x0,
  0x0, 0x7, 0x8f, 0xff, 0xc3, 0xe0, 0x0,
  0x6, 0x3, 0x1f, 0xff, 0xe3, 0xe0, 0x0,
  0x3, 0xc0, 0x7f, 0xff, 0xf9, 0xc0, 0x0,
  0x3, 0xf0, 0xff, 0xff, 0xfc, 0x0, 0x0,
  0x1, 0xf1, 0xff, 0xff, 0xfe, 0x3, 0xe0,
  0x1, 0xf3, 0xff, 0xff, 0xff, 0xf, 0xc0,
  0x0, 0xf3, 0xff, 0xff, 0xff, 0x1f, 0xc0,
  0x0, 0x67, 0xff, 0xff, 0xff, 0x9f, 0x80,
  0x0, 0x7, 0xff, 0xff, 0xff, 0x9f, 0x0,
  0x0, 0xf, 0xff, 0xff, 0xff, 0xc4, 0x0,
  0x0, 0xf, 0xff, 0xff, 0xff, 0xc0, 0x0,
  0x7f, 0x8f, 0xff, 0xff, 0xff, 0xc0, 0x0,
  0x3f, 0xdf, 0xff, 0xff, 0xff, 0xe0, 0x0,
  0x1f, 0xdf, 0xff, 0xff, 0xff, 0xe7, 0x80,
  0xf, 0xdf, 0xff, 0xff, 0xff, 0xef, 0xe0,
  0x3, 0x9f, 0xff, 0xff, 0xff, 0xef, 0xf0,
  0x0, 0x1f, 0xff, 0xff, 0xff, 0xef, 0xc0,
  0x0, 0xf, 0xff, 0xff, 0xff, 0xc7, 0x0,
  0x0, 0xf, 0xff, 0xff, 0xff, 0xc0, 0x0,
  0x0, 0xf, 0xff, 0xff, 0xff, 0xc0, 0x0,
  0x0, 0xef, 0xff, 0xff, 0xff, 0xc0, 0x0,
  0x3, 0xf7, 0xff, 0xff, 0xff, 0x9c, 0x0,
  0x7, 0xf7, 0xff, 0xff, 0xff, 0xbf, 0x0,
  0x1f, 0xf3, 0xff, 0xff, 0xff, 0x3f, 0x0,
  0x1, 0xe1, 0xff, 0xff, 0xfe, 0x3f, 0x80,
  0x0, 0x1, 0xff, 0xff, 0xfc, 0x1f, 0xc0,
  0x0, 0x0, 0x7f, 0xff, 0xf8, 0x0, 0x0,
  0x0, 0x2, 0x3f, 0xff, 0xf3, 0x80, 0x0,
  0x0, 0xf, 0x9f, 0xff, 0xc7, 0xc0, 0x0,
  0x0, 0xf, 0x83, 0xff, 0x7, 0xe0, 0x0,
  0x0, 0x1f, 0x80, 0x0, 0x7, 0xe0, 0x0,
  0x0, 0x3f, 0x7, 0x3, 0x83, 0xe0, 0x0,
  0x0, 0x3e, 0xf, 0x87, 0xc0, 0xf0, 0x0,
  0x0, 0x60, 0xf, 0x87, 0xc0, 0x30, 0x0,
  0x0, 0x0, 0xf, 0x83, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0x83, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0x1, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x6, 0x0, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x6, 0x0, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x4, 0x0, 0x40, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
};
static const unsigned char PROGMEM ClearNight[] =
{
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x70, 0x0, 0x80, 0x0, 0x0,
  0x0, 0x3, 0xe0, 0x0, 0xc0, 0x0, 0x0,
  0x0, 0xf, 0xc0, 0x0, 0xc0, 0x0, 0x0,
  0x0, 0x1f, 0x80, 0x1, 0xc0, 0x0, 0x0,
  0x0, 0x3f, 0x80, 0x1, 0xe0, 0x0, 0x0,
  0x0, 0x7f, 0x0, 0x7, 0xf8, 0x0, 0x0,
  0x0, 0xff, 0x0, 0x7f, 0xff, 0x80, 0x0,
  0x1, 0xff, 0x0, 0x1f, 0xfc, 0x0, 0x0,
  0x3, 0xfe, 0x0, 0x3, 0xe0, 0x0, 0x0,
  0x7, 0xfe, 0x0, 0x1, 0xc0, 0x0, 0x0,
  0xf, 0xfe, 0x0, 0x0, 0xc0, 0x6, 0x0,
  0xf, 0xfc, 0x0, 0x0, 0xc0, 0x6, 0x0,
  0x1f, 0xfc, 0x0, 0x0, 0x80, 0x1f, 0x80,
  0x1f, 0xfc, 0x0, 0x0, 0x80, 0x3f, 0xc0,
  0x3f, 0xfc, 0x0, 0x0, 0x0, 0x6, 0x0,
  0x3f, 0xfc, 0x0, 0x0, 0x0, 0x6, 0x0,
  0x7f, 0xfc, 0x0, 0x0, 0x0, 0x4, 0x0,
  0x7f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x7f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x7f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
  0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
  0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
  0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
  0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
  0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
  0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
  0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
  0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
  0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0,
  0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0,
  0x7f, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
  0x7f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0,
  0x7f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0,
  0x3f, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0,
  0x3f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
  0x3f, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0,
  0x1f, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0,
  0x1f, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0,
  0xf, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0,
  0x7, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0,
  0x7, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xe0, 0xc, 0x0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
  0x0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x0, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x0,
  0x0, 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x0,
  0x0, 0xf, 0xff, 0xff, 0xff, 0x80, 0x0,
  0x0, 0x7, 0xff, 0xff, 0xfe, 0x0, 0x0,
  0x0, 0x1, 0xff, 0xff, 0xf8, 0x0, 0x0,
  0x0, 0x0, 0x3f, 0xff, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, 0x0
};
static const unsigned char PROGMEM Rain[] =
{
  0x0, 0x0, 0x0, 0x0, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xf, 0xfe, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x3f, 0xff, 0x80, 0x0,
  0x0, 0x0, 0x0, 0x7e, 0x1f, 0xc0, 0x0,
  0x0, 0x0, 0x1, 0xf0, 0x3, 0xe0, 0x0,
  0x0, 0x0, 0xe1, 0xe0, 0x0, 0xf0, 0x0,
  0x0, 0x7, 0xff, 0xc0, 0x0, 0x78, 0x0,
  0x0, 0x1f, 0xff, 0x80, 0x0, 0x38, 0x0,
  0x0, 0x3f, 0x1f, 0x0, 0x0, 0x3c, 0x0,
  0x0, 0x7c, 0x7, 0x0, 0x0, 0x1c, 0x0,
  0x0, 0x70, 0x0, 0x0, 0x0, 0x1e, 0x0,
  0x0, 0xf0, 0x0, 0x0, 0x0, 0xe, 0x0,
  0x0, 0xe0, 0x0, 0x0, 0x0, 0xe, 0x0,
  0x0, 0xe0, 0x0, 0x0, 0x0, 0xe, 0x0,
  0x1, 0xc0, 0x0, 0x0, 0x0, 0xe, 0x0,
  0x3, 0xc0, 0x0, 0x0, 0x0, 0xf, 0x80,
  0xf, 0xc0, 0x0, 0x0, 0x0, 0xf, 0xe0,
  0x1f, 0x80, 0x0, 0x0, 0x0, 0x3, 0xf0,
  0x3e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78,
  0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c,
  0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c,
  0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c,
  0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
  0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
  0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
  0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
  0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
  0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
  0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c,
  0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c,
  0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38,
  0x1e, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8,
  0x1f, 0xc0, 0x0, 0x0, 0x0, 0x3, 0xf0,
  0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x0, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x4, 0x0, 0x0, 0x8, 0x0, 0x0,
  0x0, 0x1c, 0x0, 0x0, 0x18, 0x4, 0x0,
  0x0, 0x3c, 0x0, 0x0, 0x38, 0xe, 0x0,
  0x0, 0x7c, 0x0, 0x0, 0x38, 0x3e, 0x0,
  0x0, 0xfc, 0x0, 0x0, 0x38, 0x7e, 0x0,
  0x0, 0xfc, 0x18, 0x0, 0x0, 0x7e, 0x0,
  0x0, 0xfc, 0x38, 0x6, 0x0, 0xfc, 0x0,
  0x0, 0x7c, 0x38, 0xe, 0x0, 0xfc, 0x0,
  0x0, 0x0, 0x38, 0x3e, 0x0, 0x7c, 0x0,
  0x0, 0x0, 0x0, 0x7e, 0x0, 0x38, 0x0,
  0x0, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0
};
static const unsigned char PROGMEM Snow[] =
{
  0x0, 0x0, 0x3, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x80, 0x0, 0x0,
  0x0, 0x0, 0xc3, 0x86, 0x0, 0x0,
  0x0, 0x1, 0xf3, 0x9f, 0x0, 0x0,
  0x0, 0x1, 0xff, 0xfe, 0x0, 0x0,
  0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0,
  0x0, 0xc0, 0x1f, 0xf0, 0xc, 0x0,
  0x0, 0xe0, 0x7, 0xc0, 0xe, 0x0,
  0x0, 0xe0, 0x3, 0x80, 0xe, 0x0,
  0x40, 0xe0, 0x3, 0x80, 0xe, 0xc,
  0xf0, 0xe0, 0x3, 0x80, 0xe, 0x1e,
  0xfc, 0xe0, 0x3, 0x80, 0xe, 0x7e,
  0x7f, 0xe0, 0x3, 0x80, 0xf, 0xfc,
  0x1f, 0xe0, 0xf, 0xe0, 0xf, 0xf0,
  0x7, 0xe0, 0x3f, 0xf0, 0xf, 0xc0,
  0x7, 0xf8, 0x7f, 0xfc, 0x3f, 0xc0,
  0xf, 0xff, 0xfc, 0x7f, 0xff, 0xe0,
  0x1f, 0xff, 0xf0, 0x1f, 0xfb, 0xf0,
  0x7e, 0x1f, 0xc0, 0x7, 0xf0, 0xf8,
  0x78, 0x7, 0x80, 0x3, 0xc0, 0x7c,
  0x30, 0x7, 0x3, 0x83, 0xc0, 0x18,
  0x0, 0x7, 0x7, 0xc1, 0xc0, 0x0,
  0x0, 0x7, 0xf, 0xe1, 0xc0, 0x0,
  0x0, 0x7, 0xf, 0xe1, 0xc0, 0x0,
  0x0, 0x7, 0xf, 0xe1, 0xc0, 0x0,
  0x0, 0x7, 0x7, 0xc1, 0xc0, 0x0,
  0x30, 0x7, 0x3, 0x81, 0xc0, 0x18,
  0x78, 0x7, 0x80, 0x3, 0xc0, 0x7c,
  0x7e, 0x1f, 0xc0, 0x7, 0xe0, 0xf8,
  0x1f, 0xff, 0xf0, 0x1f, 0xfb, 0xf0,
  0xf, 0xff, 0xfc, 0x7f, 0xff, 0xe0,
  0x7, 0xf8, 0x7f, 0xfc, 0x3f, 0xc0,
  0x7, 0xe0, 0x3f, 0xf8, 0xf, 0xc0,
  0x1f, 0xe0, 0xf, 0xe0, 0xf, 0xf0,
  0x7f, 0xe0, 0x3, 0x80, 0xf, 0xfc,
  0xfc, 0xe0, 0x3, 0x80, 0xe, 0x7e,
  0xf0, 0xe0, 0x3, 0x80, 0xe, 0x1e,
  0x40, 0xe0, 0x3, 0x80, 0xe, 0xc,
  0x0, 0xe0, 0x3, 0x80, 0xe, 0x0,
  0x0, 0xe0, 0x7, 0xc0, 0xe, 0x0,
  0x0, 0xc0, 0x1f, 0xf0, 0xc, 0x0,
  0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0,
  0x0, 0x1, 0xff, 0xfe, 0x0, 0x0,
  0x0, 0x1, 0xf3, 0x9f, 0x0, 0x0,
  0x0, 0x0, 0xc3, 0x86, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x0, 0x0, 0x0
};
static const unsigned char PROGMEM Sleet[] =
{
  0x0, 0x0, 0x0, 0x3, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xff, 0xff, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xf0, 0x1f, 0x80, 0x0,
  0x0, 0x0, 0x7, 0xc0, 0x7, 0xc0, 0x0,
  0x0, 0x0, 0x7, 0x80, 0x3, 0xe0, 0x0,
  0x0, 0x1, 0xff, 0x0, 0x1, 0xe0, 0x0,
  0x0, 0x7, 0xfe, 0x0, 0x0, 0xf0, 0x0,
  0x0, 0xf, 0xfe, 0x0, 0x0, 0xf0, 0x0,
  0x0, 0x1f, 0x80, 0x0, 0x0, 0x70, 0x0,
  0x0, 0x3e, 0x0, 0x0, 0x0, 0x7c, 0x0,
  0x0, 0x3c, 0x0, 0x0, 0x0, 0x7f, 0x0,
  0x0, 0x78, 0x0, 0x0, 0x0, 0x7f, 0x80,
  0x0, 0xf0, 0x0, 0x0, 0x0, 0xf, 0xc0,
  0x7, 0xf0, 0x0, 0x0, 0x0, 0x3, 0xe0,
  0xf, 0xf0, 0x0, 0x0, 0x0, 0x1, 0xe0,
  0x1f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf0,
  0x3e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70,
  0x7c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70,
  0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78,
  0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78,
  0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78,
  0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70,
  0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70,
  0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0,
  0x78, 0x0, 0x0, 0x0, 0x0, 0x1, 0xe0,
  0x7c, 0x0, 0x0, 0x0, 0x0, 0x3, 0xe0,
  0x3e, 0x0, 0x0, 0x0, 0x0, 0xf, 0xc0,
  0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x1c, 0x0,
  0x0, 0x30, 0x0, 0x0, 0x0, 0x7c, 0x0,
  0x0, 0xf0, 0x0, 0x0, 0x0, 0xfc, 0x0,
  0x1, 0xf0, 0x0, 0x40, 0x1, 0xfc, 0x0,
  0x7, 0xf0, 0x0, 0x40, 0x1, 0xfc, 0x0,
  0x7, 0xf0, 0x4, 0x44, 0x1, 0xfc, 0x0,
  0xf, 0xf0, 0x6, 0x4c, 0x1, 0xfc, 0x0,
  0xf, 0xf0, 0x3, 0xf8, 0x0, 0xf8, 0x0,
  0x7, 0xe0, 0x1, 0xf0, 0x0, 0x20, 0x0,
  0x3, 0xc0, 0x1f, 0xff, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xf0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xf0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xf8, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x6, 0x4c, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x4, 0x44, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0
};
static const unsigned char PROGMEM Windy[] =
{
  0x0, 0x0, 0x0, 0x3, 0xc0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xfe, 0x7f, 0x80, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xf8, 0x1f, 0x80, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xf8, 0xf, 0xc0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xf8, 0xf, 0xc0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xf8, 0x7, 0xc0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xf0, 0xf, 0xc0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe0, 0xf, 0xc0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0xf, 0xc0, 0x1, 0xfe, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x7, 0xff, 0x0,
  0x0, 0x0, 0x0, 0x0, 0xff, 0x80, 0x7, 0xff, 0xc0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0x0, 0xf, 0xff, 0xc0,
  0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x1f, 0xff, 0xe0,
  0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x1f, 0x87, 0xe0,
  0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0x3, 0xf0,
  0x7f, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x1f, 0x3, 0xf0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x83, 0xf0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x83, 0xf0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x83, 0xf0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x87, 0xe0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x1f, 0xe0,
  0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
  0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
  0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0,
  0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf8, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x1, 0x81, 0xf8, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x3, 0xc0, 0xf8, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x7, 0xc0, 0xf8, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x7, 0xc0, 0xf8, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x7, 0xc1, 0xf8, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x7, 0xe3, 0xf8, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x0, 0x0, 0x0
};
static const unsigned char PROGMEM Foggy[] =
{
  0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0,
  0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0,
  0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0,
  0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0,
  0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0,
  0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0,
  0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0,
  0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x3f, 0xff, 0xff, 0xc0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0,
  0x7f, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0,
  0x7f, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0,
  0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0,
  0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0,
  0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0,
  0x7f, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0,
  0x3f, 0xff, 0xff, 0xc0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
  0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0,
  0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
  0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
  0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
  0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0,
  0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0,
  0x0, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xff, 0xfe, 0x0, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0x0, 0x0,
  0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0x0, 0x0,
  0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0x0, 0x0,
  0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0x0, 0x0,
  0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0x0, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xff, 0xfe, 0x0, 0x0,
  0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x7f, 0xfc, 0x0, 0x0
};
static const unsigned char PROGMEM Cloudy[] =
{
  0x0, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xf, 0xff, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x3f, 0x1, 0xf0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x7c, 0x0, 0x78, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xf0, 0x0, 0x1e, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xc0, 0x0, 0xf, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x80, 0x0, 0x7, 0x0, 0x0,
  0x0, 0x0, 0x7, 0x0, 0x0, 0x3, 0x80, 0x0,
  0x0, 0x1, 0xe7, 0x0, 0x0, 0x1, 0xc0, 0x0,
  0x0, 0x7, 0xfe, 0x0, 0x0, 0x0, 0xc0, 0x0,
  0x0, 0x1f, 0xfe, 0x0, 0x0, 0x0, 0xe0, 0x0,
  0x0, 0x38, 0xc, 0x0, 0x0, 0x0, 0x60, 0x0,
  0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x60, 0x0,
  0x0, 0x60, 0x0, 0x0, 0x0, 0x0, 0x60, 0x0,
  0x0, 0x60, 0x0, 0x0, 0x0, 0x0, 0x70, 0x0,
  0x0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x70, 0x0,
  0x3, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x70, 0x0,
  0x7, 0x80, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0,
  0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xc0,
  0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xe0,
  0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70,
  0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38,
  0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18,
  0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6,
  0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6,
  0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
  0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
  0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c,
  0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38,
  0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78,
  0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0,
  0x7, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xe0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0
};

static const unsigned char PROGMEM PartlyCloudyDay[] =
{
  0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x3, 0x80, 0x4, 0x0, 0x38, 0x0, 0x0,
  0x3, 0xc0, 0x0, 0x0, 0x78, 0x0, 0x0,
  0x3, 0xe0, 0x0, 0x0, 0xf8, 0x0, 0x0,
  0x1, 0xe0, 0x0, 0x0, 0xf0, 0x0, 0x0,
  0x0, 0xe0, 0x3f, 0x80, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0xff, 0xe0, 0x40, 0x0, 0x0,
  0x0, 0x3, 0xff, 0xf8, 0x0, 0x0, 0x0,
  0x0, 0x7, 0xe0, 0xfc, 0x0, 0x0, 0x0,
  0x0, 0xf, 0x80, 0x3e, 0x0, 0x0, 0x0,
  0x0, 0xf, 0x0, 0x1e, 0x0, 0x0, 0x0,
  0x0, 0x1e, 0x0, 0xf, 0x0, 0x0, 0x0,
  0x0, 0x1c, 0x0, 0x7, 0x0, 0x0, 0x0,
  0x0, 0x3c, 0x0, 0x7, 0x80, 0x0, 0x0,
  0x0, 0x38, 0x0, 0x3, 0x80, 0x0, 0x0,
  0xfc, 0x38, 0x0, 0x3, 0x87, 0xe0, 0x0,
  0xfe, 0x38, 0x0, 0x3, 0x8f, 0xe0, 0x0,
  0xfc, 0x38, 0x0, 0x3, 0x87, 0xe0, 0x0,
  0x0, 0x38, 0x0, 0x3, 0xfc, 0x0, 0x0,
  0x0, 0x3c, 0x0, 0x7, 0xff, 0x0, 0x0,
  0x0, 0x1c, 0x0, 0xf, 0xff, 0xc0, 0x0,
  0x0, 0x1e, 0x0, 0x1f, 0xff, 0xe0, 0x0,
  0x0, 0xf, 0x0, 0x3e, 0x1, 0xf0, 0x0,
  0x0, 0xf, 0x80, 0x78, 0x0, 0xf8, 0x0,
  0x0, 0x7, 0xe0, 0xf0, 0x0, 0x78, 0x0,
  0x0, 0x3, 0xff, 0xf0, 0x0, 0x3c, 0x0,
  0x0, 0x0, 0xff, 0xe0, 0x0, 0x3c, 0x0,
  0x0, 0xe0, 0x7f, 0xe0, 0x0, 0x1c, 0x0,
  0x1, 0xf0, 0x7c, 0x0, 0x0, 0x1c, 0x0,
  0x3, 0xe0, 0x78, 0x0, 0x0, 0x1f, 0x0,
  0x3, 0xc0, 0x70, 0x0, 0x0, 0x1f, 0x80,
  0x3, 0x80, 0x70, 0x0, 0x0, 0x7, 0xc0,
  0x0, 0x0, 0x70, 0x0, 0x0, 0x1, 0xe0,
  0x0, 0x0, 0xf0, 0x0, 0x0, 0x0, 0xf0,
  0x0, 0x1, 0xf0, 0x0, 0x0, 0x0, 0x70,
  0x0, 0x3, 0xe0, 0x0, 0x0, 0x0, 0x78,
  0x0, 0x3, 0xc0, 0x0, 0x0, 0x0, 0x38,
  0x0, 0x7, 0x80, 0x0, 0x0, 0x0, 0x38,
  0x0, 0x7, 0x80, 0x0, 0x0, 0x0, 0x38,
  0x0, 0x7, 0x80, 0x0, 0x0, 0x0, 0x38,
  0x0, 0x7, 0x80, 0x0, 0x0, 0x0, 0x78,
  0x0, 0x7, 0x80, 0x0, 0x0, 0x0, 0x70,
  0x0, 0x3, 0x80, 0x0, 0x0, 0x0, 0xf0,
  0x0, 0x3, 0xc0, 0x0, 0x0, 0x1, 0xe0,
  0x0, 0x1, 0xf0, 0x0, 0x0, 0x7, 0xe0,
  0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xc0,
  0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0x0,
  0x0, 0x0, 0x1f, 0xff, 0xff, 0xfc, 0x0
};
static const unsigned char PROGMEM PartlyCloudyNight[] =
{
  0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3f, 0x80, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3f, 0xe0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1f, 0xf0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xf, 0xf8, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0xfc, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xbe, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xdf, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xcf, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xc7, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xc7, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xc3, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xc3, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xc1, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xc1, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x81, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x81, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0x81, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0x81, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0xf, 0x1, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0xf, 0x1, 0xfc, 0x0, 0x0,
  0x0, 0x0, 0x1e, 0x1, 0xff, 0xc0, 0x0,
  0x0, 0x0, 0x3e, 0x3, 0xff, 0xf0, 0x0,
  0x0, 0x0, 0x7c, 0x7, 0xff, 0xf8, 0x0,
  0x0, 0x0, 0xf8, 0xf, 0x80, 0xfc, 0x0,
  0x0, 0x1, 0xf0, 0x1f, 0x0, 0x3e, 0x0,
  0x0, 0x3, 0xe0, 0x3e, 0x0, 0x1e, 0x0,
  0x40, 0xf, 0xc1, 0xfc, 0x0, 0xf, 0x0,
  0xf8, 0x3f, 0x87, 0xf8, 0x0, 0xf, 0x0,
  0xff, 0xff, 0xf, 0xf8, 0x0, 0x7, 0x80,
  0x7f, 0xfc, 0x1f, 0xf0, 0x0, 0x7, 0x80,
  0x7f, 0xf0, 0x3e, 0x0, 0x0, 0x7, 0x80,
  0x3f, 0x80, 0x3c, 0x0, 0x0, 0x3, 0xe0,
  0x1f, 0xc0, 0x38, 0x0, 0x0, 0x3, 0xf0,
  0x7, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xf8,
  0x3, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x7c,
  0x0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x3e,
  0x0, 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x1e,
  0x0, 0x1, 0xf0, 0x0, 0x0, 0x0, 0xf,
  0x0, 0x1, 0xe0, 0x0, 0x0, 0x0, 0xf,
  0x0, 0x3, 0xc0, 0x0, 0x0, 0x0, 0xf,
  0x0, 0x3, 0xc0, 0x0, 0x0, 0x0, 0xf,
  0x0, 0x3, 0xc0, 0x0, 0x0, 0x0, 0xf,
  0x0, 0x3, 0xc0, 0x0, 0x0, 0x0, 0xf,
  0x0, 0x3, 0xc0, 0x0, 0x0, 0x0, 0xf,
  0x0, 0x3, 0xc0, 0x0, 0x0, 0x0, 0x1e,
  0x0, 0x1, 0xe0, 0x0, 0x0, 0x0, 0x3e,
  0x0, 0x1, 0xf0, 0x0, 0x0, 0x0, 0x7c,
  0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xf8,
  0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xf0,
  0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xe0,
  0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0x80
};
static const unsigned char PROGMEM Hail[] =
{
  0x0, 0x0, 0x3f, 0x80, 0x0, 0x0, 0x0,
  0x0, 0x1, 0xff, 0xe0, 0x0, 0x0, 0x0,
  0x0, 0x7, 0xc0, 0xf8, 0x0, 0x0, 0x0,
  0x0, 0xe, 0x0, 0x1c, 0x0, 0x0, 0x0,
  0x0, 0x1c, 0x0, 0xe, 0x0, 0x0, 0x0,
  0x0, 0x38, 0x0, 0x7, 0x7e, 0x0, 0x0,
  0x0, 0x70, 0x0, 0x3, 0xff, 0x80, 0x0,
  0x0, 0x60, 0x0, 0x1, 0x81, 0xe0, 0x0,
  0x0, 0xe0, 0x0, 0x0, 0x0, 0x70, 0x0,
  0x0, 0xc0, 0x0, 0x0, 0x0, 0x38, 0x0,
  0x0, 0xc0, 0x0, 0x0, 0x0, 0x18, 0x0,
  0x0, 0xc0, 0x0, 0x0, 0x0, 0x1c, 0x0,
  0x0, 0xc0, 0x0, 0x0, 0x0, 0xc, 0x0,
  0x1, 0xc0, 0x0, 0x0, 0x0, 0xc, 0x0,
  0x3, 0xc0, 0x0, 0x0, 0x0, 0xc, 0x0,
  0xf, 0x80, 0x0, 0x0, 0x0, 0xc, 0x0,
  0x1c, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0,
  0x38, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0,
  0x30, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0,
  0x60, 0x0, 0x0, 0x0, 0x0, 0x7, 0x80,
  0x60, 0x0, 0x0, 0x0, 0x0, 0x1, 0xc0,
  0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x60,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30,
  0xc0, 0x0, 0x7, 0xfe, 0x0, 0x0, 0x30,
  0x60, 0x0, 0x7, 0xfe, 0x0, 0x0, 0x30,
  0x60, 0x0, 0x6, 0x3, 0x0, 0x0, 0x30,
  0x70, 0x0, 0xe, 0x3, 0x0, 0x0, 0x60,
  0x30, 0x0, 0xc, 0x3, 0x0, 0x0, 0x60,
  0x18, 0x0, 0xc, 0x1, 0x80, 0x0, 0xc0,
  0xe, 0x0, 0x1c, 0x1, 0x80, 0x3, 0xc0,
  0x7, 0xc0, 0x1c, 0x1, 0x80, 0xf, 0x0,
  0x1, 0xfc, 0xe, 0x7, 0x83, 0xfe, 0x0,
  0x0, 0x7c, 0x7, 0xe, 0x3, 0xf0, 0x0,
  0x0, 0x0, 0x3, 0xfc, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x7f, 0xe0, 0x0, 0x7f, 0xe0, 0x0,
  0x0, 0x7f, 0x60, 0x0, 0x7f, 0xe0, 0x0,
  0x0, 0x60, 0x70, 0x0, 0xc0, 0x60, 0x0,
  0x0, 0xc0, 0x30, 0x0, 0xc0, 0x30, 0x0,
  0x0, 0xc0, 0x30, 0x0, 0xc0, 0x30, 0x0,
  0x0, 0xc0, 0x18, 0x1, 0x80, 0x30, 0x0,
  0x1, 0x80, 0x18, 0x1, 0x80, 0x18, 0x0,
  0x1, 0xc0, 0x18, 0x1, 0xc0, 0x38, 0x0,
  0x0, 0xe0, 0x70, 0x1, 0xe0, 0x70, 0x0,
  0x0, 0x78, 0xe0, 0x0, 0x71, 0xe0, 0x0,
  0x0, 0x1f, 0xc0, 0x0, 0x3f, 0x80, 0x0,
  0x0, 0xf, 0x0, 0x0, 0xf, 0x0, 0x0,
  0x0, 0x6, 0x0, 0x0, 0x6, 0x0, 0x0
};
static const unsigned char PROGMEM Thunderstorm[] =
{
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0,
  0x0, 0x3, 0xf0, 0xff, 0x80, 0x0, 0x0,
  0x0, 0xf, 0xfc, 0xff, 0xd0, 0x0, 0x0,
  0x0, 0x1f, 0xfe, 0x7f, 0xfe, 0x0, 0x0,
  0x0, 0x3f, 0xff, 0x1, 0xff, 0x0, 0x0,
  0x0, 0x3f, 0xff, 0xb8, 0x7f, 0xe0, 0x0,
  0x0, 0x7f, 0xff, 0xff, 0x3f, 0xfc, 0x0,
  0x0, 0x7f, 0xff, 0xff, 0x9f, 0xfe, 0x0,
  0x0, 0x7f, 0xff, 0xff, 0xc1, 0xfe, 0x0,
  0x0, 0x7f, 0xff, 0xff, 0xe0, 0x3f, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x0,
  0xf, 0xff, 0xff, 0xff, 0xff, 0xcf, 0x0,
  0x1f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x0,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0,
  0x1f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0,
  0xf, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xe0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xe0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0xc0, 0x20, 0x0, 0x0,
  0x0, 0x10, 0xf, 0x80, 0x20, 0x0, 0x0,
  0x0, 0x18, 0xf, 0x0, 0x20, 0x0, 0x0,
  0x0, 0x38, 0x1e, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x38, 0x3f, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x18, 0x7f, 0x80, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x4, 0xc, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x8, 0x1c, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x10, 0x38, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x20, 0x70, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
};
static const unsigned char PROGMEM Tornado[] =
{
  0x0, 0x0, 0x1f, 0xf8, 0x0, 0x0,
  0x0, 0x3f, 0xff, 0xff, 0xfc, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8,
  0x3b, 0xff, 0xff, 0xff, 0xff, 0xde,
  0x6f, 0xc7, 0xf8, 0x7f, 0xc6, 0xe7,
  0xee, 0xbc, 0x0, 0x0, 0x73, 0x77,
  0x6f, 0xff, 0xff, 0xff, 0xff, 0xe6,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0x9c,
  0xf, 0xff, 0xff, 0xff, 0xff, 0xf8,
  0x3, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x4, 0x3f, 0xff, 0xff, 0xff, 0xc8,
  0x1, 0xf0, 0x3, 0xc1, 0xff, 0x30,
  0x0, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0x90,
  0x0, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0x90,
  0x0, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0x90,
  0x0, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x0, 0x3f, 0xff, 0xff, 0xff, 0x80,
  0x0, 0x3f, 0xff, 0xff, 0xfc, 0xc0,
  0x0, 0x1f, 0xff, 0xff, 0xff, 0x0,
  0x0, 0xf, 0xff, 0xff, 0xfc, 0xc0,
  0x0, 0xb, 0xff, 0xff, 0xff, 0x80,
  0x0, 0x7, 0xff, 0xff, 0xfe, 0x40,
  0x0, 0x3, 0xff, 0xff, 0xff, 0x80,
  0x0, 0x0, 0xff, 0xff, 0xff, 0x20,
  0x0, 0x0, 0x27, 0xff, 0xe3, 0x80,
  0x0, 0x0, 0x7, 0xff, 0xff, 0x20,
  0x0, 0x0, 0x0, 0x7f, 0xf1, 0xc0,
  0x0, 0x0, 0x0, 0x7f, 0xff, 0xf0,
  0x0, 0x0, 0x0, 0x1, 0xff, 0xf0,
  0x0, 0x0, 0x0, 0xf, 0xff, 0xf0,
  0x0, 0x0, 0x0, 0xf, 0xff, 0xf0,
  0x0, 0x0, 0x0, 0x7, 0xff, 0xf0,
  0x0, 0x0, 0x0, 0x7, 0xff, 0xe0,
  0x0, 0x0, 0x0, 0x1, 0xfc, 0xf0,
  0x0, 0x0, 0x0, 0x1, 0xff, 0xa0,
  0x0, 0x0, 0x0, 0x1, 0xff, 0xe0,
  0x0, 0x0, 0x0, 0x0, 0x3f, 0x80,
  0x0, 0x0, 0x0, 0x0, 0x1, 0x80,
  0x0, 0x0, 0x0, 0x1, 0xbe, 0x0,
  0x0, 0x0, 0x0, 0x7, 0xfe, 0x0,
  0x0, 0x0, 0x0, 0x11, 0xf8, 0x0,
  0x0, 0x0, 0x0, 0x8e, 0x0, 0x0,
  0x0, 0x0, 0x8, 0x68, 0xc0, 0x0,
  0x0, 0x0, 0xf, 0xb0, 0x0, 0x0,
  0x0, 0x0, 0xe, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xc, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x4, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x2, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0
};

static const unsigned char PROGMEM ttshirt[] =
{
  0x0, 0x0, 0xe, 0x0, 0x7, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xff, 0x0, 0xf, 0xf0, 0x0, 0x0,
  0x0, 0x3, 0xff, 0x0, 0xf, 0xfc, 0x0, 0x0,
  0x0, 0xf, 0xc3, 0x80, 0x1c, 0x3f, 0x0, 0x0,
  0x0, 0x1f, 0x1, 0xc0, 0x38, 0xf, 0x80, 0x0,
  0x0, 0x7c, 0x1, 0xe0, 0x78, 0x3, 0xe0, 0x0,
  0x0, 0xf0, 0x0, 0xff, 0xf0, 0x0, 0xf0, 0x0,
  0x1, 0xe0, 0x0, 0x3f, 0xc0, 0x0, 0x78, 0x0,
  0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1c, 0x0,
  0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0,
  0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0,
  0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x80,
  0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xc0,
  0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xc0,
  0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0,
  0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70,
  0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0,
  0x78, 0x1, 0x0, 0x0, 0x0, 0x8, 0x1, 0xe0,
  0x3e, 0x3, 0x0, 0x0, 0x0, 0xc, 0x7, 0xc0,
  0xf, 0x7, 0x0, 0x0, 0x0, 0xe, 0xf, 0x0,
  0x7, 0xcf, 0x0, 0x0, 0x0, 0xf, 0x3e, 0x0,
  0x1, 0xff, 0x0, 0x0, 0x0, 0xf, 0xf8, 0x0,
  0x0, 0xff, 0x0, 0x0, 0x0, 0xf, 0xf0, 0x0,
  0x0, 0x3b, 0x0, 0x0, 0x0, 0xd, 0xc0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x3, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0,
  0x0, 0x3, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0,
  0x0, 0x1, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0
};
static const unsigned char PROGMEM ljacket[] =
{
  0x0, 0x0, 0x1f, 0xff, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x3f, 0xff, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0x3c, 0x3, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0x7c, 0x3, 0xf0, 0x0, 0x0,
  0x0, 0x0, 0x6e, 0x7, 0x30, 0x0, 0x0,
  0x0, 0x0, 0xe6, 0x6, 0x38, 0x0, 0x0,
  0x0, 0x0, 0xc7, 0xe, 0x18, 0x0, 0x0,
  0x0, 0x3, 0xe3, 0x1c, 0x3e, 0x0, 0x0,
  0x0, 0x7, 0xe3, 0x98, 0x3f, 0x0, 0x0,
  0x0, 0xe, 0x79, 0xf9, 0xf3, 0x80, 0x0,
  0x0, 0x1c, 0x3f, 0xff, 0xe1, 0xc0, 0x0,
  0x0, 0x38, 0xf, 0xff, 0x80, 0xe0, 0x0,
  0x0, 0xf0, 0x1, 0xf0, 0x0, 0x78, 0x0,
  0x1, 0xe0, 0x0, 0xe0, 0x0, 0x3c, 0x0,
  0x1, 0x80, 0x0, 0xc0, 0x0, 0xc, 0x0,
  0x1, 0x80, 0x0, 0xc0, 0x0, 0xc, 0x0,
  0x3, 0x80, 0x0, 0xc0, 0x0, 0xc, 0x0,
  0x3, 0x0, 0x0, 0xc0, 0x0, 0x6, 0x0,
  0x3, 0x0, 0x0, 0xc0, 0x0, 0x6, 0x0,
  0x3, 0x0, 0x0, 0xc0, 0x0, 0x6, 0x0,
  0x3, 0x0, 0x0, 0xc7, 0xe0, 0x6, 0x0,
  0x3, 0x6, 0x0, 0xc7, 0xe3, 0x6, 0x0,
  0x7, 0x7, 0x0, 0xc0, 0x7, 0x7, 0x0,
  0x6, 0x6, 0x0, 0xc0, 0x7, 0x3, 0x0,
  0x6, 0x6, 0x0, 0xc0, 0x7, 0x3, 0x0,
  0x6, 0xe, 0x0, 0xc0, 0x7, 0x83, 0x0,
  0x6, 0xe, 0x0, 0xc0, 0x7, 0x83, 0x0,
  0xe, 0xe, 0x0, 0xc0, 0x7, 0x83, 0x0,
  0xe, 0xe, 0x0, 0xc0, 0x7, 0x83, 0x80,
  0xc, 0xe, 0x0, 0xc0, 0x7, 0x83, 0x80,
  0xc, 0x1e, 0x0, 0xc0, 0x7, 0x81, 0x80,
  0xc, 0x1e, 0x0, 0xc0, 0x7, 0xc1, 0x80,
  0xc, 0x1e, 0x0, 0xc0, 0x7, 0xc1, 0x80,
  0x1c, 0x1e, 0x0, 0xc0, 0x7, 0xc1, 0xc0,
  0x1c, 0x1e, 0x0, 0xc0, 0x7, 0xc1, 0xc0,
  0x18, 0x3e, 0x0, 0xc0, 0x7, 0xe0, 0xc0,
  0x18, 0x36, 0x0, 0xc0, 0x7, 0x60, 0xc0,
  0x18, 0x36, 0x6, 0xc3, 0x7, 0x60, 0xc0,
  0x18, 0x36, 0xe, 0xc3, 0x87, 0x60, 0xc0,
  0x38, 0x36, 0x1c, 0xc1, 0xc7, 0x60, 0xe0,
  0x30, 0x76, 0x38, 0xc0, 0xe7, 0x70, 0xe0,
  0x30, 0x66, 0x70, 0xc0, 0x77, 0x30, 0x60,
  0x30, 0x66, 0x60, 0xc0, 0x37, 0x30, 0x60,
  0x30, 0x66, 0x0, 0xc0, 0x7, 0x30, 0x60,
  0x30, 0xe6, 0x0, 0xc0, 0x7, 0x38, 0x60,
  0x70, 0xe6, 0x0, 0xc0, 0x7, 0x38, 0x60,
  0x7f, 0xc7, 0xff, 0xff, 0xff, 0x1f, 0xf0,
  0x7f, 0xc7, 0xff, 0xff, 0xff, 0x1f, 0xf0,
  0x3f, 0x83, 0xff, 0xff, 0xfe, 0xf, 0xe0,
  0x31, 0x80, 0xc0, 0x0, 0x18, 0xc, 0x60,
  0x3b, 0x81, 0xc0, 0x0, 0x18, 0xe, 0xe0,
  0x3f, 0x81, 0xff, 0xff, 0xf8, 0xf, 0xe0,
  0x3f, 0x0, 0xff, 0xff, 0xf8, 0xf, 0xc0
};

static const unsigned char PROGMEM wjacket[] =
{
  0x0, 0x0, 0x1, 0xfc, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0xff, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1f, 0x7, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x3c, 0x1, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0x70, 0x0, 0x70, 0x0, 0x0,
  0x0, 0x0, 0x60, 0x0, 0x30, 0x0, 0x0,
  0x0, 0x0, 0xc0, 0x0, 0x18, 0x0, 0x0,
  0x0, 0x0, 0xc0, 0xf8, 0x18, 0x0, 0x0,
  0x0, 0x1, 0x83, 0xfe, 0xc, 0x0, 0x0,
  0x0, 0x1, 0x87, 0x8f, 0xc, 0x0, 0x0,
  0x0, 0x1, 0x86, 0x3, 0xc, 0x0, 0x0,
  0x0, 0x3, 0x8c, 0x1, 0x8e, 0x0, 0x0,
  0x0, 0x3, 0x8c, 0x1, 0x8e, 0x0, 0x0,
  0x0, 0x3, 0x8c, 0x1, 0x8e, 0x0, 0x0,
  0x0, 0x3, 0x8c, 0x1, 0x8e, 0x0, 0x0,
  0x0, 0x1, 0x8c, 0x1, 0x8c, 0x0, 0x0,
  0x0, 0x1, 0x8c, 0x1, 0x8c, 0x0, 0x0,
  0x0, 0x1, 0x8e, 0x3, 0xc, 0x0, 0x0,
  0x0, 0x0, 0xc7, 0x7, 0x18, 0x0, 0x0,
  0x0, 0x0, 0xe3, 0xfe, 0x38, 0x0, 0x0,
  0x0, 0x0, 0x61, 0xfc, 0x30, 0x0, 0x0,
  0x0, 0x0, 0x78, 0x70, 0xf0, 0x0, 0x0,
  0x0, 0x0, 0x7c, 0x21, 0xf8, 0x0, 0x0,
  0x0, 0x7, 0xef, 0xff, 0xbf, 0x0, 0x0,
  0x0, 0xf, 0xc7, 0xff, 0x1f, 0x80, 0x0,
  0x0, 0x1e, 0x0, 0xf8, 0x3, 0xc0, 0x0,
  0x0, 0x38, 0x0, 0x70, 0x0, 0xe0, 0x0,
  0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0,
  0x0, 0xe0, 0x0, 0x70, 0x0, 0x38, 0x0,
  0x1, 0xe0, 0x0, 0x70, 0x0, 0x3c, 0x0,
  0x3, 0xc0, 0x0, 0x70, 0x0, 0x1e, 0x0,
  0x7, 0x0, 0x0, 0x70, 0x0, 0x7, 0x0,
  0xe, 0x0, 0x0, 0x70, 0x0, 0x3, 0x80,
  0x1e, 0x1, 0xc0, 0x70, 0x1c, 0x3, 0xc0,
  0x3c, 0x3, 0xc0, 0x70, 0x1e, 0x1, 0xe0,
  0x78, 0x7, 0x80, 0x70, 0xf, 0x0, 0xf0,
  0xe0, 0xf, 0x80, 0x70, 0xf, 0x80, 0x38,
  0xe0, 0x1f, 0x87, 0xfe, 0xf, 0xc0, 0x38,
  0x60, 0x3b, 0x87, 0xff, 0xe, 0xe0, 0x30,
  0x30, 0xf3, 0x86, 0x7, 0xe, 0x78, 0x60,
  0x39, 0xe3, 0xff, 0x7, 0xfe, 0x3c, 0xe0,
  0x1f, 0x83, 0xff, 0x7, 0xfe, 0xf, 0xc0,
  0xf, 0x3, 0x86, 0x7, 0xe, 0x7, 0x80,
  0x6, 0x3, 0x87, 0xff, 0xe, 0x3, 0x0,
  0x0, 0x3, 0x87, 0xfe, 0xe, 0x0, 0x0,
  0x0, 0x3, 0x80, 0x70, 0xe, 0x0, 0x0,
  0x0, 0x3, 0x80, 0x70, 0xe, 0x0, 0x0,
  0x0, 0x3, 0x80, 0x70, 0xe, 0x0, 0x0,
  0x0, 0x3, 0x80, 0x70, 0xe, 0x0, 0x0,
  0x0, 0x3, 0x80, 0x70, 0xe, 0x0, 0x0,
  0x0, 0x3, 0x80, 0x70, 0xe, 0x0, 0x0,
  0x0, 0x3, 0xff, 0xff, 0xfe, 0x0, 0x0,
  0x0, 0x1, 0xff, 0xff, 0xfc, 0x0, 0x0
};

static const unsigned char PROGMEM glasses[] =
{
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x7f, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x7f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x7f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x3f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x0,
  0x1f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xfe, 0x0,
  0x1f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfe, 0x0,
  0x1f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xfe, 0x0,
  0x1f, 0x8f, 0xff, 0xff, 0xff, 0xc0, 0xfc, 0x7f, 0xff, 0xff, 0xfe, 0x0,
  0x1f, 0x87, 0xff, 0xff, 0xff, 0xc0, 0xfc, 0x7f, 0xff, 0xff, 0xfe, 0x0,
  0xf, 0xc7, 0xff, 0xff, 0xff, 0xc0, 0xfe, 0x7f, 0xff, 0xff, 0xfc, 0x0,
  0xf, 0xc7, 0xff, 0xff, 0xff, 0x80, 0x7e, 0x3f, 0xff, 0xff, 0xfc, 0x0,
  0xf, 0xc7, 0xff, 0xff, 0xff, 0x80, 0x7e, 0x3f, 0xff, 0xff, 0xfc, 0x0,
  0xf, 0xe3, 0xff, 0xff, 0xff, 0x80, 0x7e, 0x3f, 0xff, 0xff, 0xfc, 0x0,
  0xf, 0xe3, 0xff, 0xff, 0xff, 0x80, 0x7f, 0x1f, 0xff, 0xff, 0xfc, 0x0,
  0x7, 0xf1, 0xff, 0xff, 0xff, 0x0, 0x3f, 0x1f, 0xff, 0xff, 0xf8, 0x0,
  0x7, 0xf0, 0xff, 0xff, 0xff, 0x0, 0x3f, 0x8f, 0xff, 0xff, 0xf8, 0x0,
  0x7, 0xf8, 0xff, 0xff, 0xff, 0x0, 0x3f, 0x87, 0xff, 0xff, 0xf8, 0x0,
  0x3, 0xfc, 0x7f, 0xff, 0xff, 0x0, 0x3f, 0xc3, 0xff, 0xff, 0xf0, 0x0,
  0x3, 0xfc, 0x1f, 0xff, 0xfe, 0x0, 0x1f, 0xe1, 0xff, 0xff, 0xf0, 0x0,
  0x3, 0xfe, 0x1f, 0xff, 0xfe, 0x0, 0x1f, 0xf0, 0xff, 0xff, 0xf0, 0x0,
  0x1, 0xff, 0x1f, 0xff, 0xfc, 0x0, 0xf, 0xf8, 0xff, 0xff, 0xe0, 0x0,
  0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0xf, 0xff, 0xff, 0xff, 0xc0, 0x0,
  0x0, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x7, 0xff, 0xff, 0xff, 0xc0, 0x0,
  0x0, 0x7f, 0xff, 0xff, 0xe0, 0x0, 0x1, 0xff, 0xff, 0xff, 0x80, 0x0,
  0x0, 0x1f, 0xff, 0xff, 0xc0, 0x0, 0x0, 0xff, 0xff, 0xfe, 0x0, 0x0,
  0x0, 0x7, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xf8, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
};

static const unsigned char PROGMEM reduce[] =
{
  0xff, 0xf0, 0x1, 0x0, 0x0, 0x0, 0x0,
  0xff, 0xf0, 0x3, 0x80, 0x0, 0x0, 0x0,
  0xff, 0xf0, 0x7, 0xc0, 0x0, 0x0, 0x0,
  0xff, 0xf0, 0xf, 0xe0, 0x0, 0x0, 0x0,
  0xff, 0xf0, 0xf, 0xf0, 0x0, 0x0, 0x0,
  0xff, 0xf0, 0x7, 0xf8, 0x0, 0x0, 0x0,
  0xff, 0xf0, 0x3, 0xfc, 0x0, 0x0, 0x0,
  0xff, 0xf0, 0x1, 0xfe, 0x0, 0x0, 0x0,
  0xff, 0xf0, 0x0, 0xff, 0x0, 0x0, 0x0,
  0xff, 0xf0, 0x0, 0x7f, 0x80, 0x0, 0x0,
  0xff, 0xf0, 0x0, 0x3f, 0xc0, 0x0, 0x0,
  0xff, 0xf0, 0x0, 0x1f, 0xe0, 0x0, 0x0,
  0xff, 0xf0, 0x0, 0xf, 0xf0, 0x0, 0x0,
  0xff, 0xf0, 0x0, 0x7, 0xf8, 0x0, 0x0,
  0xff, 0xf0, 0x0, 0x3, 0xfc, 0x0, 0x0,
  0xff, 0xf0, 0x0, 0x1, 0xfe, 0x0, 0x0,
  0xff, 0xf0, 0x0, 0x0, 0xff, 0x0, 0x0,
  0xff, 0xf0, 0x0, 0x0, 0x7f, 0x80, 0x0,
  0xff, 0xf0, 0xff, 0xf0, 0x3f, 0xc0, 0x0,
  0xff, 0xf0, 0xff, 0xf0, 0x1f, 0xe0, 0x80,
  0xff, 0xf0, 0xff, 0xf0, 0xf, 0xf1, 0x80,
  0xff, 0xf0, 0xff, 0xf0, 0x7, 0xfb, 0x80,
  0xff, 0xf0, 0xff, 0xf0, 0x3, 0xff, 0x80,
  0xff, 0xf0, 0xff, 0xf0, 0x1, 0xff, 0x80,
  0xff, 0xf0, 0xff, 0xf0, 0x0, 0xff, 0x80,
  0xff, 0xf0, 0xff, 0xf0, 0x0, 0x7f, 0x80,
  0xff, 0xf0, 0xff, 0xf0, 0x0, 0x7f, 0x80,
  0xff, 0xf0, 0xff, 0xf0, 0x0, 0xff, 0x80,
  0xff, 0xf0, 0xff, 0xf0, 0x1, 0xff, 0x80,
  0xff, 0xf0, 0xff, 0xf0, 0x3, 0xff, 0x80,
  0xff, 0xf0, 0xff, 0xf0, 0x0, 0x0, 0x0,
  0xff, 0xf0, 0xff, 0xf0, 0x0, 0x0, 0x0,
  0xff, 0xf0, 0xff, 0xf0, 0x0, 0x0, 0x0,
  0xff, 0xf0, 0xff, 0xf0, 0x0, 0x0, 0x0,
  0xff, 0xf0, 0xff, 0xf0, 0x0, 0x0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xe0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0,
  0xff, 0xf0, 0xff, 0xf1, 0xff, 0xf0, 0x0
};

static const unsigned char PROGMEM minimize[] =
{
  0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3f, 0xff, 0xe0, 0x0, 0x0,
  0x0, 0x1, 0xff, 0xff, 0xfc, 0x0, 0x0,
  0x0, 0x7, 0xff, 0xff, 0xff, 0x0, 0x0,
  0x0, 0xf, 0xff, 0xff, 0xff, 0x80, 0x0,
  0x0, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x0,
  0x0, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x0,
  0x0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0,
  0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
  0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
  0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
  0xff, 0xfc, 0x0, 0x0, 0x1, 0xff, 0xf8,
  0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, 0xf8,
  0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, 0xf8,
  0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, 0xf8,
  0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, 0xf8,
  0xff, 0xfc, 0x0, 0x0, 0x1, 0xff, 0xf8,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
  0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
  0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
  0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
  0x0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x0, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x0,
  0x0, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x0,
  0x0, 0xf, 0xff, 0xff, 0xff, 0x80, 0x0,
  0x0, 0x7, 0xff, 0xff, 0xff, 0x0, 0x0,
  0x0, 0x1, 0xff, 0xff, 0xfc, 0x0, 0x0,
  0x0, 0x0, 0x3f, 0xff, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, 0x0
};

static const unsigned char PROGMEM avoid[] =
{
  0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xf, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x1f, 0x80, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x3f, 0xc0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x7f, 0xe0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x7f, 0xe0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xff, 0xf0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xff, 0xf8, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xff, 0xfc, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xff, 0xfc, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0xff, 0xfe, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0xff, 0xff, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xf, 0xff, 0xff, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xf, 0xff, 0xff, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x1f, 0xf9, 0xff, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x3f, 0xe0, 0x7f, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x3f, 0xe0, 0x7f, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x7f, 0xe0, 0x7f, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0x7f, 0xe0, 0x7f, 0xf0, 0x0, 0x0,
  0x0, 0x0, 0xff, 0xe0, 0x7f, 0xf0, 0x0, 0x0,
  0x0, 0x0, 0xff, 0xe0, 0x7f, 0xf8, 0x0, 0x0,
  0x0, 0x1, 0xff, 0xe0, 0x7f, 0xf8, 0x0, 0x0,
  0x0, 0x3, 0xff, 0xf0, 0x7f, 0xfc, 0x0, 0x0,
  0x0, 0x3, 0xff, 0xf0, 0xff, 0xfc, 0x0, 0x0,
  0x0, 0x7, 0xff, 0xf0, 0xff, 0xfe, 0x0, 0x0,
  0x0, 0x7, 0xff, 0xf0, 0xff, 0xff, 0x0, 0x0,
  0x0, 0xf, 0xff, 0xf8, 0xff, 0xff, 0x0, 0x0,
  0x0, 0xf, 0xff, 0xf9, 0xff, 0xff, 0x80, 0x0,
  0x0, 0x1f, 0xff, 0xf9, 0xff, 0xff, 0x80, 0x0,
  0x0, 0x3f, 0xff, 0xf9, 0xff, 0xff, 0xc0, 0x0,
  0x0, 0x3f, 0xff, 0xf9, 0xff, 0xff, 0xe0, 0x0,
  0x0, 0x7f, 0xff, 0xfd, 0xff, 0xff, 0xe0, 0x0,
  0x0, 0x7f, 0xff, 0xfd, 0xff, 0xff, 0xf0, 0x0,
  0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x3, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xfc, 0x0,
  0x3, 0xff, 0xff, 0xe0, 0x7f, 0xff, 0xfe, 0x0,
  0x7, 0xff, 0xff, 0xe0, 0x7f, 0xff, 0xfe, 0x0,
  0xf, 0xff, 0xff, 0xe0, 0x7f, 0xff, 0xff, 0x0,
  0xf, 0xff, 0xff, 0xe0, 0x7f, 0xff, 0xff, 0x0,
  0x1f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x80,
  0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0
};

static const unsigned char PROGMEM sunblock[] =
{
  0xff, 0xff, 0xff, 0xe0,
  0xff, 0xff, 0xff, 0xe0,
  0xff, 0xff, 0xff, 0xe0,
  0xff, 0xff, 0xff, 0xe0,
  0xff, 0xff, 0xff, 0xe0,
  0xff, 0xff, 0xff, 0xe0,
  0x7f, 0xff, 0xff, 0xc0,
  0x7f, 0xca, 0x7f, 0xc0,
  0x7f, 0x0, 0x1f, 0xc0,
  0x7f, 0x1f, 0x1f, 0xc0,
  0x7e, 0x60, 0xcf, 0xc0,
  0x7e, 0x80, 0x2f, 0xc0,
  0x78, 0x80, 0x23, 0xc0,
  0x7c, 0x0, 0x7, 0xc0,
  0x78, 0x0, 0x3, 0x80,
  0x38, 0x0, 0x3, 0x80,
  0x3c, 0x0, 0x7, 0x80,
  0x38, 0x80, 0x23, 0x80,
  0x3e, 0x80, 0x2f, 0x80,
  0x3e, 0x60, 0xcf, 0x80,
  0x3f, 0x1f, 0x1f, 0x80,
  0x3f, 0x0, 0x1f, 0x80,
  0x3f, 0xca, 0x7f, 0x80,
  0x3f, 0xff, 0xff, 0x80,
  0x1f, 0xff, 0xff, 0x0,
  0x1f, 0xff, 0xff, 0x0,
  0x1f, 0x31, 0x9f, 0x0,
  0x1f, 0x75, 0x3f, 0x0,
  0x1f, 0x35, 0x1f, 0x0,
  0x1f, 0x93, 0x3f, 0x0,
  0x1f, 0x97, 0x3f, 0x0,
  0x1f, 0xff, 0xff, 0x0,
  0x1f, 0xff, 0xff, 0x0,
  0x1c, 0x79, 0xff, 0x0,
  0xd, 0xb6, 0xfe, 0x0,
  0xf, 0xbe, 0xe6, 0x0,
  0xe, 0x6f, 0xe6, 0x0,
  0xf, 0x2f, 0x80, 0x0,
  0xf, 0xae, 0xe6, 0x0,
  0xb, 0xb6, 0xe6, 0x0,
  0xc, 0x79, 0xfe, 0x0,
  0xf, 0xff, 0xfe, 0x0,
  0xf, 0xff, 0xfe, 0x0,
  0xc, 0x0, 0x6, 0x0,
  0xc, 0x0, 0x6, 0x0,
  0xc, 0x0, 0x6, 0x0,
  0xf, 0xff, 0xfe, 0x0,
  0xf, 0xff, 0xfe, 0x0,
  0xe, 0x0, 0xe, 0x0,
  0xc, 0x0, 0x6, 0x0,
  0xc, 0x3f, 0x86, 0x0,
  0x7, 0xff, 0xfe, 0x0,
  0x7, 0xff, 0xfc, 0x0
};

static const unsigned char PROGMEM umbrella[] =
{
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xf, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xff, 0xf8, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3f, 0xff, 0xff, 0x80, 0x0, 0x0,
  0x0, 0x0, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0,
  0x0, 0x3, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0,
  0x0, 0xf, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0,
  0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0,
  0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0,
  0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
  0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
  0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0,
  0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
  0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
  0xc0, 0x3f, 0xc0, 0x7f, 0xc0, 0x7f, 0x80, 0xe0,
  0x0, 0xf, 0x0, 0x1f, 0x0, 0x1e, 0x0, 0x0,
  0x0, 0x6, 0x0, 0xe, 0x0, 0xc, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xc0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x1, 0xe0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xe0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xe0, 0xe, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xf0, 0x1e, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x70, 0x3c, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x7f, 0xf8, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1f, 0xe0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
};

static const unsigned char PROGMEM hat[] =
{
  0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0,
  0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0,
  0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0,
  0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0,
  0x0, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0,
  0x0, 0x1, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc4, 0x0, 0x0,
  0x0, 0x7, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x0, 0x0,
  0x0, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe0, 0x0,
  0x0, 0x7e, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xf0, 0x0,
  0x1, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xfc, 0x0,
  0x3, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xfe, 0x0,
  0xf, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0x80,
  0x1f, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xc0,
  0x1f, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xc0,
  0x3f, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xe0,
  0x7f, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xf0,
  0x7f, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xf0,
  0xff, 0xfe, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3, 0xff, 0xf8,
  0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7, 0xff, 0xf8,
  0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xf8,
  0xff, 0xff, 0xf8, 0x1, 0xff, 0xff, 0xff, 0x0, 0xff, 0xff, 0xf8,
  0xff, 0xff, 0xff, 0x80, 0x7, 0xff, 0xc0, 0x3, 0xff, 0xff, 0xf8,
  0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xf8,
  0x7f, 0xff, 0xff, 0xff, 0x80, 0x0, 0x3, 0xff, 0xff, 0xff, 0xf0,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0x81, 0xff, 0xff, 0xff, 0xff, 0xf0,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
  0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
  0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0,
  0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0,
  0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0,
  0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0,
  0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0
};

static const unsigned char PROGMEM what[] =
{
  0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1, 0xfc, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x6, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x2, 0x2, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x6, 0x3, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x6, 0x3, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x6, 0x3, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x6, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0x8e, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x1f, 0xff, 0xc0, 0x0, 0x0,
  0x0, 0x0, 0x7f, 0xff, 0xf0, 0x0, 0x0,
  0x0, 0x0, 0xff, 0xff, 0xfc, 0x0, 0x0,
  0x0, 0x3, 0xff, 0xff, 0xfe, 0x0, 0x0,
  0x0, 0x7, 0xff, 0xff, 0xff, 0x0, 0x0,
  0x0, 0x0, 0x3f, 0xff, 0xff, 0x80, 0x0,
  0x0, 0x0, 0x3f, 0xff, 0xff, 0xc0, 0x0,
  0x0, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x0,
  0x0, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x0,
  0x0, 0x0, 0xff, 0xff, 0xff, 0xf0, 0x0,
  0x0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
  0x1, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0,
  0x3, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0,
  0x3, 0xfe, 0x7f, 0x8f, 0xf3, 0xfe, 0x0,
  0x7, 0xfc, 0x3f, 0x7, 0xe1, 0xff, 0x0,
  0x7, 0xf9, 0x9e, 0x23, 0xcc, 0xff, 0x0,
  0x7, 0xf3, 0xcc, 0x71, 0x9e, 0x7f, 0x0,
  0x7, 0xe7, 0xe0, 0xf8, 0x3f, 0x3f, 0x0,
  0xf, 0xcf, 0xf1, 0xfc, 0x7f, 0x9f, 0x80,
  0xf, 0xc7, 0xe1, 0xfc, 0x3f, 0x1f, 0x80,
  0xf, 0xe3, 0xc4, 0xf9, 0x1e, 0x3f, 0x80,
  0xf, 0xf1, 0x8e, 0x73, 0x8c, 0x7f, 0x80,
  0xf, 0xf8, 0x1f, 0x27, 0xc0, 0xff, 0x80,
  0xf, 0xfc, 0x3f, 0x8f, 0xe1, 0xff, 0x80,
  0xf, 0xfe, 0x7f, 0xdf, 0xf3, 0xff, 0x80,
  0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
  0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18,
  0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18,
  0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38,
  0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
  0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0
};

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  Serial1.begin(9600);
  display.begin(SSD1306_SWITCHCAPVCC);
  lcd.begin(16, 2);

  pinMode(bri, OUTPUT);
  pinMode(scroll, INPUT);


  //display setup
  analogWrite(bri, 255);
  lcd.setCursor(2, 0);
  display.clearDisplay();
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(0, 0);
  display.dim(true);
  display.display();

  //setup message
  Serial.println("=====What You Need Setup=====");
  Serial.println("Enter \'y\' to start [y]");
  analogWrite(bri, 255);
  lcd.print("Please open a");
  lcd.setCursor(3, 1);
  lcd.print("Serial port");
  display.drawBitmap(0, 2, usbIcon, 128, 62, 1);
  display.display();
  inin = 255;
  unsigned int fade = 5;
  while (true) {
    analogWrite(bri, inin);
    inin -= fade;

    if (inin == 5 || inin == 255) {
      fade *= -1;
    }
    if (Serial.available() > 0)
      break;

    delay(20);
  }

  lcd.clear();
  display.clearDisplay();
  display.display();
  analogWrite(bri, 0);

  //Setup setting
  while (true) {
    for (int l = 0; l < 500; l++)
      Serial.println("");
    Serial.println("\nType in the option\'s number and press <Enter>");
    Serial.println("NOTE: always press <enter> to submit what you entered");
    Serial.println("\n1) Use default preset");
    Serial.println("  >> 70+ : T-shirt");
    Serial.println("  >> 40 - 70 : Light jacket");
    Serial.println("  >> 40- : \"Winter\" coat");
    Serial.println("2) Set personal prefrences");

    while (Serial.available() == 0);
    inin = Serial.read();

    if (inin == 49) {
      Serial.println("Using presets");
      delay(1000);
      break;
    }
    else if (inin == 50) {
      Serial.println("Starting personal setup process...");
      delay(750);
      for (int l = 0; l < 500; l++)
        Serial.println("");

      while (true) {
        Serial.println("\nWhat\'s the lowest temperature that you\'ll still wear a T-shirt?");
        while (Serial.available() == 0);
        stin = Serial.readString();
        Serial.println("Lowest temp: " + stin + "? [y,n]");
        while (Serial.available() == 0);
        inin = Serial.read();
        if (inin == 121) {
          Serial.println("Temp Set");
          tshirt = stin.toInt();
          delay(750);
          break;
        }
        else
          for (int l = 0; l < 500; l++)
            Serial.println("");
      }
      for (int l = 0; l < 500; l++)
        Serial.println("");;

      while (true) {
        Serial.println("\nWhat\'s the highest temperature that you\'ll still wear a \"winter\" coat?");
        while (Serial.available() == 0);
        stin = Serial.readString();
        Serial.println("Highest temp: " + stin + "? [y,n]");
        while (Serial.available() == 0);
        inin = Serial.read();
        if (inin == 121) {
          Serial.println("Temp Set");
          jacket = stin.toInt();
          delay(750);
          break;
        }
        else
          for (int l = 0; l < 500; l++)
            Serial.println("");
      }

      Serial.println("\nYour temperature setting has been set to:");
      Serial.println("  >> " + String(tshirt) + "+ : T-shirt");
      Serial.println("  >> " + String(jacket) + " - " + String(tshirt) + " : light jacket");
      Serial.println("  >> " + String(jacket) + "- : heavy jacket");
      break;
    }
    else {
      Serial.println(String(inin - 48) + " wasn't an option, please choose again");
      delay(1500);
    }
  }
  for (int l = 0; l < 500; l++)
    Serial.println("");


  Serial.println("=====Time setup=====");
  unsigned int ssec, mmin, hhrs; //sec, min, hrs
  while (true) {
    Serial.println("Enter the current Hour (24hr)");
    while (Serial.available() == 0);
    stin = Serial.readString();
    Serial.println("Set hour to " + stin + "? [y/n]");
    while (Serial.available() == 0);
    inin = Serial.read();
    if (inin == 121) {
      hhrs = stin.toInt();
      break;
    }
  }
  while (true) {
    Serial.println("Enter the current minute");
    while (Serial.available() == 0);
    stin = Serial.readString();
    Serial.println("Set minute to " + stin + "? [y/n]");
    while (Serial.available() == 0);
    inin = Serial.read();
    if (inin == 121) {
      mmin = stin.toInt();
      break;
    }
  }
  Serial.println("Enter the current seconds (don\'t worry too much about accuracy)");
  while (Serial.available() == 0);
  stin = Serial.readString();
  ssec = stin.toInt();

  setTime(hhrs, mmin, ssec, 1, 1, 2017);

  for (int l = 0; l < 500; l++)
    Serial.println("");

  Serial.println("END OF SETUP.\n ALL TEXT SHOWN AFTER THIS MESSAGE ARE DEBUGGING OR FOR THE OMEGA2\nENJOY!");


  //Legal Message
  analogWrite(bri, 255);
  lcd.setCursor(3, 0);
  lcd.print("Powered By");
  lcd.setCursor(4, 1);
  lcd.print("Dark Sky");
  display.clearDisplay();
  display.setCursor(0, 0);
  display.drawBitmap((128 - darkskyWidth) / 2, 0, darkskyIcon, darkskyWidth, 64, 1);
  display.display();
  delay(2000);
  analogWrite(bri, 100);
  display.clearDisplay();
  display.display();
  lcd.clear();

  while (true) {
    Serial1.print("ReadyToStart");
    if (Serial1.available() > 0) {
      inin = Serial1.read();
      if (inin == 121)
        break;
    }
    delay(25);
  }
}

void loop() {
  // Display time
  if (pmin != minute()) {
    lcd.setCursor(0, 0);
    pmin = minute();
    boolean pm = true;

    int thour = hour();
    if (thour > 12)
      thour -= 12;
    else if (thour < 12)
      pm = false;
    if (thour < 10)
      lcd.print("0" + String(thour));
    else
      lcd.print(thour);
    lcd.print(":");

    if (minute() < 10)
      lcd.print("0" + String(minute()));
    else
      lcd.print(minute());

    if (pm)
      lcd.print("PM");
    else
      lcd.print("AM");
  }

  if (Serial1.available() > 0) {
    inin = Serial1.read();
    if (inin == 117) {
      wupdt();
      pages = 1, prevPage = 1;
      first = true;
      wyn();
    }
  }


  if (prevPage != curPage || first) {
    if (curPage > prevPage)
      rightClear();
    else if (curPage < prevPage)
      leftClear();

    display.setCursor(0, 0);
    display.setTextSize(1);
    display.print(String(curPage) + "/" + String(pages));
    if (curPage == 1)
      rightArrow();
    else if (curPage == pages)
      leftArrow();
    else {
      rightArrow();
      leftArrow();
    }

    switch (curPage) {
      case 1:
        sumPage();
        break;
      case 2:
        wearPage();
        break;
      case 3:
        if (wn[3])
          glassPage();
        else if (wn[4] || wn[5] || wn[6])
          exposPage();
        else if (wn[7])
          sunblockPage();
        else if (wn[8])
          umbPage();
        else
          hatPage();
        break;
      case 4:
        if (wn[4] || wn[5] || wn[6])
          exposPage();
        else if (wn[7])
          sunblockPage();
        else if (wn[8])
          umbPage();
        else
          hatPage();
        break;
      case 5:
        if (wn[7])
          sunblockPage();
        else if (wn[8])
          umbPage();
        else
          hatPage();
        break;
      case 6:
        if (wn[8])
          umbPage();
        else
          hatPage();
        break;
      case 7:
        hatPage();
        break;
    }

    prevPage = curPage;
    if (first)
      first = false;
    display.display();
  }

  curPage = map(analogRead(scroll), 0, 1023, 1, pages);
  delay(20);
}

void wupdt() {
  lcd.setCursor(8, 0);
  lcd.print("Updating");
  lcd.setCursor(0, 1);
  lcd.print("                ");
  lcd.setCursor(0, 1);

  Serial1.print("sUpdate");
  lcd.print("*");
  while (Serial.available() == 0);
  inin = Serial.read();
  lcd.print("*");

  Serial1.print("uTemp");
  lcd.print("*");
  while (Serial1.available() == 0);
  stin = Serial1.readString();
  lcd.print("*");
  data[0] = int(round(stin.toFloat()));

  Serial1.print("uHum");
  lcd.print("*");
  while (Serial1.available() == 0);
  stin = Serial1.readString();
  lcd.print("*");
  data[1] = int(stin.toFloat() * 100);

  Serial1.print("uCloud");
  lcd.print("*");
  while (Serial1.available() == 0);
  stin = Serial1.readString();
  lcd.print("*");
  data[2] = int(stin.toFloat() * 100);

  Serial1.print("uUV");
  lcd.print("*");
  while (Serial1.available() == 0);
  stin = Serial1.readString();
  lcd.print("*");
  data[3] = stin.toInt();

  Serial1.print("uSum");
  lcd.print("**");
  while (Serial1.available() == 0);
  stin = Serial1.readString();
  lcd.print("**");
  data[4] = stin.toInt();

  lcd.setCursor(8, 0);
  if (data[0] > 99 || data[0] < 0)
    lcd.print("  ");
  else
    lcd.print("   ");
  lcd.print(String(data[0]));
  lcd.print((char)223);
  lcd.print("F ");

  lcd.setCursor(0, 1);
  lcd.print(" UVi:" + String(data[3]) + " ");

  if (data[2] < 100)
    lcd.print(" ");
  lcd.print("Cld:" + String(data[2]) + "%");
  lcd.setCursor(0, 1);
}
void wyn() {
  if (data[0] >= tshirt)
    wn[0] = true;
  else if (data[0] < tshirt && data[0] >= jacket)
    wn[1] = true;
  else
    wn[2] = true;

  if (data[3] < 6 && data[2] <= 30)
    wn[3] = true;
  else if (data[3] > 5)
    wn[3] = true;

  if ((data[3] == 6 || data[3] == 7) && (hour() >= 10 && hour() <= 16))
    wn[4] = true;
  else if ((data[3] >= 8 && data[3] <= 10) && (hour() >= 10 && hour() <= 16))
    wn[5] = true;
  else if ((data[3] >= 11) && (hour() >= 10 && hour() <= 14))
    wn[6] = true;

  if (data[3] > 2)
    wn[7] = true;

  if (data[4] == 3 || (data[2] >= 80 && data[1] >= 75))
    wn[8] = true;

  if (data[3] >= 3 && data[3] <= 5 && data[2] <= 30 && data[0] >= jacket)
    wn[9] = true;
  else if (data[3] >= 6 && data[0] >= jacket)
    wn[9] = true;
  else if (data[0] <= 40)
    wn[10] = true;

  for (int l = 0; l < 11; l++)
    if (wn[l])
      pages++;

  rightArrow();
}

void hatPage() {
  String hhat = "";
  boolean hatSpace = true;

  if (wn[10]) {
    hhat = "winter ";
    hatSpace = false;
    display.drawBitmap(37, 0, what, 53, 53, 1);
  } else {
    display.drawBitmap(21, 0, hat, 85, 53, 1);
  }

  display.setCursor(0, 56);
  display.setTextSize(1);
  if (hatSpace)
    display.print("     ");
  else
    display.print("  ");
  display.print("Wear a " + hhat + "hat");
  display.display();
}
void umbPage() {
  display.drawBitmap(34, 0, umbrella, 59, 53, 1);

  display.setCursor(0, 56);
  display.setTextSize(1);
  display.print("  Bring an Umbrella");
  display.display();
}
void sunblockPage() {
  display.drawBitmap(50, 0, sunblock, 27, 53, 1);

  display.setCursor(0, 56);
  display.setTextSize(1);
  display.print("Wear SPF 30+ sunblock");
  display.display();
}
void exposPage() {
  String expos;
  boolean exposSpace = true;

  if (wn[4]) {
    expos = "Reduce";
    display.drawBitmap(39, 0, reduce, 49, 53, 1);
  }
  else if (wn[5]) {
    expos = "Minimize";
    exposSpace = false;
    display.drawBitmap(37, 0, minimize, 53, 53, 1);
  } else if (wn[6]) {
    expos = "Avoid";
    display.drawBitmap(34, 0, avoid, 60, 52, 1);
  }

  display.setCursor(0, 56);
  display.setTextSize(1);
  if (exposSpace)
    display.print(" ");
  display.print(expos + " sun exposure");
  display.display();
}
void glassPage() {
  display.drawBitmap(19, 15, glasses, 90, 32, 1);

  display.setCursor(0, 56);
  display.setTextSize(1);
  display.print("   Wear sunglasses");
  display.display();
}
void wearPage() {
  String wear;
  boolean wearSpace = false;

  if (wn[0]) {
    wear = "T-shirt";
    wearSpace = true;
    display.drawBitmap(34, 0, ttshirt, 60, 53, 1);
  } else if (wn[1]) {
    wear = "Light jacket";
    display.drawBitmap(37, 0, ljacket, 53, 53, 1);
  }
  else {
    wear = "Winter coat";
    display.drawBitmap(37, 0, wjacket, 53, 53, 1);
  }

  display.setCursor(0, 56);
  display.setTextSize(1);
  if (wearSpace)
    display.print("   ");
  display.print("Wear a " + wear);
  display.display();
}
void sumPage() {
  String summ;
  int summSpace;
  switch (int(data[4])) { //display icon
    case 1:
      summ = "Clear Day";
      summSpace = 6;
      display.drawBitmap(37, 0, ClearDay, 54, 53, 1);
      break;
    case 2:
      summ = "Clear Night";
      summSpace = 5;
      display.drawBitmap(38, 0, ClearNight, 51, 53, 1);
      break;
    case 3:
      summ = "Rain";
      summSpace = 8;
      display.drawBitmap(36, 0, Rain, 56, 53, 1);
      break;
    case 4:
      summ = "Snow";
      summSpace = 8;
      display.drawBitmap(40, 0, Snow, 47, 53, 1);
      break;
    case 5:
      summ = "Sleet";
      summSpace = 8;
      display.drawBitmap(37, 0, Sleet, 53, 53, 1);
      break;
    case 6:
      summ = "Wind";
      summSpace = 8;
      display.drawBitmap(30, 0, Windy, 68, 53, 1);
      break;
    case 7:
      summ = "Fog";
      summSpace = 9;
      display.drawBitmap(19, 0, Foggy, 89, 53, 1);
      break;
    case 8:
      summ = "Cloudy";
      summSpace = 7;
      display.drawBitmap(32, 6, Cloudy, 63, 40, 1);
      break;
    case 9:
      summ = "Partly Cloudy Day";
      summSpace = 2;
      display.drawBitmap(37, 0, PartlyCloudyDay, 53, 53, 1);
      break;
    case 10:
      summ = "Partly Cloudy Night";
      summSpace = 1;
      display.drawBitmap(37, 0, PartlyCloudyNight, 53, 53, 1);
      break;
    case 11:
      summ = "Hail";
      summSpace = 8;
      display.drawBitmap(38, 0, Hail, 52, 53, 1);
      break;
    case 12:
      summ = "Thunderstorm";
      summSpace = 4;
      display.drawBitmap(39, 0, Thunderstorm, 49, 53, 1);
      break;
    case 13:
      summ = "Tornado";
      summSpace = 7;
      display.drawBitmap(40, 0, Tornado, 48, 53, 1);
      break;
  }
  display.setCursor(0, 56);
  display.setTextSize(1);
  for (int l = 0; l < summSpace; l++)
    display.print(" ");
  display.print(summ);
  display.display();
}
void leftArrow() {
  display.drawLine(1, 13, 13, 27, WHITE);
  display.drawLine(1, 43, 13, 27, WHITE);
}

void rightArrow() {
  display.drawLine(127, 13, 115, 27, WHITE);
  display.drawLine(127, 43, 115, 27, WHITE);
}

void leftClear() {
  for (int l = 0; l < 4; l++) {
    display.fillRect(l * 32, 0, 32, 64, WHITE);
    display.display();
    delay(1);
  }
  display.clearDisplay();
  display.fillScreen(WHITE);
  for (int l = 0; l < 4; l++) {
    display.fillRect(l * 32, 0, 32, 64, BLACK);
    display.display();
    delay(1);
  }
  display.clearDisplay();
}
void rightClear() {
  for (int l = 3; l > -1; l--) {
    display.fillRect(l * 32, 0, 32, 64, WHITE);
    display.display();
    delay(1);
  }
  display.clearDisplay();
  display.fillScreen(WHITE);
  for (int l = 3; l > -1; l--) {
    display.fillRect(l * 32, 0, 32, 64, BLACK);
    display.display();
    delay(1);
  }
  display.clearDisplay();
}

Omega Code

Python
To connect to Losant and send data to the Arduino
import time
import serial
from losantmqtt import Device

device = Device("xxxxx","xxxxx-xxxxx-xxxxx-xxxxx","xxxxx")
ser = serial.Serial(port='/dev/ttyS1', baudrate=9600, timeout=None)


def on_command(device, command):
	payload = ""
	spayload = ""
	print "Update recieved:"
	print command["name"]
	if command["name"] == "update":
		payload = str(command["payload"])
		print payload
	else:
		spayload = str(command["payload"])
		print spayload

	if spayload != "":
		intData = {"humi":"", "uvin":"","temp":"", "clco":""}
		summ = 0

		com=0
		for l in payload:
			if l != ",":
				com+=1
			else:
				break
		intData["humi"] = payload[10:com]

		payload = payload[com+11 : len(payload)]
		com=0
		for l in payload:
			if l != ",":
				com+=1
			else:
				break
		intData["uvin"] = payload[0 : com]

		payload = payload[com+11 : len(payload)]
		com=0
		for l in payload:
			if l != ",":
				com+=1
			else:
				break
		intData["temp"] = payload[0 : com]

		intData["clco"] = payload[com+11 : len(payload)-1]

		summ = spayload[9 : len(spayload)-1]
		print ""
		print summ
		print intData
		
		ser.write("u")
		while True:
			inn= ser.read(ser.inWaiting())
			if inn == "sUpdate":
				ser.write("y")
				break
			ser.reset_input_buffer()

		while True:
			inn= ser.read(ser.inWaiting())
			if inn == "uTemp":
				break
			ser.reset_input_buffer()
		ser.write(intData["temp"])

		while True:
			inn= ser.read(ser.inWaiting())
			if inn == "uHum":
				break
			ser.reset_input_buffer()
		ser.write(intData["humi"])

		while True:
			inn= ser.read(ser.inWaiting())
			if inn == "uCloud":
				break
			ser.reset_input_buffer()
		ser.write(intData["clco"])

		while True:
			inn= ser.read(ser.inWaiting())
			if inn == "uUV":
				break
			ser.reset_input_buffer()
		ser.write(intData["uvin"])

		while True:
			inn= ser.read(ser.inWaiting())
			if inn == "uSum":
				break
			ser.reset_input_buffer()
		ser.write(str(summ))

device.add_event_observer("command", on_command)

device.connect(blocking = False)

print "Connected"

while True:
	inn= ser.read(ser.inWaiting())
	if inn == "ReadyToStart":
		ser.write("y")
		break
	ser.reset_input_buffer()

print "heard"
while True:	
	device.loop()
	time.sleep(0.03)

Credits

MicroBob

MicroBob

6 projects • 40 followers
DIY technology hobbyist
Contact

Comments