T-Watch. Menu, pages, navigation entre écrans avec TFT_eSPI • Domotique et objets connectés à faire soi-même

Dans ce tutoriel nous allons apprendre comment créer des menus (et des menus défilants) et naviguer entre les pages d’une application à l’aide de la librairie TFT_eSPI. Ce tutoriel est destiné en priorité aux montres ESP32 TTGO T-Watch de LilyGo. Moyennant quelques petites adaptations du code, vous pourrez l’utiliser pour d’autres projets Arduino avec un écran TFT classique.

La librairie TFT_eSPI est très facile à utiliser pour créer des menus et des éléments d’interface.

https://projetsdiy.fr/data/uploads/2020/11/TTGO-T-Watch-menu-screen-navigation-TFT-eSPI.mp4

Il est tout à fait possible d’utiliser conjointement la librairie TFT_eSPI et LVGL dans un projet d’application pour T-Watch.

Activer la librairie TFT_eSPI

Par défaut la librairie TFT_eSPI est intégrée et activée par la librairie LilyGoWatch. C’est d’ailleurs le cas quelque soit le modèle de T-Watch que vous utilisé. Il n’y a donc rien à faire de plus.

Au niveau programmation, il est plus facile de déclarer un pointeur vers l’objet au début du projet. De cette façon vous n’aurez pas besoin de re-déclarer à chaque fois la classe pour accéder aux fonctions de la librairie TFT_eSPI

TTGOClass *ttgo; // Pointeur vers l'API des périphériques de la montre
TFT_eSPI *tft;   // Pointeur vers les fonctions de la librairie TFT_eSPI

Dans le setup, on créé les objets ttgo et tft que l’on place dans les pointeurs créés au début du projet

void setup(){  
  ...
  ttgo = TTGOClass::getWatch();
  ttgo->begin();     
  tft = ttgo->tft;
  ...
}

Maintenant, vous pouvez accéder aux fonctions de gestion de l’écran n’importe où dans le projet.

Comment porter du code d’un projet Arduino avec la librairie TFT_eSPI ?

Il est tout à fait possible de porter du code développé pour un Arduino et l’adapter à la T-Watch.

Il faudra simplement remplacer tous les appels aux fonctions qui sont fait avec l’opérateur point (.) par l’opérateur flèche (->).

Préparer les icônes (images) XBM

Avant toute chose, il est nécessaire de convertir les images au format XBM de chaque icônes, et ce pour chaque résolution. En effet, la librairie TFT_eSPI ne propose aucune fonction pour redimensionner les images.

Vous trouverez sur le dépôt GitHub du projet plusieurs icônes aux formats PNG et XBM que vous pouvez utiliser dans vos projets. Elles sont disponibles dans plusieurs résolutions.

Icône Nom du fichier 80×80 32×32 30×30
Menu main 652t7epunbak5bwgywxr-9922787 wpwebutycelfcqrzx2n7-4104298 ymmtuxxxfwfp7ftvxcaq-2962691
WiFi wifi nsxvgovfat9lfrjtaxex-3902501 l5jsjjcermrqwgjunmi4-8738540
Bluetooth bluetooth xy8olulgcyohy2mv18wb-7200852 9r3n2spwvyut9cciirkq-2330252
Accéléromètre accel uqt8y5ehwqhhbazurg5q-2343745
GPS gps jmxz7mya8jceilq10qkt-2015672
Réglages settings s54l7ye2vxncf74rwdi9-7097532
Horloge clock tfw1yet9x6fe2qga2foe-2668896
Musique music z4nuyrj41vnbetzfzhbe-7586596
Outils tools
Sortie exit

Il est très facile de fabriquer vos propres icônes monochrome en convertissant une image au format XBM. Lisez ce tutoriel qui explique en détail comment faire.

Organisation des pages et menus de l’application T-Watch

Bien évidemment, nous n’allons pas développer l’intégralité de l’application dans ce tutoriel. Nous allons nous concentrer sur les menus et la navigation entre les pages (écrans) de l’application que voici.

  • Le haut de la page principale est occupée par une barre d’état. L’icône de gauche permet d’accéder au menu défilant pour accéder à une page de l’application. Le menu de droite est identique. Chaque option est précédée d’un icône de 30×30 pixels monochrome.
  • Au centre de la page, on trouve une icône qui permet d’accéder au menu pleine page
  • Chaque page de l’application affiche simplement le titre dans la barre d’état

wyvgapgxpobgjzdsp1i8-4824162

Créer un menu en pleine page

Le premier menu que nous allons créer et un menu qui s’affiche en pleine page. Il est constitué de 4 boutons. Ici, pour sortir du menu, une icône est réservée à cette usage. On pourrait également utiliser un bouton ou l’accéléromètre (secouer pour revenir en arrière par exemple).

Pour créé un menu en pleine page, il suffit de dessiner les 4 boutons à leur position à l’aide de la méthode drawXBitmap() dont les paramètres sont les suivants :

  • Origine x, y de l’image
  • Tableau de point de l’image au format XBM (const unsigned char)
  • La largeur et la hauteur de l’image
  • La couleur de l’icône
  • La couleur de fond. En général, il est identique au fond de l’écran. Il suffit d’inverser les couleurs en cas de rendu erroné.

On reste dans une boucle while jusqu’à ce que la variable exitMenu passe à False.

En testant la position du doigt sur l’écran renvoyé par la fonction getTouch(), on peut en déterminer le bouton qui a été touché et renvoyer l’index correspondant.

int toolPageMenu(){
  tft->fillScreen(TFT_BLACK);  // efface la page précédente
  tft->drawXBitmap(25, 25, wifi, icon_width, icon_height, TFT_WHITE, TFT_BLACK);
  tft->drawXBitmap(130, 25, bluetooth, icon_width, icon_height, TFT_WHITE, TFT_BLACK);
  tft->drawXBitmap(25, 130, gps, icon_width, icon_height, TFT_WHITE, TFT_BLACK);
  tft->drawXBitmap(130, 130, menuexit, icon_width, icon_height, TFT_WHITE, TFT_BLACK);

  int16_t x, y, tx, ty;

  int mSelect; 
  // Permet de maintenir la page TFT_eSPI ouverte jusqu'à ce que l'utilisateur touche une option
  boolean exitMenu = false;   
  
  while (!exitMenu) {
    // Attend que l'utilisateur touche l'écran
    if (ttgo->getTouch(x, y)) { 
      while (ttgo->getTouch(tx, ty)) {} 
      int index = 0;
      if ( x < w / 2 && y < h / 2 ) {
        mSelect = 1;
        exitMenu = true;
      } else if ( x > w / 2 && y < h / 2 ) {
        mSelect = 2;
        exitMenu = true;
      } else if ( x < w / 2 && y > h / 2 ) {
        mSelect = 6;
        exitMenu = true;
      } else {
        exitMenu = true;
      } 
    }
  }
  menuOpened = false;

  // Renvoie l'index de la page désirée
  return mSelect;
}

Voici ce qu’on obtient avec cette fonction

ufvowlagmwpuxb1lgunk-1139818

Menu défilant avec icône à gauche (ou pas)

Contrairement à la librairie LVGL, la librairie TFT_eSPI ne “permet” (c’est déjà beaucoup !) que de dessiner des formes géométriques simples. Pour créer un menu vertical défilent, l’astuce consiste à redessiner le menu lorsqu’on touche le haut ou le bas de l’écran.

La fonction displayScrollingMenu() permet de surveiller l’action de l’utilisateur sur l’écran. Ici, le menu est constitué de trois cellules. On récupère les libellés des cellules à l’aide d’un pointeur. Dès que l’utilisateur touche une ligne du menu, on reconstruit celui-ci en modifiant la position du curseur mSelect à l’aide des méthodes createMenuList() ou createMenuListIcon().

refreshMenu().

int displayScrollingMenu(){
  int16_t x, y, tx, ty;
  int mSelect = menuSelected; // l'option sélectionnée, cellule centrale du menu
  boolean exitMenu = false;   // permet de laisser le menu à l'écran
    
  refreshMenu(menuSelected); // affiche le menu défilant vertical
  
  while (!exitMenu) {
    if (ttgo->getTouch(x, y)) { 
      // ON attend que l'écran soit relâché avant de se déplacer
      while (ttgo->getTouch(tx, ty)) {} 
      // L'utilisateur se déplace vers le bas du menu
      if (y >= 160 ) { 
        mSelect += 1;
        if (mSelect == appMax) mSelect = 0;
        refreshMenu(mSelect);
      }
      // L'utilisateur se déplace vers le haut du menu
      if (y  80 && y setTextDatum(TL_DATUM);  
  tft->setTextColor(TFT_WHITE);
  tft->setTextSize(2);
  tft->drawString(appName[pageindex], menuSize + 2 * menuPadding, menuPadding, 1);
  tft->drawFastHLine(0, menuSize + menuPadding, w, TFT_DARKGREY);
  createLeftMenuButton();
  createRightMenuButton();
}

Comme un écran est une simple fonction, on peut renvoyer simplement des paramètres la commande return. C’est ce qu’on fait par exemple pour sélectionner une option du menu.

int displayScrollingMenu(){
  ...
  return mSelect;
}

Code complet du projet

Le code complet du projet est disponible sur GitHub.

ptg2yfth5qixmt7ef9mr-8731178

/* Arduino IDE - un-comment your watch */
#define LILYGO_WATCH_2019_WITH_TOUCH
//#define  LILYGO_WATCH_2019_NO_TOUCH
//#define LILYGO_WATCH_BLOCK
//#define LILYGO_WATCH_2020_V1
#include 
#include "icones.h"             

//  Pointeurs 
TTGOClass *ttgo;
TFT_eSPI *tft;

//*************************//
//*       Prototypes      *//
//*************************//
void goToPage(int pageindex);
void createMainPage();
void createPage(int pageindex);
void createLeftMenuButton();
void createRightMenuButton();
String isMenuTouched(int x, int y);
int displayScrollingMenu();
void createMenuList(int mSel);
void createMenuListIcon(int mSel);
const unsigned char* getMenuIcon(int icoIndex);
//*************************//
//*   STATIC VARIABLES    *//
//*************************//
int w, h;           //  résolution de l'écran
int pageindex = 0;  //  page à afficher

#define menuSize 30
#define menuPadding 10
bool menuOpened = false;
//  Pages de l'application
const int appMax = 9; 
String appName[appMax] = {"Main", "WiFi", "Bluetooth", "Accel", "Settings", "Clock", "GPS", "Music", "Tools"}; 

int menuSelected = 0;
String menuType = "list";  //  Type de menu à afficher (liste ou icone)

void setup() {
  Serial.begin(115200);
  // Get ttgo object and set up the display | Récupère l'objet et allume l'écran
  ttgo = TTGOClass::getWatch();
  ttgo->begin();     
  ttgo->openBL();

  //  Accès facile aux fonctions de la librairie TFT 
  tft = ttgo->tft;
  //tft->setRotation(0);
  tft->fillScreen(TFT_BLACK);

  // Récupère le résolution de l'écran
  w = tft->width();     // width  | largeur
  h = tft->height();    // height | hauteur
  
  createMainPage();   //  affiche la page principale au démarrage
}

void loop() {
  // Attend que l'utilisateur touche un bouton de menu
  int16_t x, y, tx, ty;
  if (ttgo->getTouch(x, y)) {
    while (ttgo->getTouch(tx, ty)) {} // wait until you stop touching
    String menuindex = isMenuTouched(x, y);
    // Left menu, scrolling list
    // Menu de gauche, liste défilante
    if  ( menuindex  == "leftmenu" ) {
      menuType = "list";
      menuSelected = displayScrollingMenu();
      goToPage(menuSelected);
    // Ouvre le menu droit (liste avec icone)  
    } else if ( menuindex == "rightmenu" ) {
      Serial.println("right menu ");
      menuType = "icon";
      menuSelected = displayScrollingMenu();
      goToPage(menuSelected);
    // Menu central en pleine page constitué de 4 boutons  
    } else if ( menuindex == "mainmenu" ) { 
      Serial.println("display tool page"); 
      menuSelected = toolPageMenu();
      goToPage(menuSelected);
    }   
  } 
}
//*************************//
//*    Scrolling Menu     *//
//*************************//
// Affiche le menu défilant
int displayScrollingMenu(){
  int16_t x, y, tx, ty;
  int mSelect = menuSelected; // The currently highlighted app
  boolean exitMenu = false;   // used to stay in the menu until user selects app
    
  refreshMenu(menuSelected); //  affiche le menu défilant vertical
  
  while (!exitMenu) {
    if (ttgo->getTouch(x, y)) { // If you have touched something...
      while (ttgo->getTouch(tx, ty)) {} // wait until you stop touching

      // L'utilisateur se déplace vers le bas du menu
      if (y >= 160 ) { 
        mSelect += 1;
        if (mSelect == appMax) mSelect = 0;
        refreshMenu(mSelect);
      }
      // L'utilisateur se déplace vers le haut du menu
      if (y  80 && y tft->fillScreen(TFT_BLACK);
  menuOpened = false;

  return mSelect;
}
//*************************//
//*    Menus Helpers      *//
//*************************//
// L'utilisateur s'est déplacé dans le menu, on reconstruit le menu
void refreshMenu(int selectPosition){
  if ( menuType == "list" ) {
    // List menu | Menu liste
    createMenuList(selectPosition);
  } else {
    // Icon | menu icône
    createMenuListIcon(selectPosition);
  }
}
// Construit les 3 lignes visibles du menu défilant liste
void createMenuList(int mSel) {
  Serial.printf("createMenuList %u", mSel);
  menuOpened = true;
  // Application
  int curSel = 0;   
  // On colorie le fond de l'écran en bleue
  ttgo->tft->fillScreen(TFT_BLUE);
  // The central rectangle in black to simulate the list
  // Le rectangle central en noir pour simuler la liste
  ttgo->tft->fillRect(0, 80, 239, 80, TFT_BLACK);

  // Affiche le libellé des 3 applications à l'écran
  if (mSel == 0) curSel = appMax - 1;
  else curSel = mSel - 1;

  // Première ligne du menu déroulant
  ttgo->tft->setTextSize(2);
  ttgo->tft->setTextColor(TFT_GREEN);
  ttgo->tft->setCursor(50, 30);
  ttgo->tft->println(appName[curSel]);

  // Ligne centrale (option sélectionnée)
  ttgo->tft->setTextSize(3);
  ttgo->tft->setTextColor(TFT_RED);
  ttgo->tft->setCursor(40, 110);
  ttgo->tft->println(appName[mSel]);

  // Dernière ligne du menu
  if (mSel == appMax - 1) curSel = 0;
  else curSel = mSel + 1;

  ttgo->tft->setTextSize(2);
  ttgo->tft->setTextColor(TFT_GREEN);
  ttgo->tft->setCursor(50, 190);
  ttgo->tft->print(appName[curSel]);
}
// Construit les 3 lignes visibles du menu défilant liste avec icône monochrome (fichier XMB)
void createMenuListIcon(int mSel) {
  menuOpened = true;
  int curSel = 0;
  // Créé un fond bleu avec une ligne noire au milieu
  ttgo->tft->fillScreen(TFT_BLUE);
  ttgo->tft->fillRect(0, 80, 240, 80, TFT_BLACK);

  // Première ligne du menu déroulant
  if (mSel == 0) curSel = appMax - 1;
  else curSel = mSel - 1;
  
  ttgo->tft->setTextSize(2);
  ttgo->tft->setTextColor(TFT_WHITE);
  ttgo->tft->drawXBitmap(10, 20, getMenuIcon(curSel), 32, 32, TFT_WHITE, TFT_BLUE);
  ttgo->tft->setCursor(50, 30);
  ttgo->tft->println(appName[curSel]);

  // Ligne centrale (option sélectionnée)
  ttgo->tft->setTextSize(3);
  ttgo->tft->setTextColor(TFT_RED);
  ttgo->tft->drawXBitmap(10, 100, getMenuIcon(mSel), 32, 32, TFT_WHITE, TFT_BLACK);
  ttgo->tft->setCursor(50, 110);  // 40
  ttgo->tft->println(appName[mSel]);

  // Dernière ligne du menu
  if (mSel == appMax - 1) curSel = 0;
  else curSel = mSel + 1;

  ttgo->tft->setTextSize(2);
  ttgo->tft->setTextColor(TFT_WHITE);
  ttgo->tft->drawXBitmap(10, 180, getMenuIcon(curSel), 32, 32, TFT_WHITE, TFT_BLUE);
  ttgo->tft->setCursor(50, 190);
  ttgo->tft->print(appName[curSel]);
}
// Renvoie l'index du menu qui vient d'être touché
String isMenuTouched(int x, int y){
  String menuindex = "no";
  Serial.printf("isMenuTouched at %u:%u \n", x, y);
  if ( x fillScreen(TFT_BLACK);  // Fill background in black | colorie le fond de l'écran en noir
  tft->setTextDatum(TL_DATUM);  
  tft->setTextColor(TFT_WHITE);
  tft->setTextSize(2);
  tft->drawString(appName[pageindex], menuSize + 2 * menuPadding, menuPadding, 1);
  tft->drawFastHLine(0, menuSize + menuPadding, w, TFT_DARKGREY);
  createLeftMenuButton();
  createRightMenuButton();
}
void createLeftMenuButton(){
  for (size_t i = 0; i < 3; i++) {
    tft->fillRoundRect(menuPadding, menuPadding + i*8, menuSize, 4, 2, TFT_WHITE);
  }
}
void createRightMenuButton(){
    tft->drawXBitmap(w - 30 - menuPadding, menuPadding , menu30, 30, 30, TFT_WHITE, TFT_BLACK);
}
// Menu central en plein écran avec uniquement 4 boutons (wifi, bluetooth, GPS, sortie)
int toolPageMenu(){
  tft->fillScreen(TFT_BLACK);  // colorie le fond de l'écran en noir
  tft->drawXBitmap(25, 25, wifi, icon_width, icon_height, TFT_WHITE, TFT_BLACK);
  tft->drawXBitmap(130, 25, bluetooth, icon_width, icon_height, TFT_WHITE, TFT_BLACK);
  tft->drawXBitmap(25, 130, gps, icon_width, icon_height, TFT_WHITE, TFT_BLACK);
  tft->drawXBitmap(130, 130, menuexit, icon_width, icon_height, TFT_WHITE, TFT_BLACK);

  int16_t x, y, tx, ty;

  int mSelect = 0; 
  // Permet de maintenir la page TFT_eSPI ouverte jusqu'à ce que l'utilisateur touche une option
  boolean exitMenu = false;   
  
  while (!exitMenu) {
    // Attend que l'utilisateur touche l'écran
    if (ttgo->getTouch(x, y)) { 
      while (ttgo->getTouch(tx, ty)) {} 
      Serial.printf("toolPageMenu clicked %u %u\n", x, y);
      int index = 0;
      if ( x < w / 2 && y < h / 2 ) {
        mSelect = 1;
        exitMenu = true;
      } else if ( x > w / 2 && y < h / 2 ) {
        mSelect = 2;
        exitMenu = true;
      } else if ( x < w / 2 && y > h / 2 ) {
        mSelect = 6;
        exitMenu = true;
      } else {
        mSelect = 0;
        exitMenu = true;
      } 
    }
  }
  ttgo->tft->fillScreen(TFT_BLACK);
  menuOpened = false;

  // Renvoie l'index de la page désirée
  return mSelect;
}
#include   // PROGMEM support header

#define icon_width 80
#define icon_height 80
PROGMEM const unsigned char menu[] = {
  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, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x3F, 0x00,
  0x80, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0x00, 0xC0, 0xFF,
  0xFF, 0xFF, 0x07, 0xE0, 0xFF, 0xFF, 0xFF, 0x01, 0xE0, 0xFF, 0xFF, 0xFF,
  0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0x03, 0xE0, 0xFF, 0xFF, 0xFF, 0x0F, 0xF8,
  0xFF, 0xFF, 0xFF, 0x07, 0xF0, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF,
  0xFF, 0x07, 0xF0, 0x07, 0x00, 0xC0, 0x1F, 0xF8, 0x01, 0x00, 0xE0, 0x07,
  0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03,
  0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80,
  0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC,
  0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00,
  0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F,
  0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03,
  0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80,
  0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC,
  0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00,
  0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F,
  0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03,
  0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80,
  0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC,
  0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00,
  0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F,
  0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x07,
  0x00, 0xC0, 0x1F, 0xF8, 0x01, 0x00, 0xE0, 0x07, 0xF0, 0xFF, 0xFF, 0xFF,
  0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x07, 0xE0, 0xFF, 0xFF, 0xFF, 0x0F, 0xF8,
  0xFF, 0xFF, 0xFF, 0x07, 0xE0, 0xFF, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF,
  0xFF, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0x07, 0xE0, 0xFF, 0xFF, 0xFF, 0x01,
  0x80, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFE,
  0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x3F, 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, 0xF8,
  0xFF, 0x3F, 0x00, 0x00, 0xFE, 0xFF, 0x1F, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
  0x01, 0x80, 0xFF, 0xFF, 0x7F, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0xE0,
  0xFF, 0xFF, 0xFF, 0x01, 0xC0, 0xFF, 0xFF, 0xFF, 0x07, 0xF0, 0xFF, 0xFF,
  0xFF, 0x03, 0xE0, 0xFF, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0x03,
  0xE0, 0xFF, 0xFF, 0xFF, 0x0F, 0xF8, 0xFF, 0xFF, 0xFF, 0x07, 0xF0, 0x07,
  0x00, 0xC0, 0x1F, 0xF8, 0x03, 0x00, 0xF0, 0x07, 0xF0, 0x03, 0x00, 0x80,
  0x1F, 0xFC, 0x01, 0x00, 0xE0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC,
  0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00,
  0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F,
  0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03,
  0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80,
  0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC,
  0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00,
  0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F,
  0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03,
  0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80,
  0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC,
  0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00,
  0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F,
  0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03,
  0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80,
  0x1F, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0xFC,
  0x01, 0x00, 0xE0, 0x07, 0xF0, 0x07, 0x00, 0xC0, 0x1F, 0xF8, 0x03, 0x00,
  0xF0, 0x07, 0xE0, 0xFF, 0xFF, 0xFF, 0x0F, 0xF8, 0xFF, 0xFF, 0xFF, 0x07,
  0xE0, 0xFF, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0xFF,
  0xFF, 0xFF, 0x07, 0xF0, 0xFF, 0xFF, 0xFF, 0x03, 0x80, 0xFF, 0xFF, 0xFF,
  0x03, 0xE0, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x80,
  0xFF, 0xFF, 0x7F, 0x00, 0x00, 0xF0, 0xFF, 0x1F, 0x00, 0x00, 0xFC, 0xFF,
  0x0F, 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,
};
PROGMEM const unsigned char menuexit[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF,
  0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
  0x1F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00,
  0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00,
  0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0xFF,
  0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF,
  0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0x9B, 0xA6, 0x55, 0x69, 0xB9,
  0x7F, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00,
  0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,
  0xFC, 0x01, 0x00, 0x00, 0x00, 0x80, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x03,
  0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00,
  0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00,
  0x7F, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00,
  0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00,
  0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x01,
  0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00,
  0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
  0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFC, 0x03,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0xFC, 0x01, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xFE, 0x07, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC,
  0x1F, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x1F, 0x00,
  0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x3F, 0x00, 0xFC, 0x03,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x7F, 0x00, 0xFC, 0x01, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xC0, 0xFF, 0x01, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xFF, 0x07, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x07,
  0xFC, 0x01, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFC, 0x03,
  0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xFC, 0x01, 0x00, 0x80,
  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFC, 0x03, 0x00, 0x80, 0xFF, 0xFF,
  0xFF, 0xFF, 0xFF, 0x3F, 0xFC, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF,
  0xFF, 0x3F, 0xFC, 0x01, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F,
  0xFC, 0x03, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xFC, 0x01,
  0x00, 0x00, 0xDC, 0xDD, 0xB7, 0xDB, 0xFF, 0x0F, 0xFC, 0x03, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xFF, 0x07, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x80, 0xFF, 0x03, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
  0xFF, 0x01, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00,
  0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x7F, 0x00, 0xFC, 0x01,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x3F, 0x00, 0xFC, 0x01, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xFC, 0x0F, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC,
  0x07, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00,
  0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0xFC, 0x01,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0xFC, 0x01,
  0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00,
  0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00,
  0x7F, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00,
  0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00,
  0xFC, 0x03, 0x00, 0x00, 0x00, 0x80, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x03,
  0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00,
  0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00,
  0x7F, 0x00, 0x00, 0x00, 0xFC, 0x5B, 0xB5, 0xA5, 0x59, 0xAA, 0x7F, 0x00,
  0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
  0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0xFF,
  0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF,
  0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
  0x3F, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00,
  0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

PROGMEM const unsigned char wifi[] = {
  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, 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, 0x08, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x02, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF,
  0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF,
  0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
  0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00,
  0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0xF8,
  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0xFE, 0xFF, 0xFF,
  0x2B, 0xE4, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0x00,
  0xFC, 0xFF, 0xFF, 0x00, 0x80, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF,
  0xFF, 0x01, 0xE0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x07,
  0xF0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xF8, 0xFF,
  0x07, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x1F, 0xFC, 0xFF, 0x03, 0x00,
  0x00, 0x00, 0x00, 0x80, 0xFF, 0x3F, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xFF, 0x7F, 0xFC, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xFC, 0x3F, 0xF8, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x3F,
  0xF8, 0x0F, 0x00, 0x00, 0x68, 0x09, 0x00, 0x00, 0xF0, 0x0F, 0xF0, 0x07,
  0x00, 0x80, 0xFF, 0xFF, 0x01, 0x00, 0xE0, 0x07, 0xC0, 0x03, 0x00, 0xF0,
  0xFF, 0xFF, 0x0F, 0x00, 0x80, 0x03, 0xC0, 0x00, 0x00, 0xFE, 0xFF, 0xFF,
  0x7F, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00,
  0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00,
  0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF,
  0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
  0xFF, 0x7F, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x03, 0xE0, 0xFF, 0xFF,
  0x00, 0x00, 0x00, 0x80, 0xFF, 0x7F, 0x00, 0x00, 0xFE, 0xFF, 0x03, 0x00,
  0x00, 0x80, 0xFF, 0x1F, 0x00, 0x00, 0xF8, 0xFF, 0x01, 0x00, 0x00, 0x00,
  0xFF, 0x07, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03,
  0x00, 0x00, 0xC0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00,
  0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x1E,
  0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00,
  0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xF0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x1F,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x80, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
  0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF,
  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x03, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x80, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
  0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF,
  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xFC, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xF0, 0x0F, 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, 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,
};

PROGMEM const unsigned char bluetooth[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xC0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3F,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x7F, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xC0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF,
  0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x1F, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xEF, 0x7F, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xC0, 0xDF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xC0, 0x9F, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xC0, 0x0F, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x1F,
  0xFE, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x1F, 0xFC, 0x0F,
  0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x80, 0x0F, 0xF0, 0x0F, 0x00, 0x00,
  0x00, 0x00, 0x7E, 0x00, 0xC0, 0x1F, 0xF0, 0x1F, 0x00, 0x00, 0x00, 0x00,
  0xFE, 0x01, 0xC0, 0x1F, 0xE0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x01,
  0xC0, 0x0F, 0xC0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0xC0, 0x1F,
  0x80, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x07, 0xC0, 0x0F, 0xC0, 0x7F,
  0x00, 0x00, 0x00, 0x00, 0xF8, 0x0F, 0xC0, 0x1F, 0xE0, 0x3F, 0x00, 0x00,
  0x00, 0x00, 0xF0, 0x1F, 0xC0, 0x1F, 0xF0, 0x1F, 0x00, 0x00, 0x00, 0x00,
  0xE0, 0x7F, 0xC0, 0x1F, 0xF8, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x7F,
  0xC0, 0x0F, 0xFE, 0x07, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xC0, 0x1F,
  0xFE, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC3, 0x1F, 0xFF, 0x01,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xC3, 0xCF, 0xFF, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xFC, 0xCF, 0xDF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xF8, 0xCF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
  0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF,
  0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x07, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xF8, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x3F,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x3F, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x7F, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xFE, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
  0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF,
  0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x0F, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xF8, 0x8F, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xFC, 0xC7, 0xDF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC,
  0xC7, 0xCF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC1, 0x1F,
  0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xC1, 0x0F, 0xFE, 0x03,
  0x00, 0x00, 0x00, 0x00, 0xC0, 0x7F, 0xC0, 0x1F, 0xFC, 0x07, 0x00, 0x00,
  0x00, 0x00, 0xE0, 0x7F, 0xC0, 0x0F, 0xF8, 0x0F, 0x00, 0x00, 0x00, 0x00,
  0xF0, 0x1F, 0xC0, 0x1F, 0xF8, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x0F,
  0xC0, 0x1F, 0xE0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x0F, 0xC0, 0x1F,
  0xC0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0xC0, 0x0F, 0x80, 0x7F,
  0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0xC0, 0x1F, 0x80, 0x7F, 0x00, 0x00,
  0x00, 0x00, 0xFE, 0x00, 0xC0, 0x1F, 0xE0, 0x3F, 0x00, 0x00, 0x00, 0x00,
  0xFE, 0x00, 0xC0, 0x0F, 0xF0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00,
  0xC0, 0x1F, 0xF8, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x1F,
  0xFC, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0F, 0xFE, 0x03,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x1F, 0xFF, 0x03, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xC0, 0x9F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xC0, 0xCF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xC0, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF,
  0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xC0, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xC0, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x7F,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3F, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x1F, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
};

PROGMEM const unsigned char gps[] = {
  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, 0x18, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff,
  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x03, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x07, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xf8, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xf0, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff,
  0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0x01, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xfe, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xfc, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
  0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x3f,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x7f, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xfe, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff,
  0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x1f, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x0f, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xc0, 0xff, 0x83, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x80, 0xff, 0xe1, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
  0xe0, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xf8, 0xff,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xfc, 0xff, 0x01, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xfc, 0xff, 0x03, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
  0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff,
  0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x03, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x80, 0x9f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x80, 0x3f, 0xff, 0xff, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
  0xfe, 0x3f, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0x3f,
  0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf9, 0x0f, 0xff, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xf7, 0x0f, 0xff, 0x01, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xfc, 0xe7, 0xc3, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xfc, 0xcf, 0xc3, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
  0x9f, 0xf0, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x3f, 0xf0,
  0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x3f, 0xf0, 0xff, 0x3f,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0x7f, 0xe0, 0xff, 0x7f, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x7e, 0x80, 0xff, 0xff, 0x01, 0x00, 0x0e, 0x1c, 0x0c, 0x00,
  0x38, 0x00, 0xff, 0xff, 0x03, 0x00, 0x0c, 0x18, 0x1c, 0x00, 0x00, 0x00,
  0xfe, 0xff, 0x07, 0x00, 0x0e, 0x38, 0x3c, 0x00, 0x00, 0x00, 0xfc, 0xff,
  0x0f, 0x00, 0x1c, 0x38, 0x78, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x1f, 0x00,
  0x1c, 0x30, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x3f, 0x00, 0x18, 0x70,
  0xe0, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x7f, 0x00, 0x38, 0xf0, 0x80, 0x00,
  0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x38, 0xe0, 0x00, 0x00, 0x00, 0x00,
  0x80, 0xff, 0xff, 0x01, 0x70, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff,
  0xff, 0x03, 0x70, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x07,
  0xe0, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x0f, 0xe0, 0x01,
  0xfe, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x1f, 0xc0, 0x01, 0xf0, 0x00,
  0x00, 0x00, 0x00, 0xf0, 0xff, 0x1f, 0x80, 0x03, 0x80, 0x00, 0x00, 0x00,
  0x00, 0xe0, 0xff, 0x07, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
  0xff, 0x07, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x01,
  0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x01, 0x00, 0xf8,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0xf0, 0x03, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0xc0, 0x1f, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x10, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

PROGMEM const unsigned char accel[] = {
  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, 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, 0x80, 0x03, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0xf0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
   0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0xdf, 0xe7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xce,
   0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,
   0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0x07,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x0f, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0xf8, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0xf8, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0xfc, 0x01,
   0x00, 0x7e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x7c,
   0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x7c, 0x00, 0x00,
   0x80, 0x3f, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x80, 0x3f,
   0x00, 0x00, 0xfc, 0xf0, 0x1f, 0x7c, 0x00, 0x00, 0xc0, 0x1f, 0x00, 0x00,
   0xfc, 0xf8, 0x3f, 0x7c, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xf8,
   0x3f, 0x7c, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0x7c,
   0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0x7c, 0x00, 0x00,
   0xf8, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0x7c, 0x00, 0x00, 0xf0, 0xff,
   0xff, 0xff, 0xff, 0xf8, 0x3f, 0x7c, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff,
   0xff, 0xf8, 0x3f, 0x7c, 0x00, 0x00, 0xc0, 0x1f, 0x00, 0x00, 0xfc, 0xf0,
   0x3f, 0x7c, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0xfc, 0xf0, 0x1f, 0x7c,
   0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x7c, 0x00, 0x00,
   0x00, 0x7e, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x3c,
   0x00, 0x00, 0xf8, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,
   0xf8, 0x01, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff,
   0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x7f,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xc1, 0x01, 0x00, 0x00,
   0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xe3, 0x03, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0xf8, 0xe7, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0xf0, 0xef, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,
   0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x03,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x03, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0xe0, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,
   0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x03,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x03, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 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, 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,
};
PROGMEM const unsigned char clockico[] = {
  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, 0xD0, 0x1B, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xFE, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF,
  0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF,
  0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F,
  0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xEF, 0xFB, 0xFF, 0x1F, 0x00, 0x00,
  0x00, 0x00, 0xFE, 0x7F, 0xC0, 0x01, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00,
  0xFF, 0x1F, 0xC0, 0x01, 0xFC, 0x7F, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x07,
  0xC0, 0x03, 0xF0, 0xFF, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x03, 0xC0, 0x01,
  0xE0, 0xFF, 0x03, 0x00, 0x00, 0xE0, 0xFF, 0x06, 0x80, 0x01, 0x30, 0xFF,
  0x03, 0x00, 0x00, 0xF0, 0x3F, 0x0C, 0x00, 0x00, 0x10, 0xFE, 0x0F, 0x00,
  0x00, 0xF8, 0x1F, 0x08, 0x00, 0x00, 0x10, 0xF8, 0x0F, 0x00, 0x00, 0xFC,
  0x0F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x1F, 0x00, 0x00, 0xFC, 0x07, 0x00,
  0x00, 0x00, 0x00, 0xF0, 0x3F, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0x00,
  0x00, 0xC0, 0x3F, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0,
  0x7F, 0x00, 0x00, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7F, 0x00,
  0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x00, 0x80, 0xFF,
  0x03, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0x80, 0xFF, 0x0F, 0x00,
  0x00, 0x00, 0x00, 0xF0, 0xFF, 0x01, 0xC0, 0xBF, 0x0F, 0x00, 0x00, 0x00,
  0x00, 0xF8, 0xFE, 0x01, 0xC0, 0x3F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x70,
  0xFC, 0x01, 0xC0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0xFC, 0x03,
  0xE0, 0x1F, 0x80, 0x07, 0x00, 0x00, 0xE0, 0x01, 0xF8, 0x03, 0xE0, 0x0F,
  0xC0, 0x1F, 0x00, 0x00, 0xF8, 0x01, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3F,
  0x00, 0x00, 0xFF, 0x01, 0xF8, 0x07, 0xE0, 0x0F, 0x00, 0xFF, 0x00, 0x00,
  0xFF, 0x00, 0xF8, 0x07, 0xF0, 0x0F, 0x00, 0xFE, 0x03, 0xE0, 0x3F, 0x00,
  0xF0, 0x07, 0xF0, 0x07, 0x00, 0xF8, 0x0F, 0xF8, 0x1F, 0x00, 0xF0, 0x07,
  0xF0, 0x07, 0x00, 0xE0, 0xBF, 0xFD, 0x07, 0x00, 0xF0, 0x07, 0xF0, 0x07,
  0x00, 0xC0, 0xFF, 0xFF, 0x01, 0x00, 0xF0, 0x07, 0xF0, 0x07, 0x00, 0x00,
  0xFE, 0x7F, 0x00, 0x00, 0xF0, 0x0F, 0xF0, 0x7F, 0x00, 0x00, 0xFC, 0x1F,
  0x00, 0x00, 0xFF, 0x07, 0xF0, 0x7F, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00,
  0xFE, 0x0F, 0xF0, 0x07, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0xF0, 0x07,
  0xF0, 0x07, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0xF0, 0x07, 0xF0, 0x0F,
  0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xF0, 0x07, 0xE0, 0x07, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xF0, 0x07, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xF0, 0x07, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xF8, 0x07, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03,
  0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0xE0, 0x1F,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0xC0, 0x1F, 0x04, 0x00,
  0x00, 0x00, 0x00, 0x10, 0xFC, 0x03, 0xC0, 0x3F, 0x0F, 0x00, 0x00, 0x00,
  0x00, 0x78, 0xFC, 0x03, 0xC0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xF8,
  0xFF, 0x01, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x01,
  0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0x00, 0xFF,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x00, 0x00, 0xFF, 0x01, 0x00,
  0x00, 0x00, 0x00, 0x80, 0x7F, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x00, 0x00,
  0x00, 0xC0, 0x7F, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0x00, 0x00, 0xE0,
  0x3F, 0x00, 0x00, 0xFC, 0x07, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x1F, 0x00,
  0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x1F, 0x00, 0x00, 0xF8,
  0x1F, 0x08, 0x00, 0x00, 0x10, 0xFC, 0x0F, 0x00, 0x00, 0xF0, 0x3F, 0x0C,
  0x00, 0x00, 0x30, 0xFE, 0x07, 0x00, 0x00, 0xE0, 0xFF, 0x06, 0xC0, 0x01,
  0x30, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0xC0, 0x03, 0xE0, 0xFF,
  0x01, 0x00, 0x00, 0x80, 0xFF, 0x07, 0xC0, 0x01, 0xF0, 0xFF, 0x00, 0x00,
  0x00, 0x00, 0xFF, 0x1F, 0xC0, 0x01, 0xFC, 0xFF, 0x00, 0x00, 0x00, 0x00,
  0xFE, 0xFF, 0xC1, 0x81, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF,
  0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF,
  0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0x03,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xF0, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
  0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x05,
  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,
};
PROGMEM const unsigned char music[] = {
  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, 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, 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, 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,
  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, 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, 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, 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,
  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, 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, 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, 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,
  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,
};
PROGMEM const unsigned char settings[] = {
  0x00, 0x00, 0x00, 0x00, 0xFC, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x5F, 0xF9, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0xF0, 0x01, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x80, 0x0F, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x80, 0x0F, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x80,
  0x07, 0xF0, 0x01, 0xF0, 0x01, 0x00, 0x00, 0xC0, 0x3F, 0xC0, 0x07, 0xE0,
  0x01, 0xFC, 0x03, 0x00, 0x00, 0xE0, 0x7F, 0xE0, 0x07, 0xE0, 0x07, 0xFE,
  0x07, 0x00, 0x00, 0xF0, 0xFF, 0xFC, 0x07, 0xE0, 0xBF, 0xFF, 0x0F, 0x00,
  0x00, 0xF8, 0xFF, 0xFF, 0x07, 0xE0, 0xFF, 0xBF, 0x1F, 0x00, 0x00, 0xFC,
  0xF8, 0xFF, 0x03, 0xC0, 0xFF, 0x1F, 0x3F, 0x00, 0x00, 0x7E, 0xE0, 0x7F,
  0x00, 0x00, 0xFE, 0x07, 0x7F, 0x00, 0x00, 0x7F, 0xC0, 0x0F, 0x00, 0x00,
  0xF0, 0x03, 0xFC, 0x00, 0x00, 0x1F, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00,
  0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00,
  0x80, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x3F, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x7E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x3F, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xF8, 0x1F, 0x00, 0x00, 0x1F, 0x00,
  0x00, 0xF8, 0x01, 0x00, 0xFF, 0xFF, 0x00, 0x80, 0x1F, 0x00, 0x00, 0xF0,
  0x01, 0x80, 0xFF, 0xFF, 0x01, 0x80, 0x0F, 0x00, 0x00, 0xF8, 0x00, 0xE0,
  0xFF, 0xFF, 0x07, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0xF0, 0x5F, 0xFA,
  0x0F, 0x00, 0x1F, 0x00, 0x00, 0x7C, 0x00, 0xF8, 0x07, 0xE0, 0x1F, 0x00,
  0x1E, 0x00, 0x00, 0x7C, 0x00, 0xFC, 0x01, 0x80, 0x3F, 0x00, 0x3E, 0x00,
  0x00, 0x7C, 0x00, 0x7C, 0x00, 0x00, 0x3E, 0x00, 0x7E, 0x00, 0xE0, 0x3F,
  0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0xFC, 0x07, 0xFC, 0x3F, 0x00, 0x3F,
  0x00, 0x00, 0xFC, 0x00, 0xFC, 0x3F, 0xFE, 0x3F, 0x00, 0x1F, 0x00, 0x00,
  0xF8, 0x00, 0xF8, 0x7F, 0xFE, 0x1F, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00,
  0xF8, 0xFF, 0xFF, 0x02, 0x80, 0x0F, 0x00, 0x00, 0xF0, 0x01, 0x80, 0xFF,
  0x0F, 0x00, 0x80, 0x0F, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xF8, 0x1F, 0x00,
  0x80, 0x07, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xF0, 0x0F, 0x00, 0x80, 0x07,
  0x00, 0x00, 0xE0, 0x01, 0x00, 0xF8, 0x1F, 0x00, 0x80, 0x0F, 0x00, 0x00,
  0xE0, 0x01, 0x00, 0xF0, 0x1F, 0x00, 0x80, 0x0F, 0x00, 0x00, 0xE0, 0x01,
  0x00, 0xF0, 0x0F, 0x00, 0x80, 0x07, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xF8,
  0x1F, 0x00, 0x80, 0x07, 0x00, 0x00, 0xE0, 0x01, 0x00, 0xF0, 0x0F, 0x00,
  0x80, 0x0F, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xF8, 0x7F, 0x00, 0x80, 0x0F,
  0x00, 0x00, 0xF0, 0x01, 0x80, 0xFF, 0xFF, 0x0F, 0x00, 0x1F, 0x00, 0x00,
  0xF8, 0x00, 0xF8, 0xFF, 0xFE, 0x3F, 0x00, 0x1F, 0x00, 0x00, 0xF8, 0x00,
  0xFC, 0x7F, 0xFC, 0x3F, 0x00, 0x3F, 0x00, 0x00, 0xFC, 0x00, 0xFC, 0x3F,
  0xF0, 0x3F, 0x00, 0x7E, 0x00, 0x00, 0x7C, 0x00, 0xFC, 0x07, 0x00, 0x7E,
  0x00, 0x7C, 0x00, 0x00, 0x3F, 0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0xFC,
  0x01, 0x80, 0x3F, 0x00, 0x3E, 0x00, 0x00, 0x78, 0x00, 0xF8, 0x07, 0xE0,
  0x1F, 0x00, 0x3E, 0x00, 0x00, 0xF8, 0x00, 0xF0, 0x3F, 0xFC, 0x0F, 0x00,
  0x1F, 0x00, 0x00, 0xF8, 0x00, 0xE0, 0xFF, 0xFF, 0x07, 0x00, 0x1F, 0x00,
  0x00, 0xF0, 0x01, 0x80, 0xFF, 0xFF, 0x01, 0x80, 0x0F, 0x00, 0x00, 0xF0,
  0x01, 0x00, 0xFF, 0xFF, 0x00, 0x80, 0x0F, 0x00, 0x00, 0xF8, 0x01, 0x00,
  0xF8, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x3F, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00,
  0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x03, 0x00, 0x00,
  0xC0, 0x00, 0xF8, 0x00, 0x00, 0x3F, 0x80, 0x0F, 0x00, 0x00, 0xF0, 0x03,
  0xFE, 0x00, 0x00, 0x7E, 0xE0, 0x7F, 0x00, 0x00, 0xFE, 0x07, 0x7E, 0x00,
  0x00, 0xFC, 0xF0, 0xFF, 0x03, 0xC0, 0xFF, 0x0F, 0x3F, 0x00, 0x00, 0xF8,
  0xFD, 0xFF, 0x07, 0xC0, 0xFF, 0xBF, 0x1F, 0x00, 0x00, 0xF0, 0xFF, 0xFD,
  0x07, 0xE0, 0xBF, 0xFF, 0x0F, 0x00, 0x00, 0xE0, 0x7F, 0xF0, 0x07, 0xE0,
  0x07, 0xFE, 0x07, 0x00, 0x00, 0xC0, 0x3F, 0x80, 0x0F, 0xE0, 0x03, 0xFC,
  0x03, 0x00, 0x00, 0x80, 0x1F, 0x80, 0x07, 0xF0, 0x01, 0xF0, 0x01, 0x00,
  0x00, 0x00, 0x00, 0x80, 0x0F, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x80, 0x0F, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
  0x0F, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xF5,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xFC, 0x3F, 0x00, 0x00, 0x00, 0x00,
};
PROGMEM const unsigned char tools[] = {
  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, 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, 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, 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,
  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, 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, 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, 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,
  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, 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, 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, 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,
  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,
};
PROGMEM const unsigned char main32[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x1F, 0xF8, 0x0F,
  0xFC, 0x3F, 0xFC, 0x1F, 0x0C, 0x70, 0x0E, 0x30, 0x0C, 0x20, 0x06, 0x30,
  0x0C, 0x30, 0x06, 0x30, 0x0C, 0x60, 0x06, 0x30, 0x0E, 0x70, 0x06, 0x30,
  0x0C, 0x20, 0x06, 0x30, 0x0C, 0x30, 0x06, 0x30, 0x0C, 0x60, 0x06, 0x30,
  0x0C, 0x70, 0x06, 0x30, 0xFC, 0x3F, 0xFE, 0x3F, 0xF8, 0x3F, 0xFC, 0x0F,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x0D, 0xB0, 0x09,
  0xF8, 0x3F, 0xFC, 0x1F, 0x1C, 0x30, 0x4E, 0x3A, 0x0C, 0x70, 0x06, 0x30,
  0x0C, 0x20, 0x06, 0x30, 0x0C, 0x30, 0x06, 0x30, 0x0C, 0x60, 0x06, 0x30,
  0x0C, 0x60, 0x06, 0x30, 0x0C, 0x30, 0x06, 0x30, 0x0E, 0x60, 0x06, 0x30,
  0x0C, 0x60, 0x06, 0x30, 0x4C, 0x3A, 0x9E, 0x39, 0xF8, 0x3F, 0xFC, 0x1F,
  0xD0, 0x06, 0xA0, 0x09, 0x00, 0x00, 0x00, 0x00,
};
PROGMEM const unsigned char wifi32[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x05, 0x00, 0x00, 0xFE, 0x7F, 0x00,
  0x80, 0xFF, 0xFF, 0x01, 0xE0, 0xFF, 0xFF, 0x07, 0xF0, 0x0F, 0xF0, 0x1F,
  0xFC, 0x01, 0x80, 0x3F, 0x7E, 0x00, 0x00, 0x7E, 0x1E, 0x00, 0x00, 0x7C,
  0x0C, 0xE0, 0x0B, 0x30, 0x04, 0xFC, 0x3F, 0x20, 0x00, 0xFF, 0x7F, 0x00,
  0x80, 0xFF, 0xFF, 0x01, 0xC0, 0x1F, 0xF8, 0x03, 0xC0, 0x07, 0xE0, 0x03,
  0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00,
  0x00, 0xE0, 0x07, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x00, 0xF0, 0x0F, 0x00,
  0x00, 0xF0, 0x0F, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x00, 0xE0, 0x07, 0x00,
  0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
PROGMEM const unsigned char bluetooth32[] = {
  0x00, 0x00, 0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x0F, 0x00,
  0x00, 0x80, 0x1F, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x3B, 0x00,
  0x00, 0x80, 0xF3, 0x00, 0x80, 0x81, 0xE3, 0x01, 0x80, 0x03, 0xC3, 0x01,
  0x00, 0x8F, 0xE3, 0x01, 0x00, 0x9E, 0x73, 0x00, 0x00, 0x9C, 0x7B, 0x00,
  0x00, 0x78, 0x3F, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0xE0, 0x0F, 0x00,
  0x00, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x07, 0x00, 0x00, 0xE0, 0x07, 0x00,
  0x00, 0xF0, 0x0F, 0x00, 0x00, 0xB8, 0x3F, 0x00, 0x00, 0x3C, 0x7B, 0x00,
  0x00, 0x8E, 0xF3, 0x00, 0x00, 0x8F, 0xE3, 0x01, 0x80, 0x03, 0xC3, 0x01,
  0x80, 0x81, 0xE3, 0x01, 0x00, 0x80, 0x73, 0x00, 0x00, 0x00, 0x7B, 0x00,
  0x00, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x80, 0x0F, 0x00,
  0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00,
};
PROGMEM const unsigned char gps32[] = {
  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
  0x7c, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00,
  0xf8, 0x03, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00,
  0xc0, 0x1f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00,
  0x00, 0x9e, 0x03, 0x00, 0x00, 0xcc, 0x07, 0x00, 0x00, 0xe0, 0x0f, 0x00,
  0x00, 0xf0, 0x0f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0xee, 0x07, 0x00,
  0x00, 0xfc, 0x33, 0x00, 0x00, 0xb8, 0x79, 0x00, 0x00, 0x78, 0xfc, 0x00,
  0x00, 0x60, 0xfc, 0x01, 0x80, 0x40, 0xf8, 0x03, 0x12, 0x01, 0xf0, 0x07,
  0x22, 0x03, 0xe0, 0x0f, 0x42, 0x00, 0xc0, 0x1f, 0xc4, 0x00, 0x80, 0x3f,
  0x08, 0x01, 0x00, 0x3f, 0x18, 0x00, 0x00, 0x1e, 0x20, 0x00, 0x00, 0x1c,
  0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
PROGMEM const unsigned char accel32[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3c, 0x00,
  0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5a, 0x00,
  0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xff, 0x00,
  0x00, 0x80, 0xff, 0x01, 0x20, 0xc0, 0x81, 0x03, 0x30, 0xc0, 0x00, 0x03,
  0x38, 0xc0, 0x3c, 0x03, 0xfc, 0xff, 0x3c, 0x03, 0xfc, 0xff, 0x3c, 0x03,
  0x38, 0xc0, 0x3c, 0x03, 0x30, 0xc0, 0x00, 0x03, 0x00, 0x80, 0x83, 0x03,
  0x00, 0x80, 0xff, 0x03, 0x00, 0x00, 0x7e, 0x37, 0x00, 0x00, 0x00, 0x3e,
  0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x3e,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0
};
PROGMEM const unsigned char settings32[] = {
  0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x06, 0x00, 0x00, 0x20, 0x04, 0x00,
  0xc0, 0x30, 0x0c, 0x03, 0xe0, 0x35, 0xcc, 0x07, 0x70, 0x1f, 0xf8, 0x0c,
  0x18, 0x04, 0x40, 0x18, 0x18, 0x00, 0x00, 0x18, 0x30, 0x00, 0x00, 0x0c,
  0x20, 0xc0, 0x03, 0x0c, 0x60, 0xf0, 0x0f, 0x04, 0x30, 0x18, 0x18, 0x0c,
  0x18, 0x0c, 0x30, 0x2c, 0x1f, 0x0c, 0x20, 0xf8, 0x03, 0x06, 0x60, 0xc0,
  0x03, 0x06, 0x60, 0xc0, 0x03, 0x06, 0x60, 0x80, 0x03, 0x06, 0x60, 0xc0,
  0x1f, 0x04, 0x20, 0xf8, 0x38, 0x0c, 0x30, 0x1c, 0x30, 0x18, 0x1c, 0x0c,
  0x60, 0xf0, 0x0f, 0x04, 0x20, 0xc0, 0x03, 0x0e, 0x30, 0x00, 0x00, 0x0c,
  0x18, 0x00, 0x00, 0x18, 0x18, 0x02, 0x00, 0x18, 0x30, 0x1f, 0xf8, 0x0c,
  0xe0, 0x39, 0xac, 0x07, 0xc0, 0x20, 0x0c, 0x03, 0x00, 0x20, 0x04, 0x00,
  0x00, 0xe0, 0x06, 0x00, 0x00, 0xc0, 0x07, 0x00,
};
PROGMEM const unsigned char clock32[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x0F, 0x00,
  0x00, 0xFE, 0x7F, 0x00, 0x00, 0xBF, 0xFD, 0x00, 0xC0, 0x87, 0xE1, 0x01,
  0xE0, 0x03, 0xA0, 0x03, 0xE0, 0x00, 0x80, 0x07, 0x70, 0x00, 0x00, 0x0F,
  0x78, 0x00, 0x00, 0x1E, 0xF8, 0x00, 0x00, 0x1F, 0x1C, 0x00, 0x00, 0x1C,
  0x1C, 0x06, 0x60, 0x38, 0x1C, 0x1C, 0x38, 0x38, 0x0C, 0x30, 0x0C, 0x38,
  0x1C, 0xE0, 0x07, 0x38, 0x0C, 0x80, 0x03, 0x38, 0x1C, 0x00, 0x00, 0x38,
  0x1C, 0x00, 0x00, 0x38, 0x1C, 0x00, 0x00, 0x18, 0x98, 0x00, 0x00, 0x1D,
  0xF8, 0x00, 0x00, 0x1E, 0x38, 0x00, 0x00, 0x0E, 0x70, 0x00, 0x00, 0x0E,
  0xE0, 0x00, 0x00, 0x07, 0xC0, 0x07, 0xE0, 0x03, 0xC0, 0x87, 0xE0, 0x03,
  0x00, 0xBF, 0xFF, 0x00, 0x00, 0xFC, 0x7F, 0x00, 0x00, 0xF8, 0x0F, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
PROGMEM const unsigned char music32[] = {
  0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x40, 0x3f, 0x00, 0x00, 0xff, 0x7f,
  0x00, 0xf8, 0xff, 0x3f, 0x00, 0xf8, 0xff, 0x7f, 0x00, 0xf8, 0xff, 0x3f,
  0x00, 0xf8, 0xff, 0x7f, 0x00, 0xf8, 0x3f, 0x30, 0x00, 0xb8, 0x00, 0x60,
  0x00, 0x38, 0x00, 0x30, 0x00, 0x18, 0x00, 0x30, 0x00, 0x18, 0x00, 0x30,
  0x00, 0x38, 0x00, 0x30, 0x00, 0x18, 0x00, 0x30, 0x00, 0x38, 0x00, 0x30,
  0x00, 0x18, 0x00, 0x30, 0x00, 0x38, 0x00, 0x30, 0x00, 0x18, 0x00, 0x30,
  0x00, 0x38, 0x00, 0x30, 0x00, 0x18, 0x00, 0x31, 0x00, 0x38, 0xc0, 0x7f,
  0x00, 0x18, 0xf0, 0x3f, 0xc0, 0x3b, 0xf8, 0x3f, 0xf0, 0x1f, 0xf8, 0x7f,
  0xf8, 0x3f, 0xfc, 0x3f, 0xfc, 0x1f, 0xf8, 0x3f, 0xfc, 0x1f, 0xfc, 0x1f,
  0xfc, 0x1f, 0xf8, 0x0f, 0xfe, 0x1f, 0xf0, 0x07, 0xfc, 0x0f, 0x00, 0x00,
  0xf8, 0x03, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00,
};
PROGMEM const unsigned char tools32[] = {
  0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x07, 0x00, 0xE0, 0x07, 0x3E, 0x00,
  0xE0, 0x0F, 0xF0, 0x00, 0xC2, 0x0F, 0xE0, 0x01, 0x0E, 0x1F, 0xE0, 0x03,
  0x0E, 0x0F, 0xE0, 0x07, 0x3E, 0x1F, 0xE0, 0x07, 0xFE, 0x1F, 0xE0, 0x0F,
  0xFC, 0x1F, 0xF0, 0x1F, 0xFC, 0x3F, 0xF8, 0x1F, 0xF8, 0xFF, 0x3C, 0x7C,
  0x60, 0x7F, 0x1E, 0x78, 0x00, 0x3C, 0x0F, 0x38, 0x00, 0xB8, 0x07, 0x08,
  0x00, 0xC0, 0x03, 0x00, 0x00, 0xE0, 0x09, 0x00, 0x00, 0xE0, 0x1C, 0x00,
  0x00, 0x5C, 0x3E, 0x00, 0x00, 0x3E, 0xFF, 0x03, 0x00, 0x3F, 0xFE, 0x1F,
  0x80, 0x1F, 0xFC, 0x1F, 0xC0, 0x0F, 0xFC, 0x3F, 0xE0, 0x07, 0xF0, 0x7F,
  0xF0, 0x03, 0xF0, 0x7C, 0xFC, 0x03, 0xF8, 0x70, 0xFE, 0x00, 0xF8, 0x71,
  0xFE, 0x00, 0xF0, 0x21, 0x7C, 0x00, 0xE0, 0x03, 0x3C, 0x00, 0xE0, 0x0F,
  0x10, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00,
};
PROGMEM const unsigned char menu30[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x1F, 0xFC, 0x07,
  0xFC, 0x1F, 0xFF, 0x0F, 0x0C, 0x38, 0x03, 0x0C, 0x04, 0x30, 0x03, 0x0C,
  0x0E, 0x30, 0x03, 0x0C, 0x0C, 0x30, 0x03, 0x18, 0x0E, 0x30, 0x03, 0x0C,
  0x04, 0x30, 0x03, 0x0C, 0x0C, 0x30, 0x03, 0x1C, 0x0C, 0x30, 0x03, 0x0C,
  0xFC, 0x1F, 0xFE, 0x0F, 0xFC, 0x1F, 0xFE, 0x07, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x70, 0x07, 0xBC, 0x01, 0xFC, 0x1F, 0xFE, 0x0F,
  0x8C, 0x38, 0x07, 0x0E, 0x0C, 0x30, 0x03, 0x0C, 0x04, 0x30, 0x03, 0x08,
  0x0E, 0x30, 0x03, 0x0C, 0x0C, 0x30, 0x03, 0x1C, 0x04, 0x10, 0x03, 0x0C,
  0x0E, 0x30, 0x03, 0x08, 0x04, 0x30, 0x03, 0x0C, 0x4C, 0x39, 0x47, 0x0E,
  0xFC, 0x1F, 0xFE, 0x0F, 0x70, 0x07, 0x78, 0x01, 0x00, 0x00, 0x00, 0x00,
};