diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/ChangeLog b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/ChangeLog
index 1ee88d6cfc74c754c9de6a3aa64d15146569e9b6..9bf4b34edbf467fa60c7f595af5f317840de8935 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/ChangeLog
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/ChangeLog
@@ -107,7 +107,55 @@ u8glib ChangeLog
   * Sleep Mode
   * 4x mode for ST7920
   * New C++ interface for ST7920 
-
+2013-03-24	v1.12	  Oliver Kraus <olikraus@gmail.com>
+  * Added touch panel examples
+2013-06-30	v1.13	  Oliver Kraus <olikraus@gmail.com>
+  * Fixed missing "Arduino.h" in u8g_delay.c
+  * Disable interrupt for port/pin access (AVR), issue 19
+  * Support for HT1632: U8GLIB_HT1632_24X16 u8g(wr, data, cs), issue 165
+  * Support for SSD1351 OLED, issue 168
+  * Cleaned up several compiler warnings
+  * Fixed conflict with scheduler (Arduino Due), issue 155
+  * HW SPI for Arduino Due, issue 180
+  * Performance improvement for ST7920, issue 177
+  * Added ":" to the "n"umeric variant of the fonts, issue 166
+  * Added additional argument u8g_InitCom(). Use U8G_SPI_CLK_CYCLE_NONE by default.
+  * Added double buffer option for many ST7565 devices
+  * Tested with Arduino 1.0.5
+2013-10-03	v1.14	  Oliver Kraus <olikraus@gmail.com>
+  * Support for ARM controller
+  * Support for the A2 micro printer  (issue 191)
+  * Ellipse drawing primitive (issue 187)
+  * Added software reset for UC1701
+  * Fixed compiler warning (issue 196)
+  * Support for Freetronics SSD1351 OLED  (issue 195)
+  * Several other fixes and improvements
+2014-01-25	v1.15	  Oliver Kraus <olikraus@gmail.com>
+  * Fixed a bug with the rotation procs:  Occupied too much flash ROM (issue 219)
+  * Fixed issue with more than one SPI controller (SW SPI, issue 227)
+  * Added "drawTriangle" (issue 226)
+  * Added support for UC1608 (issue 214)
+  * Added ProFont family of fonts (issue  234)
+  * SW SPI support for Teensy 3 (issue 230)
+  * Removed Arduino/AVR specific files from ARM port (issue 209)
+2014-07-05	v1.16	  Oliver Kraus <olikraus@gmail.com>
+  * Added support for LD7032 60x32 OLED
+  * Added support for SSD1306 OLED, which does not send I2C ACK (issue 239)
+  * Added support for SH1106 128x64 OLED
+  * Added support for T6963 128x128 displays
+  * Added U8GLIB_SSD1306_ADAFRUIT_128X64 constructor
+2014-12-21	v1.17	  Oliver Kraus <olikraus@gmail.com>
+  * Added U8GLIB_UC1611_DOGM240 constructor (Issue 284)
+  * Added U8GLIB_UC1611_DOGXL240 constructor
+  * Added support for UC1608 controller (Issue 300)
+  * Added U8GLIB_SSD1306_ADAFRUIT_128X64 for Adafruit OLEDs (Issue 289)
+  * Bufix in the sleep on/off sequence (CS has not been releases, issue 298)
+  * helvB and helvR number only fonts (Issue 271)
+  * 400KHz option for I2C with U8G_I2C_OPT_FAST available for Due and Uno (Issue 303)
+  * I2C support for Arduino Due. 100KHz/400KHz, TWI & TWI1, ACK will be ignored (issue 285)
+  * Unifont update (Issue 297)
+  
+  
   
   
   
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/INSTALL.TXT b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/INSTALL.TXT
index d87f97128d29fd197a57c2e924746e28e0a36be7..efcedd03b881857ea39fc7056d4469fd7030e8dd 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/INSTALL.TXT
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/INSTALL.TXT
@@ -2,10 +2,15 @@
 U8GLIB
 http://code.google.com/p/u8glib/
 
-
 Install instructions for the Arduino environment.
 
-  1. Unzip u8glib_arduino_vX.XX.zip into the "libraries" folder
+  1. Start Arduino IDE
+  2. In the Arduino IDE, import the library from the "Add Library" Menu.
+
+Alternative install instructions for the Arduino environment.
+
+  1. Unzip u8glib_arduino_vX.XX.zip into the "libraries" folder of the
+      Arduino install directory
   2. Start Arduino IDE
 
 Install instructions for the Chipkit (Arduino) environment.
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.cpp
index aa870b11472553b895d7e0670010be425e1bb10c..542fc673ad158619299f5371b20c7ac8fd785935 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.cpp
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.cpp
@@ -77,4 +77,3 @@ uint8_t U8GLIB::initRW8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, u
   return u8g_InitRW8Bit(&u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset); 
 }
 
-
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.h
index a77444425d991a1a02186d475fd52c822ab47970..bff8268dc4a1ea48121187ddcee26a2e392d8d0d 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.h
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.h
@@ -57,10 +57,8 @@ class U8GLIB : public Print
   protected:
     uint8_t init8BitFixedPort(u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset);
   private:
-    uint8_t init8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, 
-        uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE);
-    uint8_t initRW8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, 
-      uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset);
+    uint8_t init8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE);
+    uint8_t initRW8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset);
   public:
   
     /* constructor */
@@ -68,17 +66,17 @@ class U8GLIB : public Print
       { }
     U8GLIB(u8g_dev_t *dev)
       { prepare(); u8g_Init(&u8g, dev); }
+    U8GLIB(u8g_dev_t *dev, u8g_com_fnptr com_fn)
+      { prepare(); u8g_InitComFn(&u8g, dev, com_fn); }
     U8GLIB(u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) 
       { initSPI(dev, sck, mosi, cs, a0, reset); }
     U8GLIB(u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) 
       { initHWSPI(dev, cs, a0, reset); }
     U8GLIB(u8g_dev_t *dev, uint8_t options) 
       { initI2C(dev, options); }
-    U8GLIB(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, 
-        uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) 
+    U8GLIB(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) 
       { init8Bit(dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset); }
-    U8GLIB(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, 
-        uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) 
+    U8GLIB(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) 
       { initRW8Bit(dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset); }
 
     uint8_t begin(void) { is_begin = 1; return u8g_Begin(&u8g); }
@@ -114,6 +112,11 @@ class U8GLIB : public Print
     void sleepOff(void) { u8g_SleepOff(&u8g); }
     
     /* graphic primitives */
+    void setColorEntry(uint8_t color_index, uint8_t r, uint8_t g, uint8_t b) { u8g_SetColorEntry(&u8g, color_index, r, g, b); }
+    void setHiColor(uint16_t  rgb) { u8g_SetHiColor(&u8g, rgb); }
+    void setHiColorByRGB(uint8_t r, uint8_t g, uint8_t b) { u8g_SetHiColorByRGB(&u8g, r, g, b); }
+    void setRGB(uint8_t r, uint8_t g, uint8_t b) { u8g_SetRGB(&u8g, r, g, b); }
+    
     void setColorIndex(uint8_t color_index) { u8g_SetColorIndex(&u8g, color_index); }
     uint8_t getColorIndex(void) { return u8g_GetColorIndex(&u8g); }
     
@@ -138,6 +141,14 @@ class U8GLIB : public Print
     void drawCircle(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawCircle(&u8g, x0, y0, rad, opt); }
     void drawDisc(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawDisc(&u8g, x0, y0, rad, opt); }
      
+    void drawEllipse(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawEllipse(&u8g, x0, y0, rx, ry, opt); }
+    void drawFilledEllipse(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawFilledEllipse(&u8g, x0, y0, rx, ry, opt); }    
+
+    void drawTriangle(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) 
+      { u8g_DrawTriangle(&u8g, x0, y0, x1, y1, x2, y2); }
+      
+
+    
     /* bitmap handling */
     void drawBitmap(u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const uint8_t *bitmap) 
       { u8g_DrawBitmap(&u8g, x, y, cnt, h, bitmap); }
@@ -223,6 +234,17 @@ class U8GLIB_DOGS102 : public U8GLIB
       { }
 };
 
+class U8GLIB_DOGS102_2X : public U8GLIB 
+{
+  public:
+    U8GLIB_DOGS102_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1701_dogs102_2x_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_DOGS102_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1701_dogs102_2x_hw_spi, cs, a0, reset)
+      { }
+};
+
 class U8GLIB_MINI12864 : public U8GLIB 
 {
   public:
@@ -234,6 +256,17 @@ class U8GLIB_MINI12864 : public U8GLIB
       { }
 };
 
+class U8GLIB_MINI12864_2X : public U8GLIB 
+{
+  public:
+    U8GLIB_MINI12864_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1701_mini12864_2x_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_MINI12864_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1701_mini12864_2x_hw_spi, cs, a0, reset)
+      { }
+};
+
 class U8GLIB_DOGM132 : public U8GLIB 
 {
   public:
@@ -260,6 +293,14 @@ class U8GLIB_NHD_C12832 : public U8GLIB
       { }
 };
 
+class U8GLIB_NHD_C12832_USART : public U8GLIB 
+{
+  public:
+    U8GLIB_NHD_C12832_USART(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_nhd_c12832_hw_usart_spi, cs, a0, reset)
+      { }
+};
+
 class U8GLIB_DOGM128 : public U8GLIB 
 {
   public:
@@ -269,6 +310,25 @@ class U8GLIB_DOGM128 : public U8GLIB
     U8GLIB_DOGM128(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
       : U8GLIB(&u8g_dev_st7565_dogm128_hw_spi, cs, a0, reset)
       { }
+    U8GLIB_DOGM128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, 
+        uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_dogm128_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset)
+      { }
+};
+
+class U8GLIB_DOGM128_2X : public U8GLIB 
+{
+  public:
+    U8GLIB_DOGM128_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_dogm128_2x_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_DOGM128_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_dogm128_2x_hw_spi, cs, a0, reset)
+      { }
+    U8GLIB_DOGM128_2X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, 
+        uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_dogm128_2x_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset)
+      { }
 };
 
 class U8GLIB_LM6059 : public U8GLIB 
@@ -282,6 +342,17 @@ class U8GLIB_LM6059 : public U8GLIB
       { }
 };
 
+class U8GLIB_LM6059_2X : public U8GLIB 
+{
+  public:
+    U8GLIB_LM6059_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_lm6059_2x_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_LM6059_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_lm6059_2x_hw_spi, cs, a0, reset)
+      { }
+};
+
 class U8GLIB_LM6063 : public U8GLIB 
 {
   public:
@@ -293,6 +364,17 @@ class U8GLIB_LM6063 : public U8GLIB
       { }
 };
 
+class U8GLIB_LM6063_2X : public U8GLIB 
+{
+  public:
+    U8GLIB_LM6063_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_lm6063_2x_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_LM6063_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_lm6063_2x_hw_spi, cs, a0, reset)
+      { }
+};
+
 class U8GLIB_64128N : public U8GLIB 
 {
   public:
@@ -302,6 +384,25 @@ class U8GLIB_64128N : public U8GLIB
     U8GLIB_64128N(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
       : U8GLIB(&u8g_dev_st7565_64128n_hw_spi, cs, a0, reset)
       { }
+    U8GLIB_64128N(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, 
+        uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_64128n_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset)
+      { }
+};
+
+class U8GLIB_64128N_2X : public U8GLIB 
+{
+  public:
+    U8GLIB_64128N_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_64128n_2x_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_64128N_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_64128n_2x_hw_spi, cs, a0, reset)
+      { }
+    U8GLIB_64128N_2X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, 
+        uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_64128n_2x_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset)
+      { }
 };
 
 class U8GLIB_NHD_C12864 : public U8GLIB 
@@ -315,6 +416,111 @@ class U8GLIB_NHD_C12864 : public U8GLIB
       { }
 };
 
+class U8GLIB_NHD_C12864_2X : public U8GLIB 
+{
+  public:
+    U8GLIB_NHD_C12864_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_nhd_c12864_2x_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_NHD_C12864_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7565_nhd_c12864_2x_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_UC1601_C128032 : public U8GLIB 
+{
+  public:
+    U8GLIB_UC1601_C128032(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1601_c128032_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_UC1601_C128032(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1601_c128032_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_UC1601_C128032_2X : public U8GLIB 
+{
+  public:
+    U8GLIB_UC1601_C128032_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1601_c128032_2x_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_UC1601_C128032_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1601_c128032_2x_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_UC1608_240X64 : public U8GLIB 
+{
+  public:
+    U8GLIB_UC1608_240X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1608_240x64_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_UC1608_240X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1608_240x64_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_UC1608_240X64_2X : public U8GLIB 
+{
+  public:
+    U8GLIB_UC1608_240X64_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1608_240x64_2x_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_UC1608_240X64_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1608_240x64_2x_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_UC1608_240X128 : public U8GLIB 
+{
+  public:
+    U8GLIB_UC1608_240X128(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1608_240x128_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_UC1608_240X128(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1608_240x128_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_UC1608_240X128_2X : public U8GLIB 
+{
+  public:
+    U8GLIB_UC1608_240X128_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1608_240x128_2x_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_UC1608_240X128_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1608_240x128_2x_hw_spi, cs, a0, reset)
+      { }
+};
+
+
+class U8GLIB_UC1611_DOGM240 : public U8GLIB
+{
+  public:
+    U8GLIB_UC1611_DOGM240(uint8_t options = U8G_I2C_OPT_NONE)
+      : U8GLIB(&u8g_dev_uc1611_dogm240_i2c, options)
+      {}
+    U8GLIB_UC1611_DOGM240(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1611_dogm240_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_UC1611_DOGM240(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1611_dogm240_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_UC1611_DOGXL240 : public U8GLIB
+{
+  public:
+    U8GLIB_UC1611_DOGXL240(uint8_t options = U8G_I2C_OPT_NONE)
+      : U8GLIB(&u8g_dev_uc1611_dogxl240_i2c, options)
+      {}
+    U8GLIB_UC1611_DOGXL240(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1611_dogxl240_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_UC1611_DOGXL240(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_uc1611_dogxl240_hw_spi, cs, a0, reset)
+      { }
+};
 
 class U8GLIB_ST7920_128X64 : public U8GLIB 
 {
@@ -349,6 +555,14 @@ class U8GLIB_ST7920_128X64_1X : public U8GLIB
       { }
 };
 
+class U8GLIB_ST7920_128X64_CUSTOM_1X : public U8GLIB 
+{
+  public:
+    U8GLIB_ST7920_128X64_CUSTOM_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7920_128x64_custom, sck, mosi, cs, U8G_PIN_NONE, reset)		// a0 = U8G_PIN_NONE
+      { }
+};
+
 class U8GLIB_ST7920_128X64_4X : public U8GLIB 
 {
   public:
@@ -364,6 +578,13 @@ class U8GLIB_ST7920_128X64_4X : public U8GLIB
       { }
 };
 
+class U8GLIB_ST7920_128X64_CUSTOM_4X : public U8GLIB 
+{
+  public:
+    U8GLIB_ST7920_128X64_CUSTOM_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_st7920_128x64_4x_custom, sck, mosi, cs, U8G_PIN_NONE, reset)		// a0 = U8G_PIN_NONE
+      { }
+};
 
 
 class U8GLIB_ST7920_192X32 : public U8GLIB  // OBSOLETE, use U8GLIB_ST7920_192X32_1X instead
@@ -485,7 +706,7 @@ class U8GLIB_LC7981_240X128 : public U8GLIB
       { }
 };
 
-// 16 bit mode required: Remove comment from "#define U8G_16BIT 1" in utility/u8g.h
+// 16 bit mode required: Remove comment from "#define U8G_16BIT 1" in utility/utility/u8g.h
 class U8GLIB_LC7981_320X64 : public U8GLIB 
 {
   public:
@@ -581,6 +802,10 @@ class U8GLIB_NHD31OLED_BW : public U8GLIB
     U8GLIB_NHD31OLED_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
       : U8GLIB(&u8g_dev_ssd1322_nhd31oled_bw_hw_spi, cs, a0, reset)
       { }
+    U8GLIB_NHD31OLED_BW(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, 
+        uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1322_nhd31oled_bw_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset)
+      { }
 };
 
 class U8GLIB_NHD31OLED_2X_BW : public U8GLIB 
@@ -603,6 +828,10 @@ class U8GLIB_NHD31OLED_GR : public U8GLIB
     U8GLIB_NHD31OLED_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
       : U8GLIB(&u8g_dev_ssd1322_nhd31oled_gr_hw_spi, cs, a0, reset)
       { }
+    U8GLIB_NHD31OLED_GR(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, 
+        uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1322_nhd31oled_gr_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset)
+      { }
 };
 
 class U8GLIB_NHD31OLED_2X_GR : public U8GLIB 
@@ -629,7 +858,63 @@ class U8GLIB_SSD1306_128X64 : public U8GLIB
     U8GLIB_SSD1306_128X64(uint8_t options = U8G_I2C_OPT_NONE) 
       : U8GLIB(&u8g_dev_ssd1306_128x64_i2c, options)
       { }
-      
+};
+
+class U8GLIB_SSD1306_ADAFRUIT_128X64 : public U8GLIB 
+{
+  public:
+    U8GLIB_SSD1306_ADAFRUIT_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1306_adafruit_128x64_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1306_ADAFRUIT_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1306_adafruit_128x64_hw_spi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1306_ADAFRUIT_128X64(uint8_t options = U8G_I2C_OPT_NONE) 
+      : U8GLIB(&u8g_dev_ssd1306_adafruit_128x64_i2c, options)
+      { }
+};
+
+
+class U8GLIB_SSD1306_128X64_2X : public U8GLIB 
+{
+  public:
+    U8GLIB_SSD1306_128X64_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1306_128x64_2x_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1306_128X64_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1306_128x64_2x_hw_spi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1306_128X64_2X(uint8_t options = U8G_I2C_OPT_NONE) 
+      : U8GLIB(&u8g_dev_ssd1306_128x64_2x_i2c, options)
+      { }
+};
+
+class U8GLIB_SH1106_128X64 : public U8GLIB 
+{
+  public:
+    U8GLIB_SH1106_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_sh1106_128x64_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_SH1106_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_sh1106_128x64_hw_spi, cs, a0, reset)
+      { }
+    U8GLIB_SH1106_128X64(uint8_t options = U8G_I2C_OPT_NONE) 
+      : U8GLIB(&u8g_dev_sh1106_128x64_i2c, options)
+      { }
+};
+
+class U8GLIB_SH1106_128X64_2X : public U8GLIB 
+{
+  public:
+    U8GLIB_SH1106_128X64_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_sh1106_128x64_2x_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_SH1106_128X64_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_sh1106_128x64_2x_hw_spi, cs, a0, reset)
+      { }
+    U8GLIB_SH1106_128X64_2X(uint8_t options = U8G_I2C_OPT_NONE) 
+      : U8GLIB(&u8g_dev_sh1106_128x64_2x_i2c, options)
+      { }
 };
 
 class U8GLIB_SSD1309_128X64 : public U8GLIB 
@@ -644,7 +929,6 @@ class U8GLIB_SSD1309_128X64 : public U8GLIB
     U8GLIB_SSD1309_128X64(uint8_t options = U8G_I2C_OPT_NONE) 
       : U8GLIB(&u8g_dev_ssd1309_128x64_i2c, options)
       { }
-      
 };
 
 class U8GLIB_SSD1306_128X32 : public U8GLIB 
@@ -659,7 +943,20 @@ class U8GLIB_SSD1306_128X32 : public U8GLIB
     U8GLIB_SSD1306_128X32(uint8_t options = U8G_I2C_OPT_NONE) 
       : U8GLIB(&u8g_dev_ssd1306_128x32_i2c, options)
       { }
-      
+};
+
+class U8GLIB_SSD1306_128X32_2X : public U8GLIB 
+{
+  public:
+    U8GLIB_SSD1306_128X32_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1306_128x32_2x_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1306_128X32_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1306_128x32_2x_hw_spi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1306_128X32_2X(uint8_t options = U8G_I2C_OPT_NONE) 
+      : U8GLIB(&u8g_dev_ssd1306_128x32_2x_i2c, options)
+      { }
 };
 
 
@@ -713,12 +1010,43 @@ class U8GLIB_SSD1327_96X96_2X_GR : public U8GLIB
       { }
 };
 
+
+class U8GLIB_LD7032_60x32 : public U8GLIB 
+{
+  public:
+    U8GLIB_LD7032_60x32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ld7032_60x32_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_LD7032_60x32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ld7032_60x32_hw_spi, cs, a0, reset)
+      { }
+    U8GLIB_LD7032_60x32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, 
+        uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ld7032_60x32_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset)
+      { }
+};
+
+
+
+class U8GLIB_HT1632_24X16 : public U8GLIB 
+{
+  public:
+    U8GLIB_HT1632_24X16(uint8_t wr, uint8_t data, uint8_t cs) 
+      : U8GLIB(&u8g_dev_ht1632_24x16, wr, data, cs, U8G_PIN_NONE, U8G_PIN_NONE)
+      { }
+};
+
+
+
 class U8GLIB_PCF8812 : public U8GLIB 
 {
   public:
     U8GLIB_PCF8812(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
       : U8GLIB(&u8g_dev_pcf8812_96x65_sw_spi, sck, mosi, cs, a0, reset)
       { }
+    U8GLIB_PCF8812(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_pcf8812_96x65_hw_spi, cs, a0, reset)
+      { }
 };
 
 class U8GLIB_PCD8544 : public U8GLIB 
@@ -727,6 +1055,9 @@ class U8GLIB_PCD8544 : public U8GLIB
     U8GLIB_PCD8544(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
       : U8GLIB(&u8g_dev_pcd8544_84x48_sw_spi, sck, mosi, cs, a0, reset)
       { }
+    U8GLIB_PCD8544(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_pcd8544_84x48_hw_spi, cs, a0, reset)
+      { }
 };
 
 class U8GLIB_TLS8204_84X48 : public U8GLIB 
@@ -764,6 +1095,15 @@ class U8GLIB_T6963_240X128 : public U8GLIB
       { }
 };
 
+class U8GLIB_T6963_128X128 : public U8GLIB 
+{
+  public:
+    U8GLIB_T6963_128X128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, 
+        uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_t6963_128x128_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset)
+      { }
+};
+
 class U8GLIB_T6963_240X64 : public U8GLIB 
 {
   public:
@@ -808,6 +1148,108 @@ class U8GLIB_ILI9325D_320x240 : public U8GLIB
       { init8BitFixedPort(&u8g_dev_ili9325d_320x240_8bit, en, cs1, di, rw, reset); }
 };
 
+
+
+class U8GLIB_SSD1351_128X128_332 : public U8GLIB 
+{
+  public:
+    U8GLIB_SSD1351_128X128_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128_332_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1351_128X128_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128_332_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_SSD1351_128X128_4X_332 : public U8GLIB 
+{
+  public:
+    U8GLIB_SSD1351_128X128_4X_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128_4x_332_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1351_128X128_4X_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128_4x_332_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_SSD1351_128X128GH_332 : public U8GLIB 
+{
+  public:
+    U8GLIB_SSD1351_128X128GH_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128gh_332_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1351_128X128GH_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128gh_332_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_SSD1351_128X128GH_4X_332 : public U8GLIB 
+{
+  public:
+    U8GLIB_SSD1351_128X128GH_4X_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_332_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1351_128X128GH_4X_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_332_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_SSD1351_128X128_IDX : public U8GLIB 
+{
+  public:
+    U8GLIB_SSD1351_128X128_IDX(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128_idx_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1351_128X128_IDX(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128_idx_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_SSD1351_128X128_HICOLOR : public U8GLIB 
+{
+  public:
+    U8GLIB_SSD1351_128X128_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128_hicolor_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1351_128X128_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128_hicolor_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_SSD1351_128X128_4X_HICOLOR : public U8GLIB 
+{
+  public:
+    U8GLIB_SSD1351_128X128_4X_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128_4x_hicolor_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1351_128X128_4X_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128_4x_hicolor_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_SSD1351_128X128GH_HICOLOR : public U8GLIB 
+{
+  public:
+    U8GLIB_SSD1351_128X128GH_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128gh_hicolor_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1351_128X128GH_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128gh_hicolor_hw_spi, cs, a0, reset)
+      { }
+};
+
+class U8GLIB_SSD1351_128X128GH_4X_HICOLOR : public U8GLIB 
+{
+  public:
+    U8GLIB_SSD1351_128X128GH_4X_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_hicolor_sw_spi, sck, mosi, cs, a0, reset)
+      { }
+    U8GLIB_SSD1351_128X128GH_4X_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
+      : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_hicolor_hw_spi, cs, a0, reset)
+      { }
+};
+
+
 class U8GLIB_FLIPDISC_2X7 : public U8GLIB 
 {
   public:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/A2Printer/A2Printer.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/A2Printer/A2Printer.ino
new file mode 100644
index 0000000000000000000000000000000000000000..d40bd791bbacf58729341e6baadfa4d5bbd954c4
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/A2Printer/A2Printer.ino
@@ -0,0 +1,131 @@
+/*
+
+  A2Printer.pde
+  
+  Special example code for the A2 Mciro Printer (https://www.sparkfun.com/products/10438)
+  
+  
+  Universal 8bit Graphics Library, http://code.google.com/p/u8glib/
+  
+  Copyright (c) 2013, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+*/
+
+
+#include "U8glib.h"
+
+// use this serial interface
+#define PRINTER_SERIAL Serial
+// #define PRINTER_SERIAL Serial1
+
+
+uint8_t u8g_com_uart(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) {
+  switch(msg) {
+    case U8G_COM_MSG_WRITE_BYTE:
+      PRINTER_SERIAL.write(arg_val);
+      break;
+  }
+  return 1;
+}
+
+// setup u8g object, please remove comment from one of the following constructor calls
+
+// half resolution
+//U8GLIB u8g(&u8g_dev_a2_micro_printer_192x120_ds, (u8g_com_fnptr)u8g_com_uart);
+
+// full resolution, requires to uncomment U8G_16BIT in u8g.h
+//U8GLIB u8g(&u8g_dev_a2_micro_printer_384x240, (u8g_com_fnptr)u8g_com_uart);
+
+// half resolution, extra log, requires to uncomment U8G_16BIT in u8g.h
+//U8GLIB u8g(&u8g_dev_a2_micro_printer_192x360_ds, (u8g_com_fnptr)u8g_com_uart);
+U8GLIB u8g(&u8g_dev_a2_micro_printer_192x720_ds, (u8g_com_fnptr)u8g_com_uart);
+
+
+
+void drawLogo(uint8_t d) {
+  u8g.setFont(u8g_font_gdr25r);
+  u8g.drawStr(0+d, 30+d, "U");
+  u8g.setFont(u8g_font_gdr30n);
+  u8g.drawStr90(23+d,10+d,"8");
+  u8g.setFont(u8g_font_gdr25r);
+  u8g.drawStr(53+d,30+d,"g");
+  
+  u8g.drawHLine(2+d, 35+d, 47);
+  u8g.drawVLine(45+d, 32+d, 12);
+}
+
+void drawURL(void) {
+  u8g.setFont(u8g_font_4x6);
+  if ( u8g.getHeight() < 59 ) {
+    u8g.drawStr(53,9,"code.google.com");
+    u8g.drawStr(77,18,"/p/u8glib");
+  }
+  else {
+    u8g.drawStr(1,54,"code.google.com/p/u8glib");
+  }
+}
+
+void draw(void) {
+  // graphic commands to redraw the complete screen should be placed here  
+  
+  drawLogo(0);
+  drawURL();
+  u8g.drawFrame(0,0,u8g.getWidth(), u8g.getHeight());
+  
+  u8g.setFont(u8g_font_helvR24r);
+  u8g.setPrintPos(0, 100);
+  u8g.print(u8g.getWidth(), DEC);
+  u8g.print("x");
+  u8g.print(u8g.getHeight(), DEC);
+}
+
+void setup(void) {
+  PRINTER_SERIAL.begin(19200);
+  
+  // flip screen, if required
+  // u8g.setRot180();
+  
+  // assign default color value
+  u8g.setColorIndex(1);         // pixel on
+}
+
+void loop(void) {
+  
+  // picture loop: This will print the picture  
+  u8g.firstPage();  
+  do {
+    draw();
+  } while( u8g.nextPage() );
+
+  // send manual CR to the printer
+  PRINTER_SERIAL.write('\n'); 		
+  
+  // reprint the picture after 10 seconds
+  delay(10000);
+}
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Bitmap/Bitmap.pde b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Bitmap/Bitmap.ino
similarity index 63%
rename from ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Bitmap/Bitmap.pde
rename to ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Bitmap/Bitmap.ino
index 53fbe1b211bb68dfe8ea0c8908c9bb182d21bffe..e9a30e2d15ab6a3d3e5352dd1ff4bd7190bd1e12 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Bitmap/Bitmap.pde
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Bitmap/Bitmap.ino
@@ -42,8 +42,8 @@
 #include "U8glib.h"
 
 // setup u8g object, please remove comment from one of the following constructor calls
-// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device
-
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
 //U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
@@ -52,9 +52,10 @@
 //U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
-//U8GLIB_DOGS102 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
@@ -84,19 +85,54 @@
 //U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
 //U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
 //U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
 //U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
 //U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
 //U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
 
 const uint8_t rook_bitmap[] PROGMEM = {
   0x00,         // 00000000 
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Chess/Chess.pde b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Chess/Chess.ino
similarity index 67%
rename from ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Chess/Chess.pde
rename to ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Chess/Chess.ino
index 3cef3539824c14916d840040f43874e4694c0cab..eeebe4ac2e76250f22466988c837a19e3d55e934 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Chess/Chess.pde
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Chess/Chess.ino
@@ -43,8 +43,8 @@
 #include "U8glib.h"
 
 // setup u8g object, please remove comment from one of the following constructor calls
-// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device
-
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
 //U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
@@ -53,9 +53,10 @@
 //U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
-//U8GLIB_DOGS102 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
@@ -85,19 +86,54 @@
 //U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
 //U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
 //U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
 //U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
 //U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
 //U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
 
 
 // DOGS102 shield configuration values
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Color/Color.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Color/Color.ino
new file mode 100644
index 0000000000000000000000000000000000000000..a389e322427498e21f265fb422b2839269bd0d65
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Color/Color.ino
@@ -0,0 +1,201 @@
+/*
+
+  Color.pde
+  
+  "Hello World!" example code with color.
+  
+  >>> Before compiling: Please remove comment from the constructor of the 
+  >>> connected graphics display (see below).
+  
+  Universal 8bit Graphics Library, http://code.google.com/p/u8glib/
+  
+  Copyright (c) 2012, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+*/
+
+
+#include "U8glib.h"
+
+// setup u8g object, please remove comment from one of the following constructor calls
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
+//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10);	// SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10
+//U8GLIB_ST7920_192X32_4X u8g(10);		// SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI
+//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_LM6059 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_LM6063 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_BW u8g(10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
+//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
+//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); 		// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16
+//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
+//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
+//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
+//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
+//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
+//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
+//U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
+//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+
+
+void draw(void) {
+  
+  if ( u8g.getMode() == U8G_MODE_HICOLOR || u8g.getMode() == U8G_MODE_R3G3B2) {
+    /* draw background (area is 128x128) */
+    u8g_uint_t r, g, b;
+    for( b = 0; b < 4; b++ )
+    {
+      for( g = 0; g < 32; g++ )
+      {
+	for( r = 0; r < 32; r++ )
+	{
+	  u8g.setRGB(r<<3, g<<3, b<<4 );
+	  u8g.drawPixel(g + b*32, r);
+	  u8g.setRGB(r<<3, g<<3, (b<<4)+64 );
+	  u8g.drawPixel(g + b*32, r+32);
+	  u8g.setRGB(r<<3, g<<3, (b<<4)+128 );
+	  u8g.drawPixel(g + b*32, r+32+32);
+	  u8g.setRGB(r<<3, g<<3, (b<<4)+128+64 );
+	  u8g.drawPixel(g + b*32, r+32+32+32);
+	}
+      }
+    }
+  }
+
+  // assign default color value
+  if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
+    u8g.setColorIndex(255);     // white
+  }
+  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
+    u8g.setColorIndex(3);         // max intensity
+  }
+  else if ( u8g.getMode() == U8G_MODE_BW ) {
+    u8g.setColorIndex(1);         // pixel on
+  }
+  else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
+    u8g.setHiColorByRGB(255,255,255);
+  }
+  u8g.setFont(u8g_font_unifont);
+  u8g.drawStr( 0, 22, "Hello World!");
+  
+  
+}
+
+void setup(void) {
+  
+  // flip screen, if required
+  // u8g.setRot180();
+  
+  // set SPI backup if required
+  //u8g.setHardwareBackup(u8g_backup_avr_spi);
+
+}
+
+void loop(void) {
+  // picture loop
+  u8g.firstPage();  
+  do {
+    draw();
+  } while( u8g.nextPage() );
+  
+  // rebuild the picture after some delay
+  delay(500);
+}
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Console/Console.pde b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Console/Console.ino
similarity index 69%
rename from ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Console/Console.pde
rename to ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Console/Console.ino
index fcf4b74c58a7ad78e443cb72b3232921acc30481..70e0e2f09bb530154ce6013c32608fc4b29645cb 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Console/Console.pde
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Console/Console.ino
@@ -42,8 +42,8 @@
 #include "U8glib.h"
 
 // setup u8g object, please remove comment from one of the following constructor calls
-// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device
-
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
 //U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
@@ -52,9 +52,10 @@
 //U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
-//U8GLIB_DOGS102 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
@@ -84,19 +85,54 @@
 //U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
 //U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
 //U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
 //U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
 //U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
 //U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
 
 
 // setup input buffer
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/F/F.pde b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/F/F.ino
similarity index 64%
rename from ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/F/F.pde
rename to ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/F/F.ino
index 4cb3b20b76978c42fbc1ae5fa2793727862d9998..4393ddfe49f90f553cc5ae6ab7a3888e355a6a60 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/F/F.pde
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/F/F.ino
@@ -44,8 +44,8 @@
 #include "U8glib.h"
 
 // setup u8g object, please remove comment from one of the following constructor calls
-// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device
-
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
 //U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
@@ -54,9 +54,10 @@
 //U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
-//U8GLIB_DOGS102 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
@@ -86,19 +87,54 @@
 //U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
 //U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
 //U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
 //U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
 //U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
 //U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
 
 void draw(void) {
   // graphic commands to redraw the complete screen should be placed here  
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/FPS/FPS.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/FPS/FPS.ino
new file mode 100644
index 0000000000000000000000000000000000000000..bcf93cd5bbeee1a52aaeafafe6537d22df58757d
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/FPS/FPS.ino
@@ -0,0 +1,398 @@
+/*
+
+  FPS.pde
+  
+  >>> Before compiling: Please remove comment from the constructor of the 
+  >>> connected graphics display (see below).
+  
+  Universal 8bit Graphics Library, http://code.google.com/p/u8glib/
+  
+  Copyright (c) 2012, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+
+  ST7920_192X32, SPI:    FPS: Box=7.6   @=9.8                iFPS: Box=11.4  @=14.7
+  ST7920_192X32, 8Bit:   FPS: Box=6.2   @=7.5                iFPS: Box=9.3 @=11.2
+  DOGM128 SW SPI:         FPS: Box=5.1   @=5.9  Pix=2.6               iFPS: Box=10.2 @=11.8 Pix=5.2
+  DOGM128 HW SPI:         FPS: Box=5.5   @=6.3               iFPS: Box=11.0 @=12.6
+  DOGXL160 SW SPI:         FPS: Box=1.7   @=1.9               iFPS: Box=6.9 @=7.7
+  DOGXL160 HW SPI:         FPS: Box=1.8   @=2.1               
+  
+  NHD27OLED_BW, SW SPI: FPS: Box=3.0  @=3.7
+  NHD27OLED_BW, HW SPI: FPS: Box=3.5  @=4.5
+  NHD27OLED_2X_BW, SW SPI: FPS: Box=3.8  @=4.9
+  NHD27OLED_2X_BW, HW SPI: FPS: Box=4.6  @=6.4
+  
+  30 Sep 2012
+  NHD27OLED_BW, SW SPI: FPS: Clip=9.2 Box=3.9  @=4.4		NEW_CODE
+  NHD27OLED_BW, SW SPI: FPS: Clip=9.2 Box=3.6  @=4.5
+  NHD27OLED_BW, HW SPI: FPS: Clip=16.3 Box=4.7  @=5.6
+  NHD27OLED_2X_BW, SW SPI: FPS: Clip=9.7 Box=4.5  @=5.8
+  NHD27OLED_2X_BW, SW SPI: FPS: Clip=18.0 Box=5.8  @=7.9
+
+  1 Oct 2012
+  ST7920_192X32, 8Bit:   FPS: Box=7.2   @=10.0                
+  DOGM128 SW SPI:         FPS: Box=5.2   @=6.6  Pix=2.6               
+  DOGM128 HW SPI:         FPS: Clip=33.2 Box=5.5   @=7.1
+  DOGXL160 SW SPI:         FPS: Box=1.7   @=2.0
+  DOGXL160 HW SPI:         FPS: Box=1.8   @=2.2
+
+  DOGXL160 GR SW SPI:         FPS: Box=1.1   @=1.3
+
+  1 Mar 2013
+  ST7920_192X32_1X, SPI:    FPS: Clip=10.3 Box=5.5  @=7.2 Pix=3.9
+  ST7920_192X32_4X, SPI:    FPS: Clip=10.9 Box=6.7  @=8.8 Pix=7.4
+  ST7920_192X32_1X, 8Bit:    FPS: Clip=14.2 Box=6.1  @=8.4 Pix=4.2
+  ST7920_192X32_4X, 8Bit:    FPS: Clip=14.2 Box=7.8  @=10.7 Pix=8.7
+  ST7920_192X32_1X, HW SPI:    FPS: Clip=14.2 Box=6.3  @=8.7 Pix=4.3
+  ST7920_192X32_4X, HW SPI:    FPS: Clip=15.3 Box=8.0  @=11.2 Pix=9.0
+
+  2 Jun 2013
+  U8GLIB_DOGM128 SW SPI:		FPS: Clip=23.9 Box=4.5  @=6.6 Pix=2.1
+  U8GLIB_DOGM128_2X SW SPI:	FPS: Clip=28.5 Box=6.6  @=9.7 Pix=3.9
+  U8GLIB_DOGM128_2X HW SPI:	FPS: Clip=40.8 Box=7.1  @=10.8 Pix=4.1
+  
+  3 Jun 2013
+  U8GLIB_ST7920_192X32_1X -Os	SW SPI	FPS: Clip=11.0 Box=5.4  @=7.1 Pix=3.9	Size=11828
+  U8GLIB_ST7920_192X32_1X -O3	SW SPI	FPS: Clip=10.9 Box=5.6  @=7.5 Pix=4.0	Size=13800
+  U8GLIB_ST7920_192X32_1X -Os	SW SPI	FPS: Clip=16.8 Box=6.7  @=9.6 Pix=4.5	Size=11858	(new seq data output)
+  U8GLIB_ST7920_192X32_1X -Os	HW SPI	FPS: Clip=25.7 Box=7.5  @=11.3 Pix=4.8	(new seq data output)
+  
+  6 Jun 2013
+  U8GLIB_DOGS102 u8g(13, 11, 10, 9);    STD SW SPI	FPS: Clip=9.5 Box=7.6  @=8.2 Pix=6.2	Size=15652
+  U8GLIB_DOGS102 u8g(13, 11, 10, 9);    SW SPI	        FPS: Clip=19.1 Box=12.8  @=14.0 Pix=9.2	Size=15532
+
+
+  12 Jun 2013
+  SSD1351_128X128_332	SW SPI Clip=1.3 Box=0.7  @=0.9 Pix=0.4
+  SSD1351_128X128_332	HW SPI Clip=3.6 Box=1.1  @=1.5 Pix=0.5
+
+  24 Jun 2013
+  Uno SSD1351_128X128_332				SW SPI Clip=1.4 Box=0.8  @=0.9 Pix=0.4
+  
+  Uno SSD1351_128X128_332					HW SPI Clip=4.4 Box=1.2  @=1.6 Pix=0.5
+  Uno SSD1351_128X128_HICOLOR			HW SPI Clip=3.7 Box=0.8  @=1.0 Pix=0.3
+
+  Mega2560 SSD1351_128X128_332			HW SPI Clip=4.4 Box=1.2  @=1.6 Pix=0.5
+  Mega2560 SSD1351_128X128_4X_332			HW SPI Clip=4.6 Box=2.3  @=2.8 Pix=1.5
+  Mega2560 SSD1351_128X128_HICOLOR		HW SPI Clip=3.6 Box=0.8  @=1.0 Pix=0.3
+  Mega2560 SSD1351_128X128_4X_HICOLOR	HW SPI Clip=4.2 Box=1.7  @=2.1 Pix=1.0
+
+  Due SSD1351_128X128_332					HW SPI Clip=24.6 Box=6.3  @=7.8 Pix=2.8
+  Due SSD1351_128X128_4X_332 				HW SPI Clip=28.1 Box=13.0  @=15.1 Pix=8.5
+  Due SSD1351_128X128_HICOLOR			HW SPI Clip=20.8 Box=3.4  @=4.5 Pix=1.4
+  Due SSD1351_128X128_4X_HICOLOR			HW SPI Clip=26.3 Box=8.9  @=11.1 Pix=4.8
+
+  Due SSD1351_128X128_4X_HICOLOR			SW SPI Clip=0.4 Box=0.4  @=0.4 Pix=0.4
+  
+  Due DOGS102 u8g(13, 11, 10, 9);    			SW SPI	        FPS: Clip=19.1 Box=13.1  @=14.3 Pix=9.4
+  Due DOGS102 u8g(10, 9);    					HW SPI	        FPS: Clip=128.9 Box=30.7  @=40.6 Pix=15.4
+
+  Due NHD27OLED_BW u8g(10, 9)				HW SPI		FPS: Clip=53.0 Box=19.6  @=23.8 Pix=10.6
+  Due NHD27OLED_2X_BW u8g(10, 9)			HW SPI		FPS: Clip=57.0 Box=25.3  @=31.7 Pix=18.1
+  Due NHD27OLED_GR u8g(10, 9)				HW SPI		FPS: Clip=34.1 Box=11.7  @=13.7 Pix=5.6
+  Due NHD27OLED_2X_GR u8g(10, 9)			HW SPI		FPS: Clip=38.1 Box=15.5  @=20.0 Pix=8.8
+
+*/
+
+
+#include "U8glib.h"
+
+// setup u8g object, please remove comment from one of the following constructor calls
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
+//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10);	// SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10
+//U8GLIB_ST7920_192X32_4X u8g(10);		// SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI
+//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_LM6059 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_LM6063 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_BW u8g(10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
+//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
+//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); 		// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16
+//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
+//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
+//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
+//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
+//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
+//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
+//U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
+//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+
+#define SECONDS 10
+uint8_t flip_color = 0;
+uint8_t draw_color = 1;
+
+void draw_set_screen(void) {
+  // graphic commands to redraw the complete screen should be placed here  
+  if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
+    if ( flip_color == 0 ) 
+      u8g.setHiColorByRGB(0,0,0);
+    else
+      u8g.setHiColorByRGB(255,255,255);
+  }
+  else {
+    u8g.setColorIndex(flip_color);
+  }
+  u8g.drawBox( 0, 0, u8g.getWidth(), u8g.getHeight() );
+}
+
+void draw_clip_test(void) {
+  u8g_uint_t i, j, k;
+  char buf[3] = "AB";
+  k = 0;
+  if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
+    u8g.setHiColorByRGB(255,255,255);
+  }
+  else {
+    u8g.setColorIndex(draw_color);
+  }
+  u8g.setFont(u8g_font_6x10);
+  
+  for( i = 0; i  < 6; i++ ) {
+    for( j = 1; j  < 8; j++ ) {
+      u8g.drawHLine(i-3, k, j);
+      u8g.drawHLine(i-3+10, k, j);
+      
+      u8g.drawVLine(k+20, i-3, j);
+      u8g.drawVLine(k+20, i-3+10, j);
+      
+      k++;
+    }
+  }
+  u8g.drawStr(0-3, 50, buf);
+  u8g.drawStr180(0+3, 50, buf);
+  
+  u8g.drawStr(u8g.getWidth()-3, 40, buf);
+  u8g.drawStr180(u8g.getWidth()+3, 40, buf);
+
+  u8g.drawStr90(u8g.getWidth()-10, 0-3, buf);
+  u8g.drawStr270(u8g.getWidth()-10, 3, buf);
+
+  u8g.drawStr90(u8g.getWidth()-20, u8g.getHeight()-3, buf);
+  u8g.drawStr270(u8g.getWidth()-20, u8g.getHeight()+3, buf);
+  
+}
+
+void draw_char(void) {
+  char buf[2] = "@";
+  u8g_uint_t i, j;
+  // graphic commands to redraw the complete screen should be placed here  
+  if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
+    u8g.setHiColorByRGB(255,255,255);
+  }
+  else {
+    u8g.setColorIndex(draw_color);
+  }
+  u8g.setFont(u8g_font_6x10);
+  j = 8;
+  for(;;) {
+    i = 0;
+    for(;;) {
+      u8g.drawStr( i, j, buf);
+      i += 8;
+      if ( i > u8g.getWidth() )
+        break;
+    }
+    j += 8;
+    if ( j > u8g.getHeight() )
+      break;
+  }
+  
+}
+
+void draw_pixel(void) {
+  u8g_uint_t x, y, w2, h2;
+  if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
+    u8g.setHiColorByRGB(255,255,255);
+  }
+  else {
+    u8g.setColorIndex(draw_color);
+  }
+  w2 = u8g.getWidth();
+  h2 = u8g.getHeight();
+  w2 /= 2;
+  h2 /= 2;
+  for( y = 0; y < h2; y++ ) {
+    for( x = 0; x < w2; x++ ) {
+      if ( (x + y) & 1 ) {
+        u8g.drawPixel(x,y);
+        u8g.drawPixel(x,y+h2);
+        u8g.drawPixel(x+w2,y);
+        u8g.drawPixel(x+w2,y+h2);
+      }
+    }
+  }
+}
+
+// returns unadjusted FPS
+uint16_t picture_loop_with_fps(void (*draw_fn)(void)) {
+  uint16_t FPS10 = 0;
+  uint32_t time;
+  
+  time = millis() + SECONDS*1000;
+  
+  // picture loop
+  do {
+    u8g.firstPage();  
+    do {
+      draw_fn();
+    } while( u8g.nextPage() );
+    FPS10++;
+    flip_color = flip_color ^ 1;
+  } while( millis() < time );
+  return FPS10;  
+}
+
+const char *convert_FPS(uint16_t fps) {
+  static char buf[6];
+  strcpy(buf, u8g_u8toa( (uint8_t)(fps/10), 3));
+  buf[3] =  '.';
+  buf[4] = (fps % 10) + '0';
+  buf[5] = '\0';
+  return buf;
+}
+
+void show_result(const char *s, uint16_t fps) {
+  // assign default color value
+  if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
+    u8g.setHiColorByRGB(255,255,255);
+  }
+  else {
+    u8g.setColorIndex(draw_color);
+  }
+  u8g.setFont(u8g_font_8x13B);
+  u8g.firstPage();  
+  do {
+    u8g.drawStr(0,12, s);
+    u8g.drawStr(0,24, convert_FPS(fps));
+  } while( u8g.nextPage() );
+}
+
+void setup(void) {
+  // flip screen, if required
+  // u8g.setRot180();
+  
+  // assign default color value
+  if ( u8g.getMode() == U8G_MODE_R3G3B2 ) 
+    draw_color = 255;     // white
+  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT )
+    draw_color = 3;         // max intensity
+  else if ( u8g.getMode() == U8G_MODE_BW )
+    draw_color = 1;         // pixel on
+  else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
+    u8g.setHiColorByRGB(255,255,255);
+  }
+}
+
+void loop(void) {
+  uint16_t fps;
+  fps = picture_loop_with_fps(draw_clip_test);
+  show_result("draw clip test", fps);
+  delay(5000);
+  fps = picture_loop_with_fps(draw_set_screen);
+  show_result("clear screen", fps);
+  delay(5000);
+  fps = picture_loop_with_fps(draw_char);
+  show_result("draw @", fps);
+  delay(5000);  
+  fps = picture_loop_with_fps(draw_pixel);
+  show_result("draw pixel", fps);
+  delay(5000);
+}
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/GraphicsTest/GraphicsTest.pde b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino
similarity index 61%
rename from ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/GraphicsTest/GraphicsTest.pde
rename to ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino
index 4e91352097b21592e982fa3b6eb367cacbdc9a0c..f159b8ddc247223fca44317572b6c8c7a09ffd20 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/GraphicsTest/GraphicsTest.pde
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino
@@ -41,8 +41,8 @@
 #include "U8glib.h"
 
 // setup u8g object, please remove comment from one of the following constructor calls
-// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device
-
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
 //U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
@@ -51,9 +51,10 @@
 //U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
-//U8GLIB_DOGS102 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
@@ -83,19 +84,54 @@
 //U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
 //U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
 //U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
 //U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
 //U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
 //U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
 
 void u8g_prepare(void) {
   u8g.setFont(u8g_font_6x10);
@@ -143,6 +179,15 @@ void u8g_line(uint8_t a) {
   u8g.drawLine(7+a*4, 10, 100, 55);
 }
 
+void u8g_triangle(uint8_t a) {
+  uint16_t offset = a;
+  u8g.drawStr( 0, 0, "drawTriangle");
+  u8g.drawTriangle(14,7, 45,30, 10,40);
+  u8g.drawTriangle(14+offset,7-offset, 45+offset,30-offset, 57+offset,10-offset);
+  u8g.drawTriangle(57+offset*2,10, 45+offset*2,30, 86+offset*2,53);
+  u8g.drawTriangle(10+offset,40+offset, 45+offset,30+offset, 86+offset,53+offset);
+}
+
 void u8g_ascii_1() {
   char s[2] = " ";
   uint8_t x, y;
@@ -167,6 +212,45 @@ void u8g_ascii_2() {
   }
 }
 
+void u8g_extra_page(uint8_t a)
+{
+  if ( u8g.getMode() == U8G_MODE_HICOLOR || u8g.getMode() == U8G_MODE_R3G3B2) {
+    /* draw background (area is 128x128) */
+    u8g_uint_t r, g, b;
+    b = a << 5;
+    for( g = 0; g < 64; g++ )
+    {
+      for( r = 0; r < 64; r++ )
+      {
+	u8g.setRGB(r<<2, g<<2, b );
+	u8g.drawPixel(g, r);
+      }
+    }
+    u8g.setRGB(255,255,255);
+    u8g.drawStr( 66, 0, "Color Page");
+  }
+  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT )
+  {
+    u8g.drawStr( 66, 0, "Gray Level");
+    u8g.setColorIndex(1);
+    u8g.drawBox(0, 4, 64, 32);    
+    u8g.drawBox(70, 20, 4, 12);
+    u8g.setColorIndex(2);
+    u8g.drawBox(0+1*a, 4+1*a, 64-2*a, 32-2*a);
+    u8g.drawBox(74, 20, 4, 12);
+    u8g.setColorIndex(3);
+    u8g.drawBox(0+2*a, 4+2*a, 64-4*a, 32-4*a);
+    u8g.drawBox(78, 20, 4, 12);
+  }
+  else
+  {
+    u8g.drawStr( 0, 12, "setScale2x2");
+    u8g.setScale2x2();
+    u8g.drawStr( 0, 6+a, "setScale2x2");
+    u8g.undoScale();
+  }
+}
+
 
 uint8_t draw_state = 0;
 
@@ -178,8 +262,10 @@ void draw(void) {
     case 2: u8g_r_frame(draw_state&7); break;
     case 3: u8g_string(draw_state&7); break;
     case 4: u8g_line(draw_state&7); break;
-    case 5: u8g_ascii_1(); break;
-    case 6: u8g_ascii_2(); break;
+    case 5: u8g_triangle(draw_state&7); break;
+    case 6: u8g_ascii_1(); break;
+    case 7: u8g_ascii_2(); break;
+    case 8: u8g_extra_page(draw_state&7); break;
   }
 }
 
@@ -188,15 +274,6 @@ void setup(void) {
   // flip screen, if required
   //u8g.setRot180();
 
-  // assign default color value
-  if ( u8g.getMode() == U8G_MODE_R3G3B2 ) 
-    u8g.setColorIndex(255);     // white
-  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT )
-    u8g.setColorIndex(3);         // max intensity
-  else if ( u8g.getMode() == U8G_MODE_BW )
-    u8g.setColorIndex(1);         // pixel on
-  
-  //u8g.setContrast(0x30);
   
   pinMode(13, OUTPUT);           
   digitalWrite(13, HIGH);  
@@ -212,11 +289,11 @@ void loop(void) {
   
   // increase the state
   draw_state++;
-  if ( draw_state >= 7*8 )
+  if ( draw_state >= 9*8 )
     draw_state = 0;
   
   // rebuild the picture after some delay
-  delay(150);
+  //delay(150);
 
 }
 
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/HelloWorld/HelloWorld.pde b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/HelloWorld/HelloWorld.ino
similarity index 62%
rename from ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/HelloWorld/HelloWorld.pde
rename to ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/HelloWorld/HelloWorld.ino
index 5a00939a34062a9e4b70a82c6a2164fb143fc136..f71bf8e4f050abccb3c164c2e049f8305f92ca3a 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/HelloWorld/HelloWorld.pde
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/HelloWorld/HelloWorld.ino
@@ -42,8 +42,8 @@
 #include "U8glib.h"
 
 // setup u8g object, please remove comment from one of the following constructor calls
-// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device
-
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
 //U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
@@ -52,9 +52,10 @@
 //U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
-//U8GLIB_DOGS102 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
@@ -84,19 +85,54 @@
 //U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
 //U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
 //U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
 //U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
 //U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
 //U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
 
 
 void draw(void) {
@@ -107,7 +143,6 @@ void draw(void) {
 }
 
 void setup(void) {
-  
   // flip screen, if required
   // u8g.setRot180();
   
@@ -115,12 +150,18 @@ void setup(void) {
   //u8g.setHardwareBackup(u8g_backup_avr_spi);
 
   // assign default color value
-  if ( u8g.getMode() == U8G_MODE_R3G3B2 ) 
+  if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
     u8g.setColorIndex(255);     // white
-  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT )
+  }
+  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
     u8g.setColorIndex(3);         // max intensity
-  else if ( u8g.getMode() == U8G_MODE_BW )
+  }
+  else if ( u8g.getMode() == U8G_MODE_BW ) {
     u8g.setColorIndex(1);         // pixel on
+  }
+  else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
+    u8g.setHiColorByRGB(255,255,255);
+  }
 }
 
 void loop(void) {
@@ -131,6 +172,6 @@ void loop(void) {
   } while( u8g.nextPage() );
   
   // rebuild the picture after some delay
-  delay(500);
+  delay(50);
 }
 
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Menu/Menu.pde b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Menu/Menu.ino
similarity index 70%
rename from ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Menu/Menu.pde
rename to ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Menu/Menu.ino
index fbb0af034c46adeb64939e6d00dd02aceb0e6c12..d8ab6f0df1e0430c723b83a83bf01c388e3ca5b5 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Menu/Menu.pde
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Menu/Menu.ino
@@ -45,6 +45,9 @@
 // setup u8g object, please remove comment from one of the following constructor calls
 // IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device
 
+// setup u8g object, please remove comment from one of the following constructor calls
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
 //U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
@@ -53,9 +56,10 @@
 //U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
-//U8GLIB_DOGS102 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
@@ -85,19 +89,54 @@
 //U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
 //U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
 //U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
 //U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
 //U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
 //U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
 
 
 #define KEY_NONE 0
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/PrintTest/PrintTest.pde b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/PrintTest/PrintTest.ino
similarity index 63%
rename from ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/PrintTest/PrintTest.pde
rename to ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/PrintTest/PrintTest.ino
index 7535c22f192c7d77609b79a7f8d3696e0d76ec69..edc9afa8c161840fe40fb153d629fa74cbb10433 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/PrintTest/PrintTest.pde
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/PrintTest/PrintTest.ino
@@ -42,8 +42,8 @@
 #include "U8glib.h"
 
 // setup u8g object, please remove comment from one of the following constructor calls
-// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device
-
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
 //U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
@@ -52,9 +52,10 @@
 //U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
-//U8GLIB_DOGS102 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
@@ -84,19 +85,54 @@
 //U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
 //U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
 //U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
 //U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
 //U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
 //U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
 
 void draw(void) {
   // graphic commands to redraw the complete screen should be placed here  
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Rotation/Rotation.pde b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Rotation/Rotation.ino
similarity index 64%
rename from ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Rotation/Rotation.pde
rename to ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Rotation/Rotation.ino
index 424b7bfb61fbde13527b9917d04d37925a4833a7..f4008138b9cac673eb808437ccc125e179e9f759 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Rotation/Rotation.pde
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Rotation/Rotation.ino
@@ -1,8 +1,8 @@
 /*
 
-  HelloWorld.pde
+  Rotation.pde
   
-  "Hello World!" example code.
+  Example code for RotXXX functions.
   
   >>> Before compiling: Please remove comment from the constructor of the 
   >>> connected graphics display (see below).
@@ -42,8 +42,8 @@
 #include "U8glib.h"
 
 // setup u8g object, please remove comment from one of the following constructor calls
-// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device
-
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
 //U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
@@ -52,9 +52,10 @@
 //U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
-//U8GLIB_DOGS102 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
@@ -84,19 +85,54 @@
 //U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
 //U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
 //U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
 //U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
 //U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
 //U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
 
 uint8_t offset = 0;
 
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Scale/Scale.pde b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Scale/Scale.ino
similarity index 64%
rename from ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Scale/Scale.pde
rename to ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Scale/Scale.ino
index ce87c76fa1e44f84e2a99e0e4eccbe43981e4371..5fc5d331fda2522a27a15af426967e0c8d00ead9 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Scale/Scale.pde
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Scale/Scale.ino
@@ -1,8 +1,8 @@
 /*
 
-  HelloWorld.pde
+  Scale.pde
   
-  "Hello World!" example code.
+  Example code for the 2x2 scale function.
   
   >>> Before compiling: Please remove comment from the constructor of the 
   >>> connected graphics display (see below).
@@ -42,8 +42,8 @@
 #include "U8glib.h"
 
 // setup u8g object, please remove comment from one of the following constructor calls
-// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device
-
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
 //U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
@@ -52,9 +52,10 @@
 //U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
-//U8GLIB_DOGS102 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
@@ -84,19 +85,54 @@
 //U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
 //U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
 //U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
 //U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
 //U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
 //U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
 
 
 void draw(void) {
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/TextRotX/TextRotX.pde b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/TextRotX/TextRotX.ino
similarity index 64%
rename from ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/TextRotX/TextRotX.pde
rename to ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/TextRotX/TextRotX.ino
index 718fd821c88f3953aaa1df0beca29ded7898e1e5..3527808284aeb761872a9f86d32ebfd27c104a77 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/TextRotX/TextRotX.pde
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/TextRotX/TextRotX.ino
@@ -42,8 +42,8 @@
 #include "U8glib.h"
 
 // setup u8g object, please remove comment from one of the following constructor calls
-// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device
-
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
 //U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
@@ -52,9 +52,10 @@
 //U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
-//U8GLIB_DOGS102 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
@@ -84,19 +85,54 @@
 //U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
 //U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
 //U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
 //U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
 //U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
 //U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
 
 // graphic commands to redraw the complete screen should be placed here  
 void draw(void) {
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino
new file mode 100644
index 0000000000000000000000000000000000000000..9ce10e94169ef9680f9fdd863254a8e8f8d45163
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino
@@ -0,0 +1,348 @@
+/*
+
+  Touch4WSetup.pde
+  
+  Use this example to figure out the ranges for of the active area of a 4-wire resistive 
+  touch panel.
+  
+  >>> Before compiling: Please remove comment from the constructor of the 
+  >>> connected graphics display (see below).
+  
+  Universal 8bit Graphics Library, http://code.google.com/p/u8glib/
+  
+  Copyright (c) 2012, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+*/
+
+
+#include "U8glib.h"
+
+// setup u8g object, please remove comment from one of the following constructor calls
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
+//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10);	// SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10
+//U8GLIB_ST7920_192X32_4X u8g(10);		// SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI
+//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_LM6059 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_LM6063 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_BW u8g(10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
+//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
+//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); 		// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16
+//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
+//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
+//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
+//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
+//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
+//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
+//U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
+//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+
+//================================================================
+// Setup 4-Wire Resistive Touch Panel
+
+uint8_t tp_left = A3;
+uint8_t tp_right = A5;
+uint8_t tp_top = A4;
+uint8_t tp_bottom = A2;
+
+#define X_START 120
+#define X_END 140
+#define Y_START 120
+#define Y_END 140 
+
+#define PULLUP_THRESHOLD 235
+
+//================================================================
+// Touch Panel Code
+
+/* touch panel dimension */
+struct tpd_struct
+{
+  /* raw value */
+  uint8_t raw;
+  
+  /* calibration values  */
+  uint8_t start;
+  uint8_t end;		
+  
+  /* user values */
+  uint8_t range;	/* result will have range fron 0..range  (including the value of range) */
+  
+  uint8_t result;	/* output value: position [0...range] */
+  uint8_t is_pressed;	/* output value: pressed (=1) or not pressed (=0) */
+  uint8_t is_update;	/* will be set to 1 if result or is_pressed has been updated */
+};
+
+struct tp_struct
+{
+  struct tpd_struct x;
+  struct tpd_struct y;
+  uint8_t is_pressed; /* combination of x.is_pressed && y.is_pressed */
+  uint8_t is_update;
+};
+
+struct tp_struct tp;
+
+/* map raw value to 0...range (result) */
+void tpd_map_touch_position(struct tpd_struct *d, uint8_t raw)
+{
+  uint8_t is_pressed;
+  uint16_t p;
+  uint8_t start, end;
+  
+  d->raw = raw;
+  
+  start = d->start;
+  end = d->end;
+
+  /* check if position is within active area; store result in "is_pressed" */
+  is_pressed = 1;  
+  if ( raw >= PULLUP_THRESHOLD )
+  {
+    d->result = 0;
+    is_pressed = 0;
+  }
+  else
+  {
+    /* update start and end */
+    if ( raw < start )
+    {
+      start = raw;
+      d->start = raw;
+    }
+    if ( raw > end )
+    {
+      end = raw;
+      d->end = raw;
+    }
+  }
+  
+  /* store "is_pressed" in the global structure, set update flag */
+  if ( d->is_pressed != is_pressed )
+    d->is_update = 1;
+  d->is_pressed = is_pressed;
+    
+  /* map "raw" value into target range */
+  if ( is_pressed != 0 )
+  {    
+    p = raw;
+    p -= start;
+    p *= d->range;
+    end -= start;
+    p /= end;
+
+    if ( d->result != p )
+      d->is_update = 1;
+    d->result = p;
+  }
+}
+
+void tp_Init(uint8_t width, uint8_t height)
+{
+  tp.x.start = X_START;
+  tp.x.end = X_END;
+  tp.x.range = width-1;
+  
+  tp.y.start = Y_START;
+  tp.y.end = Y_END;
+  tp.y.range = height-1;
+  
+  tp.is_update = 1;
+}
+
+void setTouchRawValues(uint8_t x, uint8_t y)
+{
+      tpd_map_touch_position(&(tp.x), x);
+      tpd_map_touch_position(&(tp.y), y);
+      
+      tp.is_pressed = tp.x.is_pressed && tp.y.is_pressed;
+      if ( tp.x.is_update || tp.y.is_update )
+	tp.is_update = 1;
+}
+
+
+uint8_t getTouchPos(uint8_t hiPin, uint8_t lowPin, uint8_t sensePin, uint8_t dcPin)
+{
+  uint8_t val;
+  pinMode(dcPin, INPUT);
+  pinMode(sensePin, INPUT_PULLUP);
+  pinMode(hiPin, OUTPUT);
+  pinMode(lowPin, OUTPUT);  
+  
+  digitalWrite(hiPin, HIGH);
+  digitalWrite(lowPin, LOW);
+  delay(10);
+  val = analogRead(sensePin) >> 2;
+  pinMode(hiPin, INPUT);
+  pinMode(lowPin, INPUT);  
+  delay(10);
+  return val;
+}
+
+void updateTouchPanel(void)
+{
+  uint8_t tp_raw_x;
+  uint8_t tp_raw_y;
+
+  tp_raw_x = getTouchPos(tp_right, tp_left, tp_bottom, tp_top);
+  tp_raw_y = getTouchPos(tp_top, tp_bottom, tp_left, tp_right);
+  
+  setTouchRawValues(tp_raw_x, tp_raw_y);  
+}
+
+//================================================================
+// graphics output and picture loop
+
+void center(u8g_uint_t y, const char *str)
+{
+  u8g_uint_t x;
+  x = u8g.getWidth();
+  x -= u8g.getStrWidth(str);
+  x /= 2;
+  u8g.drawStr(x, y, str);
+}
+
+
+void draw(void) {
+  u8g.setFont(u8g_font_6x10);
+  center( 10, "Touch Panel Setup");
+  u8g.setPrintPos(0, 20); u8g.print("x_start=");u8g.print((int)tp.x.start);u8g.print(" x_end=");u8g.print((int)tp.x.end);
+  u8g.setPrintPos(0, 30); u8g.print("y_start=");u8g.print((int)tp.y.start);u8g.print(" y_end=");u8g.print((int)tp.y.end);
+  u8g.setPrintPos(0, 40); u8g.print("x=");u8g.print((int)tp.x.raw);
+  u8g.setPrintPos(0, 50); u8g.print("y=");u8g.print((int)tp.y.raw);
+}
+
+void setup(void) {
+  
+  // flip screen, if required
+  // u8g.setRot180();
+  u8g.setCursorFont(u8g_font_cursor);
+  u8g.setCursorStyle(32);
+  
+  tp_Init(u8g.getWidth(), u8g.getHeight());
+  
+  tp.is_update = 1;
+}
+
+void loop(void) {
+  
+  // update touch panel and handle return values
+  updateTouchPanel();
+  
+  if ( tp.is_pressed != 0 )
+    u8g.enableCursor();
+  else
+    u8g.disableCursor();
+  
+  u8g.setCursorPos(tp.x.result, u8g.getHeight()-tp.y.result-1);
+  
+  // picture loop
+  if ( tp.is_update != 0 )
+  {
+    tp.is_update = 0;
+    u8g.firstPage();  
+    do {
+      draw();
+    } while( u8g.nextPage() );
+  }
+  
+}
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino
new file mode 100644
index 0000000000000000000000000000000000000000..ebe15838f3cb3d639aec7014548b2010a79b4440
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino
@@ -0,0 +1,335 @@
+/*
+
+  Touch4WTest.pde
+  
+  >>> Before compiling: Please remove comment from the constructor of the 
+  >>> connected graphics display (see below).
+  
+  Universal 8bit Graphics Library, http://code.google.com/p/u8glib/
+  
+  Copyright (c) 2012, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+*/
+
+
+#include "U8glib.h"
+
+// setup u8g object, please remove comment from one of the following constructor calls
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
+//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10);	// SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10
+//U8GLIB_ST7920_192X32_4X u8g(10);		// SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI
+//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
+//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
+//U8GLIB_LM6059 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_LM6063 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_BW u8g(10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
+//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
+//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); 		// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16
+//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
+//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
+//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
+//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
+//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
+//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
+//U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
+//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+
+//================================================================
+// Setup 4-Wire Resistive Touch Panel
+
+uint8_t tp_left = A3;
+uint8_t tp_right = A5;
+uint8_t tp_top = A4;
+uint8_t tp_bottom = A2;
+
+/* Run "Touch4WSetup" and enter values here */
+#define X_START 64
+#define X_END 200
+#define Y_START 105
+#define Y_END 160  
+
+//================================================================
+// Touch Panel Code
+
+/* touch panel dimension */
+struct tpd_struct
+{
+  /* raw value */
+  uint8_t raw;
+  
+  /* calibration values  */
+  uint8_t start;
+  uint8_t end;		
+  
+  /* user values */
+  uint8_t range;	/* result will have range fron 0..range  (including the value of range) */
+  
+  uint8_t result;	/* output value: position [0...range] */
+  uint8_t is_pressed;	/* output value: pressed (=1) or not pressed (=0) */
+  uint8_t is_update;	/* will be set to 1 if result or is_pressed has been updated */
+};
+
+struct tp_struct
+{
+  struct tpd_struct x;
+  struct tpd_struct y;
+  uint8_t is_pressed; /* combination of x.is_pressed && y.is_pressed */
+  uint8_t is_update;
+};
+
+struct tp_struct tp;
+
+/* map raw value to 0...range (result) */
+void tpd_map_touch_position(struct tpd_struct *d, uint8_t raw)
+{
+  uint8_t is_pressed;
+  uint16_t p;
+  uint8_t start, end;
+  
+  d->raw = raw;
+  
+  start = d->start;
+  end = d->end;
+
+  /* check if position is within active area; store result in "is_pressed" */
+  is_pressed = 1;  
+  if ( raw < start )
+  {
+    d->result = 0;
+    is_pressed = 0;
+  }
+  if ( raw >= end )
+  {
+    d->result = d->range;
+    is_pressed = 0;
+  }
+  
+  /* store "is_pressed" in the global structure, set update flag */
+  if ( d->is_pressed != is_pressed )
+    d->is_update = 1;
+  d->is_pressed = is_pressed;
+    
+  /* map "raw" value into target range */
+  if ( is_pressed != 0 )
+  {    
+    p = raw;
+    p -= start;
+    p *= d->range;
+    end -= start;
+    p /= end;
+
+    if ( d->result != p )
+      d->is_update = 1;
+    d->result = p;
+  }
+}
+
+void tp_Init(uint8_t width, uint8_t height)
+{
+  tp.x.start = X_START;
+  tp.x.end = X_END;
+  tp.x.range = width-1;
+  
+  tp.y.start = Y_START;
+  tp.y.end = Y_END;
+  tp.y.range = height-1;
+  
+  tp.is_update = 1;
+}
+
+void setTouchRawValues(uint8_t x, uint8_t y)
+{
+      tpd_map_touch_position(&(tp.x), x);
+      tpd_map_touch_position(&(tp.y), y);
+      
+      tp.is_pressed = tp.x.is_pressed && tp.y.is_pressed;
+      if ( tp.x.is_update || tp.y.is_update )
+	tp.is_update = 1;
+}
+
+
+uint8_t getTouchPos(uint8_t hiPin, uint8_t lowPin, uint8_t sensePin, uint8_t dcPin)
+{
+  uint8_t val;
+  pinMode(dcPin, INPUT);
+  pinMode(sensePin, INPUT_PULLUP);
+  pinMode(hiPin, OUTPUT);
+  pinMode(lowPin, OUTPUT);  
+  
+  digitalWrite(hiPin, HIGH);
+  digitalWrite(lowPin, LOW);
+  delay(10);
+  val = analogRead(sensePin) >> 2;
+  pinMode(hiPin, INPUT);
+  pinMode(lowPin, INPUT);  
+  delay(10);
+  return val;
+}
+
+void updateTouchPanel(void)
+{
+  uint8_t tp_raw_x;
+  uint8_t tp_raw_y;
+
+  tp_raw_x = getTouchPos(tp_right, tp_left, tp_bottom, tp_top);
+  tp_raw_y = getTouchPos(tp_top, tp_bottom, tp_left, tp_right);
+  
+  setTouchRawValues(tp_raw_x, tp_raw_y);  
+}
+
+//================================================================
+// graphics output and picture loop
+
+void center(u8g_uint_t y, const char *str)
+{
+  u8g_uint_t x;
+  x = u8g.getWidth();
+  x -= u8g.getStrWidth(str);
+  x /= 2;
+  u8g.drawStr(x, y, str);
+}
+
+
+void draw(void) {
+  u8g.setFont(u8g_font_6x10);
+  center( 10, "Touch Panel Test");
+  if ( tp.is_pressed != 0 )
+  {
+    u8g.setPrintPos(0, 20); u8g.print("x=");u8g.print((int)tp.x.result);
+    u8g.setPrintPos(0, 30); u8g.print("y=");u8g.print((int)(u8g.getHeight()-tp.y.result-1));
+    //u8g.setPrintPos(0, 40); u8g.print("x: ");u8g.print((int)tp.x.start);u8g.print("..");u8g.print((int)tp.x.end);
+    //u8g.setPrintPos(0, 50); u8g.print("y: ");u8g.print((int)tp.y.start);u8g.print("..");u8g.print((int)tp.y.end);
+  }
+}
+
+void setup(void) {
+  
+  // flip screen, if required
+  // u8g.setRot180();
+  u8g.setCursorFont(u8g_font_cursor);
+  u8g.setCursorStyle(32);
+  
+  tp_Init(u8g.getWidth(), u8g.getHeight());  
+}
+
+void loop(void) {
+  
+  // update touch panel and handle return values
+  updateTouchPanel();
+  
+  if ( tp.is_pressed != 0 )
+    u8g.enableCursor();
+  else
+    u8g.disableCursor();
+  
+  u8g.setCursorPos(tp.x.result, u8g.getHeight()-tp.y.result-1);
+  
+  // picture loop
+  if ( tp.is_update != 0 ) {
+    tp.is_update = 0;
+    u8g.firstPage();  
+    do {
+      draw();
+    } while( u8g.nextPage() );
+  }
+  
+}
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/U8gLogo/U8gLogo.pde b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/U8gLogo/U8gLogo.ino
similarity index 62%
rename from ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/U8gLogo/U8gLogo.pde
rename to ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/U8gLogo/U8gLogo.ino
index 78c866f0fe224b5f472d3f3c2c10de94308d4836..151542dcf874d120c44dbd1164258f753479945c 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/U8gLogo/U8gLogo.pde
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/U8gLogo/U8gLogo.ino
@@ -42,8 +42,8 @@
 #include "U8glib.h"
 
 // setup u8g object, please remove comment from one of the following constructor calls
-// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device
-
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
 //U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
@@ -52,9 +52,10 @@
 //U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
-//U8GLIB_DOGS102 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
@@ -84,20 +85,56 @@
 //U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
 //U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
 //U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
 //U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
 //U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
 //U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
 
+//#define MINI_LOGO
 
 void drawColorBox(void)
 {
@@ -117,19 +154,32 @@ void drawColorBox(void)
 
 void drawLogo(uint8_t d)
 {
-  u8g.setFont(u8g_font_gdr25r);
-  u8g.drawStr(0+d, 30+d, "U");
-  u8g.setFont(u8g_font_gdr30n);
-  u8g.drawStr90(23+d,10+d,"8");
-  u8g.setFont(u8g_font_gdr25r);
-  u8g.drawStr(53+d,30+d,"g");
-  
-  u8g.drawHLine(2+d, 35+d, 47);
-  u8g.drawVLine(45+d, 32+d, 12);
+#ifdef MINI_LOGO
+    u8g.setFont(u8g_font_gdr17r);
+    u8g.drawStr(0+d, 22+d, "U");
+    u8g.setFont(u8g_font_gdr20n);
+    u8g.drawStr90(17+d,8+d,"8");
+    u8g.setFont(u8g_font_gdr17r);
+    u8g.drawStr(39+d,22+d,"g");
+    
+    u8g.drawHLine(2+d, 25+d, 34);
+    u8g.drawVLine(32+d, 22+d, 12);
+#else
+    u8g.setFont(u8g_font_gdr25r);
+    u8g.drawStr(0+d, 30+d, "U");
+    u8g.setFont(u8g_font_gdr30n);
+    u8g.drawStr90(23+d,10+d,"8");
+    u8g.setFont(u8g_font_gdr25r);
+    u8g.drawStr(53+d,30+d,"g");
+    
+    u8g.drawHLine(2+d, 35+d, 47);
+    u8g.drawVLine(45+d, 32+d, 12);
+#endif
 }
 
 void drawURL(void)
 {
+#ifndef MINI_LOGO
   u8g.setFont(u8g_font_4x6);
   if ( u8g.getHeight() < 59 )
   {
@@ -140,6 +190,7 @@ void drawURL(void)
   {
     u8g.drawStr(1,54,"code.google.com/p/u8glib");
   }
+#endif
 }
 
 
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/XBM/XBM.pde b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/XBM/XBM.ino
similarity index 65%
rename from ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/XBM/XBM.pde
rename to ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/XBM/XBM.ino
index 44dd720d928ef4ce87f27039a6c8de8c2f9db4f9..65b183187229b07a1849e3235432ac40634d1c92 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/XBM/XBM.pde
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/XBM/XBM.ino
@@ -42,8 +42,8 @@
 #include "U8glib.h"
 
 // setup u8g object, please remove comment from one of the following constructor calls
-// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device
-
+// IMPORTANT NOTE: The following list is incomplete. The complete list of supported 
+// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device
 //U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
@@ -52,9 +52,10 @@
 //U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
-//U8GLIB_DOGS102 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM132 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_DOGM128 u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9);		// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
 //U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);	// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
@@ -84,19 +85,54 @@
 //U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );  			// 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
 //U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); 	// 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
 //U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)
 //U8GLIB_SSD1306_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);	// I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);	// Fast I2C / TWI 
+//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send AC
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
-//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7);	// SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);	// I2C / TWI 
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
+//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);	// Display which does not send ACK
 //U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
 //U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE);	// I2C
 //U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGM240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
+//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE);	// I2C
+//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
+//U8GLIB_UC1611_DOGXL240 u8g(10, 9);		// HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
 //U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);	// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board)
+//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8);	// SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64 u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
+//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8);	// HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
 //U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
 //U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
+//U8GLIB_HT1632_24X16 u8g(3, 2, 4);		// WR = 3, DATA = 2, CS = 4
+//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)
+//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
+//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)
 
 #define u8g_logo_width 38
 #define u8g_logo_height 24
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/license.txt b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/license.txt
index c9eea75c4d444f273a2e2d258487ea7e8c304259..f1a9615c7d64576f8c03dd4b87a817bdc51a6316 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/license.txt
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/license.txt
@@ -78,3 +78,4 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/chessengine.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/chessengine.c
index 4a8758c38235fa19f4ae2bca5911e4c1c24f4335..f86bf0687eb8a41403ea109493de2d74abcb5129 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/chessengine.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/chessengine.c
@@ -72,7 +72,7 @@
 	- Castling: Need to check for fields under attack
 	    --> done
 	
-	- Check for WIN / LOSE situation, perhaps call ce_Eval() once on the top-level board setup
+	- Check for WIN / LOOSE situation, perhaps call ce_Eval() once on the top-level board setup
 	    just after the real move
 	- cleanup cu_Move
 	    --> almost done
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g.h
index f5a0230acb7fc22773ea9c190d0208a839b430d3..afe161fc6c64e47421304cb6bbfffcd0583843e3 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g.h
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g.h
@@ -36,8 +36,13 @@
 #ifndef _U8G_H
 #define _U8G_H
 
+/* uncomment the following line to support displays larger than 240x240 */
 //#define U8G_16BIT 1
 
+/* comment the following line to generate more compact but interrupt unsafe code */
+#define U8G_INTERRUPT_SAFE 1
+
+
 #include <stddef.h>
 
 #ifdef __18CXX
@@ -53,6 +58,15 @@ typedef signed short int16_t;
 #include <avr/pgmspace.h>
 #endif 
 
+/* 
+  use the com interface directly on any systems which are not AVR or ARDUINO 
+*/
+#if defined(__AVR__) || defined(ARDUINO)
+#define U8G_WITH_PINLIST
+#endif
+#define U8G_WITH_PINLIST
+
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -60,17 +74,30 @@ extern "C" {
   
 /*===============================================================*/
 #ifdef __GNUC__
-#define U8G_NOINLINE __attribute__((noinline))
-#define U8G_PURE  __attribute__ ((pure))
-#define U8G_NOCOMMON __attribute__ ((nocommon))
-#define U8G_SECTION(name) __attribute__ ((section (name)))
+#  define U8G_NOINLINE __attribute__((noinline))
+#  define U8G_PURE  __attribute__ ((pure))
+#  define U8G_NOCOMMON __attribute__ ((nocommon))
+#  define U8G_SECTION(name) __attribute__ ((section (name)))
+#  if defined(__MSPGCC__)
+/* mspgcc does not have .progmem sections. Use -fdata-sections. */
+#    define U8G_FONT_SECTION(name)
+#  endif
+#  if defined(__AVR__)
+#    define U8G_FONT_SECTION(name) U8G_SECTION(".progmem." name)
+#  endif
 #else
-#define U8G_NOINLINE
-#define U8G_PURE
-#define U8G_NOCOMMON
-#define U8G_SECTION(name)
+#  define U8G_NOINLINE
+#  define U8G_PURE
+#  define U8G_NOCOMMON
+#  define U8G_SECTION(name)
+#  define U8G_FONT_SECTION(name)
 #endif
-  
+
+#ifndef U8G_FONT_SECTION
+#  define U8G_FONT_SECTION(name)
+#endif
+
+
 /*===============================================================*/
 /* flash memory access */
 
@@ -81,15 +108,41 @@ typedef uint8_t PROGMEM u8g_pgm_uint8_t;
 typedef uint8_t u8g_fntpgm_uint8_t;
 #define u8g_pgm_read(adr) pgm_read_byte_near(adr)
 #define U8G_PSTR(s) ((u8g_pgm_uint8_t *)PSTR(s))
+
 #else
+
 #define U8G_PROGMEM
 #define PROGMEM
 typedef uint8_t u8g_pgm_uint8_t;
 typedef uint8_t u8g_fntpgm_uint8_t;
 #define u8g_pgm_read(adr) (*(const u8g_pgm_uint8_t *)(adr)) 
 #define U8G_PSTR(s) ((u8g_pgm_uint8_t *)(s))
+
 #endif
   
+/*===============================================================*/
+/* interrupt safe code */
+#if defined(U8G_INTERRUPT_SAFE)
+#  if defined(__AVR__)
+extern uint8_t global_SREG_backup;	/* u8g_state.c */
+#    define U8G_ATOMIC_START()		do { global_SREG_backup = SREG; cli(); } while(0)
+#    define U8G_ATOMIC_END()			SREG = global_SREG_backup
+#    define U8G_ATOMIC_OR(ptr, val) 	do { uint8_t tmpSREG = SREG; cli(); (*(ptr) |= (val)); SREG = tmpSREG; } while(0)
+#    define U8G_ATOMIC_AND(ptr, val) 	do { uint8_t tmpSREG = SREG; cli(); (*(ptr) &= (val)); SREG = tmpSREG; } while(0)
+#  else
+#    define U8G_ATOMIC_OR(ptr, val) (*(ptr) |= (val))
+#    define U8G_ATOMIC_AND(ptr, val) (*(ptr) &= (val))
+#    define U8G_ATOMIC_START()
+#    define U8G_ATOMIC_END()
+#  endif /* __AVR__ */
+#else
+#  define U8G_ATOMIC_OR(ptr, val) (*(ptr) |= (val))
+#  define U8G_ATOMIC_AND(ptr, val) (*(ptr) &= (val))
+#  define U8G_ATOMIC_START()
+#  define U8G_ATOMIC_END()
+#endif /* U8G_INTERRUPT_SAFE */
+  
+  
 /*===============================================================*/
 /* forward */
 typedef struct _u8g_t u8g_t;
@@ -98,6 +151,7 @@ typedef struct _u8g_dev_t u8g_dev_t;
 typedef struct _u8g_dev_arg_pixel_t u8g_dev_arg_pixel_t;
 typedef struct _u8g_dev_arg_bbx_t u8g_dev_arg_bbx_t;
 typedef struct _u8g_box_t u8g_box_t;
+typedef struct _u8g_dev_arg_irgb_t u8g_dev_arg_irgb_t;
 
 
 /*===============================================================*/
@@ -155,6 +209,8 @@ extern u8g_dev_t u8g_dev_sdl_1bit_h;
 extern u8g_dev_t u8g_dev_sdl_2bit;
 extern u8g_dev_t u8g_dev_sdl_2bit_double_mem;
 extern u8g_dev_t u8g_dev_sdl_8bit;
+extern u8g_dev_t u8g_dev_sdl_hicolor;
+extern u8g_dev_t u8g_dev_sdl_fullcolor;
 int u8g_sdl_get_key(void);
 
 /* Size: 70x30 monochrom, stdout */
@@ -172,10 +228,16 @@ extern u8g_dev_t u8g_dev_gprof;
 extern u8g_dev_t u8g_dev_uc1701_dogs102_sw_spi;
 extern u8g_dev_t u8g_dev_uc1701_dogs102_hw_spi;
 
+extern u8g_dev_t u8g_dev_uc1701_dogs102_2x_sw_spi;
+extern u8g_dev_t u8g_dev_uc1701_dogs102_2x_hw_spi;
+
 /* Display: Mini12864 (dealextreme), Size: 128x64 monochrom */
 extern u8g_dev_t u8g_dev_uc1701_mini12864_sw_spi;
 extern u8g_dev_t u8g_dev_uc1701_mini12864_hw_spi;
 
+extern u8g_dev_t u8g_dev_uc1701_mini12864_2x_sw_spi;
+extern u8g_dev_t u8g_dev_uc1701_mini12864_2x_hw_spi;
+
 /* Display: EA DOGM132, Size: 128x32 monochrom */
 extern u8g_dev_t u8g_dev_st7565_dogm132_sw_spi;
 extern u8g_dev_t u8g_dev_st7565_dogm132_hw_spi;
@@ -183,31 +245,84 @@ extern u8g_dev_t u8g_dev_st7565_dogm132_hw_spi;
 /* Display: EA DOGM128, Size: 128x64 monochrom */
 extern u8g_dev_t u8g_dev_st7565_dogm128_sw_spi;
 extern u8g_dev_t u8g_dev_st7565_dogm128_hw_spi;
-/* Display: Topway LM6063 128x64 */
-extern u8g_dev_t u8g_dev_st7565_lm6063_sw_spi;
-extern u8g_dev_t u8g_dev_st7565_lm6063_hw_spi;
+extern u8g_dev_t u8g_dev_st7565_dogm128_parallel;
+
+extern u8g_dev_t u8g_dev_st7565_dogm128_2x_sw_spi;
+extern u8g_dev_t u8g_dev_st7565_dogm128_2x_hw_spi;
+extern u8g_dev_t u8g_dev_st7565_dogm128_2x_parallel;
+
+/* EA DOGM 240-6 */
+extern u8g_dev_t u8g_dev_uc1611_dogm240_i2c;
+extern u8g_dev_t u8g_dev_uc1611_dogm240_hw_spi;
+extern u8g_dev_t u8g_dev_uc1611_dogm240_sw_spi;
+
+/* EA DOGXL 240 */
+extern u8g_dev_t u8g_dev_uc1611_dogxl240_i2c;
+extern u8g_dev_t u8g_dev_uc1611_dogxl240_hw_spi;
+extern u8g_dev_t u8g_dev_uc1611_dogxl240_sw_spi;
+
 /* Display: Topway LM6059 128x64 (Adafruit) */
 extern u8g_dev_t u8g_dev_st7565_lm6059_sw_spi;
 extern u8g_dev_t u8g_dev_st7565_lm6059_hw_spi;
+extern u8g_dev_t u8g_dev_st7565_lm6059_2x_sw_spi;
+extern u8g_dev_t u8g_dev_st7565_lm6059_2x_hw_spi;
+/* Display: Topway LM6063 128x64 */
+extern u8g_dev_t u8g_dev_st7565_lm6063_sw_spi;
+extern u8g_dev_t u8g_dev_st7565_lm6063_hw_spi;
+extern u8g_dev_t u8g_dev_st7565_lm6063_2x_sw_spi;
+extern u8g_dev_t u8g_dev_st7565_lm6063_2x_hw_spi;
 /* Display: Newhaven NHD-C12864 */
 extern u8g_dev_t u8g_dev_st7565_nhd_c12864_sw_spi;
 extern u8g_dev_t u8g_dev_st7565_nhd_c12864_hw_spi;
+extern u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_sw_spi;
+extern u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_hw_spi;
+
 /* Display: Newhaven NHD-C12832 */
 extern u8g_dev_t u8g_dev_st7565_nhd_c12832_sw_spi;
 extern u8g_dev_t u8g_dev_st7565_nhd_c12832_hw_spi;
 extern u8g_dev_t u8g_dev_st7565_nhd_c12832_parallel;
+extern u8g_dev_t u8g_dev_st7565_nhd_c12832_hw_usart_spi;
+
 /* Display: Displaytech 64128N */
 extern u8g_dev_t u8g_dev_st7565_64128n_sw_spi;
 extern u8g_dev_t u8g_dev_st7565_64128n_hw_spi;
+extern u8g_dev_t u8g_dev_st7565_64128n_parallel;
+
+extern u8g_dev_t u8g_dev_st7565_64128n_2x_sw_spi;
+extern u8g_dev_t u8g_dev_st7565_64128n_2x_hw_spi;
+extern u8g_dev_t u8g_dev_st7565_64128n_2x_parallel;
+
+/* Display: LCD-AG-C128032R-DIW W/KK E6 PBF */
+extern u8g_dev_t u8g_dev_uc1601_c128032_sw_spi;
+extern u8g_dev_t u8g_dev_uc1601_c128032_hw_spi;
+
+extern u8g_dev_t u8g_dev_uc1601_c128032_2x_sw_spi;
+extern u8g_dev_t u8g_dev_uc1601_c128032_2x_hw_spi;
+
+/* East Rising/buy-display.com ERC24064-1 */
+extern u8g_dev_t u8g_dev_uc1608_240x64_sw_spi;
+extern u8g_dev_t u8g_dev_uc1608_240x64_hw_spi;
+
+extern u8g_dev_t u8g_dev_uc1608_240x64_2x_sw_spi;
+extern u8g_dev_t u8g_dev_uc1608_240x64_2x_hw_spi;
+
+/* UC1608 240x128 */
+extern u8g_dev_t u8g_dev_uc1608_240x128_sw_spi;
+extern u8g_dev_t u8g_dev_uc1608_240x128_hw_spi;
+
+extern u8g_dev_t u8g_dev_uc1608_240x128_2x_sw_spi;
+extern u8g_dev_t u8g_dev_uc1608_240x128_2x_hw_spi;
 
 /* dfrobot 128x64 Graphic LCD (SKU:FIT0021) */
 extern u8g_dev_t u8g_dev_st7920_128x64_sw_spi;
 extern u8g_dev_t u8g_dev_st7920_128x64_hw_spi;
 extern u8g_dev_t u8g_dev_st7920_128x64_8bit;
+extern u8g_dev_t u8g_dev_st7920_128x64_custom;
 
 extern u8g_dev_t u8g_dev_st7920_128x64_4x_sw_spi;
 extern u8g_dev_t u8g_dev_st7920_128x64_4x_hw_spi;
 extern u8g_dev_t u8g_dev_st7920_128x64_4x_8bit;
+extern u8g_dev_t u8g_dev_st7920_128x64_4x_custom;
 
 /* NHD-19232WG */
 extern u8g_dev_t u8g_dev_st7920_192x32_sw_spi;
@@ -238,6 +353,7 @@ extern u8g_dev_t u8g_dev_lc7981_320x64_8bit;
 
 /* T6963, all t6963 devices have double page (2x) */
 extern u8g_dev_t u8g_dev_t6963_240x128_8bit;
+extern u8g_dev_t u8g_dev_t6963_128x128_8bit;
 extern u8g_dev_t u8g_dev_t6963_240x64_8bit;
 extern u8g_dev_t u8g_dev_t6963_128x64_8bit;
 
@@ -258,10 +374,12 @@ extern u8g_dev_t u8g_dev_ks0108_128x64_fast;    /* faster, but uses private tabl
 
 /* Nokia 84x48 Display with PCD8544 */
 extern u8g_dev_t u8g_dev_pcd8544_84x48_sw_spi;
+extern u8g_dev_t u8g_dev_pcd8544_84x48_hw_spi;
 extern u8g_dev_t u8g_dev_tls8204_84x48_sw_spi;
 
 /* Nokia 96x65 Display with PCF8812 */
 extern u8g_dev_t u8g_dev_pcf8812_96x65_sw_spi;
+extern u8g_dev_t u8g_dev_pcf8812_96x65_hw_spi;
 
 /* NHD-2.7-12864UCY3 OLED Display with SSD1325 Controller */
 extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_sw_spi;
@@ -288,11 +406,13 @@ extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_i2c;
 /* NHD-3.12-25664 OLED Display with SSD1322 Controller */
 extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_sw_spi;
 extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_hw_spi;
+extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_parallel;
 extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_sw_spi;
 extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_hw_spi;
 
 extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_sw_spi;
 extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_hw_spi;
+extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_parallel;
 extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi;
 extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi;
 
@@ -301,6 +421,23 @@ extern u8g_dev_t u8g_dev_ssd1306_128x64_sw_spi;
 extern u8g_dev_t u8g_dev_ssd1306_128x64_hw_spi;
 extern u8g_dev_t u8g_dev_ssd1306_128x64_i2c;
 
+extern u8g_dev_t u8g_dev_ssd1306_adafruit_128x64_sw_spi;
+extern u8g_dev_t u8g_dev_ssd1306_adafruit_128x64_hw_spi;
+extern u8g_dev_t u8g_dev_ssd1306_adafruit_128x64_i2c;
+
+extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_sw_spi;
+extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_hw_spi;
+extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_i2c;
+
+/* OLED 128x64 Display with SH1106 Controller */
+extern u8g_dev_t u8g_dev_sh1106_128x64_sw_spi;
+extern u8g_dev_t u8g_dev_sh1106_128x64_hw_spi;
+extern u8g_dev_t u8g_dev_sh1106_128x64_i2c;
+
+extern u8g_dev_t u8g_dev_sh1106_128x64_2x_sw_spi;
+extern u8g_dev_t u8g_dev_sh1106_128x64_2x_hw_spi;
+extern u8g_dev_t u8g_dev_sh1106_128x64_2x_i2c;
+
 /* OLED 128x64 Display with SSD1309 Controller */
 extern u8g_dev_t u8g_dev_ssd1309_128x64_sw_spi;
 extern u8g_dev_t u8g_dev_ssd1309_128x64_hw_spi;
@@ -311,6 +448,15 @@ extern u8g_dev_t u8g_dev_ssd1306_128x32_sw_spi;
 extern u8g_dev_t u8g_dev_ssd1306_128x32_hw_spi;
 extern u8g_dev_t u8g_dev_ssd1306_128x32_i2c;
 
+extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_sw_spi;
+extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_hw_spi;
+extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_i2c;
+
+/* OLED 60x32 Display with LD7032 Controller */
+extern u8g_dev_t u8g_dev_ld7032_60x32_sw_spi;
+extern u8g_dev_t u8g_dev_ld7032_60x32_hw_spi;
+extern u8g_dev_t u8g_dev_ld7032_60x32_parallel;
+
 /* experimental 65K TFT with st7687 controller */
 extern u8g_dev_t u8g_dev_st7687_c144mvgd_sw_spi;
 extern u8g_dev_t u8g_dev_st7687_c144mvgd_8bit;
@@ -325,6 +471,38 @@ void u8g_SetFlipDiscCallback(u8g_t *u8g, void (*cb)(uint8_t id, uint8_t page, ui
 /* ILI9325D based TFT */
 extern u8g_dev_t u8g_dev_ili9325d_320x240_8bit;
 
+
+/* SSD1351 OLED (breakout board from http://www.kickstarter.com/projects/ilsoftltd/colour-oled-breakout-board) */
+extern u8g_dev_t u8g_dev_ssd1351_128x128_332_sw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128_332_hw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_sw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_hw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128_idx_sw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128_idx_hw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_sw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_hw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_sw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_hw_spi;
+
+/* SSD1351 OLED (Freetronics, GPIOs set to high level) */
+extern u8g_dev_t u8g_dev_ssd1351_128x128gh_332_sw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128gh_332_hw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_sw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_hw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_sw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_hw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_sw_spi;
+extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_hw_spi;
+
+/* HT1632 */
+extern u8g_dev_t u8g_dev_ht1632_24x16;
+
+/* A2 Micro Printer */
+extern u8g_dev_t u8g_dev_a2_micro_printer_384x240;
+extern u8g_dev_t u8g_dev_a2_micro_printer_192x120_ds;
+extern u8g_dev_t u8g_dev_a2_micro_printer_192x360_ds;
+extern u8g_dev_t u8g_dev_a2_micro_printer_192x720_ds;
+
 /* u8g_virtual_screen.c  */
 extern u8g_dev_t u8g_dev_vs;
 
@@ -335,12 +513,17 @@ extern u8g_dev_t u8g_dev_vs;
 struct _u8g_dev_arg_pixel_t
 {
   u8g_uint_t x, y;              /* will be modified */
-  uint8_t pixel;                  /* will be modified */
+  uint8_t pixel;                  /* will be modified, pixel sequence or transparency value */
   uint8_t dir;
-  uint8_t color;
+  uint8_t color;			/* color or index value, red value for true color mode */
+  uint8_t hi_color;		/* high byte for 64K color mode, low byte is in "color", green value for true color mode */
+  uint8_t blue;			/* blue value in true color mode */
 };
 /* typedef struct _u8g_dev_arg_pixel_t u8g_dev_arg_pixel_t; */ /* forward decl */
 
+/* range for r,g,b: 0..255 */
+#define U8G_GET_HICOLOR_BY_RGB(r,g,b) (((uint16_t)((r)&0x0f8))<<8)|(((uint16_t)((g)&0x0fc))<<3)|(((uint16_t)((b)>>3)))
+
 struct _u8g_dev_arg_bbx_t
 {
   u8g_uint_t x, y, w, h;
@@ -353,6 +536,13 @@ struct _u8g_box_t
 };
 /* typedef struct _u8g_box_t u8g_box_t; */ /* forward decl */
 
+struct _u8g_dev_arg_irgb_t
+{
+  u8g_uint_t idx, r, g, b;		/* index with rgb value */
+};
+/* typedef struct _u8g_dev_arg_irgb_t u8g_dev_arg_irgb_t; */ /* forward decl */
+
+
 
 #define U8G_DEV_MSG_INIT                10
 #define U8G_DEV_MSG_STOP                  11
@@ -379,10 +569,13 @@ struct _u8g_box_t
 */
 
 /* arg: u8g_dev_arg_pixel_t * */
+#define U8G_DEV_MSG_SET_TPIXEL				44
+#define U8G_DEV_MSG_SET_4TPIXEL			45
+
 #define U8G_DEV_MSG_SET_PIXEL                           50
 #define U8G_DEV_MSG_SET_8PIXEL                          59
 
-#define U8G_DEV_MSG_SET_COLOR_INDEX                60
+#define U8G_DEV_MSG_SET_COLOR_ENTRY                60
 
 #define U8G_DEV_MSG_SET_XY_CB                           61
 
@@ -392,15 +585,22 @@ struct _u8g_box_t
 
 /*===============================================================*/
 /* device modes */
-#define U8G_MODE(is_color, bits_per_pixel) (((is_color)<<4)|(bits_per_pixel))
+#define U8G_MODE(is_index_mode, is_color, bits_per_pixel) (((is_index_mode)<<6) | ((is_color)<<5)|(bits_per_pixel))
 
 #define U8G_MODE_UNKNOWN     0
-#define U8G_MODE_BW     U8G_MODE(0, 1)
-#define U8G_MODE_GRAY2BIT     U8G_MODE(0, 2)
-#define U8G_MODE_R3G3B2  U8G_MODE(1, 8)
+#define U8G_MODE_BW     U8G_MODE(0, 0, 1)
+#define U8G_MODE_GRAY2BIT     U8G_MODE(0, 0, 2)
+#define U8G_MODE_R3G3B2  U8G_MODE(0, 1, 8)
+#define U8G_MODE_INDEX  U8G_MODE(1, 1, 8)
+/* hicolor is R5G6B5 */
+#define U8G_MODE_HICOLOR  U8G_MODE(0, 1, 16)
+/* truecolor  */
+#define U8G_MODE_TRUECOLOR  U8G_MODE(0, 1, 24)
+
 
-#define U8G_MODE_GET_BITS_PER_PIXEL(mode) ((mode)&15)
-#define U8G_MODE_IS_COLOR(mode) (((mode)&16)==0?0:1)
+#define U8G_MODE_GET_BITS_PER_PIXEL(mode) ((mode)&31)
+#define U8G_MODE_IS_COLOR(mode) (((mode)&32)==0?0:1)
+#define U8G_MODE_IS_INDEX_MODE(mode) (((mode)&64)==0?0:1)
 
 
 /*===============================================================*/
@@ -429,15 +629,19 @@ struct _u8g_box_t
 /* com driver */
 uint8_t u8g_com_null_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);               /* u8g_com_null.c */
 uint8_t u8g_com_arduino_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);        /* u8g_com_arduino_std_sw_spi.c */
+uint8_t u8g_com_arduino_hw_usart_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);      /* u8g_com_atmega_hw_usart_spi.c */
 uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);        /* u8g_com_arduino_sw_spi.c */
 uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);          /* u8g_com_arduino_hw_spi.c */
+uint8_t u8g_com_arduino_ATtiny85_std_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);          /* u8g_arduino_ATTiny85_std_hw_spi.c */
 uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);  /* u8g_com_arduino_st7920_spi.c */
+uint8_t u8g_com_arduino_st7920_custom_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_custom.c */
 uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);  /* u8g_com_arduino_st7920_hw_spi.c */
 uint8_t u8g_com_arduino_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);           /* u8g_com_arduino_parallel.c */
 uint8_t u8g_com_arduino_fast_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);      /* u8g_com_arduino_fast_parallel.c */
 uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);       /* u8g_com_arduino_port_d_wr.c */
 uint8_t u8g_com_arduino_no_en_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);	/* u8g_com_arduino_no_en_parallel.c */		
 uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);		/* u8g_com_arduino_ssd_i2c.c */
+uint8_t u8g_com_arduino_uc_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
 uint8_t u8g_com_arduino_t6963_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);			/* u8g_com_arduino_t6963.c */
 
 
@@ -447,6 +651,9 @@ uint8_t u8g_com_atmega_st7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val
 uint8_t u8g_com_atmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
 uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);    /* u8g_com_atmega_parallel.c */
 
+uint8_t u8g_com_raspberrypi_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);                /* u8g_com_rasperrypi_hw_spi.c */
+uint8_t u8g_com_raspberrypi_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);		/* u8g_com_raspberrypi_ssd_i2c.c */
+
 
 /* 
   Translation of system specific com drives to generic com names
@@ -457,18 +664,44 @@ uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, voi
   U8G_COM_T6963
   U8G_COM_FAST_PARALLEL
   U8G_COM_SSD_I2C
+  U8G_COM_UC_I2C
   
 defined(__18CXX) || defined(__PIC32MX)  
 
 */
+
+/* ==== HW SPI, Raspberry PI ====*/
+#if defined(U8G_RASPBERRY_PI)
+#define U8G_COM_HW_SPI u8g_com_raspberrypi_hw_spi_fn
+#define U8G_COM_SW_SPI u8g_com_null_fn
+
+/* I'm sure there must be some mad reason for needing this */
+#define U8G_COM_ST7920_SW_SPI u8g_com_null_fn
+#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn
+#endif
+
 /* ==== HW SPI, Arduino ====*/
 #if defined(ARDUINO)
 #if defined(__AVR__)
+
+#if defined(__AVR_ATtiny85__)
+#define U8G_COM_HW_SPI u8g_com_arduino_ATtiny85_std_hw_spi_fn
+#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn
+#else
+
 #define U8G_COM_HW_SPI u8g_com_arduino_hw_spi_fn
+#if defined(__AVR_ATmega32U4__)
+#define U8G_COM_HW_USART_SPI u8g_com_arduino_hw_usart_spi_fn
+#endif /* __AVR_ATmega32U4__ */
 #define U8G_COM_ST7920_HW_SPI u8g_com_arduino_st7920_hw_spi_fn
+#endif /* __AVR_ATtiny85__ */
+
 #elif defined(__18CXX) || defined(__PIC32MX)
 #define U8G_COM_HW_SPI u8g_com_null_fn
 #define U8G_COM_ST7920_HW_SPI u8g_com_null_fn
+#elif defined(__SAM3X8E__)   /* Arduino Due */
+#define U8G_COM_HW_SPI u8g_com_arduino_hw_spi_fn
+#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn
 #endif
 #endif
 /* ==== HW SPI, not Arduino ====*/
@@ -482,6 +715,10 @@ defined(__18CXX) || defined(__PIC32MX)
 #define U8G_COM_HW_SPI u8g_com_null_fn
 #define U8G_COM_ST7920_HW_SPI u8g_com_null_fn
 #endif
+#ifndef U8G_COM_HW_USART_SPI
+#define U8G_COM_HW_USART_SPI u8g_com_null_fn
+#endif
+
 
 /* ==== SW SPI, Arduino ====*/
 #if defined(ARDUINO)
@@ -491,7 +728,11 @@ defined(__18CXX) || defined(__PIC32MX)
 #elif defined(__18CXX) || defined(__PIC32MX)
 #define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn
 #define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn
-#elif defined(__arm__)   /* Arduino Due */
+#elif defined(__SAM3X8E__)   /* Arduino Due */
+//#define U8G_COM_SW_SPI u8g_com_arduino_std_sw_spi_fn
+#define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn
+#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn
+#elif defined(__arm__)   /* Teensy */
 #define U8G_COM_SW_SPI u8g_com_arduino_std_sw_spi_fn
 #define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn
 #endif
@@ -509,7 +750,7 @@ defined(__18CXX) || defined(__PIC32MX)
 #define U8G_COM_ST7920_SW_SPI u8g_com_null_fn
 #endif
 
-/* ==== Parallel iinterface, Arduino ====*/
+/* ==== Parallel interface, Arduino ====*/
 #if defined(ARDUINO)
 #if defined(__AVR__)
 #define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn
@@ -537,24 +778,47 @@ defined(__18CXX) || defined(__PIC32MX)
 #if defined(ARDUINO)
 #if defined(__AVR__)
 #define U8G_COM_SSD_I2C u8g_com_arduino_ssd_i2c_fn
+#define U8G_COM_UC_I2C u8g_com_arduino_uc_i2c_fn
 #endif
 #endif
 
 #ifndef U8G_COM_SSD_I2C
-#if defined(__AVR__)
-/* AVR variant can use the arduino version at the moment */
+#if defined(__AVR__) || defined(__SAM3X8E__)
+/* AVR variant and also DUE can use the arduino version at the moment */
 #define U8G_COM_SSD_I2C u8g_com_arduino_ssd_i2c_fn
 #endif
 #endif
+
+#ifndef U8G_COM_SSD_I2C
+#if defined(U8G_RASPBERRY_PI)
+#define U8G_COM_SSD_I2C u8g_com_raspberrypi_ssd_i2c_fn
+#endif
+#endif
+
 #ifndef U8G_COM_SSD_I2C
 #define U8G_COM_SSD_I2C u8g_com_null_fn
 #endif
 
+#ifndef U8G_COM_UC_I2C
+#if defined(__AVR__)
+/* AVR variant can use the arduino version at the moment */
+#define U8G_COM_UC_I2C u8g_com_arduino_uc_i2c_fn
+#endif
+#endif
+#ifndef U8G_COM_UC_I2C
+#define U8G_COM_UC_I2C u8g_com_null_fn
+#endif
 
 
 /*===============================================================*/
 /* com api */
-uint8_t u8g_InitCom(u8g_t *u8g, u8g_dev_t *dev);
+
+#define U8G_SPI_CLK_CYCLE_50NS 1
+#define U8G_SPI_CLK_CYCLE_300NS 2
+#define U8G_SPI_CLK_CYCLE_400NS 3
+#define U8G_SPI_CLK_CYCLE_NONE 255
+
+uint8_t u8g_InitCom(u8g_t *u8g, u8g_dev_t *dev, uint8_t clk_cycle_time);
 void u8g_StopCom(u8g_t *u8g, u8g_dev_t *dev);
 void u8g_EnableCom(u8g_t *u8g, u8g_dev_t *dev);         /* obsolete */
 void u8g_DisableCom(u8g_t *u8g, u8g_dev_t *dev);        /* obsolete */
@@ -711,6 +975,11 @@ uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *ar
 /* u8g_pb8h8.c */
 uint8_t u8g_dev_pb8h8_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg);
 
+/* u8g_pbxh16.c */
+uint8_t u8g_dev_pbxh16_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg);
+
+/* u8g_pbxh24.c */
+uint8_t u8g_dev_pbxh24_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg);
 
 
 /*===============================================================*/
@@ -772,6 +1041,7 @@ typedef void (*u8g_state_cb)(uint8_t msg);
 #define U8G_PIN_LIST_LEN 14
 
 
+#define U8G_PIN_DUMMY 254
 #define U8G_PIN_NONE 255
 
 #define U8G_FONT_HEIGHT_MODE_TEXT 0
@@ -810,7 +1080,9 @@ struct _u8g_t
   u8g_dev_arg_pixel_t arg_pixel;
   /* uint8_t color_index; */
 
+#ifdef U8G_WITH_PINLIST
   uint8_t pin_list[U8G_PIN_LIST_LEN];
+#endif
   
   u8g_state_cb state_cb;
   
@@ -830,6 +1102,7 @@ uint8_t u8g_NextPageLL(u8g_t *u8g, u8g_dev_t *dev);
 uint8_t u8g_SetContrastLL(u8g_t *u8g, u8g_dev_t *dev, uint8_t contrast);
 void u8g_DrawPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y);
 void u8g_Draw8PixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel);
+void u8g_Draw4TPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel);
 uint8_t u8g_IsBBXIntersectionLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h);	/* obsolete */
 u8g_uint_t u8g_GetWidthLL(u8g_t *u8g, u8g_dev_t *dev);
 u8g_uint_t u8g_GetHeightLL(u8g_t *u8g, u8g_dev_t *dev);
@@ -837,6 +1110,7 @@ u8g_uint_t u8g_GetHeightLL(u8g_t *u8g, u8g_dev_t *dev);
 void u8g_UpdateDimension(u8g_t *u8g);
 uint8_t u8g_Begin(u8g_t *u8g);				/* reset device, put it into default state and call u8g_UpdateDimension() */
 uint8_t u8g_Init(u8g_t *u8g, u8g_dev_t *dev);   /* only usefull if the device only as hardcoded ports */
+uint8_t u8g_InitComFn(u8g_t *u8g, u8g_dev_t *dev, u8g_com_fnptr com_fn);	/* Init procedure for anything which is not Arduino or AVR (e.g. ARM, but not Due, which is Arduino) */
 uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset);
 uint8_t u8g_InitHWSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset);
 uint8_t u8g_InitI2C(u8g_t *u8g, u8g_dev_t *dev, uint8_t options);	/* use U8G_I2C_OPT_NONE as options */
@@ -852,9 +1126,14 @@ void u8g_SleepOn(u8g_t *u8g);
 void u8g_SleepOff(u8g_t *u8g);
 void u8g_DrawPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y);
 void u8g_Draw8Pixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel);
+void u8g_Draw4TPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel);
 
 uint8_t u8g_Stop(u8g_t *u8g);
+void u8g_SetColorEntry(u8g_t *u8g, uint8_t idx, uint8_t r, uint8_t g, uint8_t b);
 void u8g_SetColorIndex(u8g_t *u8g, uint8_t idx);
+void u8g_SetHiColor(u8g_t *u8g, uint16_t rgb);
+void u8g_SetHiColorByRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b);
+void u8g_SetRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b);
 uint8_t u8g_GetColorIndex(u8g_t *u8g);
 
 uint8_t u8g_GetDefaultForegroundColor(u8g_t *u8g);
@@ -892,7 +1171,9 @@ void u8g_SetDefaultMidColor(u8g_t *u8g);
 
 
 void u8g_state_dummy_cb(uint8_t msg);
-void u8g_backup_avr_spi(uint8_t msg);		/* backup SPI state on atmel avr controller */
+void u8g_backup_spi(uint8_t msg);		/* backup SPI state controller */
+/* backward compatible definition */
+#define u8g_backup_avr_spi u8g_backup_spi
 
 void u8g_SetHardwareBackup(u8g_t *u8g, u8g_state_cb backup_cb);
 
@@ -974,7 +1255,7 @@ u8g_uint_t u8g_GetStrPixelWidth(u8g_t *u8g, const char *s);
 u8g_uint_t u8g_GetStrPixelWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s);
 int8_t u8g_GetStrX(u8g_t *u8g, const char *s);
 int8_t u8g_GetStrXP(u8g_t *u8g, const u8g_pgm_uint8_t *s);
-u8g_uint_t u8g_GetStrWidth(u8g_t *u8g, const char *s);
+u8g_uint_t u8g_GetStrWidth(u8g_t *u8g, const char *s) U8G_NOINLINE;
 u8g_uint_t u8g_GetStrWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s);
 
 u8g_uint_t u8g_DrawStrFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s);
@@ -982,17 +1263,20 @@ u8g_uint_t u8g_DrawStrFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t di
 void u8g_GetStrMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height);
 void u8g_GetStrAMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height);
 
+
+u8g_uint_t u8g_DrawAAStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s);
+
 /* u8g_rect.c */
 
 void u8g_draw_box(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) U8G_NOINLINE; 
 
-void u8g_DrawHLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w);
-void u8g_DrawVLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w);
-void u8g_DrawFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h);
-void u8g_DrawBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h);
+void u8g_DrawHLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) U8G_NOINLINE;
+void u8g_DrawVLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) U8G_NOINLINE;
+void u8g_DrawFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) U8G_NOINLINE;
+void u8g_DrawBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) U8G_NOINLINE;
 
-void u8g_DrawRFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r);
-void u8g_DrawRBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r);
+void u8g_DrawRFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) U8G_NOINLINE;
+void u8g_DrawRBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) U8G_NOINLINE;
 
 /* u8g_bitmap.c */
 
@@ -1034,6 +1318,10 @@ void u8g_draw_disc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uin
 void u8g_DrawCircle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option);
 void u8g_DrawDisc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option);
 
+/* u8g_ellipse.c */
+void u8g_DrawEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option);
+void u8g_DrawFilledEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option);
+
 /* u8g_clip.c */
 uint8_t u8g_is_box_bbx_intersection(u8g_box_t *box, u8g_dev_arg_bbx_t *bbx);
 
@@ -1047,6 +1335,63 @@ void u8g_EnableCursor(u8g_t *u8g);
 void u8g_DisableCursor(u8g_t *u8g);
 void u8g_DrawCursor(u8g_t *u8g);
 
+/* u8g_polygon.c */
+
+typedef int16_t pg_word_t;
+
+#define PG_NOINLINE U8G_NOINLINE
+
+struct pg_point_struct
+{
+  pg_word_t x;
+  pg_word_t y;
+};
+
+typedef struct _pg_struct pg_struct;	/* forward declaration */
+
+struct pg_edge_struct
+{
+  pg_word_t x_direction;	/* 1, if x2 is greater than x1, -1 otherwise */
+  pg_word_t height;
+  pg_word_t current_x_offset;
+  pg_word_t error_offset;
+  
+  /* --- line loop --- */
+  pg_word_t current_y;
+  pg_word_t max_y;
+  pg_word_t current_x;
+  pg_word_t error;
+
+  /* --- outer loop --- */
+  uint8_t (*next_idx_fn)(pg_struct *pg, uint8_t i);
+  uint8_t curr_idx;
+};
+
+/* maximum number of points in the polygon */
+/* can be redefined, but highest possible value is 254 */
+#define PG_MAX_POINTS 6
+
+/* index numbers for the pge structures below */
+#define PG_LEFT 0
+#define PG_RIGHT 1
+
+
+struct _pg_struct
+{
+  struct pg_point_struct list[PG_MAX_POINTS];
+  uint8_t cnt;
+  uint8_t is_min_y_not_flat;
+  pg_word_t total_scan_line_cnt;
+  struct pg_edge_struct pge[2];	/* left and right line draw structures */
+};
+
+void pg_ClearPolygonXY(pg_struct *pg);
+void pg_AddPolygonXY(pg_struct *pg, u8g_t *u8g, int16_t x, int16_t y);
+void pg_DrawPolygon(pg_struct *pg, u8g_t *u8g);
+void u8g_ClearPolygonXY(void);
+void u8g_AddPolygonXY(u8g_t *u8g, int16_t x, int16_t y);
+void u8g_DrawPolygon(u8g_t *u8g);
+void u8g_DrawTriangle(u8g_t *u8g, int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2);
 
 
 /*===============================================================*/
@@ -1063,6 +1408,10 @@ void st_Step(uint8_t player_pos, uint8_t is_auto_fire, uint8_t is_fire);
 
 /* options for u8g_i2c_init() */
 #define U8G_I2C_OPT_NONE 0
+#define U8G_I2C_OPT_NO_ACK 2
+#define U8G_I2C_OPT_DEV_0 0
+#define U8G_I2C_OPT_DEV_1 4
+#define U8G_I2C_OPT_FAST 16
 
 /* retrun values from u8g_twi_get_error() */
 #define U8G_I2C_ERR_NONE 0x00
@@ -1077,6 +1426,7 @@ void u8g_i2c_init(uint8_t options) U8G_NOINLINE;		/* use U8G_I2C_OPT_NONE as opt
 uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) U8G_NOINLINE;
 uint8_t u8g_i2c_start(uint8_t sla) U8G_NOINLINE;
 uint8_t u8g_i2c_send_byte(uint8_t data) U8G_NOINLINE;
+uint8_t u8g_i2c_send_mode(uint8_t mode) U8G_NOINLINE;
 void u8g_i2c_stop(void) U8G_NOINLINE;
 
 
@@ -1115,91 +1465,90 @@ void chess_Step(uint8_t keycode);
 
 /*===============================================================*/
 /* font definitions */
-
-extern const u8g_fntpgm_uint8_t u8g_font_m2icon_5[] U8G_SECTION(".progmem.u8g_font_m2icon_5");
-extern const u8g_fntpgm_uint8_t u8g_font_m2icon_7[] U8G_SECTION(".progmem.u8g_font_m2icon_7");
-extern const u8g_fntpgm_uint8_t u8g_font_m2icon_9[] U8G_SECTION(".progmem.u8g_font_m2icon_9");
-
-extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4[] U8G_SECTION(".progmem.u8g_font_u8glib_4");
-extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[] U8G_SECTION(".progmem.u8g_font_u8glib_4r");
-
-
-extern const u8g_fntpgm_uint8_t u8g_font_6x12_75r[] U8G_SECTION(".progmem.u8g_font_6x12_75r");
-extern const u8g_fntpgm_uint8_t u8g_font_6x13_75r[] U8G_SECTION(".progmem.u8g_font_6x13_75r");
-extern const u8g_fntpgm_uint8_t u8g_font_7x13_75r[] U8G_SECTION(".progmem.u8g_font_7x13_75r");
-extern const u8g_fntpgm_uint8_t u8g_font_8x13_75r[] U8G_SECTION(".progmem.u8g_font_8x13_75r");
-extern const u8g_fntpgm_uint8_t u8g_font_9x15_75r[] U8G_SECTION(".progmem.u8g_font_9x15_75r");
-extern const u8g_fntpgm_uint8_t u8g_font_9x18_75r[] U8G_SECTION(".progmem.u8g_font_9x18_75r");
-extern const u8g_fntpgm_uint8_t u8g_font_cu12_75r[] U8G_SECTION(".progmem.u8g_font_cu12_75r");
-extern const u8g_fntpgm_uint8_t u8g_font_unifont_75r[] U8G_SECTION(".progmem.u8g_font_unifont_75r");
-extern const u8g_fntpgm_uint8_t u8g_font_10x20_75r[] U8G_SECTION(".progmem.u8g_font_10x20_75r");
-
-extern const u8g_fntpgm_uint8_t u8g_font_10x20_67_75[] U8G_SECTION(".progmem.u8g_font_10x20_67_75");
-extern const u8g_fntpgm_uint8_t u8g_font_10x20_78_79[] U8G_SECTION(".progmem.u8g_font_10x20_78_79");
-extern const u8g_fntpgm_uint8_t u8g_font_10x20[] U8G_SECTION(".progmem.u8g_font_10x20");
-extern const u8g_fntpgm_uint8_t u8g_font_10x20r[] U8G_SECTION(".progmem.u8g_font_10x20r");
-extern const u8g_fntpgm_uint8_t u8g_font_4x6[] U8G_SECTION(".progmem.u8g_font_4x6");
-extern const u8g_fntpgm_uint8_t u8g_font_4x6r[] U8G_SECTION(".progmem.u8g_font_4x6r");
-//extern const u8g_fntpgm_uint8_t u8g_font_4x6n[] U8G_SECTION(".progmem.u8g_font_4x6n");
-extern const u8g_fntpgm_uint8_t u8g_font_5x7[] U8G_SECTION(".progmem.u8g_font_5x7");
-extern const u8g_fntpgm_uint8_t u8g_font_5x7r[] U8G_SECTION(".progmem.u8g_font_5x7r");
-extern const u8g_fntpgm_uint8_t u8g_font_5x8[] U8G_SECTION(".progmem.u8g_font_5x8");
-extern const u8g_fntpgm_uint8_t u8g_font_5x8r[] U8G_SECTION(".progmem.u8g_font_5x8r");
-extern const u8g_fntpgm_uint8_t u8g_font_6x10[] U8G_SECTION(".progmem.u8g_font_6x10");
-extern const u8g_fntpgm_uint8_t u8g_font_6x10r[] U8G_SECTION(".progmem.u8g_font_6x10r");
-extern const u8g_fntpgm_uint8_t u8g_font_6x12_67_75[] U8G_SECTION(".progmem.u8g_font_6x12_67_75");
-extern const u8g_fntpgm_uint8_t u8g_font_6x12_78_79[] U8G_SECTION(".progmem.u8g_font_6x12_78_79");
-extern const u8g_fntpgm_uint8_t u8g_font_6x12[] U8G_SECTION(".progmem.u8g_font_6x12");
-extern const u8g_fntpgm_uint8_t u8g_font_6x12r[] U8G_SECTION(".progmem.u8g_font_6x12r");
-extern const u8g_fntpgm_uint8_t u8g_font_6x13_67_75[] U8G_SECTION(".progmem.u8g_font_6x13_67_75");
-extern const u8g_fntpgm_uint8_t u8g_font_6x13_78_79[] U8G_SECTION(".progmem.u8g_font_6x13_78_79");
-extern const u8g_fntpgm_uint8_t u8g_font_6x13B[] U8G_SECTION(".progmem.u8g_font_6x13B");
-extern const u8g_fntpgm_uint8_t u8g_font_6x13Br[] U8G_SECTION(".progmem.u8g_font_6x13Br");
-extern const u8g_fntpgm_uint8_t u8g_font_6x13[] U8G_SECTION(".progmem.u8g_font_6x13");
-extern const u8g_fntpgm_uint8_t u8g_font_6x13r[] U8G_SECTION(".progmem.u8g_font_6x13r");
-extern const u8g_fntpgm_uint8_t u8g_font_6x13O[] U8G_SECTION(".progmem.u8g_font_6x13O");
-extern const u8g_fntpgm_uint8_t u8g_font_6x13Or[] U8G_SECTION(".progmem.u8g_font_6x13Or");
-extern const u8g_fntpgm_uint8_t u8g_font_7x13_67_75[] U8G_SECTION(".progmem.u8g_font_7x13_67_75");
-extern const u8g_fntpgm_uint8_t u8g_font_7x13_78_79[] U8G_SECTION(".progmem.u8g_font_7x13_78_79");
-extern const u8g_fntpgm_uint8_t u8g_font_7x13B[] U8G_SECTION(".progmem.u8g_font_7x13B");
-extern const u8g_fntpgm_uint8_t u8g_font_7x13Br[] U8G_SECTION(".progmem.u8g_font_7x13Br");
-extern const u8g_fntpgm_uint8_t u8g_font_7x13[] U8G_SECTION(".progmem.u8g_font_7x13");
-extern const u8g_fntpgm_uint8_t u8g_font_7x13r[] U8G_SECTION(".progmem.u8g_font_7x13r");
-extern const u8g_fntpgm_uint8_t u8g_font_7x13O[] U8G_SECTION(".progmem.u8g_font_7x13O");
-extern const u8g_fntpgm_uint8_t u8g_font_7x13Or[] U8G_SECTION(".progmem.u8g_font_7x13Or");
-extern const u8g_fntpgm_uint8_t u8g_font_7x14B[] U8G_SECTION(".progmem.u8g_font_7x14B");
-extern const u8g_fntpgm_uint8_t u8g_font_7x14Br[] U8G_SECTION(".progmem.u8g_font_7x14Br");
-extern const u8g_fntpgm_uint8_t u8g_font_7x14[] U8G_SECTION(".progmem.u8g_font_7x14");
-extern const u8g_fntpgm_uint8_t u8g_font_7x14r[] U8G_SECTION(".progmem.u8g_font_7x14r");
-extern const u8g_fntpgm_uint8_t u8g_font_8x13_67_75[] U8G_SECTION(".progmem.u8g_font_8x13_67_75");
-extern const u8g_fntpgm_uint8_t u8g_font_8x13B[] U8G_SECTION(".progmem.u8g_font_8x13B");
-extern const u8g_fntpgm_uint8_t u8g_font_8x13Br[] U8G_SECTION(".progmem.u8g_font_8x13Br");
-extern const u8g_fntpgm_uint8_t u8g_font_8x13[] U8G_SECTION(".progmem.u8g_font_8x13");
-extern const u8g_fntpgm_uint8_t u8g_font_8x13r[] U8G_SECTION(".progmem.u8g_font_8x13r");
-extern const u8g_fntpgm_uint8_t u8g_font_8x13O[] U8G_SECTION(".progmem.u8g_font_8x13O");
-extern const u8g_fntpgm_uint8_t u8g_font_8x13Or[] U8G_SECTION(".progmem.u8g_font_8x13Or");
-
-extern const u8g_fntpgm_uint8_t u8g_font_9x15_67_75[] U8G_SECTION(".progmem.u8g_font_9x15_67_75");
-extern const u8g_fntpgm_uint8_t u8g_font_9x15_78_79[] U8G_SECTION(".progmem.u8g_font_9x15_78_79");
-extern const u8g_fntpgm_uint8_t u8g_font_9x15B[] U8G_SECTION(".progmem.u8g_font_9x15B");
-extern const u8g_fntpgm_uint8_t u8g_font_9x15Br[] U8G_SECTION(".progmem.u8g_font_9x15Br");
-extern const u8g_fntpgm_uint8_t u8g_font_9x15[] U8G_SECTION(".progmem.u8g_font_9x15");
-extern const u8g_fntpgm_uint8_t u8g_font_9x15r[] U8G_SECTION(".progmem.u8g_font_9x15r");
-
-extern const u8g_fntpgm_uint8_t u8g_font_9x18_67_75[] U8G_SECTION(".progmem.u8g_font_9x18_67_75");
-extern const u8g_fntpgm_uint8_t u8g_font_9x18_78_79[] U8G_SECTION(".progmem.u8g_font_9x18_78_79");
-extern const u8g_fntpgm_uint8_t u8g_font_9x18B[] U8G_SECTION(".progmem.u8g_font_9x18B");
-extern const u8g_fntpgm_uint8_t u8g_font_9x18[] U8G_SECTION(".progmem.u8g_font_9x18");
-extern const u8g_fntpgm_uint8_t u8g_font_9x18Br[] U8G_SECTION(".progmem.u8g_font_9x18Br");
-extern const u8g_fntpgm_uint8_t u8g_font_9x18r[] U8G_SECTION(".progmem.u8g_font_9x18r");
-
-extern const u8g_fntpgm_uint8_t u8g_font_cursor[] U8G_SECTION(".progmem.u8g_font_cursor");
-extern const u8g_fntpgm_uint8_t u8g_font_cursorr[] U8G_SECTION(".progmem.u8g_font_cursorr");
-extern const u8g_fntpgm_uint8_t u8g_font_micro[] U8G_SECTION(".progmem.u8g_font_micro");
-
-extern const u8g_fntpgm_uint8_t u8g_font_cu12_67_75[] U8G_SECTION(".progmem.u8g_font_cu12_67_75");
-extern const u8g_fntpgm_uint8_t u8g_font_cu12_78_79[] U8G_SECTION(".progmem.u8g_font_cu12_78_79");
-extern const u8g_fntpgm_uint8_t u8g_font_cu12[] U8G_SECTION(".progmem.u8g_font_cu12");
+extern const u8g_fntpgm_uint8_t u8g_font_m2icon_5[] U8G_FONT_SECTION("u8g_font_m2icon_5");
+extern const u8g_fntpgm_uint8_t u8g_font_m2icon_7[] U8G_FONT_SECTION("u8g_font_m2icon_7");
+extern const u8g_fntpgm_uint8_t u8g_font_m2icon_9[] U8G_FONT_SECTION("u8g_font_m2icon_9");
+
+extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4[] U8G_FONT_SECTION("u8g_font_u8glib_4");
+extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[] U8G_FONT_SECTION("u8g_font_u8glib_4r");
+
+
+extern const u8g_fntpgm_uint8_t u8g_font_6x12_75r[] U8G_FONT_SECTION("u8g_font_6x12_75r");
+extern const u8g_fntpgm_uint8_t u8g_font_6x13_75r[] U8G_FONT_SECTION("u8g_font_6x13_75r");
+extern const u8g_fntpgm_uint8_t u8g_font_7x13_75r[] U8G_FONT_SECTION("u8g_font_7x13_75r");
+extern const u8g_fntpgm_uint8_t u8g_font_8x13_75r[] U8G_FONT_SECTION("u8g_font_8x13_75r");
+extern const u8g_fntpgm_uint8_t u8g_font_9x15_75r[] U8G_FONT_SECTION("u8g_font_9x15_75r");
+extern const u8g_fntpgm_uint8_t u8g_font_9x18_75r[] U8G_FONT_SECTION("u8g_font_9x18_75r");
+extern const u8g_fntpgm_uint8_t u8g_font_cu12_75r[] U8G_FONT_SECTION("u8g_font_cu12_75r");
+extern const u8g_fntpgm_uint8_t u8g_font_unifont_75r[] U8G_FONT_SECTION("u8g_font_unifont_75r");
+extern const u8g_fntpgm_uint8_t u8g_font_10x20_75r[] U8G_FONT_SECTION("u8g_font_10x20_75r");
+
+extern const u8g_fntpgm_uint8_t u8g_font_10x20_67_75[] U8G_FONT_SECTION("u8g_font_10x20_67_75");
+extern const u8g_fntpgm_uint8_t u8g_font_10x20_78_79[] U8G_FONT_SECTION("u8g_font_10x20_78_79");
+extern const u8g_fntpgm_uint8_t u8g_font_10x20[] U8G_FONT_SECTION("u8g_font_10x20");
+extern const u8g_fntpgm_uint8_t u8g_font_10x20r[] U8G_FONT_SECTION("u8g_font_10x20r");
+extern const u8g_fntpgm_uint8_t u8g_font_4x6[] U8G_FONT_SECTION("u8g_font_4x6");
+extern const u8g_fntpgm_uint8_t u8g_font_4x6r[] U8G_FONT_SECTION("u8g_font_4x6r");
+//extern const u8g_fntpgm_uint8_t u8g_font_4x6n[] U8G_FONT_SECTION("u8g_font_4x6n");
+extern const u8g_fntpgm_uint8_t u8g_font_5x7[] U8G_FONT_SECTION("u8g_font_5x7");
+extern const u8g_fntpgm_uint8_t u8g_font_5x7r[] U8G_FONT_SECTION("u8g_font_5x7r");
+extern const u8g_fntpgm_uint8_t u8g_font_5x8[] U8G_FONT_SECTION("u8g_font_5x8");
+extern const u8g_fntpgm_uint8_t u8g_font_5x8r[] U8G_FONT_SECTION("u8g_font_5x8r");
+extern const u8g_fntpgm_uint8_t u8g_font_6x10[] U8G_FONT_SECTION("u8g_font_6x10");
+extern const u8g_fntpgm_uint8_t u8g_font_6x10r[] U8G_FONT_SECTION("u8g_font_6x10r");
+extern const u8g_fntpgm_uint8_t u8g_font_6x12_67_75[] U8G_FONT_SECTION("u8g_font_6x12_67_75");
+extern const u8g_fntpgm_uint8_t u8g_font_6x12_78_79[] U8G_FONT_SECTION("u8g_font_6x12_78_79");
+extern const u8g_fntpgm_uint8_t u8g_font_6x12[] U8G_FONT_SECTION("u8g_font_6x12");
+extern const u8g_fntpgm_uint8_t u8g_font_6x12r[] U8G_FONT_SECTION("u8g_font_6x12r");
+extern const u8g_fntpgm_uint8_t u8g_font_6x13_67_75[] U8G_FONT_SECTION("u8g_font_6x13_67_75");
+extern const u8g_fntpgm_uint8_t u8g_font_6x13_78_79[] U8G_FONT_SECTION("u8g_font_6x13_78_79");
+extern const u8g_fntpgm_uint8_t u8g_font_6x13B[] U8G_FONT_SECTION("u8g_font_6x13B");
+extern const u8g_fntpgm_uint8_t u8g_font_6x13Br[] U8G_FONT_SECTION("u8g_font_6x13Br");
+extern const u8g_fntpgm_uint8_t u8g_font_6x13[] U8G_FONT_SECTION("u8g_font_6x13");
+extern const u8g_fntpgm_uint8_t u8g_font_6x13r[] U8G_FONT_SECTION("u8g_font_6x13r");
+extern const u8g_fntpgm_uint8_t u8g_font_6x13O[] U8G_FONT_SECTION("u8g_font_6x13O");
+extern const u8g_fntpgm_uint8_t u8g_font_6x13Or[] U8G_FONT_SECTION("u8g_font_6x13Or");
+extern const u8g_fntpgm_uint8_t u8g_font_7x13_67_75[] U8G_FONT_SECTION("u8g_font_7x13_67_75");
+extern const u8g_fntpgm_uint8_t u8g_font_7x13_78_79[] U8G_FONT_SECTION("u8g_font_7x13_78_79");
+extern const u8g_fntpgm_uint8_t u8g_font_7x13B[] U8G_FONT_SECTION("u8g_font_7x13B");
+extern const u8g_fntpgm_uint8_t u8g_font_7x13Br[] U8G_FONT_SECTION("u8g_font_7x13Br");
+extern const u8g_fntpgm_uint8_t u8g_font_7x13[] U8G_FONT_SECTION("u8g_font_7x13");
+extern const u8g_fntpgm_uint8_t u8g_font_7x13r[] U8G_FONT_SECTION("u8g_font_7x13r");
+extern const u8g_fntpgm_uint8_t u8g_font_7x13O[] U8G_FONT_SECTION("u8g_font_7x13O");
+extern const u8g_fntpgm_uint8_t u8g_font_7x13Or[] U8G_FONT_SECTION("u8g_font_7x13Or");
+extern const u8g_fntpgm_uint8_t u8g_font_7x14B[] U8G_FONT_SECTION("u8g_font_7x14B");
+extern const u8g_fntpgm_uint8_t u8g_font_7x14Br[] U8G_FONT_SECTION("u8g_font_7x14Br");
+extern const u8g_fntpgm_uint8_t u8g_font_7x14[] U8G_FONT_SECTION("u8g_font_7x14");
+extern const u8g_fntpgm_uint8_t u8g_font_7x14r[] U8G_FONT_SECTION("u8g_font_7x14r");
+extern const u8g_fntpgm_uint8_t u8g_font_8x13_67_75[] U8G_FONT_SECTION("u8g_font_8x13_67_75");
+extern const u8g_fntpgm_uint8_t u8g_font_8x13B[] U8G_FONT_SECTION("u8g_font_8x13B");
+extern const u8g_fntpgm_uint8_t u8g_font_8x13Br[] U8G_FONT_SECTION("u8g_font_8x13Br");
+extern const u8g_fntpgm_uint8_t u8g_font_8x13[] U8G_FONT_SECTION("u8g_font_8x13");
+extern const u8g_fntpgm_uint8_t u8g_font_8x13r[] U8G_FONT_SECTION("u8g_font_8x13r");
+extern const u8g_fntpgm_uint8_t u8g_font_8x13O[] U8G_FONT_SECTION("u8g_font_8x13O");
+extern const u8g_fntpgm_uint8_t u8g_font_8x13Or[] U8G_FONT_SECTION("u8g_font_8x13Or");
+
+extern const u8g_fntpgm_uint8_t u8g_font_9x15_67_75[] U8G_FONT_SECTION("u8g_font_9x15_67_75");
+extern const u8g_fntpgm_uint8_t u8g_font_9x15_78_79[] U8G_FONT_SECTION("u8g_font_9x15_78_79");
+extern const u8g_fntpgm_uint8_t u8g_font_9x15B[] U8G_FONT_SECTION("u8g_font_9x15B");
+extern const u8g_fntpgm_uint8_t u8g_font_9x15Br[] U8G_FONT_SECTION("u8g_font_9x15Br");
+extern const u8g_fntpgm_uint8_t u8g_font_9x15[] U8G_FONT_SECTION("u8g_font_9x15");
+extern const u8g_fntpgm_uint8_t u8g_font_9x15r[] U8G_FONT_SECTION("u8g_font_9x15r");
+
+extern const u8g_fntpgm_uint8_t u8g_font_9x18_67_75[] U8G_FONT_SECTION("u8g_font_9x18_67_75");
+extern const u8g_fntpgm_uint8_t u8g_font_9x18_78_79[] U8G_FONT_SECTION("u8g_font_9x18_78_79");
+extern const u8g_fntpgm_uint8_t u8g_font_9x18B[] U8G_FONT_SECTION("u8g_font_9x18B");
+extern const u8g_fntpgm_uint8_t u8g_font_9x18[] U8G_FONT_SECTION("u8g_font_9x18");
+extern const u8g_fntpgm_uint8_t u8g_font_9x18Br[] U8G_FONT_SECTION("u8g_font_9x18Br");
+extern const u8g_fntpgm_uint8_t u8g_font_9x18r[] U8G_FONT_SECTION("u8g_font_9x18r");
+
+extern const u8g_fntpgm_uint8_t u8g_font_cursor[] U8G_FONT_SECTION("u8g_font_cursor");
+extern const u8g_fntpgm_uint8_t u8g_font_cursorr[] U8G_FONT_SECTION("u8g_font_cursorr");
+extern const u8g_fntpgm_uint8_t u8g_font_micro[] U8G_FONT_SECTION("u8g_font_micro");
+
+extern const u8g_fntpgm_uint8_t u8g_font_cu12_67_75[] U8G_FONT_SECTION("u8g_font_cu12_67_75");
+extern const u8g_fntpgm_uint8_t u8g_font_cu12_78_79[] U8G_FONT_SECTION("u8g_font_cu12_78_79");
+extern const u8g_fntpgm_uint8_t u8g_font_cu12[] U8G_FONT_SECTION("u8g_font_cu12");
 
 /* 
   Free-Universal Bold 
@@ -1208,27 +1557,27 @@ extern const u8g_fntpgm_uint8_t u8g_font_cu12[] U8G_SECTION(".progmem.u8g_font_c
   no char: Full set (codes 32 - 255)
 */
 
-extern const u8g_fntpgm_uint8_t u8g_font_fub11[] U8G_SECTION(".progmem.u8g_font_fub11");
-extern const u8g_fntpgm_uint8_t u8g_font_fub11r[] U8G_SECTION(".progmem.u8g_font_fub11r");
-extern const u8g_fntpgm_uint8_t u8g_font_fub11n[] U8G_SECTION(".progmem.u8g_font_fub11n");
-extern const u8g_fntpgm_uint8_t u8g_font_fub14[] U8G_SECTION(".progmem.u8g_font_fub14");
-extern const u8g_fntpgm_uint8_t u8g_font_fub14r[] U8G_SECTION(".progmem.u8g_font_fub14r");
-extern const u8g_fntpgm_uint8_t u8g_font_fub14n[] U8G_SECTION(".progmem.u8g_font_fub14n");
-extern const u8g_fntpgm_uint8_t u8g_font_fub17[] U8G_SECTION(".progmem.u8g_font_fub17");
-extern const u8g_fntpgm_uint8_t u8g_font_fub17r[] U8G_SECTION(".progmem.u8g_font_fub17r");
-extern const u8g_fntpgm_uint8_t u8g_font_fub17n[] U8G_SECTION(".progmem.u8g_font_fub17n");
-extern const u8g_fntpgm_uint8_t u8g_font_fub20[] U8G_SECTION(".progmem.u8g_font_fub20");
-extern const u8g_fntpgm_uint8_t u8g_font_fub20r[] U8G_SECTION(".progmem.u8g_font_fub20r");
-extern const u8g_fntpgm_uint8_t u8g_font_fub20n[] U8G_SECTION(".progmem.u8g_font_fub20n");
-extern const u8g_fntpgm_uint8_t u8g_font_fub25[] U8G_SECTION(".progmem.u8g_font_fub25");
-extern const u8g_fntpgm_uint8_t u8g_font_fub25r[] U8G_SECTION(".progmem.u8g_font_fub25r");
-extern const u8g_fntpgm_uint8_t u8g_font_fub25n[] U8G_SECTION(".progmem.u8g_font_fub25n");
-extern const u8g_fntpgm_uint8_t u8g_font_fub30[] U8G_SECTION(".progmem.u8g_font_fub30");
-extern const u8g_fntpgm_uint8_t u8g_font_fub30r[] U8G_SECTION(".progmem.u8g_font_fub30r");
-extern const u8g_fntpgm_uint8_t u8g_font_fub30n[] U8G_SECTION(".progmem.u8g_font_fub30n");
-extern const u8g_fntpgm_uint8_t u8g_font_fub35n[] U8G_SECTION(".progmem.u8g_font_fub35n");
-extern const u8g_fntpgm_uint8_t u8g_font_fub42n[] U8G_SECTION(".progmem.u8g_font_fub42n");
-extern const u8g_fntpgm_uint8_t u8g_font_fub49n[] U8G_SECTION(".progmem.u8g_font_fub49n");
+extern const u8g_fntpgm_uint8_t u8g_font_fub11[] U8G_FONT_SECTION("u8g_font_fub11");
+extern const u8g_fntpgm_uint8_t u8g_font_fub11r[] U8G_FONT_SECTION("u8g_font_fub11r");
+extern const u8g_fntpgm_uint8_t u8g_font_fub11n[] U8G_FONT_SECTION("u8g_font_fub11n");
+extern const u8g_fntpgm_uint8_t u8g_font_fub14[] U8G_FONT_SECTION("u8g_font_fub14");
+extern const u8g_fntpgm_uint8_t u8g_font_fub14r[] U8G_FONT_SECTION("u8g_font_fub14r");
+extern const u8g_fntpgm_uint8_t u8g_font_fub14n[] U8G_FONT_SECTION("u8g_font_fub14n");
+extern const u8g_fntpgm_uint8_t u8g_font_fub17[] U8G_FONT_SECTION("u8g_font_fub17");
+extern const u8g_fntpgm_uint8_t u8g_font_fub17r[] U8G_FONT_SECTION("u8g_font_fub17r");
+extern const u8g_fntpgm_uint8_t u8g_font_fub17n[] U8G_FONT_SECTION("u8g_font_fub17n");
+extern const u8g_fntpgm_uint8_t u8g_font_fub20[] U8G_FONT_SECTION("u8g_font_fub20");
+extern const u8g_fntpgm_uint8_t u8g_font_fub20r[] U8G_FONT_SECTION("u8g_font_fub20r");
+extern const u8g_fntpgm_uint8_t u8g_font_fub20n[] U8G_FONT_SECTION("u8g_font_fub20n");
+extern const u8g_fntpgm_uint8_t u8g_font_fub25[] U8G_FONT_SECTION("u8g_font_fub25");
+extern const u8g_fntpgm_uint8_t u8g_font_fub25r[] U8G_FONT_SECTION("u8g_font_fub25r");
+extern const u8g_fntpgm_uint8_t u8g_font_fub25n[] U8G_FONT_SECTION("u8g_font_fub25n");
+extern const u8g_fntpgm_uint8_t u8g_font_fub30[] U8G_FONT_SECTION("u8g_font_fub30");
+extern const u8g_fntpgm_uint8_t u8g_font_fub30r[] U8G_FONT_SECTION("u8g_font_fub30r");
+extern const u8g_fntpgm_uint8_t u8g_font_fub30n[] U8G_FONT_SECTION("u8g_font_fub30n");
+extern const u8g_fntpgm_uint8_t u8g_font_fub35n[] U8G_FONT_SECTION("u8g_font_fub35n");
+extern const u8g_fntpgm_uint8_t u8g_font_fub42n[] U8G_FONT_SECTION("u8g_font_fub42n");
+extern const u8g_fntpgm_uint8_t u8g_font_fub49n[] U8G_FONT_SECTION("u8g_font_fub49n");
 
 /* 
   Free-Universal Regular
@@ -1237,27 +1586,27 @@ extern const u8g_fntpgm_uint8_t u8g_font_fub49n[] U8G_SECTION(".progmem.u8g_font
   no char: Full set (codes 32 - 255)
 */
 
-extern const u8g_fntpgm_uint8_t u8g_font_fur11[] U8G_SECTION(".progmem.u8g_font_fur11");
-extern const u8g_fntpgm_uint8_t u8g_font_fur11r[] U8G_SECTION(".progmem.u8g_font_fur11r");
-extern const u8g_fntpgm_uint8_t u8g_font_fur11n[] U8G_SECTION(".progmem.u8g_font_fur11n");
-extern const u8g_fntpgm_uint8_t u8g_font_fur14[] U8G_SECTION(".progmem.u8g_font_fur14");
-extern const u8g_fntpgm_uint8_t u8g_font_fur14r[] U8G_SECTION(".progmem.u8g_font_fur14r");
-extern const u8g_fntpgm_uint8_t u8g_font_fur14n[] U8G_SECTION(".progmem.u8g_font_fur14n");
-extern const u8g_fntpgm_uint8_t u8g_font_fur17[] U8G_SECTION(".progmem.u8g_font_fur17");
-extern const u8g_fntpgm_uint8_t u8g_font_fur17r[] U8G_SECTION(".progmem.u8g_font_fur17r");
-extern const u8g_fntpgm_uint8_t u8g_font_fur17n[] U8G_SECTION(".progmem.u8g_font_fur17n");
-extern const u8g_fntpgm_uint8_t u8g_font_fur20[] U8G_SECTION(".progmem.u8g_font_fur20");
-extern const u8g_fntpgm_uint8_t u8g_font_fur20r[] U8G_SECTION(".progmem.u8g_font_fur20r");
-extern const u8g_fntpgm_uint8_t u8g_font_fur20n[] U8G_SECTION(".progmem.u8g_font_fur20n");
-extern const u8g_fntpgm_uint8_t u8g_font_fur25[] U8G_SECTION(".progmem.u8g_font_fur25");
-extern const u8g_fntpgm_uint8_t u8g_font_fur25r[] U8G_SECTION(".progmem.u8g_font_fur25r");
-extern const u8g_fntpgm_uint8_t u8g_font_fur25n[] U8G_SECTION(".progmem.u8g_font_fur25n");
-extern const u8g_fntpgm_uint8_t u8g_font_fur30[] U8G_SECTION(".progmem.u8g_font_fur30");
-extern const u8g_fntpgm_uint8_t u8g_font_fur30r[] U8G_SECTION(".progmem.u8g_font_fur30r");
-extern const u8g_fntpgm_uint8_t u8g_font_fur30n[] U8G_SECTION(".progmem.u8g_font_fur30n");
-extern const u8g_fntpgm_uint8_t u8g_font_fur35n[] U8G_SECTION(".progmem.u8g_font_fur35n");
-extern const u8g_fntpgm_uint8_t u8g_font_fur42n[] U8G_SECTION(".progmem.u8g_font_fur42n");
-extern const u8g_fntpgm_uint8_t u8g_font_fur49n[] U8G_SECTION(".progmem.u8g_font_fur49n");
+extern const u8g_fntpgm_uint8_t u8g_font_fur11[] U8G_FONT_SECTION("u8g_font_fur11");
+extern const u8g_fntpgm_uint8_t u8g_font_fur11r[] U8G_FONT_SECTION("u8g_font_fur11r");
+extern const u8g_fntpgm_uint8_t u8g_font_fur11n[] U8G_FONT_SECTION("u8g_font_fur11n");
+extern const u8g_fntpgm_uint8_t u8g_font_fur14[] U8G_FONT_SECTION("u8g_font_fur14");
+extern const u8g_fntpgm_uint8_t u8g_font_fur14r[] U8G_FONT_SECTION("u8g_font_fur14r");
+extern const u8g_fntpgm_uint8_t u8g_font_fur14n[] U8G_FONT_SECTION("u8g_font_fur14n");
+extern const u8g_fntpgm_uint8_t u8g_font_fur17[] U8G_FONT_SECTION("u8g_font_fur17");
+extern const u8g_fntpgm_uint8_t u8g_font_fur17r[] U8G_FONT_SECTION("u8g_font_fur17r");
+extern const u8g_fntpgm_uint8_t u8g_font_fur17n[] U8G_FONT_SECTION("u8g_font_fur17n");
+extern const u8g_fntpgm_uint8_t u8g_font_fur20[] U8G_FONT_SECTION("u8g_font_fur20");
+extern const u8g_fntpgm_uint8_t u8g_font_fur20r[] U8G_FONT_SECTION("u8g_font_fur20r");
+extern const u8g_fntpgm_uint8_t u8g_font_fur20n[] U8G_FONT_SECTION("u8g_font_fur20n");
+extern const u8g_fntpgm_uint8_t u8g_font_fur25[] U8G_FONT_SECTION("u8g_font_fur25");
+extern const u8g_fntpgm_uint8_t u8g_font_fur25r[] U8G_FONT_SECTION("u8g_font_fur25r");
+extern const u8g_fntpgm_uint8_t u8g_font_fur25n[] U8G_FONT_SECTION("u8g_font_fur25n");
+extern const u8g_fntpgm_uint8_t u8g_font_fur30[] U8G_FONT_SECTION("u8g_font_fur30");
+extern const u8g_fntpgm_uint8_t u8g_font_fur30r[] U8G_FONT_SECTION("u8g_font_fur30r");
+extern const u8g_fntpgm_uint8_t u8g_font_fur30n[] U8G_FONT_SECTION("u8g_font_fur30n");
+extern const u8g_fntpgm_uint8_t u8g_font_fur35n[] U8G_FONT_SECTION("u8g_font_fur35n");
+extern const u8g_fntpgm_uint8_t u8g_font_fur42n[] U8G_FONT_SECTION("u8g_font_fur42n");
+extern const u8g_fntpgm_uint8_t u8g_font_fur49n[] U8G_FONT_SECTION("u8g_font_fur49n");
 
 /* 
   Gentium Bold
@@ -1266,29 +1615,29 @@ extern const u8g_fntpgm_uint8_t u8g_font_fur49n[] U8G_SECTION(".progmem.u8g_font
   no char: Full set (codes 32 - 255)
 */
 
-extern const u8g_fntpgm_uint8_t u8g_font_gdb11[] U8G_SECTION(".progmem.u8g_font_gdb11");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb12[] U8G_SECTION(".progmem.u8g_font_gdb12");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb14[] U8G_SECTION(".progmem.u8g_font_gdb14");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb17[] U8G_SECTION(".progmem.u8g_font_gdb17");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb20[] U8G_SECTION(".progmem.u8g_font_gdb20");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb25[] U8G_SECTION(".progmem.u8g_font_gdb25");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb30[] U8G_SECTION(".progmem.u8g_font_gdb30");
-
-extern const u8g_fntpgm_uint8_t u8g_font_gdb11r[] U8G_SECTION(".progmem.u8g_font_gdb11r");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb12r[] U8G_SECTION(".progmem.u8g_font_gdb12r");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb14r[] U8G_SECTION(".progmem.u8g_font_gdb14r");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb17r[] U8G_SECTION(".progmem.u8g_font_gdb17r");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb20r[] U8G_SECTION(".progmem.u8g_font_gdb20r");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb25r[] U8G_SECTION(".progmem.u8g_font_gdb25r");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb30r[] U8G_SECTION(".progmem.u8g_font_gdb30r");
-
-extern const u8g_fntpgm_uint8_t u8g_font_gdb11n[] U8G_SECTION(".progmem.u8g_font_gdb11n");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb12n[] U8G_SECTION(".progmem.u8g_font_gdb12n");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb14n[] U8G_SECTION(".progmem.u8g_font_gdb14n");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb17n[] U8G_SECTION(".progmem.u8g_font_gdb17n");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb20n[] U8G_SECTION(".progmem.u8g_font_gdb20n");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb25n[] U8G_SECTION(".progmem.u8g_font_gdb25n");
-extern const u8g_fntpgm_uint8_t u8g_font_gdb30n[] U8G_SECTION(".progmem.u8g_font_gdb30n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb11[] U8G_FONT_SECTION("u8g_font_gdb11");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb12[] U8G_FONT_SECTION("u8g_font_gdb12");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb14[] U8G_FONT_SECTION("u8g_font_gdb14");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb17[] U8G_FONT_SECTION("u8g_font_gdb17");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb20[] U8G_FONT_SECTION("u8g_font_gdb20");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb25[] U8G_FONT_SECTION("u8g_font_gdb25");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb30[] U8G_FONT_SECTION("u8g_font_gdb30");
+
+extern const u8g_fntpgm_uint8_t u8g_font_gdb11r[] U8G_FONT_SECTION("u8g_font_gdb11r");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb12r[] U8G_FONT_SECTION("u8g_font_gdb12r");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb14r[] U8G_FONT_SECTION("u8g_font_gdb14r");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb17r[] U8G_FONT_SECTION("u8g_font_gdb17r");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb20r[] U8G_FONT_SECTION("u8g_font_gdb20r");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb25r[] U8G_FONT_SECTION("u8g_font_gdb25r");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb30r[] U8G_FONT_SECTION("u8g_font_gdb30r");
+
+extern const u8g_fntpgm_uint8_t u8g_font_gdb11n[] U8G_FONT_SECTION("u8g_font_gdb11n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb12n[] U8G_FONT_SECTION("u8g_font_gdb12n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb14n[] U8G_FONT_SECTION("u8g_font_gdb14n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb17n[] U8G_FONT_SECTION("u8g_font_gdb17n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb20n[] U8G_FONT_SECTION("u8g_font_gdb20n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb25n[] U8G_FONT_SECTION("u8g_font_gdb25n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdb30n[] U8G_FONT_SECTION("u8g_font_gdb30n");
 
 /* 
   Gentium Regular
@@ -1297,35 +1646,35 @@ extern const u8g_fntpgm_uint8_t u8g_font_gdb30n[] U8G_SECTION(".progmem.u8g_font
   no char: Full set (codes 32 - 255)
 */
 
-extern const u8g_fntpgm_uint8_t u8g_font_gdr9[] U8G_SECTION(".progmem.u8g_font_gdr9");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr10[] U8G_SECTION(".progmem.u8g_font_gdr10");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr11[] U8G_SECTION(".progmem.u8g_font_gdr11");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr12[] U8G_SECTION(".progmem.u8g_font_gdr12");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr14[] U8G_SECTION(".progmem.u8g_font_gdr14");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr17[] U8G_SECTION(".progmem.u8g_font_gdr17");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr20[] U8G_SECTION(".progmem.u8g_font_gdr20");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr25[] U8G_SECTION(".progmem.u8g_font_gdr25");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr30[] U8G_SECTION(".progmem.u8g_font_gdr30");
-
-extern const u8g_fntpgm_uint8_t u8g_font_gdr9r[] U8G_SECTION(".progmem.u8g_font_gdr9r");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr10r[] U8G_SECTION(".progmem.u8g_font_gdr10r");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr11r[] U8G_SECTION(".progmem.u8g_font_gdr11r");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr12r[] U8G_SECTION(".progmem.u8g_font_gdr12r");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr14r[] U8G_SECTION(".progmem.u8g_font_gdr14r");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr17r[] U8G_SECTION(".progmem.u8g_font_gdr17r");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr20r[] U8G_SECTION(".progmem.u8g_font_gdr20r");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr25r[] U8G_SECTION(".progmem.u8g_font_gdr25r");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr30r[] U8G_SECTION(".progmem.u8g_font_gdr30r");
-
-extern const u8g_fntpgm_uint8_t u8g_font_gdr9n[] U8G_SECTION(".progmem.u8g_font_gdr9n");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr10n[] U8G_SECTION(".progmem.u8g_font_gdr10n");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr11n[] U8G_SECTION(".progmem.u8g_font_gdr11n");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr12n[] U8G_SECTION(".progmem.u8g_font_gdr12n");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr14n[] U8G_SECTION(".progmem.u8g_font_gdr14n");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr17n[] U8G_SECTION(".progmem.u8g_font_gdr17n");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr20n[] U8G_SECTION(".progmem.u8g_font_gdr20n");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr25n[] U8G_SECTION(".progmem.u8g_font_gdr25n");
-extern const u8g_fntpgm_uint8_t u8g_font_gdr30n[] U8G_SECTION(".progmem.u8g_font_gdr30n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr9[] U8G_FONT_SECTION("u8g_font_gdr9");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr10[] U8G_FONT_SECTION("u8g_font_gdr10");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr11[] U8G_FONT_SECTION("u8g_font_gdr11");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr12[] U8G_FONT_SECTION("u8g_font_gdr12");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr14[] U8G_FONT_SECTION("u8g_font_gdr14");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr17[] U8G_FONT_SECTION("u8g_font_gdr17");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr20[] U8G_FONT_SECTION("u8g_font_gdr20");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr25[] U8G_FONT_SECTION("u8g_font_gdr25");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr30[] U8G_FONT_SECTION("u8g_font_gdr30");
+
+extern const u8g_fntpgm_uint8_t u8g_font_gdr9r[] U8G_FONT_SECTION("u8g_font_gdr9r");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr10r[] U8G_FONT_SECTION("u8g_font_gdr10r");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr11r[] U8G_FONT_SECTION("u8g_font_gdr11r");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr12r[] U8G_FONT_SECTION("u8g_font_gdr12r");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr14r[] U8G_FONT_SECTION("u8g_font_gdr14r");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr17r[] U8G_FONT_SECTION("u8g_font_gdr17r");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr20r[] U8G_FONT_SECTION("u8g_font_gdr20r");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr25r[] U8G_FONT_SECTION("u8g_font_gdr25r");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr30r[] U8G_FONT_SECTION("u8g_font_gdr30r");
+
+extern const u8g_fntpgm_uint8_t u8g_font_gdr9n[] U8G_FONT_SECTION("u8g_font_gdr9n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr10n[] U8G_FONT_SECTION("u8g_font_gdr10n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr11n[] U8G_FONT_SECTION("u8g_font_gdr11n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr12n[] U8G_FONT_SECTION("u8g_font_gdr12n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr14n[] U8G_FONT_SECTION("u8g_font_gdr14n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr17n[] U8G_FONT_SECTION("u8g_font_gdr17n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr20n[] U8G_FONT_SECTION("u8g_font_gdr20n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr25n[] U8G_FONT_SECTION("u8g_font_gdr25n");
+extern const u8g_fntpgm_uint8_t u8g_font_gdr30n[] U8G_FONT_SECTION("u8g_font_gdr30n");
 
 /* 
   Old-Standard Bold
@@ -1334,23 +1683,23 @@ extern const u8g_fntpgm_uint8_t u8g_font_gdr30n[] U8G_SECTION(".progmem.u8g_font
   no char: Full set (codes 32 - 255)
 */
 
-extern const u8g_fntpgm_uint8_t u8g_font_osb18[] U8G_SECTION(".progmem.u8g_font_osb18");
-extern const u8g_fntpgm_uint8_t u8g_font_osb21[] U8G_SECTION(".progmem.u8g_font_osb21");
-extern const u8g_fntpgm_uint8_t u8g_font_osb26[] U8G_SECTION(".progmem.u8g_font_osb26");
-extern const u8g_fntpgm_uint8_t u8g_font_osb29[] U8G_SECTION(".progmem.u8g_font_osb29");
-extern const u8g_fntpgm_uint8_t u8g_font_osb35[] U8G_SECTION(".progmem.u8g_font_osb35");
+extern const u8g_fntpgm_uint8_t u8g_font_osb18[] U8G_FONT_SECTION("u8g_font_osb18");
+extern const u8g_fntpgm_uint8_t u8g_font_osb21[] U8G_FONT_SECTION("u8g_font_osb21");
+extern const u8g_fntpgm_uint8_t u8g_font_osb26[] U8G_FONT_SECTION("u8g_font_osb26");
+extern const u8g_fntpgm_uint8_t u8g_font_osb29[] U8G_FONT_SECTION("u8g_font_osb29");
+extern const u8g_fntpgm_uint8_t u8g_font_osb35[] U8G_FONT_SECTION("u8g_font_osb35");
 
-extern const u8g_fntpgm_uint8_t u8g_font_osb18r[] U8G_SECTION(".progmem.u8g_font_osb18r");
-extern const u8g_fntpgm_uint8_t u8g_font_osb21r[] U8G_SECTION(".progmem.u8g_font_osb21r");
-extern const u8g_fntpgm_uint8_t u8g_font_osb26r[] U8G_SECTION(".progmem.u8g_font_osb26r");
-extern const u8g_fntpgm_uint8_t u8g_font_osb29r[] U8G_SECTION(".progmem.u8g_font_osb29r");
-extern const u8g_fntpgm_uint8_t u8g_font_osb35r[] U8G_SECTION(".progmem.u8g_font_osb35r");
+extern const u8g_fntpgm_uint8_t u8g_font_osb18r[] U8G_FONT_SECTION("u8g_font_osb18r");
+extern const u8g_fntpgm_uint8_t u8g_font_osb21r[] U8G_FONT_SECTION("u8g_font_osb21r");
+extern const u8g_fntpgm_uint8_t u8g_font_osb26r[] U8G_FONT_SECTION("u8g_font_osb26r");
+extern const u8g_fntpgm_uint8_t u8g_font_osb29r[] U8G_FONT_SECTION("u8g_font_osb29r");
+extern const u8g_fntpgm_uint8_t u8g_font_osb35r[] U8G_FONT_SECTION("u8g_font_osb35r");
 
-extern const u8g_fntpgm_uint8_t u8g_font_osb18n[] U8G_SECTION(".progmem.u8g_font_osb18n");
-extern const u8g_fntpgm_uint8_t u8g_font_osb21n[] U8G_SECTION(".progmem.u8g_font_osb21n");
-extern const u8g_fntpgm_uint8_t u8g_font_osb26n[] U8G_SECTION(".progmem.u8g_font_osb26n");
-extern const u8g_fntpgm_uint8_t u8g_font_osb29n[] U8G_SECTION(".progmem.u8g_font_osb29n");
-extern const u8g_fntpgm_uint8_t u8g_font_osb35n[] U8G_SECTION(".progmem.u8g_font_osb35n");
+extern const u8g_fntpgm_uint8_t u8g_font_osb18n[] U8G_FONT_SECTION("u8g_font_osb18n");
+extern const u8g_fntpgm_uint8_t u8g_font_osb21n[] U8G_FONT_SECTION("u8g_font_osb21n");
+extern const u8g_fntpgm_uint8_t u8g_font_osb26n[] U8G_FONT_SECTION("u8g_font_osb26n");
+extern const u8g_fntpgm_uint8_t u8g_font_osb29n[] U8G_FONT_SECTION("u8g_font_osb29n");
+extern const u8g_fntpgm_uint8_t u8g_font_osb35n[] U8G_FONT_SECTION("u8g_font_osb35n");
 
 /* 
   Old-Standard Regular
@@ -1359,245 +1708,266 @@ extern const u8g_fntpgm_uint8_t u8g_font_osb35n[] U8G_SECTION(".progmem.u8g_font
   no char: Full set (codes 32 - 255)
 */
 
-extern const u8g_fntpgm_uint8_t u8g_font_osr18[] U8G_SECTION(".progmem.u8g_font_osr18");
-extern const u8g_fntpgm_uint8_t u8g_font_osr21[] U8G_SECTION(".progmem.u8g_font_osr21");
-extern const u8g_fntpgm_uint8_t u8g_font_osr26[] U8G_SECTION(".progmem.u8g_font_osr26");
-extern const u8g_fntpgm_uint8_t u8g_font_osr29[] U8G_SECTION(".progmem.u8g_font_osr29");
-extern const u8g_fntpgm_uint8_t u8g_font_osr35[] U8G_SECTION(".progmem.u8g_font_osr35");
+extern const u8g_fntpgm_uint8_t u8g_font_osr18[] U8G_FONT_SECTION("u8g_font_osr18");
+extern const u8g_fntpgm_uint8_t u8g_font_osr21[] U8G_FONT_SECTION("u8g_font_osr21");
+extern const u8g_fntpgm_uint8_t u8g_font_osr26[] U8G_FONT_SECTION("u8g_font_osr26");
+extern const u8g_fntpgm_uint8_t u8g_font_osr29[] U8G_FONT_SECTION("u8g_font_osr29");
+extern const u8g_fntpgm_uint8_t u8g_font_osr35[] U8G_FONT_SECTION("u8g_font_osr35");
 
-extern const u8g_fntpgm_uint8_t u8g_font_osr18r[] U8G_SECTION(".progmem.u8g_font_osr18r");
-extern const u8g_fntpgm_uint8_t u8g_font_osr21r[] U8G_SECTION(".progmem.u8g_font_osr21r");
-extern const u8g_fntpgm_uint8_t u8g_font_osr26r[] U8G_SECTION(".progmem.u8g_font_osr26r");
-extern const u8g_fntpgm_uint8_t u8g_font_osr29r[] U8G_SECTION(".progmem.u8g_font_osr29r");
-extern const u8g_fntpgm_uint8_t u8g_font_osr35r[] U8G_SECTION(".progmem.u8g_font_osr35r");
+extern const u8g_fntpgm_uint8_t u8g_font_osr18r[] U8G_FONT_SECTION("u8g_font_osr18r");
+extern const u8g_fntpgm_uint8_t u8g_font_osr21r[] U8G_FONT_SECTION("u8g_font_osr21r");
+extern const u8g_fntpgm_uint8_t u8g_font_osr26r[] U8G_FONT_SECTION("u8g_font_osr26r");
+extern const u8g_fntpgm_uint8_t u8g_font_osr29r[] U8G_FONT_SECTION("u8g_font_osr29r");
+extern const u8g_fntpgm_uint8_t u8g_font_osr35r[] U8G_FONT_SECTION("u8g_font_osr35r");
 
-extern const u8g_fntpgm_uint8_t u8g_font_osr18n[] U8G_SECTION(".progmem.u8g_font_osr18n");
-extern const u8g_fntpgm_uint8_t u8g_font_osr21n[] U8G_SECTION(".progmem.u8g_font_osr21n");
-extern const u8g_fntpgm_uint8_t u8g_font_osr26n[] U8G_SECTION(".progmem.u8g_font_osr26n");
-extern const u8g_fntpgm_uint8_t u8g_font_osr29n[] U8G_SECTION(".progmem.u8g_font_osr29n");
-extern const u8g_fntpgm_uint8_t u8g_font_osr35n[] U8G_SECTION(".progmem.u8g_font_osr35n");
+extern const u8g_fntpgm_uint8_t u8g_font_osr18n[] U8G_FONT_SECTION("u8g_font_osr18n");
+extern const u8g_fntpgm_uint8_t u8g_font_osr21n[] U8G_FONT_SECTION("u8g_font_osr21n");
+extern const u8g_fntpgm_uint8_t u8g_font_osr26n[] U8G_FONT_SECTION("u8g_font_osr26n");
+extern const u8g_fntpgm_uint8_t u8g_font_osr29n[] U8G_FONT_SECTION("u8g_font_osr29n");
+extern const u8g_fntpgm_uint8_t u8g_font_osr35n[] U8G_FONT_SECTION("u8g_font_osr35n");
 
-//extern const u8g_fntpgm_uint8_t u8g_font_osr41[] U8G_SECTION(".progmem.u8g_font_osr41");
+//extern const u8g_fntpgm_uint8_t u8g_font_osr41[] U8G_FONT_SECTION("u8g_font_osr41");
 
 /* GNU unifont */
 
-extern const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[] U8G_SECTION(".progmem.u8g_font_unifont_18_19");
-extern const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[] U8G_SECTION(".progmem.u8g_font_unifont_72_73");
-extern const u8g_fntpgm_uint8_t u8g_font_unifont_67_75[] U8G_SECTION(".progmem.u8g_font_unifont_67_75");
-extern const u8g_fntpgm_uint8_t u8g_font_unifont_76[] U8G_SECTION(".progmem.u8g_font_unifont_76");
-extern const u8g_fntpgm_uint8_t u8g_font_unifont_77[] U8G_SECTION(".progmem.u8g_font_unifont_77");
-extern const u8g_fntpgm_uint8_t u8g_font_unifont_78_79[] U8G_SECTION(".progmem.u8g_font_unifont_78_79");
-extern const u8g_fntpgm_uint8_t u8g_font_unifont_86[] U8G_SECTION(".progmem.u8g_font_unifont_86");
-extern const u8g_fntpgm_uint8_t u8g_font_unifont[] U8G_SECTION(".progmem.u8g_font_unifont");
-extern const u8g_fntpgm_uint8_t u8g_font_unifontr[] U8G_SECTION(".progmem.u8g_font_unifontr");
-extern const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[] U8G_SECTION(".progmem.u8g_font_unifont_0_8");
-extern const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[] U8G_SECTION(".progmem.u8g_font_unifont_2_3");
-extern const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[] U8G_SECTION(".progmem.u8g_font_unifont_4_5");
-extern const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[] U8G_SECTION(".progmem.u8g_font_unifont_8_9");
-extern const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[] U8G_SECTION(".progmem.u8g_font_unifont_12_13");
+extern const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[] U8G_FONT_SECTION("u8g_font_unifont_18_19");
+extern const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[] U8G_FONT_SECTION("u8g_font_unifont_72_73");
+extern const u8g_fntpgm_uint8_t u8g_font_unifont_67_75[] U8G_FONT_SECTION("u8g_font_unifont_67_75");
+extern const u8g_fntpgm_uint8_t u8g_font_unifont_76[] U8G_FONT_SECTION("u8g_font_unifont_76");
+extern const u8g_fntpgm_uint8_t u8g_font_unifont_77[] U8G_FONT_SECTION("u8g_font_unifont_77");
+extern const u8g_fntpgm_uint8_t u8g_font_unifont_78_79[] U8G_FONT_SECTION("u8g_font_unifont_78_79");
+extern const u8g_fntpgm_uint8_t u8g_font_unifont_86[] U8G_FONT_SECTION("u8g_font_unifont_86");
+extern const u8g_fntpgm_uint8_t u8g_font_unifont[] U8G_FONT_SECTION("u8g_font_unifont");
+extern const u8g_fntpgm_uint8_t u8g_font_unifontr[] U8G_FONT_SECTION("u8g_font_unifontr");
+extern const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[] U8G_FONT_SECTION("u8g_font_unifont_0_8");
+extern const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[] U8G_FONT_SECTION("u8g_font_unifont_2_3");
+extern const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[] U8G_FONT_SECTION("u8g_font_unifont_4_5");
+extern const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[] U8G_FONT_SECTION("u8g_font_unifont_8_9");
+extern const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[] U8G_FONT_SECTION("u8g_font_unifont_12_13");
 
 
 /* 04b fonts */
 
-extern const u8g_fntpgm_uint8_t u8g_font_04b_03b[] U8G_SECTION(".progmem.u8g_font_04b_03b"); 
-extern const u8g_fntpgm_uint8_t u8g_font_04b_03bn[] U8G_SECTION(".progmem.u8g_font_04b_03bn");
-extern const u8g_fntpgm_uint8_t u8g_font_04b_03br[] U8G_SECTION(".progmem.u8g_font_04b_03br");
-extern const u8g_fntpgm_uint8_t u8g_font_04b_03[] U8G_SECTION(".progmem.u8g_font_04b_03");
-extern const u8g_fntpgm_uint8_t u8g_font_04b_03n[] U8G_SECTION(".progmem.u8g_font_04b_03n");
-extern const u8g_fntpgm_uint8_t u8g_font_04b_03r[] U8G_SECTION(".progmem.u8g_font_04b_03r");
-extern const u8g_fntpgm_uint8_t u8g_font_04b_24[] U8G_SECTION(".progmem.u8g_font_04b_24");
-extern const u8g_fntpgm_uint8_t u8g_font_04b_24n[] U8G_SECTION(".progmem.u8g_font_04b_24n");
-extern const u8g_fntpgm_uint8_t u8g_font_04b_24r[] U8G_SECTION(".progmem.u8g_font_04b_24r");
+extern const u8g_fntpgm_uint8_t u8g_font_04b_03b[] U8G_FONT_SECTION("u8g_font_04b_03b"); 
+extern const u8g_fntpgm_uint8_t u8g_font_04b_03bn[] U8G_FONT_SECTION("u8g_font_04b_03bn");
+extern const u8g_fntpgm_uint8_t u8g_font_04b_03br[] U8G_FONT_SECTION("u8g_font_04b_03br");
+extern const u8g_fntpgm_uint8_t u8g_font_04b_03[] U8G_FONT_SECTION("u8g_font_04b_03");
+extern const u8g_fntpgm_uint8_t u8g_font_04b_03n[] U8G_FONT_SECTION("u8g_font_04b_03n");
+extern const u8g_fntpgm_uint8_t u8g_font_04b_03r[] U8G_FONT_SECTION("u8g_font_04b_03r");
+extern const u8g_fntpgm_uint8_t u8g_font_04b_24[] U8G_FONT_SECTION("u8g_font_04b_24");
+extern const u8g_fntpgm_uint8_t u8g_font_04b_24n[] U8G_FONT_SECTION("u8g_font_04b_24n");
+extern const u8g_fntpgm_uint8_t u8g_font_04b_24r[] U8G_FONT_SECTION("u8g_font_04b_24r");
 
 /* orgdot fonts */
 
-extern const u8g_fntpgm_uint8_t u8g_font_orgv01[] U8G_SECTION(".progmem.u8g_font_orgv01");
-extern const u8g_fntpgm_uint8_t u8g_font_orgv01r[] U8G_SECTION(".progmem.u8g_font_orgv01r");
-extern const u8g_fntpgm_uint8_t u8g_font_orgv01n[] U8G_SECTION(".progmem.u8g_font_orgv01n");
+extern const u8g_fntpgm_uint8_t u8g_font_orgv01[] U8G_FONT_SECTION("u8g_font_orgv01");
+extern const u8g_fntpgm_uint8_t u8g_font_orgv01r[] U8G_FONT_SECTION("u8g_font_orgv01r");
+extern const u8g_fntpgm_uint8_t u8g_font_orgv01n[] U8G_FONT_SECTION("u8g_font_orgv01n");
 
-extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0[] U8G_SECTION(".progmem.u8g_font_fixed_v0");
-extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0r[] U8G_SECTION(".progmem.u8g_font_fixed_v0r");
-extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[] U8G_SECTION(".progmem.u8g_font_fixed_v0n");
+extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0[] U8G_FONT_SECTION("u8g_font_fixed_v0");
+extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0r[] U8G_FONT_SECTION("u8g_font_fixed_v0r");
+extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[] U8G_FONT_SECTION("u8g_font_fixed_v0n");
 
-extern const u8g_fntpgm_uint8_t u8g_font_tpssb[] U8G_SECTION(".progmem.u8g_font_tpssb");
-extern const u8g_fntpgm_uint8_t u8g_font_tpssbr[] U8G_SECTION(".progmem.u8g_font_tpssbr");
-extern const u8g_fntpgm_uint8_t u8g_font_tpssbn[] U8G_SECTION(".progmem.u8g_font_tpssbn");
+extern const u8g_fntpgm_uint8_t u8g_font_tpssb[] U8G_FONT_SECTION("u8g_font_tpssb");
+extern const u8g_fntpgm_uint8_t u8g_font_tpssbr[] U8G_FONT_SECTION("u8g_font_tpssbr");
+extern const u8g_fntpgm_uint8_t u8g_font_tpssbn[] U8G_FONT_SECTION("u8g_font_tpssbn");
 
-extern const u8g_fntpgm_uint8_t u8g_font_tpss[] U8G_SECTION(".progmem.u8g_font_tpss");
-extern const u8g_fntpgm_uint8_t u8g_font_tpssr[] U8G_SECTION(".progmem.u8g_font_tpssr");
-extern const u8g_fntpgm_uint8_t u8g_font_tpssn[] U8G_SECTION(".progmem.u8g_font_tpssn");
+extern const u8g_fntpgm_uint8_t u8g_font_tpss[] U8G_FONT_SECTION("u8g_font_tpss");
+extern const u8g_fntpgm_uint8_t u8g_font_tpssr[] U8G_FONT_SECTION("u8g_font_tpssr");
+extern const u8g_fntpgm_uint8_t u8g_font_tpssn[] U8G_FONT_SECTION("u8g_font_tpssn");
 
 /* contributed */
 
-extern const u8g_fntpgm_uint8_t u8g_font_freedoomr25n[] U8G_SECTION(".progmem.u8g_font_freedoomr25n");
-extern const u8g_fntpgm_uint8_t u8g_font_freedoomr10r[] U8G_SECTION(".progmem.u8g_font_freedoomr10r");
+extern const u8g_fntpgm_uint8_t u8g_font_freedoomr25n[] U8G_FONT_SECTION("u8g_font_freedoomr25n");
+extern const u8g_fntpgm_uint8_t u8g_font_freedoomr10r[] U8G_FONT_SECTION("u8g_font_freedoomr10r");
 
 /* adobe X11 */
-extern const u8g_fntpgm_uint8_t u8g_font_courB08[] U8G_SECTION(".progmem.u8g_font_courB08");
-extern const u8g_fntpgm_uint8_t u8g_font_courB08r[] U8G_SECTION(".progmem.u8g_font_courB08r");
-extern const u8g_fntpgm_uint8_t u8g_font_courB10[] U8G_SECTION(".progmem.u8g_font_courB10");
-extern const u8g_fntpgm_uint8_t u8g_font_courB10r[] U8G_SECTION(".progmem.u8g_font_courB10r");
-extern const u8g_fntpgm_uint8_t u8g_font_courB12[] U8G_SECTION(".progmem.u8g_font_courB12");
-extern const u8g_fntpgm_uint8_t u8g_font_courB12r[] U8G_SECTION(".progmem.u8g_font_courB12r");
-extern const u8g_fntpgm_uint8_t u8g_font_courB14[] U8G_SECTION(".progmem.u8g_font_courB14");
-extern const u8g_fntpgm_uint8_t u8g_font_courB14r[] U8G_SECTION(".progmem.u8g_font_courB14r");
-extern const u8g_fntpgm_uint8_t u8g_font_courB18[] U8G_SECTION(".progmem.u8g_font_courB18");
-extern const u8g_fntpgm_uint8_t u8g_font_courB18r[] U8G_SECTION(".progmem.u8g_font_courB18r");
-extern const u8g_fntpgm_uint8_t u8g_font_courB24[] U8G_SECTION(".progmem.u8g_font_courB24");
-extern const u8g_fntpgm_uint8_t u8g_font_courB24r[] U8G_SECTION(".progmem.u8g_font_courB24r");
-extern const u8g_fntpgm_uint8_t u8g_font_courB24n[] U8G_SECTION(".progmem.u8g_font_courB24n");
-
-extern const u8g_fntpgm_uint8_t u8g_font_courR08[] U8G_SECTION(".progmem.u8g_font_courR08");
-extern const u8g_fntpgm_uint8_t u8g_font_courR08r[] U8G_SECTION(".progmem.u8g_font_courR08r");
-extern const u8g_fntpgm_uint8_t u8g_font_courR10[] U8G_SECTION(".progmem.u8g_font_courR10");
-extern const u8g_fntpgm_uint8_t u8g_font_courR10r[] U8G_SECTION(".progmem.u8g_font_courR10r");
-extern const u8g_fntpgm_uint8_t u8g_font_courR12[] U8G_SECTION(".progmem.u8g_font_courR12");
-extern const u8g_fntpgm_uint8_t u8g_font_courR12r[] U8G_SECTION(".progmem.u8g_font_courR12r");
-extern const u8g_fntpgm_uint8_t u8g_font_courR14[] U8G_SECTION(".progmem.u8g_font_courR14");
-extern const u8g_fntpgm_uint8_t u8g_font_courR14r[] U8G_SECTION(".progmem.u8g_font_courR14r");
-extern const u8g_fntpgm_uint8_t u8g_font_courR18[] U8G_SECTION(".progmem.u8g_font_courR18");
-extern const u8g_fntpgm_uint8_t u8g_font_courR18r[] U8G_SECTION(".progmem.u8g_font_courR18r");
-extern const u8g_fntpgm_uint8_t u8g_font_courR24[] U8G_SECTION(".progmem.u8g_font_courR24");
-extern const u8g_fntpgm_uint8_t u8g_font_courR24r[] U8G_SECTION(".progmem.u8g_font_courR24r");
-extern const u8g_fntpgm_uint8_t u8g_font_courR24n[] U8G_SECTION(".progmem.u8g_font_courR24n");
-
-extern const u8g_fntpgm_uint8_t u8g_font_helvB08[] U8G_SECTION(".progmem.u8g_font_helvB08");
-extern const u8g_fntpgm_uint8_t u8g_font_helvB08r[] U8G_SECTION(".progmem.u8g_font_helvB08r");
-extern const u8g_fntpgm_uint8_t u8g_font_helvB10[] U8G_SECTION(".progmem.u8g_font_helvB10");
-extern const u8g_fntpgm_uint8_t u8g_font_helvB10r[] U8G_SECTION(".progmem.u8g_font_helvB10r");
-extern const u8g_fntpgm_uint8_t u8g_font_helvB12[] U8G_SECTION(".progmem.u8g_font_helvB12");
-extern const u8g_fntpgm_uint8_t u8g_font_helvB12r[] U8G_SECTION(".progmem.u8g_font_helvB12r");
-extern const u8g_fntpgm_uint8_t u8g_font_helvB14[] U8G_SECTION(".progmem.u8g_font_helvB14");
-extern const u8g_fntpgm_uint8_t u8g_font_helvB14r[] U8G_SECTION(".progmem.u8g_font_helvB14r");
-extern const u8g_fntpgm_uint8_t u8g_font_helvB18[] U8G_SECTION(".progmem.u8g_font_helvB18");
-extern const u8g_fntpgm_uint8_t u8g_font_helvB18r[] U8G_SECTION(".progmem.u8g_font_helvB18r");
-extern const u8g_fntpgm_uint8_t u8g_font_helvB24[] U8G_SECTION(".progmem.u8g_font_helvB24");
-extern const u8g_fntpgm_uint8_t u8g_font_helvB24r[] U8G_SECTION(".progmem.u8g_font_helvB24r");
-extern const u8g_fntpgm_uint8_t u8g_font_helvB24n[] U8G_SECTION(".progmem.u8g_font_helvB24n");
-
-extern const u8g_fntpgm_uint8_t u8g_font_helvR08[] U8G_SECTION(".progmem.u8g_font_helvR08");
-extern const u8g_fntpgm_uint8_t u8g_font_helvR08r[] U8G_SECTION(".progmem.u8g_font_helvR08r");
-extern const u8g_fntpgm_uint8_t u8g_font_helvR10[] U8G_SECTION(".progmem.u8g_font_helvR10");
-extern const u8g_fntpgm_uint8_t u8g_font_helvR10r[] U8G_SECTION(".progmem.u8g_font_helvR10r");
-extern const u8g_fntpgm_uint8_t u8g_font_helvR12[] U8G_SECTION(".progmem.u8g_font_helvR12");
-extern const u8g_fntpgm_uint8_t u8g_font_helvR12r[] U8G_SECTION(".progmem.u8g_font_helvR12r");
-extern const u8g_fntpgm_uint8_t u8g_font_helvR14[] U8G_SECTION(".progmem.u8g_font_helvR14");
-extern const u8g_fntpgm_uint8_t u8g_font_helvR14r[] U8G_SECTION(".progmem.u8g_font_helvR14r");
-extern const u8g_fntpgm_uint8_t u8g_font_helvR18[] U8G_SECTION(".progmem.u8g_font_helvR18");
-extern const u8g_fntpgm_uint8_t u8g_font_helvR18r[] U8G_SECTION(".progmem.u8g_font_helvR18r");
-extern const u8g_fntpgm_uint8_t u8g_font_helvR24[] U8G_SECTION(".progmem.u8g_font_helvR24");
-extern const u8g_fntpgm_uint8_t u8g_font_helvR24r[] U8G_SECTION(".progmem.u8g_font_helvR24r");
-extern const u8g_fntpgm_uint8_t u8g_font_helvR24n[] U8G_SECTION(".progmem.u8g_font_helvR24n");
-
-extern const u8g_fntpgm_uint8_t u8g_font_ncenB08[] U8G_SECTION(".progmem.u8g_font_ncenB08");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenB08r[] U8G_SECTION(".progmem.u8g_font_ncenB08r");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenB10[] U8G_SECTION(".progmem.u8g_font_ncenB10");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenB10r[] U8G_SECTION(".progmem.u8g_font_ncenB10r");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenB12[] U8G_SECTION(".progmem.u8g_font_ncenB12");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenB12r[] U8G_SECTION(".progmem.u8g_font_ncenB12r");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenB14[] U8G_SECTION(".progmem.u8g_font_ncenB14");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenB14r[] U8G_SECTION(".progmem.u8g_font_ncenB14r");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenB18[] U8G_SECTION(".progmem.u8g_font_ncenB18");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenB18r[] U8G_SECTION(".progmem.u8g_font_ncenB18r");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenB24[] U8G_SECTION(".progmem.u8g_font_ncenB24");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenB24r[] U8G_SECTION(".progmem.u8g_font_ncenB24r");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenB24n[] U8G_SECTION(".progmem.u8g_font_ncenB24n");
-
-extern const u8g_fntpgm_uint8_t u8g_font_ncenR08[] U8G_SECTION(".progmem.u8g_font_ncenR08");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenR08r[] U8G_SECTION(".progmem.u8g_font_ncenR08r");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenR10[] U8G_SECTION(".progmem.u8g_font_ncenR10");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenR10r[] U8G_SECTION(".progmem.u8g_font_ncenR10r");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenR12[] U8G_SECTION(".progmem.u8g_font_ncenR12");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenR12r[] U8G_SECTION(".progmem.u8g_font_ncenR12r");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenR14[] U8G_SECTION(".progmem.u8g_font_ncenR14");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenR14r[] U8G_SECTION(".progmem.u8g_font_ncenR14r");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenR18[] U8G_SECTION(".progmem.u8g_font_ncenR18");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenR18r[] U8G_SECTION(".progmem.u8g_font_ncenR18r");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenR24[] U8G_SECTION(".progmem.u8g_font_ncenR24");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenR24r[] U8G_SECTION(".progmem.u8g_font_ncenR24r");
-extern const u8g_fntpgm_uint8_t u8g_font_ncenR24n[] U8G_SECTION(".progmem.u8g_font_ncenR24n");
-
-extern const u8g_fntpgm_uint8_t u8g_font_symb08[] U8G_SECTION(".progmem.u8g_font_symb08");
-extern const u8g_fntpgm_uint8_t u8g_font_symb08r[] U8G_SECTION(".progmem.u8g_font_symb08r");
-extern const u8g_fntpgm_uint8_t u8g_font_symb10[] U8G_SECTION(".progmem.u8g_font_symb10");
-extern const u8g_fntpgm_uint8_t u8g_font_symb10r[] U8G_SECTION(".progmem.u8g_font_symb10r");
-extern const u8g_fntpgm_uint8_t u8g_font_symb12[] U8G_SECTION(".progmem.u8g_font_symb12");
-extern const u8g_fntpgm_uint8_t u8g_font_symb12r[] U8G_SECTION(".progmem.u8g_font_symb12r");
-extern const u8g_fntpgm_uint8_t u8g_font_symb14[] U8G_SECTION(".progmem.u8g_font_symb14");
-extern const u8g_fntpgm_uint8_t u8g_font_symb14r[] U8G_SECTION(".progmem.u8g_font_symb14r");
-extern const u8g_fntpgm_uint8_t u8g_font_symb18[] U8G_SECTION(".progmem.u8g_font_symb18");
-extern const u8g_fntpgm_uint8_t u8g_font_symb18r[] U8G_SECTION(".progmem.u8g_font_symb18r");
-extern const u8g_fntpgm_uint8_t u8g_font_symb24[] U8G_SECTION(".progmem.u8g_font_symb24");
-extern const u8g_fntpgm_uint8_t u8g_font_symb24r[] U8G_SECTION(".progmem.u8g_font_symb24r");
-
-extern const u8g_fntpgm_uint8_t u8g_font_timB08[] U8G_SECTION(".progmem.u8g_font_timB08");
-extern const u8g_fntpgm_uint8_t u8g_font_timB08r[] U8G_SECTION(".progmem.u8g_font_timB08r");
-extern const u8g_fntpgm_uint8_t u8g_font_timB10[] U8G_SECTION(".progmem.u8g_font_timB10");
-extern const u8g_fntpgm_uint8_t u8g_font_timB10r[] U8G_SECTION(".progmem.u8g_font_timB10r");
-extern const u8g_fntpgm_uint8_t u8g_font_timB12[] U8G_SECTION(".progmem.u8g_font_timB12");
-extern const u8g_fntpgm_uint8_t u8g_font_timB12r[] U8G_SECTION(".progmem.u8g_font_timB12r");
-extern const u8g_fntpgm_uint8_t u8g_font_timB14[] U8G_SECTION(".progmem.u8g_font_timB14");
-extern const u8g_fntpgm_uint8_t u8g_font_timB14r[] U8G_SECTION(".progmem.u8g_font_timB14r");
-extern const u8g_fntpgm_uint8_t u8g_font_timB18[] U8G_SECTION(".progmem.u8g_font_timB18");
-extern const u8g_fntpgm_uint8_t u8g_font_timB18r[] U8G_SECTION(".progmem.u8g_font_timB18r");
-extern const u8g_fntpgm_uint8_t u8g_font_timB24[] U8G_SECTION(".progmem.u8g_font_timB24");
-extern const u8g_fntpgm_uint8_t u8g_font_timB24r[] U8G_SECTION(".progmem.u8g_font_timB24r");
-extern const u8g_fntpgm_uint8_t u8g_font_timB24n[] U8G_SECTION(".progmem.u8g_font_timB24n");
-
-extern const u8g_fntpgm_uint8_t u8g_font_timR08[] U8G_SECTION(".progmem.u8g_font_timR08");
-extern const u8g_fntpgm_uint8_t u8g_font_timR08r[] U8G_SECTION(".progmem.u8g_font_timR08r");
-extern const u8g_fntpgm_uint8_t u8g_font_timR10[] U8G_SECTION(".progmem.u8g_font_timR10");
-extern const u8g_fntpgm_uint8_t u8g_font_timR10r[] U8G_SECTION(".progmem.u8g_font_timR10r");
-extern const u8g_fntpgm_uint8_t u8g_font_timR12[] U8G_SECTION(".progmem.u8g_font_timR12");
-extern const u8g_fntpgm_uint8_t u8g_font_timR12r[] U8G_SECTION(".progmem.u8g_font_timR12r");
-extern const u8g_fntpgm_uint8_t u8g_font_timR14[] U8G_SECTION(".progmem.u8g_font_timR14");
-extern const u8g_fntpgm_uint8_t u8g_font_timR14r[] U8G_SECTION(".progmem.u8g_font_timR14r");
-extern const u8g_fntpgm_uint8_t u8g_font_timR18[] U8G_SECTION(".progmem.u8g_font_timR18");
-extern const u8g_fntpgm_uint8_t u8g_font_timR18r[] U8G_SECTION(".progmem.u8g_font_timR18r");
-extern const u8g_fntpgm_uint8_t u8g_font_timR24[] U8G_SECTION(".progmem.u8g_font_timR24");
-extern const u8g_fntpgm_uint8_t u8g_font_timR24r[] U8G_SECTION(".progmem.u8g_font_timR24r");
-extern const u8g_fntpgm_uint8_t u8g_font_timR24n[] U8G_SECTION(".progmem.u8g_font_timR24n");
+extern const u8g_fntpgm_uint8_t u8g_font_courB08[] U8G_FONT_SECTION("u8g_font_courB08");
+extern const u8g_fntpgm_uint8_t u8g_font_courB08r[] U8G_FONT_SECTION("u8g_font_courB08r");
+extern const u8g_fntpgm_uint8_t u8g_font_courB10[] U8G_FONT_SECTION("u8g_font_courB10");
+extern const u8g_fntpgm_uint8_t u8g_font_courB10r[] U8G_FONT_SECTION("u8g_font_courB10r");
+extern const u8g_fntpgm_uint8_t u8g_font_courB12[] U8G_FONT_SECTION("u8g_font_courB12");
+extern const u8g_fntpgm_uint8_t u8g_font_courB12r[] U8G_FONT_SECTION("u8g_font_courB12r");
+extern const u8g_fntpgm_uint8_t u8g_font_courB14[] U8G_FONT_SECTION("u8g_font_courB14");
+extern const u8g_fntpgm_uint8_t u8g_font_courB14r[] U8G_FONT_SECTION("u8g_font_courB14r");
+extern const u8g_fntpgm_uint8_t u8g_font_courB18[] U8G_FONT_SECTION("u8g_font_courB18");
+extern const u8g_fntpgm_uint8_t u8g_font_courB18r[] U8G_FONT_SECTION("u8g_font_courB18r");
+extern const u8g_fntpgm_uint8_t u8g_font_courB24[] U8G_FONT_SECTION("u8g_font_courB24");
+extern const u8g_fntpgm_uint8_t u8g_font_courB24r[] U8G_FONT_SECTION("u8g_font_courB24r");
+extern const u8g_fntpgm_uint8_t u8g_font_courB24n[] U8G_FONT_SECTION("u8g_font_courB24n");
+
+extern const u8g_fntpgm_uint8_t u8g_font_courR08[] U8G_FONT_SECTION("u8g_font_courR08");
+extern const u8g_fntpgm_uint8_t u8g_font_courR08r[] U8G_FONT_SECTION("u8g_font_courR08r");
+extern const u8g_fntpgm_uint8_t u8g_font_courR10[] U8G_FONT_SECTION("u8g_font_courR10");
+extern const u8g_fntpgm_uint8_t u8g_font_courR10r[] U8G_FONT_SECTION("u8g_font_courR10r");
+extern const u8g_fntpgm_uint8_t u8g_font_courR12[] U8G_FONT_SECTION("u8g_font_courR12");
+extern const u8g_fntpgm_uint8_t u8g_font_courR12r[] U8G_FONT_SECTION("u8g_font_courR12r");
+extern const u8g_fntpgm_uint8_t u8g_font_courR14[] U8G_FONT_SECTION("u8g_font_courR14");
+extern const u8g_fntpgm_uint8_t u8g_font_courR14r[] U8G_FONT_SECTION("u8g_font_courR14r");
+extern const u8g_fntpgm_uint8_t u8g_font_courR18[] U8G_FONT_SECTION("u8g_font_courR18");
+extern const u8g_fntpgm_uint8_t u8g_font_courR18r[] U8G_FONT_SECTION("u8g_font_courR18r");
+extern const u8g_fntpgm_uint8_t u8g_font_courR24[] U8G_FONT_SECTION("u8g_font_courR24");
+extern const u8g_fntpgm_uint8_t u8g_font_courR24r[] U8G_FONT_SECTION("u8g_font_courR24r");
+extern const u8g_fntpgm_uint8_t u8g_font_courR24n[] U8G_FONT_SECTION("u8g_font_courR24n");
+
+extern const u8g_fntpgm_uint8_t u8g_font_helvB08[] U8G_FONT_SECTION("u8g_font_helvB08");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB08r[] U8G_FONT_SECTION("u8g_font_helvB08r");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB08n[] U8G_FONT_SECTION("u8g_font_helvB08n");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB10[] U8G_FONT_SECTION("u8g_font_helvB10");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB10r[] U8G_FONT_SECTION("u8g_font_helvB10r");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB10n[] U8G_FONT_SECTION("u8g_font_helvB10n");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB12[] U8G_FONT_SECTION("u8g_font_helvB12");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB12r[] U8G_FONT_SECTION("u8g_font_helvB12r");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB12n[] U8G_FONT_SECTION("u8g_font_helvB12n");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB14[] U8G_FONT_SECTION("u8g_font_helvB14");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB14r[] U8G_FONT_SECTION("u8g_font_helvB14r");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB14n[] U8G_FONT_SECTION("u8g_font_helvB14n");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB18[] U8G_FONT_SECTION("u8g_font_helvB18");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB18r[] U8G_FONT_SECTION("u8g_font_helvB18r");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB18n[] U8G_FONT_SECTION("u8g_font_helvB18n");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB24[] U8G_FONT_SECTION("u8g_font_helvB24");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB24r[] U8G_FONT_SECTION("u8g_font_helvB24r");
+extern const u8g_fntpgm_uint8_t u8g_font_helvB24n[] U8G_FONT_SECTION("u8g_font_helvB24n");
+
+extern const u8g_fntpgm_uint8_t u8g_font_helvR08[] U8G_FONT_SECTION("u8g_font_helvR08");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR08r[] U8G_FONT_SECTION("u8g_font_helvR08r");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR08n[] U8G_FONT_SECTION("u8g_font_helvR08n");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR10[] U8G_FONT_SECTION("u8g_font_helvR10");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR10r[] U8G_FONT_SECTION("u8g_font_helvR10r");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR10n[] U8G_FONT_SECTION("u8g_font_helvR10n");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR12[] U8G_FONT_SECTION("u8g_font_helvR12");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR12r[] U8G_FONT_SECTION("u8g_font_helvR12r");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR12n[] U8G_FONT_SECTION("u8g_font_helvR12n");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR14[] U8G_FONT_SECTION("u8g_font_helvR14");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR14r[] U8G_FONT_SECTION("u8g_font_helvR14r");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR14n[] U8G_FONT_SECTION("u8g_font_helvR14n");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR18[] U8G_FONT_SECTION("u8g_font_helvR18");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR18r[] U8G_FONT_SECTION("u8g_font_helvR18r");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR18n[] U8G_FONT_SECTION("u8g_font_helvR18n");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR24[] U8G_FONT_SECTION("u8g_font_helvR24");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR24r[] U8G_FONT_SECTION("u8g_font_helvR24r");
+extern const u8g_fntpgm_uint8_t u8g_font_helvR24n[] U8G_FONT_SECTION("u8g_font_helvR24n");
+
+extern const u8g_fntpgm_uint8_t u8g_font_ncenB08[] U8G_FONT_SECTION("u8g_font_ncenB08");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenB08r[] U8G_FONT_SECTION("u8g_font_ncenB08r");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenB10[] U8G_FONT_SECTION("u8g_font_ncenB10");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenB10r[] U8G_FONT_SECTION("u8g_font_ncenB10r");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenB12[] U8G_FONT_SECTION("u8g_font_ncenB12");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenB12r[] U8G_FONT_SECTION("u8g_font_ncenB12r");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenB14[] U8G_FONT_SECTION("u8g_font_ncenB14");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenB14r[] U8G_FONT_SECTION("u8g_font_ncenB14r");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenB18[] U8G_FONT_SECTION("u8g_font_ncenB18");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenB18r[] U8G_FONT_SECTION("u8g_font_ncenB18r");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenB24[] U8G_FONT_SECTION("u8g_font_ncenB24");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenB24r[] U8G_FONT_SECTION("u8g_font_ncenB24r");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenB24n[] U8G_FONT_SECTION("u8g_font_ncenB24n");
+
+extern const u8g_fntpgm_uint8_t u8g_font_ncenR08[] U8G_FONT_SECTION("u8g_font_ncenR08");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenR08r[] U8G_FONT_SECTION("u8g_font_ncenR08r");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenR10[] U8G_FONT_SECTION("u8g_font_ncenR10");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenR10r[] U8G_FONT_SECTION("u8g_font_ncenR10r");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenR12[] U8G_FONT_SECTION("u8g_font_ncenR12");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenR12r[] U8G_FONT_SECTION("u8g_font_ncenR12r");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenR14[] U8G_FONT_SECTION("u8g_font_ncenR14");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenR14r[] U8G_FONT_SECTION("u8g_font_ncenR14r");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenR18[] U8G_FONT_SECTION("u8g_font_ncenR18");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenR18r[] U8G_FONT_SECTION("u8g_font_ncenR18r");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenR24[] U8G_FONT_SECTION("u8g_font_ncenR24");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenR24r[] U8G_FONT_SECTION("u8g_font_ncenR24r");
+extern const u8g_fntpgm_uint8_t u8g_font_ncenR24n[] U8G_FONT_SECTION("u8g_font_ncenR24n");
+
+extern const u8g_fntpgm_uint8_t u8g_font_symb08[] U8G_FONT_SECTION("u8g_font_symb08");
+extern const u8g_fntpgm_uint8_t u8g_font_symb08r[] U8G_FONT_SECTION("u8g_font_symb08r");
+extern const u8g_fntpgm_uint8_t u8g_font_symb10[] U8G_FONT_SECTION("u8g_font_symb10");
+extern const u8g_fntpgm_uint8_t u8g_font_symb10r[] U8G_FONT_SECTION("u8g_font_symb10r");
+extern const u8g_fntpgm_uint8_t u8g_font_symb12[] U8G_FONT_SECTION("u8g_font_symb12");
+extern const u8g_fntpgm_uint8_t u8g_font_symb12r[] U8G_FONT_SECTION("u8g_font_symb12r");
+extern const u8g_fntpgm_uint8_t u8g_font_symb14[] U8G_FONT_SECTION("u8g_font_symb14");
+extern const u8g_fntpgm_uint8_t u8g_font_symb14r[] U8G_FONT_SECTION("u8g_font_symb14r");
+extern const u8g_fntpgm_uint8_t u8g_font_symb18[] U8G_FONT_SECTION("u8g_font_symb18");
+extern const u8g_fntpgm_uint8_t u8g_font_symb18r[] U8G_FONT_SECTION("u8g_font_symb18r");
+extern const u8g_fntpgm_uint8_t u8g_font_symb24[] U8G_FONT_SECTION("u8g_font_symb24");
+extern const u8g_fntpgm_uint8_t u8g_font_symb24r[] U8G_FONT_SECTION("u8g_font_symb24r");
+
+extern const u8g_fntpgm_uint8_t u8g_font_timB08[] U8G_FONT_SECTION("u8g_font_timB08");
+extern const u8g_fntpgm_uint8_t u8g_font_timB08r[] U8G_FONT_SECTION("u8g_font_timB08r");
+extern const u8g_fntpgm_uint8_t u8g_font_timB10[] U8G_FONT_SECTION("u8g_font_timB10");
+extern const u8g_fntpgm_uint8_t u8g_font_timB10r[] U8G_FONT_SECTION("u8g_font_timB10r");
+extern const u8g_fntpgm_uint8_t u8g_font_timB12[] U8G_FONT_SECTION("u8g_font_timB12");
+extern const u8g_fntpgm_uint8_t u8g_font_timB12r[] U8G_FONT_SECTION("u8g_font_timB12r");
+extern const u8g_fntpgm_uint8_t u8g_font_timB14[] U8G_FONT_SECTION("u8g_font_timB14");
+extern const u8g_fntpgm_uint8_t u8g_font_timB14r[] U8G_FONT_SECTION("u8g_font_timB14r");
+extern const u8g_fntpgm_uint8_t u8g_font_timB18[] U8G_FONT_SECTION("u8g_font_timB18");
+extern const u8g_fntpgm_uint8_t u8g_font_timB18r[] U8G_FONT_SECTION("u8g_font_timB18r");
+extern const u8g_fntpgm_uint8_t u8g_font_timB24[] U8G_FONT_SECTION("u8g_font_timB24");
+extern const u8g_fntpgm_uint8_t u8g_font_timB24r[] U8G_FONT_SECTION("u8g_font_timB24r");
+extern const u8g_fntpgm_uint8_t u8g_font_timB24n[] U8G_FONT_SECTION("u8g_font_timB24n");
+
+extern const u8g_fntpgm_uint8_t u8g_font_timR08[] U8G_FONT_SECTION("u8g_font_timR08");
+extern const u8g_fntpgm_uint8_t u8g_font_timR08r[] U8G_FONT_SECTION("u8g_font_timR08r");
+extern const u8g_fntpgm_uint8_t u8g_font_timR10[] U8G_FONT_SECTION("u8g_font_timR10");
+extern const u8g_fntpgm_uint8_t u8g_font_timR10r[] U8G_FONT_SECTION("u8g_font_timR10r");
+extern const u8g_fntpgm_uint8_t u8g_font_timR12[] U8G_FONT_SECTION("u8g_font_timR12");
+extern const u8g_fntpgm_uint8_t u8g_font_timR12r[] U8G_FONT_SECTION("u8g_font_timR12r");
+extern const u8g_fntpgm_uint8_t u8g_font_timR14[] U8G_FONT_SECTION("u8g_font_timR14");
+extern const u8g_fntpgm_uint8_t u8g_font_timR14r[] U8G_FONT_SECTION("u8g_font_timR14r");
+extern const u8g_fntpgm_uint8_t u8g_font_timR18[] U8G_FONT_SECTION("u8g_font_timR18");
+extern const u8g_fntpgm_uint8_t u8g_font_timR18r[] U8G_FONT_SECTION("u8g_font_timR18r");
+extern const u8g_fntpgm_uint8_t u8g_font_timR24[] U8G_FONT_SECTION("u8g_font_timR24");
+extern const u8g_fntpgm_uint8_t u8g_font_timR24r[] U8G_FONT_SECTION("u8g_font_timR24r");
+extern const u8g_fntpgm_uint8_t u8g_font_timR24n[] U8G_FONT_SECTION("u8g_font_timR24n");
 
 /* fontstruct */
 
-extern const u8g_fntpgm_uint8_t u8g_font_p01type[] U8G_SECTION(".progmem.u8g_font_p01type");
-extern const u8g_fntpgm_uint8_t u8g_font_p01typer[] U8G_SECTION(".progmem.u8g_font_p01typer");
-extern const u8g_fntpgm_uint8_t u8g_font_p01typen[] U8G_SECTION(".progmem.u8g_font_p01typen");
-
-extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternate[] U8G_SECTION(".progmem.u8g_font_lucasfont_alternate");
-extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternater[] U8G_SECTION(".progmem.u8g_font_lucasfont_alternater");
-extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[] U8G_SECTION(".progmem.u8g_font_lucasfont_alternaten");
-
-//extern const u8g_fntpgm_uint8_t u8g_font_fs_onebrickpixelfont[] U8G_SECTION(".progmem.u8g_font_fs_onebrickpixelfont");
-//extern const u8g_fntpgm_uint8_t u8g_font_fs_onebrickpixelfontr[] U8G_SECTION(".progmem.u8g_font_fs_onebrickpixelfontr");
-//extern const u8g_fntpgm_uint8_t u8g_font_fs_onebrickpixelfontn[] U8G_SECTION(".progmem.u8g_font_fs_onebrickpixelfontn");
-
-extern const u8g_fntpgm_uint8_t u8g_font_chikita[] U8G_SECTION(".progmem.u8g_font_chikita");
-extern const u8g_fntpgm_uint8_t u8g_font_chikitar[] U8G_SECTION(".progmem.u8g_font_chikitar");
-extern const u8g_fntpgm_uint8_t u8g_font_chikitan[] U8G_SECTION(".progmem.u8g_font_chikitan");
-
-extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micro[] U8G_SECTION(".progmem.u8g_font_pixelle_micro");
-extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[] U8G_SECTION(".progmem.u8g_font_pixelle_micror");
-extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[] U8G_SECTION(".progmem.u8g_font_pixelle_micron");
-
-extern const u8g_fntpgm_uint8_t u8g_font_trixel_square[] U8G_SECTION(".progmem.u8g_font_trixel_square");
-extern const u8g_fntpgm_uint8_t u8g_font_trixel_squarer[] U8G_SECTION(".progmem.u8g_font_trixel_squarer");
-extern const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[] U8G_SECTION(".progmem.u8g_font_trixel_squaren");
-
-extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niro[] U8G_SECTION(".progmem.u8g_font_robot_de_niro");
-extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niror[] U8G_SECTION(".progmem.u8g_font_robot_de_niror");
-extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[] U8G_SECTION(".progmem.u8g_font_robot_de_niron");
-
-extern const u8g_fntpgm_uint8_t u8g_font_baby[] U8G_SECTION(".progmem.u8g_font_baby");
-extern const u8g_fntpgm_uint8_t u8g_font_babyr[] U8G_SECTION(".progmem.u8g_font_babyr");
-extern const u8g_fntpgm_uint8_t u8g_font_babyn[] U8G_SECTION(".progmem.u8g_font_babyn");
-
-extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07[] U8G_SECTION(".progmem.u8g_font_blipfest_07");
-extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07r[] U8G_SECTION(".progmem.u8g_font_blipfest_07r");
-extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[] U8G_SECTION(".progmem.u8g_font_blipfest_07n");
+extern const u8g_fntpgm_uint8_t u8g_font_p01type[] U8G_FONT_SECTION("u8g_font_p01type");
+extern const u8g_fntpgm_uint8_t u8g_font_p01typer[] U8G_FONT_SECTION("u8g_font_p01typer");
+extern const u8g_fntpgm_uint8_t u8g_font_p01typen[] U8G_FONT_SECTION("u8g_font_p01typen");
+
+extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternate[] U8G_FONT_SECTION("u8g_font_lucasfont_alternate");
+extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternater[] U8G_FONT_SECTION("u8g_font_lucasfont_alternater");
+extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[] U8G_FONT_SECTION("u8g_font_lucasfont_alternaten");
+
+extern const u8g_fntpgm_uint8_t u8g_font_chikita[] U8G_FONT_SECTION("u8g_font_chikita");
+extern const u8g_fntpgm_uint8_t u8g_font_chikitar[] U8G_FONT_SECTION("u8g_font_chikitar");
+extern const u8g_fntpgm_uint8_t u8g_font_chikitan[] U8G_FONT_SECTION("u8g_font_chikitan");
+
+extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micro[] U8G_FONT_SECTION("u8g_font_pixelle_micro");
+extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[] U8G_FONT_SECTION("u8g_font_pixelle_micror");
+extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[] U8G_FONT_SECTION("u8g_font_pixelle_micron");
+
+extern const u8g_fntpgm_uint8_t u8g_font_trixel_square[] U8G_FONT_SECTION("u8g_font_trixel_square");
+extern const u8g_fntpgm_uint8_t u8g_font_trixel_squarer[] U8G_FONT_SECTION("u8g_font_trixel_squarer");
+extern const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[] U8G_FONT_SECTION("u8g_font_trixel_squaren");
+
+extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niro[] U8G_FONT_SECTION("u8g_font_robot_de_niro");
+extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niror[] U8G_FONT_SECTION("u8g_font_robot_de_niror");
+extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[] U8G_FONT_SECTION("u8g_font_robot_de_niron");
+
+extern const u8g_fntpgm_uint8_t u8g_font_baby[] U8G_FONT_SECTION("u8g_font_baby");
+extern const u8g_fntpgm_uint8_t u8g_font_babyr[] U8G_FONT_SECTION("u8g_font_babyr");
+extern const u8g_fntpgm_uint8_t u8g_font_babyn[] U8G_FONT_SECTION("u8g_font_babyn");
+
+extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07[] U8G_FONT_SECTION("u8g_font_blipfest_07");
+extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07r[] U8G_FONT_SECTION("u8g_font_blipfest_07r");
+extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[] U8G_FONT_SECTION("u8g_font_blipfest_07n");
+
+/* profont */
+
+extern const u8g_fntpgm_uint8_t u8g_font_profont10[] U8G_FONT_SECTION("u8g_font_profont10");
+extern const u8g_fntpgm_uint8_t u8g_font_profont10r[] U8G_FONT_SECTION("u8g_font_profont10r");
+extern const u8g_fntpgm_uint8_t u8g_font_profont11[] U8G_FONT_SECTION("u8g_font_profont11");
+extern const u8g_fntpgm_uint8_t u8g_font_profont11r[] U8G_FONT_SECTION("u8g_font_profont11r");
+extern const u8g_fntpgm_uint8_t u8g_font_profont12[] U8G_FONT_SECTION("u8g_font_profont12");
+extern const u8g_fntpgm_uint8_t u8g_font_profont12r[] U8G_FONT_SECTION("u8g_font_profont12r");
+extern const u8g_fntpgm_uint8_t u8g_font_profont15[] U8G_FONT_SECTION("u8g_font_profont15");
+extern const u8g_fntpgm_uint8_t u8g_font_profont15r[] U8G_FONT_SECTION("u8g_font_profont15r");
+extern const u8g_fntpgm_uint8_t u8g_font_profont17[] U8G_FONT_SECTION("u8g_font_profont17");
+extern const u8g_fntpgm_uint8_t u8g_font_profont17r[] U8G_FONT_SECTION("u8g_font_profont17r");
+extern const u8g_fntpgm_uint8_t u8g_font_profont22[] U8G_FONT_SECTION("u8g_font_profont22");
+extern const u8g_fntpgm_uint8_t u8g_font_profont22r[] U8G_FONT_SECTION("u8g_font_profont22r");
+extern const u8g_fntpgm_uint8_t u8g_font_profont29[] U8G_FONT_SECTION("u8g_font_profont29");
+extern const u8g_fntpgm_uint8_t u8g_font_profont29r[] U8G_FONT_SECTION("u8g_font_profont29r");
 
-extern const u8g_fntpgm_uint8_t u8g_font_6x10_marlin[] U8G_SECTION(".progmem.u8g_font_6x10_marlin");
-extern const u8g_fntpgm_uint8_t u8g_font_6x9[] U8G_SECTION(".progmem.u8g_font_6x9");
 
 #ifdef __cplusplus
 }
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_circle.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_circle.c
index 8f4a0525d877fc838a1928949d784e336b0e2dfa..57e184b6b4199c4f3e31fa3e51074dcfc66a64bc 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_circle.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_circle.c
@@ -1,382 +1,382 @@
-/*
-
-  u8g_circle.c
-
-  Utility to draw empty and filled circles.
-  
-  Universal 8bit Graphics Library
-  
-  Copyright (c) 2011, bjthom@gmail.com
-  u8g_DrawCircle & u8g_DrawDisc by olikraus@gmail.com
-  
-  All rights reserved.
-
-  Redistribution and use in source and binary forms, with or without modification, 
-  are permitted provided that the following conditions are met:
-
-  * Redistributions of source code must retain the above copyright notice, this list 
-    of conditions and the following disclaimer.
-    
-  * Redistributions in binary form must reproduce the above copyright notice, this 
-    list of conditions and the following disclaimer in the documentation and/or other 
-    materials provided with the distribution.
-
-  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
-  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
-  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
-  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
-  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
-  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
-  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
-  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
-  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
-  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
-  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
-  
-  Addition to the U8G Library 02/25/12
-  
-  
-*/
-
-#include "u8g.h"
-
-#ifdef OLD_CODE
-
-void circ_upperRight(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) {
-  u8g_DrawPixel(u8g, x0 + x, y0 - y);
-  u8g_DrawPixel(u8g, x0 + y, y0 - x);
-}
-		
-void circ_upperLeft(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) {
-  u8g_DrawPixel(u8g, x0 - x, y0 - y);
-  u8g_DrawPixel(u8g, x0 - y, y0 - x);
-}
-		
-void circ_lowerRight(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) {
-  u8g_DrawPixel(u8g, x0 + x, y0 + y);
-  u8g_DrawPixel(u8g, x0 + y, y0 + x);
-}
-		
-void circ_lowerLeft(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) {
-  u8g_DrawPixel(u8g, x0 - x, y0 + y);
-  u8g_DrawPixel(u8g, x0 - y, y0 + x);
-}
-			
-void circ_all(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) {
-  circ_upperRight(u8g, x, y, x0, y0);
-  circ_upperLeft(u8g, x, y, x0, y0);
-  circ_lowerRight(u8g, x, y, x0, y0);
-  circ_lowerLeft(u8g, x, y, x0, y0);
-}
-
-void u8g_DrawEmpCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option)
-{
-  if ( u8g_IsBBXIntersection(u8g, x0-rad-1, y0-rad-1, 2*rad+1, 2*rad+1) == 0)
-    return;
-
-  int f = 1 - rad;
-  int ddF_x = 1;
-  int ddF_y = -2*rad;
-  uint8_t x = 0;
-  uint8_t y = rad;
-
-  void ( *circ_util )(u8g_t *, u8g_uint_t, u8g_uint_t, u8g_uint_t, u8g_uint_t);
-  
-  switch (option)
-  {
-	case U8G_CIRC_UPPER_RIGHT:
-		u8g_DrawPixel(u8g, x0, y0 - rad);
-		u8g_DrawPixel(u8g, x0 + rad, y0);
-		circ_util = circ_upperRight;
-		break;
-	case U8G_CIRC_UPPER_LEFT:
-		u8g_DrawPixel(u8g, x0, y0 - rad);
-		u8g_DrawPixel(u8g, x0 - rad, y0);
-		circ_util = circ_upperLeft;
-		break;
-	case U8G_CIRC_LOWER_RIGHT:
-		u8g_DrawPixel(u8g, x0, y0 + rad);
-		u8g_DrawPixel(u8g, x0 + rad, y0);
-		circ_util = circ_lowerRight;
-		break;
-	case U8G_CIRC_LOWER_LEFT:
-		u8g_DrawPixel(u8g, x0, y0 + rad);
-		u8g_DrawPixel(u8g, x0 - rad, y0);
-		circ_util = circ_lowerLeft;
-		break;
-        default:
-	case U8G_CIRC_ALL:
-		u8g_DrawPixel(u8g, x0, y0 + rad);
-		u8g_DrawPixel(u8g, x0, y0 - rad);
-		u8g_DrawPixel(u8g, x0 + rad, y0);
-		u8g_DrawPixel(u8g, x0 - rad, y0);
-		circ_util = circ_all;
-		break;
-  }
-  
-  while( x < y )
-  {
-    if(f >= 0) 
-    {
-      y--;
-      ddF_y += 2;
-      f += ddF_y;
-    }
-    x++;
-    ddF_x += 2;
-    f += ddF_x;
-    
-    circ_util(u8g, x, y, x0, y0);
-  }
-}
-
-
-void u8g_DrawFillCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option)
-{
-  if ( u8g_IsBBXIntersection(u8g, x0-rad-1, y0-rad-1, 2*rad+1, 2*rad+1) == 0)
-    return;
-
-  int f = 1 - rad;
-  int ddF_x = 1;
-  int ddF_y = -2*rad;
-  uint8_t x = 0;
-  uint8_t y = rad;
-  
-  // Draw vertical diameter at the horiz. center
-  // u8g_DrawVLine(u8g, x0, y0 - rad, 2*rad+1);
-
-  if (option == U8G_CIRC_UPPER_LEFT || option == U8G_CIRC_UPPER_RIGHT) {
-	u8g_DrawVLine(u8g, x0, y0 - rad, rad+1);
-  }
-  else if (option == U8G_CIRC_LOWER_LEFT || option == U8G_CIRC_LOWER_RIGHT) {
-	u8g_DrawVLine(u8g, x0, y0, rad+1);
-  }
-  else {
-	u8g_DrawVLine(u8g, x0, y0 - rad, 2*rad+1);
-  }
-  
-  while( x < y )
-  {
-    if(f >= 0) 
-    {
-      y--;
-      ddF_y += 2;
-      f += ddF_y;
-    }
-    x++;
-    ddF_x += 2;
-    f += ddF_x;
-    
-	//Draw vertical lines from one point to another
-	
-	switch (option)
-	{
-		case U8G_CIRC_UPPER_RIGHT:
-			u8g_DrawVLine(u8g, x0+x, y0-y, y+1);
-			u8g_DrawVLine(u8g, x0+y, y0-x, x+1);
-			break;
-		case U8G_CIRC_UPPER_LEFT:
-			u8g_DrawVLine(u8g, x0-x, y0-y, y+1);
-			u8g_DrawVLine(u8g, x0-y, y0-x, x+1);
-			break;
-		case U8G_CIRC_LOWER_RIGHT:
-			u8g_DrawVLine(u8g, x0+x, y0, y+1);
-			u8g_DrawVLine(u8g, x0+y, y0, x+1);
-			break;
-		case U8G_CIRC_LOWER_LEFT:
-			u8g_DrawVLine(u8g, x0-x, y0, y+1);
-			u8g_DrawVLine(u8g, x0-y, y0, x+1);
-			break;
-		case U8G_CIRC_ALL:
-			u8g_DrawVLine(u8g, x0+x, y0-y, 2*y+1);
-			u8g_DrawVLine(u8g, x0-x, y0-y, 2*y+1);
-			u8g_DrawVLine(u8g, x0+y, y0-x, 2*x+1);
-			u8g_DrawVLine(u8g, x0-y, y0-x, 2*x+1);
-			break;
-	}
-  }
-}
-
-#endif 
-
-/*=========================================================================*/
-
-static void u8g_draw_circle_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE;
-
-static void u8g_draw_circle_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option)
-{
-    /* upper right */
-    if ( option & U8G_DRAW_UPPER_RIGHT )
-    {
-      u8g_DrawPixel(u8g, x0 + x, y0 - y);
-      u8g_DrawPixel(u8g, x0 + y, y0 - x);
-    }
-    
-    /* upper left */
-    if ( option & U8G_DRAW_UPPER_LEFT )
-    {
-      u8g_DrawPixel(u8g, x0 - x, y0 - y);
-      u8g_DrawPixel(u8g, x0 - y, y0 - x);
-    }
-    
-    /* lower right */
-    if ( option & U8G_DRAW_LOWER_RIGHT )
-    {
-      u8g_DrawPixel(u8g, x0 + x, y0 + y);
-      u8g_DrawPixel(u8g, x0 + y, y0 + x);
-    }
-    
-    /* lower left */
-    if ( option & U8G_DRAW_LOWER_LEFT )
-    {
-      u8g_DrawPixel(u8g, x0 - x, y0 + y);
-      u8g_DrawPixel(u8g, x0 - y, y0 + x);
-    }
-}
-
-void u8g_draw_circle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option)
-{
-    u8g_int_t f;
-    u8g_int_t ddF_x;
-    u8g_int_t ddF_y;
-    u8g_uint_t x;
-    u8g_uint_t y;
-
-    f = 1;
-    f -= rad;
-    ddF_x = 1;
-    ddF_y = 0;
-    ddF_y -= rad;
-    ddF_y *= 2;
-    x = 0;
-    y = rad;
-
-    u8g_draw_circle_section(u8g, x, y, x0, y0, option);
-    
-    while ( x < y )
-    {
-      if (f >= 0) 
-      {
-        y--;
-        ddF_y += 2;
-        f += ddF_y;
-      }
-      x++;
-      ddF_x += 2;
-      f += ddF_x;
-
-      u8g_draw_circle_section(u8g, x, y, x0, y0, option);    
-    }
-}
-
-void u8g_DrawCircle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option)
-{
-  /* check for bounding box */
-  {
-    u8g_uint_t radp, radp2;
-    
-    radp = rad;
-    radp++;
-    radp2 = radp;
-    radp2 *= 2;
-    
-    if ( u8g_IsBBXIntersection(u8g, x0-radp, y0-radp, radp2, radp2) == 0)
-      return;    
-  }
-  
-  /* draw circle */
-  u8g_draw_circle(u8g, x0, y0, rad, option);
-}
-
-static void u8g_draw_disc_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE;
-
-static void u8g_draw_disc_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option)
-{
-    /* upper right */
-    if ( option & U8G_DRAW_UPPER_RIGHT )
-    {
-      u8g_DrawVLine(u8g, x0+x, y0-y, y+1);
-      u8g_DrawVLine(u8g, x0+y, y0-x, x+1);
-    }
-    
-    /* upper left */
-    if ( option & U8G_DRAW_UPPER_LEFT )
-    {
-      u8g_DrawVLine(u8g, x0-x, y0-y, y+1);
-      u8g_DrawVLine(u8g, x0-y, y0-x, x+1);
-    }
-    
-    /* lower right */
-    if ( option & U8G_DRAW_LOWER_RIGHT )
-    {
-      u8g_DrawVLine(u8g, x0+x, y0, y+1);
-      u8g_DrawVLine(u8g, x0+y, y0, x+1);
-    }
-    
-    /* lower left */
-    if ( option & U8G_DRAW_LOWER_LEFT )
-    {
-      u8g_DrawVLine(u8g, x0-x, y0, y+1);
-      u8g_DrawVLine(u8g, x0-y, y0, x+1);
-    }
-}
-
-void u8g_draw_disc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option)
-{
-  u8g_int_t f;
-  u8g_int_t ddF_x;
-  u8g_int_t ddF_y;
-  u8g_uint_t x;
-  u8g_uint_t y;
-
-  f = 1;
-  f -= rad;
-  ddF_x = 1;
-  ddF_y = 0;
-  ddF_y -= rad;
-  ddF_y *= 2;
-  x = 0;
-  y = rad;
-
-  u8g_draw_disc_section(u8g, x, y, x0, y0, option);
-  
-  while ( x < y )
-  {
-    if (f >= 0) 
-    {
-      y--;
-      ddF_y += 2;
-      f += ddF_y;
-    }
-    x++;
-    ddF_x += 2;
-    f += ddF_x;
-
-    u8g_draw_disc_section(u8g, x, y, x0, y0, option);    
-  }
-}
-
-void u8g_DrawDisc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option)
-{
-  /* check for bounding box */
-  {
-    u8g_uint_t radp, radp2;
-    
-    radp = rad;
-    radp++;
-    radp2 = radp;
-    radp2 *= 2;
-    
-    if ( u8g_IsBBXIntersection(u8g, x0-radp, y0-radp, radp2, radp2) == 0)
-      return;    
-  }
-  
-  /* draw disc */
-  u8g_draw_disc(u8g, x0, y0, rad, option);
-}
-
-
-
-
+/*
+
+  u8g_circle.c
+
+  Utility to draw empty and filled circles.
+  
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2011, bjthom@gmail.com
+  u8g_DrawCircle & u8g_DrawDisc by olikraus@gmail.com
+  
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+  Addition to the U8G Library 02/25/12
+  
+  
+*/
+
+#include "u8g.h"
+
+#ifdef OLD_CODE
+
+void circ_upperRight(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) {
+  u8g_DrawPixel(u8g, x0 + x, y0 - y);
+  u8g_DrawPixel(u8g, x0 + y, y0 - x);
+}
+		
+void circ_upperLeft(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) {
+  u8g_DrawPixel(u8g, x0 - x, y0 - y);
+  u8g_DrawPixel(u8g, x0 - y, y0 - x);
+}
+		
+void circ_lowerRight(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) {
+  u8g_DrawPixel(u8g, x0 + x, y0 + y);
+  u8g_DrawPixel(u8g, x0 + y, y0 + x);
+}
+		
+void circ_lowerLeft(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) {
+  u8g_DrawPixel(u8g, x0 - x, y0 + y);
+  u8g_DrawPixel(u8g, x0 - y, y0 + x);
+}
+			
+void circ_all(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) {
+  circ_upperRight(u8g, x, y, x0, y0);
+  circ_upperLeft(u8g, x, y, x0, y0);
+  circ_lowerRight(u8g, x, y, x0, y0);
+  circ_lowerLeft(u8g, x, y, x0, y0);
+}
+
+void u8g_DrawEmpCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option)
+{
+  if ( u8g_IsBBXIntersection(u8g, x0-rad-1, y0-rad-1, 2*rad+1, 2*rad+1) == 0)
+    return;
+
+  int f = 1 - rad;
+  int ddF_x = 1;
+  int ddF_y = -2*rad;
+  uint8_t x = 0;
+  uint8_t y = rad;
+
+  void ( *circ_util )(u8g_t *, u8g_uint_t, u8g_uint_t, u8g_uint_t, u8g_uint_t);
+  
+  switch (option)
+  {
+	case U8G_CIRC_UPPER_RIGHT:
+		u8g_DrawPixel(u8g, x0, y0 - rad);
+		u8g_DrawPixel(u8g, x0 + rad, y0);
+		circ_util = circ_upperRight;
+		break;
+	case U8G_CIRC_UPPER_LEFT:
+		u8g_DrawPixel(u8g, x0, y0 - rad);
+		u8g_DrawPixel(u8g, x0 - rad, y0);
+		circ_util = circ_upperLeft;
+		break;
+	case U8G_CIRC_LOWER_RIGHT:
+		u8g_DrawPixel(u8g, x0, y0 + rad);
+		u8g_DrawPixel(u8g, x0 + rad, y0);
+		circ_util = circ_lowerRight;
+		break;
+	case U8G_CIRC_LOWER_LEFT:
+		u8g_DrawPixel(u8g, x0, y0 + rad);
+		u8g_DrawPixel(u8g, x0 - rad, y0);
+		circ_util = circ_lowerLeft;
+		break;
+        default:
+	case U8G_CIRC_ALL:
+		u8g_DrawPixel(u8g, x0, y0 + rad);
+		u8g_DrawPixel(u8g, x0, y0 - rad);
+		u8g_DrawPixel(u8g, x0 + rad, y0);
+		u8g_DrawPixel(u8g, x0 - rad, y0);
+		circ_util = circ_all;
+		break;
+  }
+  
+  while( x < y )
+  {
+    if(f >= 0) 
+    {
+      y--;
+      ddF_y += 2;
+      f += ddF_y;
+    }
+    x++;
+    ddF_x += 2;
+    f += ddF_x;
+    
+    circ_util(u8g, x, y, x0, y0);
+  }
+}
+
+
+void u8g_DrawFillCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option)
+{
+  if ( u8g_IsBBXIntersection(u8g, x0-rad-1, y0-rad-1, 2*rad+1, 2*rad+1) == 0)
+    return;
+
+  int f = 1 - rad;
+  int ddF_x = 1;
+  int ddF_y = -2*rad;
+  uint8_t x = 0;
+  uint8_t y = rad;
+  
+  // Draw vertical diameter at the horiz. center
+  // u8g_DrawVLine(u8g, x0, y0 - rad, 2*rad+1);
+
+  if (option == U8G_CIRC_UPPER_LEFT || option == U8G_CIRC_UPPER_RIGHT) {
+	u8g_DrawVLine(u8g, x0, y0 - rad, rad+1);
+  }
+  else if (option == U8G_CIRC_LOWER_LEFT || option == U8G_CIRC_LOWER_RIGHT) {
+	u8g_DrawVLine(u8g, x0, y0, rad+1);
+  }
+  else {
+	u8g_DrawVLine(u8g, x0, y0 - rad, 2*rad+1);
+  }
+  
+  while( x < y )
+  {
+    if(f >= 0) 
+    {
+      y--;
+      ddF_y += 2;
+      f += ddF_y;
+    }
+    x++;
+    ddF_x += 2;
+    f += ddF_x;
+    
+	//Draw vertical lines from one point to another
+	
+	switch (option)
+	{
+		case U8G_CIRC_UPPER_RIGHT:
+			u8g_DrawVLine(u8g, x0+x, y0-y, y+1);
+			u8g_DrawVLine(u8g, x0+y, y0-x, x+1);
+			break;
+		case U8G_CIRC_UPPER_LEFT:
+			u8g_DrawVLine(u8g, x0-x, y0-y, y+1);
+			u8g_DrawVLine(u8g, x0-y, y0-x, x+1);
+			break;
+		case U8G_CIRC_LOWER_RIGHT:
+			u8g_DrawVLine(u8g, x0+x, y0, y+1);
+			u8g_DrawVLine(u8g, x0+y, y0, x+1);
+			break;
+		case U8G_CIRC_LOWER_LEFT:
+			u8g_DrawVLine(u8g, x0-x, y0, y+1);
+			u8g_DrawVLine(u8g, x0-y, y0, x+1);
+			break;
+		case U8G_CIRC_ALL:
+			u8g_DrawVLine(u8g, x0+x, y0-y, 2*y+1);
+			u8g_DrawVLine(u8g, x0-x, y0-y, 2*y+1);
+			u8g_DrawVLine(u8g, x0+y, y0-x, 2*x+1);
+			u8g_DrawVLine(u8g, x0-y, y0-x, 2*x+1);
+			break;
+	}
+  }
+}
+
+#endif 
+
+/*=========================================================================*/
+
+static void u8g_draw_circle_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE;
+
+static void u8g_draw_circle_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option)
+{
+    /* upper right */
+    if ( option & U8G_DRAW_UPPER_RIGHT )
+    {
+      u8g_DrawPixel(u8g, x0 + x, y0 - y);
+      u8g_DrawPixel(u8g, x0 + y, y0 - x);
+    }
+    
+    /* upper left */
+    if ( option & U8G_DRAW_UPPER_LEFT )
+    {
+      u8g_DrawPixel(u8g, x0 - x, y0 - y);
+      u8g_DrawPixel(u8g, x0 - y, y0 - x);
+    }
+    
+    /* lower right */
+    if ( option & U8G_DRAW_LOWER_RIGHT )
+    {
+      u8g_DrawPixel(u8g, x0 + x, y0 + y);
+      u8g_DrawPixel(u8g, x0 + y, y0 + x);
+    }
+    
+    /* lower left */
+    if ( option & U8G_DRAW_LOWER_LEFT )
+    {
+      u8g_DrawPixel(u8g, x0 - x, y0 + y);
+      u8g_DrawPixel(u8g, x0 - y, y0 + x);
+    }
+}
+
+void u8g_draw_circle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option)
+{
+    u8g_int_t f;
+    u8g_int_t ddF_x;
+    u8g_int_t ddF_y;
+    u8g_uint_t x;
+    u8g_uint_t y;
+
+    f = 1;
+    f -= rad;
+    ddF_x = 1;
+    ddF_y = 0;
+    ddF_y -= rad;
+    ddF_y *= 2;
+    x = 0;
+    y = rad;
+
+    u8g_draw_circle_section(u8g, x, y, x0, y0, option);
+    
+    while ( x < y )
+    {
+      if (f >= 0) 
+      {
+        y--;
+        ddF_y += 2;
+        f += ddF_y;
+      }
+      x++;
+      ddF_x += 2;
+      f += ddF_x;
+
+      u8g_draw_circle_section(u8g, x, y, x0, y0, option);    
+    }
+}
+
+void u8g_DrawCircle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option)
+{
+  /* check for bounding box */
+  {
+    u8g_uint_t radp, radp2;
+    
+    radp = rad;
+    radp++;
+    radp2 = radp;
+    radp2 *= 2;
+    
+    if ( u8g_IsBBXIntersection(u8g, x0-radp, y0-radp, radp2, radp2) == 0)
+      return;    
+  }
+  
+  /* draw circle */
+  u8g_draw_circle(u8g, x0, y0, rad, option);
+}
+
+static void u8g_draw_disc_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE;
+
+static void u8g_draw_disc_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option)
+{
+    /* upper right */
+    if ( option & U8G_DRAW_UPPER_RIGHT )
+    {
+      u8g_DrawVLine(u8g, x0+x, y0-y, y+1);
+      u8g_DrawVLine(u8g, x0+y, y0-x, x+1);
+    }
+    
+    /* upper left */
+    if ( option & U8G_DRAW_UPPER_LEFT )
+    {
+      u8g_DrawVLine(u8g, x0-x, y0-y, y+1);
+      u8g_DrawVLine(u8g, x0-y, y0-x, x+1);
+    }
+    
+    /* lower right */
+    if ( option & U8G_DRAW_LOWER_RIGHT )
+    {
+      u8g_DrawVLine(u8g, x0+x, y0, y+1);
+      u8g_DrawVLine(u8g, x0+y, y0, x+1);
+    }
+    
+    /* lower left */
+    if ( option & U8G_DRAW_LOWER_LEFT )
+    {
+      u8g_DrawVLine(u8g, x0-x, y0, y+1);
+      u8g_DrawVLine(u8g, x0-y, y0, x+1);
+    }
+}
+
+void u8g_draw_disc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option)
+{
+  u8g_int_t f;
+  u8g_int_t ddF_x;
+  u8g_int_t ddF_y;
+  u8g_uint_t x;
+  u8g_uint_t y;
+
+  f = 1;
+  f -= rad;
+  ddF_x = 1;
+  ddF_y = 0;
+  ddF_y -= rad;
+  ddF_y *= 2;
+  x = 0;
+  y = rad;
+
+  u8g_draw_disc_section(u8g, x, y, x0, y0, option);
+  
+  while ( x < y )
+  {
+    if (f >= 0) 
+    {
+      y--;
+      ddF_y += 2;
+      f += ddF_y;
+    }
+    x++;
+    ddF_x += 2;
+    f += ddF_x;
+
+    u8g_draw_disc_section(u8g, x, y, x0, y0, option);    
+  }
+}
+
+void u8g_DrawDisc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option)
+{
+  /* check for bounding box */
+  {
+    u8g_uint_t radp, radp2;
+    
+    radp = rad;
+    radp++;
+    radp2 = radp;
+    radp2 *= 2;
+    
+    if ( u8g_IsBBXIntersection(u8g, x0-radp, y0-radp, radp2, radp2) == 0)
+      return;    
+  }
+  
+  /* draw disc */
+  u8g_draw_disc(u8g, x0, y0, rad, option);
+}
+
+
+
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_clip.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_clip.c
index 71abef2e71fec2731175b744c087c32ff6b6f397..1ca223e43186d2a3511dee1865a0b6c28d25fc37 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_clip.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_clip.c
@@ -50,7 +50,7 @@
   uint8_t u8g_is_intersection_boolean(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1)
   However, this is slower than a decision tree version:  
   static uint8_t u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) 
-  Also suprising is, that he the macro implementation is slower than the inlined version.
+  Also suprising is, that the macro implementation is slower than the inlined version.
   
   The decision tree is based on the expansion of the truth table.
   
@@ -59,7 +59,7 @@
 #include "u8g.h"
 
 #ifdef __GNUC__
-#define U8G_ALWAYS_INLINE __attribute__((always_inline))
+#define U8G_ALWAYS_INLINE __inline__ __attribute__((always_inline))
 #else
 #define U8G_ALWAYS_INLINE
  #endif 
@@ -94,8 +94,8 @@ static uint8_t u8g_is_intersection_boolean(u8g_uint_t a0, u8g_uint_t a1, u8g_uin
 
 #define U8G_IS_INTERSECTION_MACRO(a0,a1,v0,v1) ((uint8_t)( (v0) <= (a1) ) ? ( ( (v1) >= (a0) ) ? ( 1 ) : ( (v0) > (v1) ) ) : ( ( (v1) >= (a0) ) ? ( (v0) > (v1) ) : ( 0 ) ))
 
-static uint8_t u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1)  U8G_ALWAYS_INLINE;
-static uint8_t u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) 
+//static uint8_t u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) U8G_ALWAYS_INLINE;
+static uint8_t U8G_ALWAYS_INLINE u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) 
 {
   /* surprisingly the macro leads to larger code */
   /* return U8G_IS_INTERSECTION_MACRO(a0,a1,v0,v1); */
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api.c
index 2dd49b12602ddfdb854b7e7fac9df9aa2148aa1c..0201808d712bdfcd1b5d4b20f52d185b5633ec6b 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api.c
@@ -36,9 +36,9 @@
 
 #include "u8g.h"
 
-uint8_t u8g_InitCom(u8g_t *u8g, u8g_dev_t *dev)
+uint8_t u8g_InitCom(u8g_t *u8g, u8g_dev_t *dev, uint8_t clk_cycle_time)
 {
-  return dev->com_fn(u8g, U8G_COM_MSG_INIT, 0, NULL);
+  return dev->com_fn(u8g, U8G_COM_MSG_INIT, clk_cycle_time, NULL);
 }
 
 void u8g_StopCom(u8g_t *u8g, u8g_dev_t *dev)
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_attiny85_hw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_attiny85_hw_spi.c
new file mode 100644
index 0000000000000000000000000000000000000000..9d0191eae56cef0bbc3a3a0d5234c54b1ac06a67
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_attiny85_hw_spi.c
@@ -0,0 +1,160 @@
+/*
+  
+  u8g_arduino_ATtiny85_std_hw_spi.c
+
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2011, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+*/
+
+// Uses code from tinySPI Written by Nick Gammon
+// March 2013
+
+// ATMEL ATTINY45 / ARDUINO pin mappings
+//
+//                         +-\/-+
+// RESET  Ain0 (D 5) PB5  1|    |8  Vcc
+// CLK1   Ain3 (D 3) PB3  2|    |7  PB2 (D 2) Ain1  SCK  / USCK / SCL
+// CLK0   Ain2 (D 4) PB4  3|    |6  PB1 (D 1) pwm1  MISO / DO
+//                   GND  4|    |5  PB0 (D 0) pwm0  MOSI / DI / SDA
+//                         +----+
+
+
+#include "u8g.h"
+
+
+#if defined(ARDUINO) && defined(__AVR_ATtiny85__)
+
+#if ARDUINO < 100 
+#include <WProgram.h>
+#else 
+#include <Arduino.h> 
+#endif
+
+const byte DI   = 0;  // D0, pin 5  Data In
+const byte DO   = 1;  // D1, pin 6  Data Out (this is *not* MOSI)
+const byte USCK = 2;  // D2, pin 7  Universal Serial Interface clock
+
+uint8_t u8g_arduino_ATtiny85_spi_out(uint8_t val)
+{
+  USIDR = val;  // byte to output
+  USISR = _BV (USIOIF);  // clear Counter Overflow Interrupt Flag, set count to zero 
+  do
+  {
+    USICR = _BV (USIWM0)   // 3-wire mode
+          | _BV (USICS1) | _BV (USICLK)  // Software clock strobe
+          | _BV (USITC);   // Toggle Clock Port Pin
+  }
+  while ((USISR & _BV (USIOIF)) == 0);  // until Counter Overflow Interrupt Flag set
+  
+  return USIDR;  // return read data
+}
+
+uint8_t u8g_com_arduino_ATtiny85_std_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr)
+{
+  switch(msg)
+  {
+    case U8G_COM_MSG_INIT:
+      u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH);  // ensure SS stays high until needed
+      pinMode (USCK, OUTPUT);
+      pinMode (DO, OUTPUT);
+      pinMode (u8g->pin_list[U8G_PI_CS], OUTPUT);
+      pinMode (u8g->pin_list[U8G_PI_A0], OUTPUT);
+      USICR = _BV (USIWM0);  // 3-wire mode
+      u8g_MicroDelay();
+      break;
+    
+    case U8G_COM_MSG_STOP:
+      break;
+
+    case U8G_COM_MSG_RESET:
+      if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE )
+        u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val);
+      break;
+      
+    case U8G_COM_MSG_CHIP_SELECT:
+      if ( arg_val == 0 )
+      {
+        /* disable */
+        u8g_MicroDelay();
+        u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH);
+        u8g_MicroDelay();
+      }
+      else
+      {
+        /* enable */
+        u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW);
+        u8g_MicroDelay();
+      }
+      break;
+
+    case U8G_COM_MSG_WRITE_BYTE:
+      u8g_arduino_ATtiny85_spi_out(arg_val);
+      u8g_MicroDelay();
+      break;
+    
+    case U8G_COM_MSG_WRITE_SEQ:
+      {
+        register uint8_t *ptr = arg_ptr;
+        while( arg_val > 0 )
+        {
+          u8g_arduino_ATtiny85_spi_out(*ptr++);
+          arg_val--;
+        }
+      }
+      break;
+
+      case U8G_COM_MSG_WRITE_SEQ_P:
+      {
+        register uint8_t *ptr = arg_ptr;
+        while( arg_val > 0 )
+        {
+          u8g_arduino_ATtiny85_spi_out(u8g_pgm_read(ptr));
+          ptr++;
+          arg_val--;
+        }
+      }
+      break;
+      
+    case U8G_COM_MSG_ADDRESS:                     /* define cmd (arg_val = 0) or data mode (arg_val = 1) */
+      u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val);
+      u8g_MicroDelay();
+      break;
+  }
+  return 1;
+}
+
+#else /* ARDUINO */
+
+uint8_t u8g_com_arduino_ATtiny85_std_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr)
+{
+  return 1;
+}
+
+#endif /* ARDUINO */
\ No newline at end of file
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c
index 91a32e6f0c5719beb9a31b4fb72f4f12fdf2fd08..57d4410af11d09f334e05d4580261e9baf6f4774 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c
@@ -49,6 +49,12 @@
   u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset)
   u8g_Init8Bit(u8g, dev,  8,    9, 10, 11,   4,   5,   6,   7, 18, 14, 15, 17, 16, U8G_PIN_NONE)
 
+  Update for ATOMIC operation done (01 Jun 2013)
+    U8G_ATOMIC_OR(ptr, val)
+    U8G_ATOMIC_AND(ptr, val)
+    U8G_ATOMIC_START();
+    U8G_ATOMIC_END();
+
 */
 
 #include "u8g.h"
@@ -114,7 +120,8 @@ static void u8g_com_arduino_fast_parallel_init(u8g_t *u8g)
   u8g_data_mask[7] =  digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]);  
 }
 
-void u8g_com_arduino_fast_write_data_pin(uint8_t pin, uint8_t val)
+/* atomic protection must be done by calling function */
+static void u8g_com_arduino_fast_write_data_pin(uint8_t pin, uint8_t val)
 {
   if ( val != 0 )
     *u8g_data_port[pin] |= u8g_data_mask[pin];
@@ -125,6 +132,7 @@ void u8g_com_arduino_fast_write_data_pin(uint8_t pin, uint8_t val)
 
 void u8g_com_arduino_fast_parallel_write(u8g_t *u8g, uint8_t val)
 {
+  U8G_ATOMIC_START();
   u8g_com_arduino_fast_write_data_pin( 0, val&1 );
   val >>= 1;
   u8g_com_arduino_fast_write_data_pin( 1, val&1 );
@@ -142,6 +150,7 @@ void u8g_com_arduino_fast_parallel_write(u8g_t *u8g, uint8_t val)
   val >>= 1;
   u8g_com_arduino_fast_write_data_pin( 7, val&1 );
   val >>= 1;
+  U8G_ATOMIC_END();
   
   /* EN cycle time must be 1 micro second */
   u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH);
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c
index 7d7f91000caf2a8e1ba91d4b1d6fab8f08d8a3fb..3c0d34a48ce4a4d7daf4cf7f916d2ed996c0e3fa 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c
@@ -30,7 +30,99 @@
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+
+  SPI Clock Cycle Type
+  
+  SSD1351	  50ns		20 MHz
+  SSD1322	300ns		  3.3 MHz
+  SSD1327	300ns
+  SSD1306	300ns
+  ST7565		400ns 		  2.5 MHz
+  ST7920		400ns
+
+  Arduino DUE
+  
+  PA25	MISO
+  PA26	MOSI	75
+  PA27	SCLK	76
+  
+  
+typedef struct {
+  WoReg SPI_CR;        (Spi Offset: 0x00) Control Register 
+  RwReg SPI_MR;        (Spi Offset: 0x04) Mode Register 
+  RoReg SPI_RDR;       (Spi Offset: 0x08) Receive Data Register 
+  WoReg SPI_TDR;       (Spi Offset: 0x0C) Transmit Data Register 
+  RoReg SPI_SR;        (Spi Offset: 0x10) Status Register 
+  WoReg SPI_IER;       (Spi Offset: 0x14) Interrupt Enable Register 
+  WoReg SPI_IDR;       (Spi Offset: 0x18) Interrupt Disable Register 
+  RoReg SPI_IMR;       (Spi Offset: 0x1C) Interrupt Mask Register 
+  RoReg Reserved1[4];
+  RwReg SPI_CSR[4];    (Spi Offset: 0x30) Chip Select Register 
+  RoReg Reserved2[41];
+  RwReg SPI_WPMR;      (Spi Offset: 0xE4) Write Protection Control Register 
+  RoReg SPI_WPSR;      (Spi Offset: 0xE8) Write Protection Status Register 
+} Spi;
+  
+  Power Management Controller (PMC)
+  arduino-1.5.2/hardware/arduino/sam/system/CMSIS/Device/ATMEL/sam3xa/include/instance/instance_pmc.h
+    - enable PIO
+      
+      REG_PMC_PCER0 = 1UL << ID_PIOA
+    - enable SPI
+      REG_PMC_PCER0 = 1UL << ID_SPI0
+
+
+    - enable PIOA and SPI0
+      REG_PMC_PCER0 = (1UL << ID_PIOA) | (1UL << ID_SPI0);
+
+  Parallel Input/Output Controller (PIO)
+  arduino-1.5.2/hardware/arduino/sam/system/CMSIS/Device/ATMEL/sam3xa/include/instance/instance_pioa.h
+    - enable special function of the pin: disable PIO on A26 and A27:
+	REG_PIOA_PDR = 0x0c000000
+	PIOA->PIO_PDR = 0x0c000000
+
+  SPI
+    SPI0->SPI_CR = SPI_CR_SPIDIS
+    SPI0->SPI_CR = SPI_CR_SWRST ;
+    SPI0->SPI_CR = SPI_CR_SWRST ;
+    SPI0->SPI_CR = SPI_CR_SPIEN
   
+    Bit 0: Master Mode = 1 (active)
+    Bit 1: Peripheral Select = 0 (fixed)
+    Bit 2: Chip Select Decode Mode = 1 (4 to 16)
+    Bit 4: Mode Fault Detection = 1 (disabled)
+    Bit 5: Wait Data Read = 0 (disabled) 
+    Bit 7: Loop Back Mode = 0 (disabled)
+    Bit 16-19: Peripheral Chip Select = 0 (chip select 0)    
+    SPI0->SPI_MR = SPI_MR_MSTR | SPI_MR_PCSDEC | SPI_MR_MODFDIS
+    
+    Bit 0: Clock Polarity = 0
+    Bit 1: Clock Phase = 0
+    Bit 4-7: Bits = 0 (8 Bit)
+    Bit 8-15: SCBR = 1
+    SPI0->SPI_CSR[0] = SPI_CSR_SCBR(x)	Serial Baud Rate
+	SCBR / 84000000 > 50 / 1000000000 
+	SCBR / 84 > 5 / 100 
+	SCBR  > 50 *84 / 1000 --> SCBR=5
+	SCBR  > 300*84 / 1000 --> SCBR=26
+	SCBR  > 400*84 / 1000 --> SCBR=34
+
+  Arduino Due test code:
+    REG_PMC_PCER0 = (1UL << ID_PIOA) | (1UL << ID_SPI0);
+    REG_PIOA_PDR = 0x0c000000;
+    SPI0->SPI_CR = SPI_CR_SPIDIS;
+    SPI0->SPI_CR = SPI_CR_SWRST;
+    SPI0->SPI_CR = SPI_CR_SWRST;
+    SPI0->SPI_CR = SPI_CR_SPIEN;
+    SPI0->SPI_MR = SPI_MR_MSTR | SPI_MR_PCSDEC | SPI_MR_MODFDIS;
+    SPI0->SPI_CSR[0] = SPI_CSR_SCBR(30);
+
+    for(;;)
+    {
+      while( (SPI0->SPI_SR & SPI_SR_TDRE) == 0 )
+	;
+      SPI0->SPI_TDR = 0x050;
+    }
 
 */
 
@@ -39,6 +131,17 @@
 #if defined(ARDUINO)
 
 #if defined(__AVR__)
+#define U8G_ARDUINO_ATMEGA_HW_SPI
+/* remove the definition for attiny */
+#if __AVR_ARCH__ == 2
+#undef U8G_ARDUINO_ATMEGA_HW_SPI
+#endif
+#if __AVR_ARCH__ == 25
+#undef U8G_ARDUINO_ATMEGA_HW_SPI
+#endif
+#endif
+
+#if defined(U8G_ARDUINO_ATMEGA_HW_SPI)
 
 #include <avr/interrupt.h>
 #include <avr/io.h>
@@ -115,11 +218,17 @@ uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void
             1	1		fclk/128
       */
       SPCR = 0;
-      SPCR =  (1<<SPE) | (1<<MSTR)|(0<<SPR1)|(1<<SPR0)|(0<<CPOL)|(0<<CPHA);
+      SPCR =  (1<<SPE) | (1<<MSTR)|(0<<SPR1)|(0<<SPR0)|(0<<CPOL)|(0<<CPHA);
 #ifdef U8G_HW_SPI_2X
       SPSR = (1 << SPI2X);  /* double speed, issue 89 */
+#else
+      if ( arg_val  <= U8G_SPI_CLK_CYCLE_50NS )
+      {
+	SPSR = (1 << SPI2X);  /* double speed, issue 89 */
+      }
 #endif
       
+      
       break;
     
     case U8G_COM_MSG_ADDRESS:                     /* define cmd (arg_val = 0) or data mode (arg_val = 1) */
@@ -176,9 +285,147 @@ uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void
 
 /* #elif defined(__18CXX) || defined(__PIC32MX) */
 
-#else /* __AVR__ */
+#elif defined(__SAM3X8E__)		// Arduino Due, maybe we should better check for __SAM3X8E__
+
+#include <Arduino.h> 
+
+/* use Arduino pin definitions */
+#define PIN_SCK SCK
+#define PIN_MISO  MISO
+#define PIN_MOSI MOSI
+#define PIN_CS SS
+
+
+static uint8_t u8g_spi_out(uint8_t data)
+{
+  /* wait until tx register is empty */
+  while( (SPI0->SPI_SR & SPI_SR_TDRE) == 0 )
+    ;
+  /* send data */
+  SPI0->SPI_TDR = (uint32_t)data;
+  return  data;
+}
+
+
+uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr)
+{
+  switch(msg)
+  {
+    case U8G_COM_MSG_STOP:
+      break;
+    
+    case U8G_COM_MSG_INIT:
+      u8g_com_arduino_assign_pin_output_high(u8g);
+      u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH);
+    
+      /* Arduino Due specific code */
+      
+      /* enable PIOA and SPI0 */
+      REG_PMC_PCER0 = (1UL << ID_PIOA) | (1UL << ID_SPI0);
+
+      /* disable PIO on A26 and A27 */
+      REG_PIOA_PDR = 0x0c000000;
+
+      /* reset SPI0 (from sam lib) */
+      SPI0->SPI_CR = SPI_CR_SPIDIS;
+      SPI0->SPI_CR = SPI_CR_SWRST;
+      SPI0->SPI_CR = SPI_CR_SWRST;
+      SPI0->SPI_CR = SPI_CR_SPIEN;
+      u8g_MicroDelay();
+      
+      /* master mode, no fault detection, chip select 0 */
+      SPI0->SPI_MR = SPI_MR_MSTR | SPI_MR_PCSDEC | SPI_MR_MODFDIS;
+      
+      /* Polarity, Phase, 8 Bit data transfer, baud rate */
+      /* x * 1000 / 84 --> clock cycle in ns 
+        5 * 1000 / 84 = 58 ns       
+	SCBR  > 50 *84 / 1000 --> SCBR=5
+	SCBR  > 300*84 / 1000 --> SCBR=26
+	SCBR  > 400*84 / 1000 --> SCBR=34
+      */
+      
+      if ( arg_val <= U8G_SPI_CLK_CYCLE_50NS )
+      {
+	SPI0->SPI_CSR[0] = SPI_CSR_SCBR(5) | 1;
+      }
+      else if ( arg_val <= U8G_SPI_CLK_CYCLE_300NS )
+      {
+	SPI0->SPI_CSR[0] = SPI_CSR_SCBR(26) | 1;
+      }
+      else if ( arg_val <= U8G_SPI_CLK_CYCLE_400NS )
+      {
+	SPI0->SPI_CSR[0] = SPI_CSR_SCBR(34) | 1;
+      }
+      else
+      {
+	SPI0->SPI_CSR[0] = SPI_CSR_SCBR(84) | 1;
+      }
+      
+      u8g_MicroDelay();      
+      break;
+    
+    case U8G_COM_MSG_ADDRESS:                     /* define cmd (arg_val = 0) or data mode (arg_val = 1) */
+      u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val);
+      u8g_MicroDelay();
+      break;
+
+    case U8G_COM_MSG_CHIP_SELECT:
+      if ( arg_val == 0 )
+      {
+        /* disable */
+	u8g_MicroDelay();		/* this delay is required to avoid that the display is switched off too early --> DOGS102 with DUE */
+        u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH);
+	u8g_MicroDelay();
+      }
+      else
+      {
+        /* enable */
+        //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW);
+        u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW);
+	u8g_MicroDelay();
+      }
+      break;
+      
+    case U8G_COM_MSG_RESET:
+      if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE )
+        u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val);
+      break;
+    
+    case U8G_COM_MSG_WRITE_BYTE:
+      u8g_spi_out(arg_val);
+      u8g_MicroDelay();
+      break;
+    
+    case U8G_COM_MSG_WRITE_SEQ:
+      {
+        register uint8_t *ptr = arg_ptr;
+        while( arg_val > 0 )
+        {
+          u8g_spi_out(*ptr++);
+          arg_val--;
+        }
+      }
+      break;
+    case U8G_COM_MSG_WRITE_SEQ_P:
+      {
+        register uint8_t *ptr = arg_ptr;
+        while( arg_val > 0 )
+        {
+          u8g_spi_out(u8g_pgm_read(ptr));
+          ptr++;
+          arg_val--;
+        }
+      }
+      break;
+  }
+  return 1;
+}
+
+
+
+#else /* U8G_ARDUINO_ATMEGA_HW_SPI */
 
-#endif /* __AVR__ */
+#endif /* U8G_ARDUINO_ATMEGA_HW_SPI */
 
 #else /* ARDUINO */
 
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_usart_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_usart_spi.c
new file mode 100644
index 0000000000000000000000000000000000000000..27fd8d01c96aa929b24c3fa512315ce7c0e21aa4
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_usart_spi.c
@@ -0,0 +1,159 @@
+/*
+  
+  u8g_com_arduino_hw_usart_spi.c
+
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2011, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+
+  SPI Clock Cycle Type
+  
+  SSD1351	  50ns		20 MHz
+  SSD1322	300ns		  3.3 MHz
+  SSD1327	300ns
+  SSD1306	300ns
+  ST7565		400ns 		  2.5 MHz
+  ST7920		400ns
+
+*/
+
+#include "u8g.h"
+
+#if defined(ARDUINO)
+
+#if defined(__AVR_ATmega32U4__ )
+
+#include <avr/interrupt.h>
+#include <avr/io.h>
+
+#if ARDUINO < 100 
+#include <WProgram.h> 
+#else 
+#include <Arduino.h> 
+#endif
+
+
+
+static uint8_t u8g_usart_spi_out(uint8_t data)
+{
+  /* send data */
+  UDR1 = data;
+  /* wait for empty transmit buffer */
+  while(!(UCSR1A & (1 << UDRE1)));
+
+  return  UDR1;
+}
+
+
+uint8_t u8g_com_arduino_hw_usart_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr)
+{
+  switch(msg)
+  {
+    case U8G_COM_MSG_STOP:
+      break;
+    
+    case U8G_COM_MSG_INIT:
+      /* SCK is already an output as we overwrite TXLED */
+      u8g_com_arduino_assign_pin_output_high(u8g);
+	  u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH);
+    
+	  // Init interface at 2MHz
+	  UBRR1 = 0x00;
+	  UCSR1C = (1 << UMSEL11) | (1 << UMSEL10);
+      UCSR1B = (1 << TXEN1);
+      UBRR1 = 3;
+           
+      break;
+    
+    case U8G_COM_MSG_ADDRESS:                     /* define cmd (arg_val = 0) or data mode (arg_val = 1) */
+      u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val);
+      break;
+
+    case U8G_COM_MSG_CHIP_SELECT:
+      if ( arg_val == 0 )
+      {
+        /* disable */
+        u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH);
+      }
+      else
+      {
+        /* enable */
+        u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW);
+      }
+      break;
+      
+    case U8G_COM_MSG_RESET:
+      if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE )
+        u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val);
+      break;
+    
+    case U8G_COM_MSG_WRITE_BYTE:
+      u8g_usart_spi_out(arg_val);
+      break;
+    
+    case U8G_COM_MSG_WRITE_SEQ:
+      {
+        register uint8_t *ptr = arg_ptr;
+        while( arg_val > 0 )
+        {
+          u8g_usart_spi_out(*ptr++);
+          arg_val--;
+        }
+      }
+      break;
+    case U8G_COM_MSG_WRITE_SEQ_P:
+      {
+        register uint8_t *ptr = arg_ptr;
+        while( arg_val > 0 )
+        {
+          u8g_usart_spi_out(u8g_pgm_read(ptr));
+          ptr++;
+          arg_val--;
+        }
+      }
+      break;
+  }
+  return 1;
+}
+
+/* #elif defined(__18CXX) || defined(__PIC32MX) */
+/* #elif defined(__arm__)		// Arduino Due, maybe we should better check for __SAM3X8E__ */
+
+#else /* __AVR_ATmega32U4__ */
+
+#endif /* __AVR_ATmega32U4__ */
+
+#else /* ARDUINO */
+
+uint8_t u8g_com_arduino_hw_usart_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr)
+{
+  return 1;
+}
+
+#endif /* ARDUINO */
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c
index 49038c36c8228a1562b02f5da761718a5a58994b..4edb30a4647eb7e3b482db5e67155a92273e127b 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c
@@ -48,6 +48,12 @@
   
   u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset)
   u8g_Init8Bit(u8g, dev,  8,    9, 10, 11,   4,   5,   6,   7, 18, 14, 15, 17, 16, U8G_PIN_NONE)
+  Update for ATOMIC operation done (01 Jun 2013)
+  
+    U8G_ATOMIC_OR(ptr, val)
+    U8G_ATOMIC_AND(ptr, val)
+    U8G_ATOMIC_START();
+    U8G_ATOMIC_END();
 
 */
 
@@ -97,17 +103,23 @@ static void u8g_com_arduino_no_en_parallel_init(u8g_t *u8g)
   u8g_data_mask[7] =  digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]);  
 }
 
-void u8g_com_arduino_no_en_write_data_pin(uint8_t pin, uint8_t val)
+/* No atomic protcetion. This is done by caller */
+static void u8g_com_arduino_no_en_write_data_pin(uint8_t pin, uint8_t val)
 {
   if ( val != 0 )
-    *u8g_data_port[pin] |= u8g_data_mask[pin];
+  {
+   *u8g_data_port[pin] |= u8g_data_mask[pin];
+  }
   else
+  {
     *u8g_data_port[pin] &= ~u8g_data_mask[pin];
+  }
 }
 
 
 void u8g_com_arduino_no_en_parallel_write(u8g_t *u8g, uint8_t val)
 {
+  U8G_ATOMIC_START();
   u8g_com_arduino_no_en_write_data_pin( 0, val&1 );
   val >>= 1;
   u8g_com_arduino_no_en_write_data_pin( 1, val&1 );
@@ -125,6 +137,7 @@ void u8g_com_arduino_no_en_parallel_write(u8g_t *u8g, uint8_t val)
   val >>= 1;
   u8g_com_arduino_no_en_write_data_pin( 7, val&1 );
   val >>= 1;
+  U8G_ATOMIC_END();
   
   /* EN cycle time must be 1 micro second, digitalWrite is slow enough to do this */
   if ( u8g->pin_list[U8G_PI_CS_STATE] == 1 )
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_parallel.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_parallel.c
index a73bc0dbee776619f2523b89a3fc581e98bfe85f..d5d5dd7557f5eaa40a0a5070d9c21939fc1437d0 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_parallel.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_parallel.c
@@ -1,6 +1,6 @@
 /*
   
-  u8g_arduino_parallel.c
+  u8g_com_arduino_parallel.c
 
   Universal 8bit Graphics Library
   
@@ -87,13 +87,10 @@ void u8g_com_arduino_parallel_write(u8g_t *u8g, uint8_t val)
   u8g_com_arduino_digital_write(u8g, U8G_PI_D7, val&1);
   
   /* EN cycle time must be 1 micro second, digitalWrite is slow enough to do this */
-  //u8g_Delay(1);
   u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH);
-  //u8g_Delay(1);
   u8g_MicroDelay(); /* delay by 1000ns, reference: ST7920: 140ns, SBN1661: 100ns */
   u8g_com_arduino_digital_write(u8g, U8G_PI_EN, LOW);
   u8g_10MicroDelay(); /* ST7920 commands: 72us */
-  //u8g_Delay(2);
 }
 
 
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c
index cfaf71f9fac1bbc36bd52390c2301a38cc006cd3..64a8229e12f648df60078e6002bc01087e7ece4b 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c
@@ -42,6 +42,13 @@
   u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset)
   u8g_Init8Bit(u8g, dev,  8,    9, 10, 11,   4,   5,   6,   7, 18, 14, 15, 17, 16, U8G_PIN_NONE)
 
+
+  Update for ATOMIC operation done (01 Jun 2013)
+    U8G_ATOMIC_OR(ptr, val)
+    U8G_ATOMIC_AND(ptr, val)
+    U8G_ATOMIC_START();
+    U8G_ATOMIC_END();
+
 */
 
 #include "u8g.h"
@@ -80,8 +87,10 @@ uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, v
 #ifdef UCSR0B
       UCSR0B = 0;  // disable USART 0
 #endif
+      U8G_ATOMIC_START();
       DDRD = 0x0ff;
       PORTD = 0x0ff;
+      U8G_ATOMIC_END();
 
       /* setup the RW pin as output and force it to low */
       if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE )
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c
index afcb4088a06a7a99fa96a5a3acee4d864ba31d55..84b24daadbc1eccb7d3d606aa6e64b9bd323fdcd 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c
@@ -54,18 +54,20 @@
 
 #include "u8g.h"
 
-#define I2C_SLA		(0x3c*2)
-//#define I2C_CMD_MODE	0x080
-#define I2C_CMD_MODE	0x000
-#define I2C_DATA_MODE	0x040
+#if defined(U8G_WITH_PINLIST)
 
 
+#define I2C_SLA         (0x3c*2)
+//#define I2C_CMD_MODE  0x080
+#define I2C_CMD_MODE    0x000
+#define I2C_DATA_MODE   0x040
+
 uint8_t u8g_com_arduino_ssd_start_sequence(u8g_t *u8g)
 {
   /* are we requested to set the a0 state? */
   if ( u8g->pin_list[U8G_PI_SET_A0] == 0 )
-    return 1;	
-  
+    return 1;
+
   /* setup bus, might be a repeated start */
   if ( u8g_i2c_start(I2C_SLA) == 0 )
     return 0;
@@ -79,8 +81,7 @@ uint8_t u8g_com_arduino_ssd_start_sequence(u8g_t *u8g)
     if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 )
       return 0;
   }
-  
-  
+
   u8g->pin_list[U8G_PI_SET_A0] = 0;
   return 1;
 }
@@ -199,3 +200,13 @@ uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, voi
   }
   return 1;
 }
+
+#else  /* defined(U8G_WITH_PINLIST) */
+
+uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr)
+{
+  return 1;
+}
+
+#endif /* defined(U8G_WITH_PINLIST) */
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_custom.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_custom.c
new file mode 100644
index 0000000000000000000000000000000000000000..d157b93632bfe8b4c0e52a7a5f9f2fa538d62aaa
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_custom.c
@@ -0,0 +1,330 @@
+/*
+  
+  u8g_com_arduino_st7920_custom.c
+  
+  Additional COM device, initially introduced for 3D Printer community
+  Implements a fast SW SPI com subsystem
+
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2011, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+
+  A special SPI interface for ST7920 controller
+
+  Update for ATOMIC operation done (01 Jun 2013)
+    U8G_ATOMIC_OR(ptr, val)
+    U8G_ATOMIC_AND(ptr, val)
+    U8G_ATOMIC_START();
+    U8G_ATOMIC_END();
+
+
+*/
+
+#include "u8g.h"
+
+#if defined(ARDUINO)
+
+#if ARDUINO < 100 
+#include <WProgram.h>    
+#include "wiring_private.h"
+#include "pins_arduino.h"
+
+#else 
+#include <Arduino.h> 
+#include "wiring_private.h"
+#endif
+
+#if defined(__AVR__)
+
+static uint8_t u8g_bitData, u8g_bitNotData;
+static uint8_t u8g_bitClock, u8g_bitNotClock;
+static volatile uint8_t *u8g_outData;
+static volatile uint8_t *u8g_outClock;
+
+static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin)
+{
+  u8g_outData = portOutputRegister(digitalPinToPort(dataPin));
+  u8g_outClock = portOutputRegister(digitalPinToPort(clockPin));
+  u8g_bitData = digitalPinToBitMask(dataPin);
+  u8g_bitClock = digitalPinToBitMask(clockPin);
+
+  u8g_bitNotClock = u8g_bitClock;
+  u8g_bitNotClock ^= 0x0ff;
+
+  u8g_bitNotData = u8g_bitData;
+  u8g_bitNotData ^= 0x0ff;
+}
+
+static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) U8G_NOINLINE;
+static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val)
+{
+  uint8_t cnt = 8;
+  uint8_t bitData = u8g_bitData;
+  uint8_t bitNotData = u8g_bitNotData;
+  uint8_t bitClock = u8g_bitClock;
+  uint8_t bitNotClock = u8g_bitNotClock;
+  volatile uint8_t *outData = u8g_outData;
+  volatile uint8_t *outClock = u8g_outClock;
+  
+  
+  U8G_ATOMIC_START();
+  bitData |= *outData;
+  bitNotData &= *outData;
+  do
+  {
+    if ( val & 128 )
+      *outData = bitData;
+    else
+      *outData = bitNotData;
+
+    /*
+    *outClock |= bitClock;
+    val <<= 1;
+    cnt--;
+    *outClock &= bitNotClock;
+    */
+
+    val <<= 1;
+    *outClock &= bitNotClock;
+    cnt--;
+    // removed micro delays, because AVRs are too slow and the delay is not required
+    //u8g_MicroDelay();
+    *outClock |= bitClock;
+    //u8g_MicroDelay();
+  } while( cnt != 0 );
+  U8G_ATOMIC_END();
+}
+
+#elif defined(__18CXX) || defined(__PIC32MX)
+
+uint16_t dog_bitData, dog_bitNotData;
+uint16_t dog_bitClock, dog_bitNotClock;
+volatile uint32_t *dog_outData;
+volatile uint32_t *dog_outClock;
+volatile uint32_t dog_pic32_spi_tmp;
+
+static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin)
+{
+  dog_outData = portOutputRegister(digitalPinToPort(dataPin));
+  dog_outClock = portOutputRegister(digitalPinToPort(clockPin));
+  dog_bitData = digitalPinToBitMask(dataPin);
+  dog_bitClock = digitalPinToBitMask(clockPin);
+
+  dog_bitNotClock = dog_bitClock;
+  dog_bitNotClock ^= 0x0ffff;
+
+  dog_bitNotData = dog_bitData;
+  dog_bitNotData ^= 0x0ffff;
+}
+
+static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val)
+{
+  uint8_t cnt = 8;
+  U8G_ATOMIC_START();
+  do
+  {
+    if ( val & 128 )
+	*dog_outData |= dog_bitData;
+    else
+	*dog_outData &= dog_bitNotData;    
+    val <<= 1;
+    //u8g_MicroDelay();
+    //*dog_outClock |= dog_bitClock;
+    *dog_outClock &= dog_bitNotClock;
+    cnt--;
+    u8g_MicroDelay();
+    //*dog_outClock &= dog_bitNotClock;
+    *dog_outClock |= dog_bitClock;
+    u8g_MicroDelay();
+    
+  } while( cnt != 0 );
+  U8G_ATOMIC_END();
+}
+
+#else
+
+/* default interface, Arduino DUE (__arm__) */
+
+uint8_t u8g_data_custom_pin;
+uint8_t u8g_clock_custom_pin;
+
+static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin)
+{
+  u8g_data_custom_pin = dataPin;
+  u8g_clock_custom_pin = clockPin;
+}
+
+static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val)
+{
+  uint8_t cnt = 8;
+  do
+  {
+    if ( val & 128 )
+	digitalWrite(u8g_data_custom_pin, HIGH);
+    else
+	digitalWrite(u8g_data_custom_pin, LOW);
+    val <<= 1;
+    //u8g_MicroDelay();
+    digitalWrite(u8g_clock_custom_pin, LOW);
+    cnt--;
+    u8g_MicroDelay();
+    digitalWrite(u8g_clock_custom_pin, HIGH);
+    u8g_MicroDelay();    
+  } while( cnt != 0 );
+}
+
+#endif 
+
+
+static void u8g_com_arduino_st7920_write_byte_seq(uint8_t rs, uint8_t *ptr, uint8_t len)
+{
+  uint8_t i;
+
+  if ( rs == 0 )
+  {
+    /* command */
+    u8g_com_arduino_do_shift_out_msb_first(0x0f8);
+  }
+  else if ( rs == 1 )
+  {
+    /* data */
+    u8g_com_arduino_do_shift_out_msb_first(0x0fa);
+  }
+
+  while( len > 0 )
+  {
+    u8g_com_arduino_do_shift_out_msb_first(*ptr & 0x0f0);
+    u8g_com_arduino_do_shift_out_msb_first(*ptr << 4);
+    ptr++;
+    len--;
+    u8g_10MicroDelay();
+  }
+  
+  for( i = 0; i < 4; i++ )
+    u8g_10MicroDelay();
+}
+
+static void u8g_com_arduino_st7920_write_byte(uint8_t rs, uint8_t val)
+{
+  uint8_t i;
+
+  if ( rs == 0 )
+  {
+    /* command */
+    u8g_com_arduino_do_shift_out_msb_first(0x0f8);
+  }
+  else if ( rs == 1 )
+  {
+    /* data */
+    u8g_com_arduino_do_shift_out_msb_first(0x0fa);
+  }
+  
+  u8g_com_arduino_do_shift_out_msb_first(val & 0x0f0);
+  u8g_com_arduino_do_shift_out_msb_first(val << 4);
+  
+  for( i = 0; i < 4; i++ )
+    u8g_10MicroDelay();
+    
+}
+
+
+uint8_t u8g_com_arduino_st7920_custom_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr)
+{
+  switch(msg)
+  {
+    case U8G_COM_MSG_INIT:
+      u8g_com_arduino_assign_pin_output_high(u8g);
+      u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW);
+      // u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW);
+      u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH);
+      u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW);
+      u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]);
+      u8g->pin_list[U8G_PI_A0_STATE] = 0;       /* inital RS state: command mode */
+      break;
+    
+    case U8G_COM_MSG_STOP:
+      break;
+
+    case U8G_COM_MSG_RESET:
+      if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE )
+	u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val);
+      break;
+      
+    case U8G_COM_MSG_CHIP_SELECT:
+      if ( arg_val == 0 )
+      {
+        /* disable, note: the st7920 has an active high chip select */
+        u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW);
+      }
+      else
+      {
+        /* enable */
+        //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH);
+        u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH);
+      }
+      break;
+
+    case U8G_COM_MSG_WRITE_BYTE:
+      u8g_com_arduino_st7920_write_byte( u8g->pin_list[U8G_PI_A0_STATE], arg_val);
+      //u8g->pin_list[U8G_PI_A0_STATE] = 2; 
+      //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val);
+      break;
+    
+    case U8G_COM_MSG_WRITE_SEQ:
+      u8g_com_arduino_st7920_write_byte_seq(u8g->pin_list[U8G_PI_A0_STATE], (uint8_t *)arg_ptr, arg_val);
+      break;
+
+      case U8G_COM_MSG_WRITE_SEQ_P:
+      {
+        register uint8_t *ptr = arg_ptr;
+        while( arg_val > 0 )
+        {
+          u8g_com_arduino_st7920_write_byte(u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr) );
+          //u8g->pin_list[U8G_PI_A0_STATE] = 2; 
+          ptr++;
+          arg_val--;
+        }
+      }
+      break;
+      
+    case U8G_COM_MSG_ADDRESS:                     /* define cmd (arg_val = 0) or data mode (arg_val = 1) */
+      u8g->pin_list[U8G_PI_A0_STATE] = arg_val;
+      break;
+  }
+  return 1;
+}
+
+#else /* ARDUINO */
+
+uint8_t u8g_com_arduino_st7920_custom_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr)
+{
+  return 1;
+}
+
+#endif /* ARDUINO */
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c
index d5a041386abca9048fd84529bfce07dd90d21e77..af44c7f86023ff7406ff1f72f2c9661edb5247df 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c
@@ -54,10 +54,10 @@
 
 /* remove the definition for attiny */
 #if __AVR_ARCH__ == 2
-#undef U8G_ATMEGA_HW_SPI
+#undef U8G_ARDUINO_ATMEGA_HW_SPI
 #endif
 #if __AVR_ARCH__ == 25
-#undef U8G_ATMEGA_HW_SPI
+#undef U8G_ARDUINO_ATMEGA_HW_SPI
 #endif
 
 #endif
@@ -68,6 +68,33 @@
 #include <avr/interrupt.h>
 #include <avr/io.h>
 
+
+#if ARDUINO < 100 
+
+/* fixed pins */
+#if defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) // Sanguino.cc board
+#define PIN_SCK         7
+#define PIN_MISO        6
+#define PIN_MOSI        5
+#define PIN_CS          4
+#else                                   // Arduino Board
+#define PIN_SCK 13
+#define PIN_MISO  12
+#define PIN_MOSI 11
+#define PIN_CS 10
+#endif // (__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__)
+
+#else 
+
+/* use Arduino pin definitions */
+#define PIN_SCK SCK
+#define PIN_MISO  MISO
+#define PIN_MOSI MOSI
+#define PIN_CS SS
+
+#endif
+
+
 static uint8_t u8g_arduino_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE;
 static uint8_t u8g_arduino_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val)
 {
@@ -81,6 +108,34 @@ static uint8_t u8g_arduino_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val)
 }
 
 
+static void u8g_com_arduino_st7920_write_byte_hw_spi_seq(u8g_t *u8g, uint8_t rs, uint8_t *ptr, uint8_t len)
+{
+  uint8_t i;
+
+  if ( rs == 0 )
+  {
+    /* command */
+    u8g_arduino_st7920_hw_spi_shift_out(u8g, 0x0f8);
+  }
+  else if ( rs == 1 )
+  {
+    /* data */
+    u8g_arduino_st7920_hw_spi_shift_out(u8g, 0x0fa);
+  }
+
+  while( len > 0 )
+  {
+    u8g_arduino_st7920_hw_spi_shift_out(u8g, *ptr & 0x0f0);
+    u8g_arduino_st7920_hw_spi_shift_out(u8g, *ptr << 4);
+    ptr++;
+    len--;
+    u8g_10MicroDelay();
+  }
+  
+  for( i = 0; i < 4; i++ )
+    u8g_10MicroDelay();
+}
+
 static void u8g_com_arduino_st7920_write_byte_hw_spi(u8g_t *u8g, uint8_t rs, uint8_t val) U8G_NOINLINE;
 static void u8g_com_arduino_st7920_write_byte_hw_spi(u8g_t *u8g, uint8_t rs, uint8_t val)
 {
@@ -115,14 +170,29 @@ uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_va
   {
     case U8G_COM_MSG_INIT:
       u8g_com_arduino_assign_pin_output_high(u8g);
-      u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW);
       
+      
+      /* code from u8g_com-arduino_hw_spi.c */
+      pinMode(PIN_SCK, OUTPUT);
+      digitalWrite(PIN_SCK, LOW);
+      pinMode(PIN_MOSI, OUTPUT);
+      digitalWrite(PIN_MOSI, LOW);
+      /* pinMode(PIN_MISO, INPUT); */
+
+      pinMode(PIN_CS, OUTPUT);			/* system chip select for the atmega board */
+      digitalWrite(PIN_CS, HIGH);
+      
+      
+      //u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW);
+      
+#ifdef OBSOLETE      
       DDRB |= _BV(3);          /* D0, MOSI */
       DDRB |= _BV(5);          /* SCK */
       DDRB |= _BV(2);		/* slave select */
     
       PORTB &= ~_BV(3);        /* D0, MOSI = 0 */
       PORTB &= ~_BV(5);        /* SCK = 0 */
+#endif
 
       /*
         SPR1 SPR0
@@ -170,15 +240,18 @@ uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_va
       break;
     
     case U8G_COM_MSG_WRITE_SEQ:
+      u8g_com_arduino_st7920_write_byte_hw_spi_seq(u8g, u8g->pin_list[U8G_PI_A0_STATE], (uint8_t *)arg_ptr, arg_val);
+      /*
       {
         register uint8_t *ptr = arg_ptr;
         while( arg_val > 0 )
         {
           u8g_com_arduino_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], *ptr++);
-          // u8g->pin_list[U8G_PI_A0_STATE] = 2; 
           arg_val--;
         }
       }
+      */
+      
       break;
 
       case U8G_COM_MSG_WRITE_SEQ_P:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c
index a7339886819c77d49d09e930e938dc3fec0b47dc..9a5c2bef357cddd085607e257a45ed0f77b0bfd5 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c
@@ -33,6 +33,13 @@
 
   A special SPI interface for ST7920 controller
 
+  Update for ATOMIC operation done (01 Jun 2013)
+    U8G_ATOMIC_OR(ptr, val)
+    U8G_ATOMIC_AND(ptr, val)
+    U8G_ATOMIC_START();
+    U8G_ATOMIC_END();
+
+
 */
 
 #include "u8g.h"
@@ -51,10 +58,10 @@
 
 #if defined(__AVR__)
 
-uint8_t u8g_bitData, u8g_bitNotData;
-uint8_t u8g_bitClock, u8g_bitNotClock;
-volatile uint8_t *u8g_outData;
-volatile uint8_t *u8g_outClock;
+static uint8_t u8g_bitData, u8g_bitNotData;
+static uint8_t u8g_bitClock, u8g_bitNotClock;
+static volatile uint8_t *u8g_outData;
+static volatile uint8_t *u8g_outClock;
 
 static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin)
 {
@@ -80,12 +87,17 @@ static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val)
   uint8_t bitNotClock = u8g_bitNotClock;
   volatile uint8_t *outData = u8g_outData;
   volatile uint8_t *outClock = u8g_outClock;
+  
+  
+  U8G_ATOMIC_START();
+  bitData |= *outData;
+  bitNotData &= *outData;
   do
   {
     if ( val & 128 )
-      *outData |= bitData;
+      *outData = bitData;
     else
-      *outData &= bitNotData;
+      *outData = bitNotData;
 
     /*
     *outClock |= bitClock;
@@ -102,6 +114,7 @@ static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val)
     *outClock |= bitClock;
     //u8g_MicroDelay();
   } while( cnt != 0 );
+  U8G_ATOMIC_END();
 }
 
 #elif defined(__18CXX) || defined(__PIC32MX)
@@ -129,6 +142,7 @@ static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin)
 static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val)
 {
   uint8_t cnt = 8;
+  U8G_ATOMIC_START();
   do
   {
     if ( val & 128 )
@@ -146,6 +160,7 @@ static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val)
     u8g_MicroDelay();
     
   } while( cnt != 0 );
+  U8G_ATOMIC_END();
 }
 
 #else
@@ -183,7 +198,33 @@ static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val)
 #endif 
 
 
+static void u8g_com_arduino_st7920_write_byte_seq(uint8_t rs, uint8_t *ptr, uint8_t len)
+{
+  uint8_t i;
 
+  if ( rs == 0 )
+  {
+    /* command */
+    u8g_com_arduino_do_shift_out_msb_first(0x0f8);
+  }
+  else if ( rs == 1 )
+  {
+    /* data */
+    u8g_com_arduino_do_shift_out_msb_first(0x0fa);
+  }
+
+  while( len > 0 )
+  {
+    u8g_com_arduino_do_shift_out_msb_first(*ptr & 0x0f0);
+    u8g_com_arduino_do_shift_out_msb_first(*ptr << 4);
+    ptr++;
+    len--;
+    u8g_10MicroDelay();
+  }
+  
+  for( i = 0; i < 4; i++ )
+    u8g_10MicroDelay();
+}
 
 static void u8g_com_arduino_st7920_write_byte(uint8_t rs, uint8_t val)
 {
@@ -209,7 +250,6 @@ static void u8g_com_arduino_st7920_write_byte(uint8_t rs, uint8_t val)
 }
 
 
-
 uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr)
 {
   switch(msg)
@@ -243,6 +283,9 @@ uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val,
         /* enable */
         //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH);
         u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH);
+	/* 28 Dec 2013 reassign pins, fixes issue with more than one display */
+	/* issue 227 */
+	u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]);
       }
       break;
 
@@ -253,15 +296,7 @@ uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val,
       break;
     
     case U8G_COM_MSG_WRITE_SEQ:
-      {
-        register uint8_t *ptr = arg_ptr;
-        while( arg_val > 0 )
-        {
-          u8g_com_arduino_st7920_write_byte(u8g->pin_list[U8G_PI_A0_STATE], *ptr++);
-          //u8g->pin_list[U8G_PI_A0_STATE] = 2; 
-          arg_val--;
-        }
-      }
+      u8g_com_arduino_st7920_write_byte_seq(u8g->pin_list[U8G_PI_A0_STATE], (uint8_t *)arg_ptr, arg_val);
       break;
 
       case U8G_COM_MSG_WRITE_SEQ_P:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c
index 1251ef2e569b081271bc7f3d934532a1e1015b8e..048ac1af36ad11103f5a171a2b606687c6176ba9 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c
@@ -31,7 +31,6 @@
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
   
-
 */
 
 #include "u8g.h"
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c
index 846baeb908ef4949f3e578d42798b615fe796227..7752adc829f18e596abd0a729cab9a535084197c 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c
@@ -31,6 +31,12 @@
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
   
+  Update for ATOMIC operation done (01 Jun 2013)
+    U8G_ATOMIC_OR(ptr, val)
+    U8G_ATOMIC_AND(ptr, val)
+    U8G_ATOMIC_START();
+    U8G_ATOMIC_END();
+ 
 
 */
 
@@ -48,6 +54,9 @@
 #include "wiring_private.h"
 #endif
 
+/*=========================================================*/
+/* Arduino, AVR */
+
 #if defined(__AVR__)
 
 uint8_t u8g_bitData, u8g_bitNotData;
@@ -79,6 +88,7 @@ static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val)
   uint8_t bitNotClock = u8g_bitNotClock;
   volatile uint8_t *outData = u8g_outData;
   volatile uint8_t *outClock = u8g_outClock;
+  U8G_ATOMIC_START();
   do
   {
     if ( val & 128 )
@@ -91,8 +101,11 @@ static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val)
     cnt--;
     *outClock &= bitNotClock;
   } while( cnt != 0 );
+  U8G_ATOMIC_END();
 }
 
+/*=========================================================*/
+/* Arduino, Chipkit */
 #elif defined(__18CXX) || defined(__PIC32MX)
 
 uint16_t dog_bitData, dog_bitNotData;
@@ -118,6 +131,7 @@ static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin)
 static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val)
 {
   uint8_t cnt = 8;
+  U8G_ATOMIC_START();
   do
   {
     if ( val & 128 )
@@ -142,8 +156,54 @@ static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val)
     dog_pic32_spi_tmp = *dog_outClock;
     dog_pic32_spi_tmp = *dog_outClock;
   } while( cnt != 0 );
+  U8G_ATOMIC_END();
+}
+
+/*=========================================================*/
+/* Arduino Due */
+#elif defined(__SAM3X8E__)
+
+/* Due */
+
+void u8g_digital_write_sam_high(uint8_t pin)
+{
+    PIO_Set( g_APinDescription[pin].pPort, g_APinDescription[pin].ulPin) ;
+}
+
+void u8g_digital_write_sam_low(uint8_t pin)
+{
+    PIO_Clear( g_APinDescription[pin].pPort, g_APinDescription[pin].ulPin) ;
+}
+
+static uint8_t u8g_sam_data_pin;
+static uint8_t u8g_sam_clock_pin;
+
+static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin)
+{
+  u8g_sam_data_pin = dataPin;
+  u8g_sam_clock_pin = clockPin;
+}
+
+static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val)
+{
+  uint8_t i = 8;
+  do
+  {
+    if ( val & 128 )
+      u8g_digital_write_sam_high(u8g_sam_data_pin);
+    else
+      u8g_digital_write_sam_low(u8g_sam_data_pin);
+    val <<= 1;
+    //u8g_MicroDelay();	
+    u8g_digital_write_sam_high(u8g_sam_clock_pin);
+    u8g_MicroDelay();	
+    u8g_digital_write_sam_low(u8g_sam_clock_pin);
+    u8g_MicroDelay();	
+    i--;
+  } while( i != 0 );
 }
 
+
 #else
 /* empty interface */
 
@@ -188,6 +248,8 @@ uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void
         /* enable */
         u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW);
         u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW);
+	/* issue 227 */
+	u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]);
       }
       break;
 
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_t6963.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_t6963.c
index d6a817867b6984558f72a8cf70976179faac69dd..50e5e93ac40b22264f0f345e1e0b2fb467496049 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_t6963.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_t6963.c
@@ -50,6 +50,13 @@
   u8g_InitRW8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset)
   u8g_InitRW8Bit(u8g, dev,  8,  9, 10, 11,  4,  5,  6,  7, 14, 15, 17, 18, 16)
 
+  Update for ATOMIC operation done (01 Jun 2013)
+    U8G_ATOMIC_OR(ptr, val)
+    U8G_ATOMIC_AND(ptr, val)
+    U8G_ATOMIC_START();
+    U8G_ATOMIC_END();
+ 
+
 */
 
 #include "u8g.h"
@@ -123,8 +130,10 @@ static void u8g_com_arduino_t6963_init(u8g_t *u8g)
   u8g_data_mask[7] =  digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]);  
 }
 
+
 static void u8g_com_arduino_t6963_write_data_pin(uint8_t pin, uint8_t val)
 {
+  /* no ATOMIC protection required here, this is done by calling procedure */
   if ( val != 0 )
     *u8g_output_data_port[pin] |= u8g_data_mask[pin];
   else
@@ -134,6 +143,7 @@ static void u8g_com_arduino_t6963_write_data_pin(uint8_t pin, uint8_t val)
 static void u8g_com_arduino_t6963_set_port_output(void)
 {
   uint8_t i;
+  U8G_ATOMIC_START();
   for( i = 0; i < 8; i++ )
   {
 #if defined(__PIC32MX)
@@ -147,11 +157,13 @@ static void u8g_com_arduino_t6963_set_port_output(void)
 #endif
 
   }
+  U8G_ATOMIC_END();
 }
 
 static void u8g_com_arduino_t6963_set_port_input(void)
 {
   uint8_t i;
+  U8G_ATOMIC_START();
   for( i = 0; i < 8; i++ )
   {
 #if defined(__PIC32MX)
@@ -167,11 +179,14 @@ static void u8g_com_arduino_t6963_set_port_input(void)
       *u8g_output_data_port[i] &= ~u8g_data_mask[i]; 	// no pullup
 #endif
   }
+  U8G_ATOMIC_END();
 }
 
 
 static void u8g_com_arduino_t6963_write(u8g_t *u8g, uint8_t val)
 {
+  U8G_ATOMIC_START();
+
   u8g_com_arduino_t6963_write_data_pin( 0, val&1 );
   val >>= 1;
   u8g_com_arduino_t6963_write_data_pin( 1, val&1 );
@@ -189,6 +204,7 @@ static void u8g_com_arduino_t6963_write(u8g_t *u8g, uint8_t val)
   val >>= 1;
   u8g_com_arduino_t6963_write_data_pin( 7, val&1 );
   val >>= 1;
+  U8G_ATOMIC_END();
   
   u8g_com_arduino_digital_write(u8g, U8G_PI_WR, 0);
   u8g_MicroDelay(); /* 80ns, reference: t6963 datasheet */
@@ -203,6 +219,7 @@ static uint8_t u8g_com_arduino_t6963_read(u8g_t *u8g)
   u8g_com_arduino_digital_write(u8g, U8G_PI_RD, 0);
   u8g_MicroDelay(); /* 150ns, reference: t6963 datasheet */
   
+  U8G_ATOMIC_START();
   /* only read bits 0, 1 and 3 */
   if ( (*u8g_input_data_port[3] & u8g_data_mask[3]) != 0 )
     val++;
@@ -213,7 +230,8 @@ static uint8_t u8g_com_arduino_t6963_read(u8g_t *u8g)
   val <<= 1;
   if ( (*u8g_input_data_port[0] & u8g_data_mask[0]) != 0 )
     val++;
-    
+  U8G_ATOMIC_END();
+
   u8g_com_arduino_digital_write(u8g, U8G_PI_RD, 1);
   u8g_MicroDelay(); /* 10ns, reference: t6963 datasheet */
   
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_uc_i2c.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_uc_i2c.c
new file mode 100644
index 0000000000000000000000000000000000000000..263766818ffe3bfa10d2d2cabe4343312412292e
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_uc_i2c.c
@@ -0,0 +1,206 @@
+/*
+  
+  u8g_com_arduino_uc_i2c.c
+
+  com interface for arduino (AND atmega) and the SSDxxxx chip (SOLOMON) variant 
+  I2C protocol 
+  
+  ToDo: Rename this to u8g_com_avr_ssd_i2c.c
+
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2012, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+  Special pin usage:
+    U8G_PI_I2C_OPTION	additional options
+    U8G_PI_A0_STATE	used to store the last value of the command/data register selection
+    U8G_PI_SET_A0		1: Signal request to update I2C device with new A0_STATE, 0: Do nothing, A0_STATE matches I2C device
+    U8G_PI_SCL		clock line (NOT USED)
+    U8G_PI_SDA		data line (NOT USED)
+    
+    U8G_PI_RESET		reset line (currently disabled, see below)
+
+  Protocol:
+    SLA, Cmd/Data Selection, Arguments
+    The command/data register is selected by a special instruction byte, which is sent after SLA
+    
+    The continue bit is always 0 so that a (re)start is equired for the change from cmd to/data mode
+*/
+
+#include "u8g.h"
+
+#if defined(U8G_WITH_PINLIST)
+
+#define DOGM240_SLA_CMD  (0x38*2)
+#define DOGM240_SLA_DATA (0x39*2)
+
+uint8_t u8g_com_arduino_uc_start_sequence(u8g_t *u8g)
+{
+  /* are we requested to set the a0 state? */
+  if ( u8g->pin_list[U8G_PI_SET_A0] == 0 )
+    return 1;
+
+  if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 )
+  {
+    if ( u8g_i2c_start(DOGM240_SLA_CMD) == 0 )
+      return 0;
+  }
+  else
+  {
+    if ( u8g_i2c_start(DOGM240_SLA_DATA) == 0 )
+      return 0;
+  }
+
+  u8g->pin_list[U8G_PI_SET_A0] = 0;
+  return 1;
+}
+
+uint8_t u8g_com_arduino_uc_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr)
+{
+  switch(msg)
+  {
+    case U8G_COM_MSG_INIT:
+      //u8g_com_arduino_digital_write(u8g, U8G_PI_SCL, HIGH);
+      //u8g_com_arduino_digital_write(u8g, U8G_PI_SDA, HIGH);
+      //u8g->pin_list[U8G_PI_A0_STATE] = 0;       /* inital RS state: unknown mode */
+    
+      u8g_i2c_init(u8g->pin_list[U8G_PI_I2C_OPTION]);
+
+      break;
+    
+    case U8G_COM_MSG_STOP:
+      break;
+
+    case U8G_COM_MSG_RESET:
+      /* Currently disabled, but it could be enable. Previous restrictions have been removed */
+      /* u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); */
+      break;
+      
+    case U8G_COM_MSG_CHIP_SELECT:
+      u8g->pin_list[U8G_PI_A0_STATE] = 0;
+      u8g->pin_list[U8G_PI_SET_A0] = 1;		/* force a0 to set again, also forces start condition */
+      if ( arg_val == 0 )
+      {
+        /* disable chip, send stop condition */
+	u8g_i2c_stop();
+     }
+      else
+      {
+        /* enable, do nothing: any byte writing will trigger the i2c start */
+      }
+      break;
+
+    case U8G_COM_MSG_WRITE_BYTE:
+      //u8g->pin_list[U8G_PI_SET_A0] = 1;
+      if ( u8g_com_arduino_uc_start_sequence(u8g) == 0 )
+	return u8g_i2c_stop(), 0;
+      if ( u8g_i2c_send_byte(arg_val) == 0 )
+	return u8g_i2c_stop(), 0;
+      // u8g_i2c_stop();
+      break;
+    
+    case U8G_COM_MSG_WRITE_SEQ:
+      //u8g->pin_list[U8G_PI_SET_A0] = 1;
+      if ( u8g_com_arduino_uc_start_sequence(u8g) == 0 )
+	return u8g_i2c_stop(), 0;
+      {
+        register uint8_t *ptr = arg_ptr;
+        while( arg_val > 0 )
+        {
+	  if ( u8g_i2c_send_byte(*ptr++) == 0 )
+	    return u8g_i2c_stop(), 0;
+          arg_val--;
+        }
+      }
+      // u8g_i2c_stop();
+      break;
+
+    case U8G_COM_MSG_WRITE_SEQ_P:
+      //u8g->pin_list[U8G_PI_SET_A0] = 1;
+      if ( u8g_com_arduino_uc_start_sequence(u8g) == 0 )
+	return u8g_i2c_stop(), 0;
+      {
+        register uint8_t *ptr = arg_ptr;
+        while( arg_val > 0 )
+        {
+	  if ( u8g_i2c_send_byte(u8g_pgm_read(ptr)) == 0 )
+	    return 0;
+          ptr++;
+          arg_val--;
+        }
+      }
+      // u8g_i2c_stop();
+      break;
+      
+    case U8G_COM_MSG_ADDRESS:                     /* define cmd (arg_val = 0) or data mode (arg_val = 1) */
+      u8g->pin_list[U8G_PI_A0_STATE] = arg_val;
+      u8g->pin_list[U8G_PI_SET_A0] = 1;		/* force a0 to set again */
+    
+#ifdef OLD_CODE    
+      if ( i2c_state != 0 )
+      {
+	u8g_i2c_stop();
+	i2c_state = 0;
+      }
+
+      if ( u8g_com_arduino_uc_start_sequence(arg_val) == 0 )
+	return 0;
+    
+      /* setup bus, might be a repeated start */
+      /*
+      if ( u8g_i2c_start(I2C_SLA) == 0 )
+	return 0;
+      if ( arg_val == 0 )
+      {
+	i2c_state = 1;
+	
+	if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 )
+	  return 0;
+      }
+      else
+      {
+	i2c_state = 2;
+	if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 )
+	  return 0;
+      }
+      */
+#endif
+      break;
+  }
+  return 1;
+}
+
+#else  /* defined(U8G_WITH_PINLIST) */
+
+uint8_t u8g_com_arduino_uc_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr)
+{
+  return 1;
+}
+
+#endif /* defined(U8G_WITH_PINLIST) */
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c
index 30ee808ea8ccbcfe88c1ece8632e99b72e9d7866..71e378b55c554ccd54610f0c9ff7de1154374eec 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c
@@ -37,6 +37,14 @@
   and
     SCK is at PORTB, Pin 5
 
+  Update for ATOMIC operation done (01 Jun 2013)
+    U8G_ATOMIC_OR(ptr, val)
+    U8G_ATOMIC_AND(ptr, val)
+    U8G_ATOMIC_START()
+    U8G_ATOMIC_END()
+ 
+
+
 */
 
 #include "u8g.h"
@@ -85,6 +93,9 @@ uint8_t u8g_com_atmega_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void
 
       u8g_SetPIOutput(u8g, U8G_PI_CS);
       u8g_SetPIOutput(u8g, U8G_PI_A0);
+      u8g_SetPIOutput(u8g, U8G_PI_RESET);
+      
+      U8G_ATOMIC_START();
       
       DDRB |= _BV(3);          /* D0, MOSI */
       DDRB |= _BV(5);          /* SCK */
@@ -92,6 +103,9 @@ uint8_t u8g_com_atmega_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void
     
       PORTB &= ~_BV(3);        /* D0, MOSI = 0 */
       PORTB &= ~_BV(5);        /* SCK = 0 */
+      
+      U8G_ATOMIC_END();
+      
       u8g_SetPILevel(u8g, U8G_PI_CS, 1);
 
       /*
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_parallel.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_parallel.c
index 603082da27b6c2c998e161177e51c8456119a856..2b49b04fd0b76af01299de7267d1841e048cba26 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_parallel.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_parallel.c
@@ -1,6 +1,6 @@
 /*
   
-  u8g_atmega_parallel.c
+  u8g_com_atmega_parallel.c
 
   Universal 8bit Graphics Library
   
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c
index 52858a61ea1229ec89b91318166fc5776b7212f3..dd0fd4e15aa91748ed8bee2023419dca23e959a9 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c
@@ -38,6 +38,12 @@
   and
     SCK is at PORTB, Pin 5
 
+  Update for ATOMIC operation done (01 Jun 2013)
+    U8G_ATOMIC_OR(ptr, val)
+    U8G_ATOMIC_AND(ptr, val)
+    U8G_ATOMIC_START()
+    U8G_ATOMIC_END()
+ 
 
 */
 
@@ -106,12 +112,16 @@ uint8_t u8g_com_atmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val
       u8g_SetPIOutput(u8g, U8G_PI_CS);
       //u8g_SetPIOutput(u8g, U8G_PI_A0);
       
+      U8G_ATOMIC_START();
+      
       DDRB |= _BV(3);          /* D0, MOSI */
       DDRB |= _BV(5);          /* SCK */
       DDRB |= _BV(2);		/* slave select */
     
       PORTB &= ~_BV(3);        /* D0, MOSI = 0 */
       PORTB &= ~_BV(5);        /* SCK = 0 */
+      U8G_ATOMIC_END();
+      
       u8g_SetPILevel(u8g, U8G_PI_CS, 1);
 
       /*
@@ -125,7 +135,8 @@ uint8_t u8g_com_atmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val
       
       /* maybe set CPOL and CPHA to 1 */
       /* 20 Dez 2012: did set CPOL and CPHA to 1 in Arduino variant! */
-      SPCR =  (1<<SPE) | (1<<MSTR)|(0<<SPR1)|(0<<SPR0)|(0<<CPOL)|(0<<CPHA);
+      /* 24 Jan 2014: implemented, see also issue 221 */
+      SPCR =  (1<<SPE) | (1<<MSTR)|(0<<SPR1)|(0<<SPR0)|(1<<CPOL)|(1<<CPHA);
 #ifdef U8G_HW_SPI_2X
       SPSR = (1 << SPI2X);  /* double speed, issue 89 */
 #endif
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_i2c.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_i2c.c
index 144c7d72005a9e5ec83f2498ba57d39b8547eea6..8e16bead3df38ec447e4081a08868c1b8c2d0051 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_i2c.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_i2c.c
@@ -35,10 +35,13 @@
   
 */
 
+
 #include "u8g.h"
 
-static uint8_t u8g_i2c_err_code;
+//#define U8G_I2C_WITH_NO_ACK
 
+static uint8_t u8g_i2c_err_code;
+static uint8_t u8g_i2c_opt;		/* U8G_I2C_OPT_NO_ACK, SAM: U8G_I2C_OPT_DEV_1 */
 /*
   position values
     1: start condition
@@ -115,10 +118,22 @@ void u8g_i2c_init(uint8_t options)
     TWSR = 0;
 	--> 100KHz
 
+    TWBR = 12;
+    TWSR = 0;
+	--> 400KHz
+
     F_CPU/(2*100000)-8  --> calculate TWBR value for 100KHz
 */
+  u8g_i2c_opt = options;
   TWSR = 0;
-  TWBR = F_CPU/(2*100000)-8;
+  if ( options & U8G_I2C_OPT_FAST )
+  {
+    TWBR = F_CPU/(2*400000)-8;
+  }
+  else
+  {  
+    TWBR = F_CPU/(2*100000)-8;
+  }
   u8g_i2c_clear_error();
 }
 
@@ -129,8 +144,15 @@ uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos)
   {
       if ( cnt == 0 )
       {
-	u8g_i2c_set_error(U8G_I2C_ERR_TIMEOUT, pos);
-	return 0; /* error */
+	if ( u8g_i2c_opt & U8G_I2C_OPT_NO_ACK )
+	{
+	  return 1;	/* all ok */
+	}
+	else
+	{
+	  u8g_i2c_set_error(U8G_I2C_ERR_TIMEOUT, pos);
+	  return 0; /* error */
+	}
       }
       cnt--;
     }
@@ -167,13 +189,20 @@ uint8_t u8g_i2c_start(uint8_t sla)
   /* wait */
   if ( u8g_i2c_wait(_BV(TWINT), 2) == 0 )
     return 0;
-  status = TW_STATUS;
 
-  /* check status after sla */  
-  if ( status != TW_MT_SLA_ACK )
+  if ( u8g_i2c_opt & U8G_I2C_OPT_NO_ACK )
   {
-    u8g_i2c_set_error(U8G_I2C_ERR_BUS, 2);
-    return 0;
+    /* do not check for ACK */
+  }
+  else
+  {
+    status = TW_STATUS;
+    /* check status after sla */  
+    if ( status != TW_MT_SLA_ACK )
+    {
+      u8g_i2c_set_error(U8G_I2C_ERR_BUS, 2);
+      return 0;
+    }
   }
 
    return 1;
@@ -186,14 +215,21 @@ uint8_t u8g_i2c_send_byte(uint8_t data)
   TWCR = _BV(TWINT)  |  _BV(TWEN);
   if ( u8g_i2c_wait(_BV(TWINT), 3) == 0 )
     return 0;
-  status = TW_STATUS;
-  
-  if ( status != TW_MT_DATA_ACK )
+    
+  if ( u8g_i2c_opt & U8G_I2C_OPT_NO_ACK )
   {
-    u8g_i2c_set_error(U8G_I2C_ERR_BUS, 3);
-    return 0;
+    /* do not check for ACK */
   }
-  
+  else
+  {
+    status = TW_STATUS;  
+    if ( status != TW_MT_DATA_ACK )
+    {
+      u8g_i2c_set_error(U8G_I2C_ERR_BUS, 3);
+      return 0;
+    }
+  }
+
   return 1;  
 }
 
@@ -217,6 +253,363 @@ void twi_send(uint8_t adr, uint8_t data1, uint8_t data2)
 }
 */
 
+#elif defined(ARDUINO) && defined(__SAM3X8E__)
+/* Arduino Due */
+#include "Arduino.h"
+#include "sam.h"
+
+/*
+
+Controller
+
+TWI0 TWCK0 PA18 A			DUE PCB: SCL1
+TWI0 TWD0 PA17 A			DUE PCB: SDA1 
+TWI1 TWCK1 PB13 A			DUE PCB: SCL 21
+TWI1 TWD1 PB12 A			DUE PCB: SDA 20
+
+Arduino definitions
+
+#define PIN_WIRE_SDA         (20u)
+#define PIN_WIRE_SCL         (21u)
+#define WIRE_INTERFACE       TWI1
+#define WIRE_INTERFACE_ID    ID_TWI1
+#define WIRE_ISR_HANDLER     TWI1_Handler
+
+#define PIN_WIRE1_SDA        (70u)
+#define PIN_WIRE1_SCL        (71u)
+#define WIRE1_INTERFACE      TWI0
+#define WIRE1_INTERFACE_ID   ID_TWI0
+#define WIRE1_ISR_HANDLER    TWI0_Handler
+
+
+*/
+
+static void i2c_400KHz_delay(void)
+{
+  /* should be at least 4 */
+  /* should be 5 for 100KHz transfer speed */
+ 
+  
+  /*
+    Arduino Due
+    0x NOP: 470KHz
+    4x NOP: 450KHz
+    8x NOP: 430KHz
+    16x NOP: 400KHz
+  */
+  
+  __NOP();
+  __NOP();
+  __NOP();
+  __NOP();
+  
+  __NOP();
+  __NOP();
+  __NOP();
+  __NOP();
+
+  __NOP();
+  __NOP();
+  __NOP();
+  __NOP();
+
+  __NOP();
+  __NOP();
+  __NOP();
+  __NOP();
+}
+
+static void i2c_100KHz_delay(void)
+{
+  /* 
+    1x u8g_MicroDelay()	ca. 130KHz
+    2x u8g_MicroDelay()	ca. 80KHz 
+  */
+  u8g_MicroDelay();
+  u8g_MicroDelay();  
+}
+
+
+uint32_t i2c_started = 0;
+uint32_t i2c_scl_pin = 0;
+uint32_t i2c_sda_pin = 0;
+void (*i2c_delay)(void) = i2c_100KHz_delay;
+
+const PinDescription *i2c_scl_pin_desc;
+const PinDescription *i2c_sda_pin_desc;
+
+
+/* maybe this can be optimized */
+static void i2c_init(void)
+{
+  i2c_sda_pin_desc = &(g_APinDescription[i2c_sda_pin]);
+  i2c_scl_pin_desc = &(g_APinDescription[i2c_scl_pin]);
+  pinMode(i2c_sda_pin, OUTPUT);
+  digitalWrite(i2c_sda_pin, HIGH);
+  pinMode(i2c_scl_pin, OUTPUT);
+  digitalWrite(i2c_scl_pin, HIGH);
+  PIO_Configure( i2c_sda_pin_desc->pPort, PIO_OUTPUT_0, i2c_sda_pin_desc->ulPin, PIO_OPENDRAIN );
+  PIO_Configure( i2c_scl_pin_desc->pPort, PIO_OUTPUT_0, i2c_scl_pin_desc->ulPin, PIO_OPENDRAIN );
+  PIO_Clear( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin) ;
+  PIO_Clear( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin) ;
+  PIO_Configure( i2c_sda_pin_desc->pPort, PIO_INPUT, i2c_sda_pin_desc->ulPin, PIO_DEFAULT ) ;
+  PIO_Configure( i2c_scl_pin_desc->pPort, PIO_INPUT, i2c_scl_pin_desc->ulPin, PIO_DEFAULT ) ;
+  i2c_delay();
+}
+
+/* actually, the scl line is not observed, so this procedure does not return a value */
+static void i2c_read_scl_and_delay(void)
+{
+  uint32_t dwMask = i2c_scl_pin_desc->ulPin;
+  //PIO_Configure( i2c_scl_pin_desc->pPort, PIO_INPUT, i2c_scl_pin_desc->ulPin, PIO_DEFAULT ) ;
+  //PIO_SetInput( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin, PIO_DEFAULT ) ;
+
+  /* set as input */
+  i2c_scl_pin_desc->pPort->PIO_ODR = dwMask ;
+  i2c_scl_pin_desc->pPort->PIO_PER = dwMask ;
+
+  i2c_delay();
+}
+
+static void i2c_clear_scl(void)
+{
+  uint32_t dwMask = i2c_scl_pin_desc->ulPin;
+  
+  /* set open collector and drive low */
+  //PIO_Configure( i2c_scl_pin_desc->pPort, PIO_OUTPUT_0, i2c_scl_pin_desc->ulPin, PIO_OPENDRAIN );
+  //PIO_SetOutput( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin, 0, 1, 0);
+
+  /* open drain, zero default output */
+  i2c_scl_pin_desc->pPort->PIO_MDER = dwMask;
+  i2c_scl_pin_desc->pPort->PIO_CODR = dwMask;
+  i2c_scl_pin_desc->pPort->PIO_OER = dwMask;
+  i2c_scl_pin_desc->pPort->PIO_PER = dwMask;
+
+  //PIO_Clear( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin) ;
+}
+
+static uint8_t i2c_read_sda(void)
+{
+  uint32_t dwMask = i2c_sda_pin_desc->ulPin;
+  //PIO_Configure( i2c_sda_pin_desc->pPort, PIO_INPUT, i2c_sda_pin_desc->ulPin, PIO_DEFAULT ) ;
+  //PIO_SetInput( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin, PIO_DEFAULT ) ;
+
+  /* set as input */
+  i2c_sda_pin_desc->pPort->PIO_ODR = dwMask ;
+  i2c_sda_pin_desc->pPort->PIO_PER = dwMask ;
+
+
+  return 1;
+}
+
+static void i2c_clear_sda(void)
+{
+  uint32_t dwMask = i2c_sda_pin_desc->ulPin;
+  
+  /* set open collector and drive low */
+  //PIO_Configure( i2c_sda_pin_desc->pPort, PIO_OUTPUT_0, i2c_sda_pin_desc->ulPin, PIO_OPENDRAIN );
+  //PIO_SetOutput( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin, 0, 1, 0);
+  
+  /* open drain, zero default output */
+  i2c_sda_pin_desc->pPort->PIO_MDER = dwMask ;
+  i2c_sda_pin_desc->pPort->PIO_CODR = dwMask ;
+  i2c_sda_pin_desc->pPort->PIO_OER = dwMask ;
+  i2c_sda_pin_desc->pPort->PIO_PER = dwMask ;
+  
+  //PIO_Clear( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin) ;
+}
+
+static void i2c_start(void)
+{
+  if ( i2c_started != 0 )
+  {
+    /* if already started: do restart */
+    i2c_read_sda();     /* SDA = 1 */
+    i2c_delay();
+    i2c_read_scl_and_delay();
+  }
+  i2c_read_sda();
+  /*
+  if (i2c_read_sda() == 0)
+  {
+    // do something because arbitration is lost
+  }
+  */
+  /* send the start condition, both lines go from 1 to 0 */
+  i2c_clear_sda();
+  i2c_delay();
+  i2c_clear_scl();
+  i2c_started = 1;
+}
+
+
+static void i2c_stop(void)
+{
+  /* set SDA to 0 */
+  i2c_clear_sda();  
+  i2c_delay();
+ 
+  /* now release all lines */
+  i2c_read_scl_and_delay();
+ 
+  /* set SDA to 1 */
+  i2c_read_sda();
+  i2c_delay();
+  i2c_started = 0;
+}
+
+static void i2c_write_bit(uint8_t val)
+{
+  if (val)
+    i2c_read_sda();
+  else
+    i2c_clear_sda();
+ 
+  i2c_delay();
+  i2c_read_scl_and_delay();
+  i2c_clear_scl();
+}
+
+static uint8_t i2c_read_bit(void)
+{
+  uint8_t val;
+  /* do not drive SDA */
+  i2c_read_sda();
+  i2c_delay();
+  i2c_read_scl_and_delay();
+  val = i2c_read_sda();
+  i2c_delay();
+  i2c_clear_scl();
+  return val;
+}
+
+static uint8_t i2c_write_byte(uint8_t b)
+{
+  i2c_write_bit(b & 128);
+  i2c_write_bit(b & 64);
+  i2c_write_bit(b & 32);
+  i2c_write_bit(b & 16);
+  i2c_write_bit(b & 8);
+  i2c_write_bit(b & 4);
+  i2c_write_bit(b & 2);
+  i2c_write_bit(b & 1);
+    
+  /* read ack from client */
+  /* 0: ack was given by client */
+  /* 1: nothing happend during ack cycle */  
+  return i2c_read_bit();
+}
+
+
+
+void u8g_i2c_init(uint8_t options)
+{
+  u8g_i2c_opt = options;
+  u8g_i2c_clear_error();
+
+  if ( u8g_i2c_opt & U8G_I2C_OPT_FAST )
+  {
+    i2c_delay = i2c_400KHz_delay;
+  }
+  else
+  {
+    i2c_delay = i2c_100KHz_delay;
+  }
+
+
+  if ( u8g_i2c_opt & U8G_I2C_OPT_DEV_1 )
+  {
+    i2c_scl_pin = PIN_WIRE1_SCL;
+    i2c_sda_pin = PIN_WIRE1_SDA;
+    
+    //REG_PIOA_PDR = PIO_PB12A_TWD1 | PIO_PB13A_TWCK1;
+  }
+  else
+  {    
+    
+    i2c_scl_pin = PIN_WIRE_SCL;
+    i2c_sda_pin = PIN_WIRE_SDA;
+    
+    //REG_PIOA_PDR = PIO_PA17A_TWD0 | PIO_PA18A_TWCK0;
+  }
+  
+  i2c_init();
+
+}
+
+/* sla includes also the r/w bit */
+uint8_t u8g_i2c_start(uint8_t sla)
+{  
+  i2c_start();
+  i2c_write_byte(sla);
+  return 1;
+}
+
+uint8_t u8g_i2c_send_byte(uint8_t data)
+{
+  return i2c_write_byte(data);
+}
+
+void u8g_i2c_stop(void)
+{
+  i2c_stop();
+}
+
+
+#elif defined(U8G_RASPBERRY_PI)
+
+#include <wiringPi.h>
+#include <wiringPiI2C.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+
+#define I2C_SLA         0x3c
+
+static int fd=-1;
+static uint8_t i2cMode = 0;
+
+void u8g_i2c_init(uint8_t options) {
+   u8g_i2c_clear_error();
+   u8g_i2c_opt = options;
+
+   if (wiringPiSetup() == -1) {
+      printf("wiringPi-Error\n");
+      exit(1);
+   }
+
+   fd = wiringPiI2CSetup(I2C_SLA);
+   if (fd < 0) {
+      printf ("Unable to open I2C device 0: %s\n", strerror (errno)) ;
+      exit (1) ;
+   }
+   //u8g_SetPIOutput(u8g, U8G_PI_RESET);
+   //u8g_SetPIOutput(u8g, U8G_PI_A0);
+}
+uint8_t u8g_i2c_start(uint8_t sla) {
+   u8g_i2c_send_mode(0);
+
+   return 1;
+}
+
+void u8g_i2c_stop(void) {
+}
+
+uint8_t u8g_i2c_send_mode(uint8_t mode) {
+   i2cMode = mode;
+} 
+
+uint8_t u8g_i2c_send_byte(uint8_t data) {
+   wiringPiI2CWriteReg8(fd, i2cMode, data);
+
+   return 1;
+}
+
+uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos)
+{
+  return 1;
+}
+
 #else
 
 /* empty interface */
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_io.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_io.c
index 50d26c93d5d7f1cf224eb50b61724adf39d97fd1..38a88a0fab54099e86e0d697852bf42715fe00ff 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_io.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_io.c
@@ -32,7 +32,19 @@
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
-  
+
+  Update for ATOMIC operation done (01 Jun 2013)
+    U8G_ATOMIC_OR(ptr, val)
+    U8G_ATOMIC_AND(ptr, val)
+    U8G_ATOMIC_START();
+    U8G_ATOMIC_END();
+
+  uint8_t u8g_Pin(uint8_t port, uint8_t bitpos)						Convert to internal number: AVR: port*8+bitpos, ARM: port*16+bitpos
+  void u8g_SetPinOutput(uint8_t internal_pin_number)
+  void u8g_SetPinInput(uint8_t internal_pin_number)
+  void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level)
+  uint8_t u8g_GetPinLevel(uint8_t internal_pin_number)
+
 
 */
 
@@ -159,9 +171,16 @@ void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level)
   volatile uint8_t * tmp = u8g_get_avr_io_ptr(u8g_avr_port_P, internal_pin_number>>3);
   
   if ( level == 0 )
-    *tmp &= ~_BV(internal_pin_number&7);
+  {
+    U8G_ATOMIC_AND(tmp, ~_BV(internal_pin_number&7));
+   // *tmp &= ~_BV(internal_pin_number&7);
+  }
   else
-    *tmp |= _BV(internal_pin_number&7);
+  {
+    U8G_ATOMIC_OR(tmp, _BV(internal_pin_number&7));
+    //*tmp |= _BV(internal_pin_number&7);
+  }
+  
 }
 
 uint8_t u8g_GetPinLevel(uint8_t internal_pin_number)
@@ -172,8 +191,31 @@ uint8_t u8g_GetPinLevel(uint8_t internal_pin_number)
   return 0;
 }
 
+#elif defined(U8G_RASPBERRY_PI)
+
+#include <wiringPi.h>
+//#include "/usr/local/include/wiringPi.h"
+
+void u8g_SetPinOutput(uint8_t internal_pin_number) {
+   pinMode(internal_pin_number, OUTPUT);
+}
+
+void u8g_SetPinInput(uint8_t internal_pin_number) {
+   pinMode(internal_pin_number, INPUT);
+}
+
+void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) {
+   digitalWrite(internal_pin_number, level);
+}
+
+uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) {
+   return digitalRead(internal_pin_number);
+}
+
+
 #else
 
+/* convert "port" and "bitpos" to internal pin number */
 uint8_t u8g_Pin(uint8_t port, uint8_t bitpos)
 {
   port <<= 3;
@@ -201,6 +243,8 @@ uint8_t u8g_GetPinLevel(uint8_t internal_pin_number)
 #endif
 
 
+#if defined(U8G_WITH_PINLIST)
+
 void u8g_SetPIOutput(u8g_t *u8g, uint8_t pi)
 {
   uint8_t pin;
@@ -216,3 +260,14 @@ void u8g_SetPILevel(u8g_t *u8g, uint8_t pi, uint8_t level)
   if ( pin != U8G_PIN_NONE )
     u8g_SetPinLevel(pin, level);
 }
+
+#else  /* defined(U8G_WITH_PINLIST) */
+void u8g_SetPIOutput(u8g_t *u8g, uint8_t pi)
+{
+}
+
+void u8g_SetPILevel(u8g_t *u8g, uint8_t pi, uint8_t level)
+{
+}
+
+#endif /* defined(U8G_WITH_PINLIST) */
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_raspberrypi_hw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_raspberrypi_hw_spi.c
new file mode 100644
index 0000000000000000000000000000000000000000..611391f54b5b5723cd5c890ae2a0266d24a52f65
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_raspberrypi_hw_spi.c
@@ -0,0 +1,124 @@
+/*
+  
+  u8g_com_raspberrypi_hw_spi.c
+
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2012, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+  
+  Assumes, that 
+    MOSI is at PORTB, Pin 3
+  and
+    SCK is at PORTB, Pin 5
+
+  Update for ATOMIC operation done (01 Jun 2013)
+    U8G_ATOMIC_OR(ptr, val)
+    U8G_ATOMIC_AND(ptr, val)
+    U8G_ATOMIC_START()
+    U8G_ATOMIC_END()
+ 
+
+
+*/
+
+#include "u8g.h"
+
+
+
+#if defined(U8G_RASPBERRY_PI)
+
+#include <wiringPiSPI.h>
+#include <wiringPi.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+
+uint8_t u8g_com_raspberrypi_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr)
+{
+  switch(msg)
+  {
+    case U8G_COM_MSG_STOP:
+      break;
+    
+    case U8G_COM_MSG_INIT:
+		// check wiringPi setup
+		if (wiringPiSetup() == -1)
+		{
+			printf("wiringPi-Error\n");
+			exit(1);
+		}
+
+		if (wiringPiSPISetup (0, 100000) < 0)
+		{
+			printf ("Unable to open SPI device 0: %s\n", strerror (errno)) ;
+			exit (1) ;
+		}
+		
+		u8g_SetPIOutput(u8g, U8G_PI_RESET);
+		u8g_SetPIOutput(u8g, U8G_PI_A0);
+
+      break;
+    
+    case U8G_COM_MSG_ADDRESS:                     /* define cmd (arg_val = 0) or data mode (arg_val = 1) */
+	  u8g_SetPILevel(u8g, U8G_PI_A0, arg_val);
+      break;
+
+    case U8G_COM_MSG_CHIP_SELECT:
+		/* Done by the SPI hardware */
+      break;
+      
+    case U8G_COM_MSG_RESET:
+      u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val);
+      break;
+    
+    case U8G_COM_MSG_WRITE_BYTE:
+		wiringPiSPIDataRW (0, &arg_val, 1) ;
+      break;
+    
+    case U8G_COM_MSG_WRITE_SEQ:
+		wiringPiSPIDataRW (0, arg_ptr, arg_val);
+      break;
+
+	case U8G_COM_MSG_WRITE_SEQ_P:
+		wiringPiSPIDataRW (0, arg_ptr, arg_val);		
+      break;
+  }
+  return 1;
+}
+
+#else
+
+uint8_t u8g_com_raspberrypi_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr)
+{
+  return 1;
+}
+
+#endif
+
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_raspberrypi_ssd_i2c.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_raspberrypi_ssd_i2c.c
new file mode 100644
index 0000000000000000000000000000000000000000..88d85ded217d0de4639fbe2d48d20d0e220d67c3
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_raspberrypi_ssd_i2c.c
@@ -0,0 +1,176 @@
+/*  
+  Special pin usage:
+    U8G_PI_I2C_OPTION	additional options
+    U8G_PI_A0_STATE	used to store the last value of the command/data register selection
+    U8G_PI_SET_A0		1: Signal request to update I2C device with new A0_STATE, 0: Do nothing, A0_STATE matches I2C device
+    U8G_PI_SCL		clock line (NOT USED)
+    U8G_PI_SDA		data line (NOT USED)
+    
+    U8G_PI_RESET		reset line (currently disabled, see below)
+
+  Protocol:
+    SLA, Cmd/Data Selection, Arguments
+    The command/data register is selected by a special instruction byte, which is sent after SLA
+    
+    The continue bit is always 0 so that a (re)start is equired for the change from cmd to/data mode
+*/
+
+#include "u8g.h"
+
+#if defined(U8G_RASPBERRY_PI)
+
+#include <wiringPi.h>
+#include <wiringPiI2C.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+
+#define I2C_SLA		0x3c
+#define I2C_CMD_MODE	0x000
+#define I2C_DATA_MODE	0x040
+
+#if defined(U8G_WITH_PINLIST)
+
+uint8_t u8g_com_raspberrypi_ssd_start_sequence(u8g_t *u8g)
+{
+  /* are we requested to set the a0 state? */
+  if ( u8g->pin_list[U8G_PI_SET_A0] == 0 )
+    return 1;	
+  
+  /* setup bus, might be a repeated start */
+  if ( u8g_i2c_start(I2C_SLA) == 0 )
+    return 0;
+  if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 )
+  {
+    if ( u8g_i2c_send_mode(I2C_CMD_MODE) == 0 )
+      return 0;
+  }
+  else
+  {
+    if ( u8g_i2c_send_mode(I2C_DATA_MODE) == 0 )
+      return 0;
+  }
+  
+  
+  u8g->pin_list[U8G_PI_SET_A0] = 0;
+  return 1;
+}
+
+uint8_t u8g_com_raspberrypi_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr)
+{
+  switch(msg)
+  {
+    case U8G_COM_MSG_INIT:
+      u8g_i2c_init(u8g->pin_list[U8G_PI_I2C_OPTION]);
+      u8g_SetPIOutput(u8g, U8G_PI_RESET);
+      u8g_SetPIOutput(u8g, U8G_PI_A0);
+      break;
+    
+    case U8G_COM_MSG_STOP:
+      break;
+
+    case U8G_COM_MSG_RESET:
+      break;
+      
+    case U8G_COM_MSG_CHIP_SELECT:
+      u8g->pin_list[U8G_PI_A0_STATE] = 0;
+      u8g->pin_list[U8G_PI_SET_A0] = 1;		/* force a0 to set again, also forces start condition */
+      if ( arg_val == 0 )
+      {
+        /* disable chip, send stop condition */
+	u8g_i2c_stop();
+     }
+      else
+      {
+        /* enable, do nothing: any byte writing will trigger the i2c start */
+      }
+      break;
+
+    case U8G_COM_MSG_WRITE_BYTE:
+      //u8g->pin_list[U8G_PI_SET_A0] = 1;
+      if ( u8g_com_raspberrypi_ssd_start_sequence(u8g) == 0 )
+	return u8g_i2c_stop(), 0;
+      if ( u8g_i2c_send_byte(arg_val) == 0 )
+	return u8g_i2c_stop(), 0;
+      // u8g_i2c_stop();
+      break;
+    
+    case U8G_COM_MSG_WRITE_SEQ:
+      //u8g->pin_list[U8G_PI_SET_A0] = 1;
+      if ( u8g_com_raspberrypi_ssd_start_sequence(u8g) == 0 )
+	return u8g_i2c_stop(), 0;
+      {
+        register uint8_t *ptr = (uint8_t *)arg_ptr;
+        while( arg_val > 0 )
+        {
+	  if ( u8g_i2c_send_byte(*ptr++) == 0 )
+	    return u8g_i2c_stop(), 0;
+          arg_val--;
+        }
+      }
+      // u8g_i2c_stop();
+      break;
+
+    case U8G_COM_MSG_WRITE_SEQ_P:
+      //u8g->pin_list[U8G_PI_SET_A0] = 1;
+      if ( u8g_com_raspberrypi_ssd_start_sequence(u8g) == 0 )
+	return u8g_i2c_stop(), 0;
+      {
+        register uint8_t *ptr = (uint8_t *)arg_ptr;
+        while( arg_val > 0 )
+        {
+	  if ( u8g_i2c_send_byte(u8g_pgm_read(ptr)) == 0 )
+	    return 0;
+          ptr++;
+          arg_val--;
+        }
+      }
+      // u8g_i2c_stop();
+      break;
+      
+    case U8G_COM_MSG_ADDRESS:                     /* define cmd (arg_val = 0) or data mode (arg_val = 1) */
+      u8g->pin_list[U8G_PI_A0_STATE] = arg_val;
+      u8g->pin_list[U8G_PI_SET_A0] = 1;		/* force a0 to set again */
+    
+#ifdef OLD_CODE    
+      if ( i2c_state != 0 )
+      {
+	u8g_i2c_stop();
+	i2c_state = 0;
+      }
+
+      if ( u8g_com_raspberrypi_ssd_start_sequence(arg_val) == 0 )
+	return 0;
+    
+      /* setup bus, might be a repeated start */
+      /*
+      if ( u8g_i2c_start(I2C_SLA) == 0 )
+	return 0;
+      if ( arg_val == 0 )
+      {
+	i2c_state = 1;
+	
+	if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 )
+	  return 0;
+      }
+      else
+      {
+	i2c_state = 2;
+	if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 )
+	  return 0;
+      }
+      */
+#endif
+      break;
+  }
+  return 1;
+}
+
+#else	/* defined(U8G_WITH_PINLIST) */
+
+uint8_t u8g_com_raspberrypi_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) {
+   return 1;
+}
+
+#endif	/* defined(U8G_WITH_PINLIST) */
+#endif
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_delay.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_delay.c
index e6a0661b3c0157e0f8e78a7b466d73f104038938..a1329da1dd0569a50ef4b8f28baa4932f656d1f0 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_delay.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_delay.c
@@ -30,7 +30,12 @@
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
-  
+
+
+  void u8g_Delay(uint16_t val)		Delay by "val" milliseconds
+  void u8g_MicroDelay(void)		Delay be one microsecond
+  void u8g_10MicroDelay(void)	Delay by 10 microseconds
+
   
 */
 
@@ -40,19 +45,37 @@
 /*==== Part 1: Derive suitable delay procedure ====*/
 
 #if defined(ARDUINO)
+
+#  if ARDUINO < 100 
+#    include <WProgram.h> 
+#  else 
+#    include <Arduino.h> 
+#  endif
+
 #  if defined(__AVR__)
 #    define USE_AVR_DELAY
 #  elif defined(__PIC32MX)
 #    define USE_PIC32_DELAY
-#  elif defined(__arm__)		/* Arduino Due */
+#  elif defined(__arm__)		/* Arduino Due & Teensy */
 #    define USE_ARDUINO_DELAY
 #  else
 #    define USE_ARDUINO_DELAY
 #  endif
+#elif defined(U8G_RASPBERRY_PI)
+#  define USE_RASPBERRYPI_DELAY
 #elif defined(__AVR__)
 #  define USE_AVR_DELAY
 #elif defined(__18CXX)
 #  define USE_PIC18_DELAY
+#elif defined(__arm__)
+/* do not define anything, all procedures are expected to be defined outside u8glib */
+
+/*
+void u8g_Delay(uint16_t val);
+void u8g_MicroDelay(void);
+void u8g_10MicroDelay(void);
+*/
+
 #else
 #  define USE_DUMMY_DELAY
 #endif
@@ -61,6 +84,26 @@
 
 /*==== Part 2: Definition of the delay procedures ====*/
 
+/*== Raspberry Pi Delay ==*/
+#if defined (USE_RASPBERRYPI_DELAY)
+#include <wiringPi.h>
+//#include "/usr/local/include/wiringPi.h"
+void u8g_Delay(uint16_t val) {
+   //delay(val);
+   //usleep((uint32_t)val*(uint32_t)1000);
+   delayMicroseconds((uint32_t)val*(uint32_t)1000);
+}
+void u8g_MicroDelay(void)
+{
+   usleep(1);
+}
+void u8g_10MicroDelay(void)
+{
+   usleep(10);
+}
+#endif
+
+
 /*== AVR Delay ==*/
 
 #if defined(USE_AVR_DELAY)
@@ -144,7 +187,11 @@ void u8g_10MicroDelay(void)
 #if defined(USE_ARDUINO_DELAY)
 void u8g_Delay(uint16_t val)
 {
+#if defined(__arm__)
+	delayMicroseconds((uint32_t)val*(uint32_t)1000);
+#else
 	delay(val);
+#endif
 }
 void u8g_MicroDelay(void)
 {
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_a2_micro_printer.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_a2_micro_printer.c
new file mode 100644
index 0000000000000000000000000000000000000000..8968a26da5c3268d523820c7e63aa0fe579c8920
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_a2_micro_printer.c
@@ -0,0 +1,199 @@
+/*
+
+  u8g_dev_a2_micro_printer_ds.c
+
+  Use DC2 bitmap command of the A2 Micro panel termal printer
+  double stroke
+
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2013, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+  
+*/
+
+#include "u8g.h"
+
+#define LINE_DELAY 40
+
+
+uint8_t u8g_dev_a2_micro_printer_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        uint8_t y, i, j;
+        uint8_t *ptr;
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+        
+        y = pb->p.page_y0;
+        ptr = pb->buf;
+
+	u8g_WriteByte(u8g, dev, 27);      /* ESC */
+	u8g_WriteByte(u8g, dev, 55 );      /* parameter command */
+	u8g_WriteByte(u8g, dev, 7);      /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/
+	u8g_WriteByte(u8g, dev, 160);      /* 3-255 Heating time,Unit(10us),Default:80(800us) */
+	u8g_WriteByte(u8g, dev, 20);      /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/
+	
+	u8g_WriteByte(u8g, dev, 18);      /* DC2 */
+	u8g_WriteByte(u8g, dev, 42 );      /* *  */
+	u8g_WriteByte(u8g, dev, pb->p.page_height ); 
+	u8g_WriteByte(u8g, dev, pb->width/8 ); 
+	
+        for( i = 0; i < pb->p.page_height; i ++ )
+        {
+	  for( j = 0; j < pb->width/8; j++ )
+	  {
+	    u8g_WriteByte(u8g, dev, *ptr);
+	    ptr++;
+	  }
+	  u8g_Delay(LINE_DELAY);
+          y++;
+        }
+
+	/* set parameters back to their default values */
+	u8g_WriteByte(u8g, dev, 27);      /* ESC */
+	u8g_WriteByte(u8g, dev, 55 );      /* parameter command */
+	u8g_WriteByte(u8g, dev, 7);      /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/
+	u8g_WriteByte(u8g, dev, 80);      /* 3-255 Heating time,Unit(10us),Default:80(800us) */
+	u8g_WriteByte(u8g, dev, 2);      /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/
+	
+      }
+      break;
+  }
+  return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg);
+}
+
+static uint8_t u8g_dev_expand4(uint8_t val)
+{
+  uint8_t a,b,c,d;
+  a = val&1;
+  b = (val&2)<<1;
+  c = (val&4)<<2;
+  d = (val&8)<<3;
+  a |=b;
+  a |=c;
+  a |=d;
+  a |= a<<1;
+  return a;
+}
+
+uint8_t u8g_dev_a2_micro_printer_double_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_FIRST:
+      {
+        //u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+	//u8g_WriteByte(u8g, dev, 18);      /* DC2 */
+	//u8g_WriteByte(u8g, dev, 42 );      /* *  */
+	//u8g_WriteByte(u8g, dev, pb->p.total_height*2 ); 
+	//u8g_WriteByte(u8g, dev, pb->width/8*2 ); 
+      }
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        uint8_t y, i, j;
+        uint8_t *ptr;
+        uint8_t *p2;
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+        
+        y = pb->p.page_y0;
+        ptr = pb->buf;
+	//u8g_WriteByte(u8g, dev, 18);      /* DC2 */
+	//u8g_WriteByte(u8g, dev, 35 );      /* #  */
+	//u8g_WriteByte(u8g, dev, 0x0ff );      /* max  */
+
+	u8g_WriteByte(u8g, dev, 27);      /* ESC */
+	u8g_WriteByte(u8g, dev, 55 );      /* parameter command */
+	u8g_WriteByte(u8g, dev, 7);      /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/
+	u8g_WriteByte(u8g, dev, 160);      /* 3-255 Heating time,Unit(10us),Default:80(800us) */
+	u8g_WriteByte(u8g, dev, 20);      /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/
+	
+	u8g_WriteByte(u8g, dev, 18);      /* DC2 */
+	u8g_WriteByte(u8g, dev, 42 );      /* *  */
+	u8g_WriteByte(u8g, dev, pb->p.page_height*2 ); 
+	u8g_WriteByte(u8g, dev, pb->width/8*2 ); 
+	
+        for( i = 0; i < pb->p.page_height; i ++ )
+        {
+	  p2 = ptr;
+	  for( j = 0; j < pb->width/8; j++ )
+	  {
+	    u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 >> 4));
+	    u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 & 15));
+	    p2++;
+	  }
+	  u8g_Delay(LINE_DELAY);
+	  p2 = ptr;
+	  for( j = 0; j < pb->width/8; j++ )
+	  {
+	    u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 >> 4));
+	    u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 & 15));
+	    p2++;
+	  }
+	  u8g_Delay(LINE_DELAY);
+	  ptr += pb->width/8;
+          y++;
+        }
+	
+	/* set parameters back to their default values */
+	u8g_WriteByte(u8g, dev, 27);      /* ESC */
+	u8g_WriteByte(u8g, dev, 55 );      /* parameter command */
+	u8g_WriteByte(u8g, dev, 7);      /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/
+	u8g_WriteByte(u8g, dev, 80);      /* 3-255 Heating time,Unit(10us),Default:80(800us) */
+	u8g_WriteByte(u8g, dev, 2);      /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/
+	
+      }
+      break;
+  }
+  return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg);
+}
+
+#if defined(U8G_16BIT)
+U8G_PB_DEV(u8g_dev_a2_micro_printer_384x240, 384, 240, 8, u8g_dev_a2_micro_printer_fn, u8g_com_null_fn);
+U8G_PB_DEV(u8g_dev_a2_micro_printer_192x360_ds, 192, 360, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn);
+U8G_PB_DEV(u8g_dev_a2_micro_printer_192x720_ds, 192, 720, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn);
+#else
+U8G_PB_DEV(u8g_dev_a2_micro_printer_384x240, 240, 240, 8, u8g_dev_a2_micro_printer_fn, u8g_com_null_fn);
+U8G_PB_DEV(u8g_dev_a2_micro_printer_192x360_ds, 192, 240, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn);
+U8G_PB_DEV(u8g_dev_a2_micro_printer_192x720_ds, 192, 240, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn);
+#endif
+
+U8G_PB_DEV(u8g_dev_a2_micro_printer_192x120_ds, 192, 120, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn);
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c
index bb368de438d07a23f749a5e9e90f01aa1c918c36..d86d08e050451ec2c1991d0e51460378b221c537 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c
@@ -78,7 +78,7 @@ uint8_t u8g_dev_flipdisc_2x7_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void
 	/* current page: pb->p.page */
 	/* ptr to the buffer: pb->buf */
 	
-	(*u8g_write_flip_disc_matrix)(0, pb->p.page, WIDTH, pb->buf, pb->buf+WIDTH);
+	(*u8g_write_flip_disc_matrix)(0, pb->p.page, WIDTH, pb->buf, (uint8_t *)(pb->buf)+WIDTH);
       }
       break;
     case U8G_DEV_MSG_CONTRAST:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_gprof.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_gprof.c
index a486a214330813e82bc7b1755c4d630a62386410..cb2342ac4a78b3b1c36137ae4e40b04c5e2db5be 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_gprof.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_gprof.c
@@ -121,7 +121,7 @@ uint8_t u8g_dev_gprof_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
     case U8G_DEV_MSG_GET_PAGE_BOX:
       u8g_pb_GetPageBox(pb, (u8g_box_t *)arg);
       break;
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
       break;
     case U8G_DEV_MSG_SET_XY_CB:
       break;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ht1632.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ht1632.c
new file mode 100644
index 0000000000000000000000000000000000000000..4977793f1e022806d469393fba1443db8822d0ee
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ht1632.c
@@ -0,0 +1,281 @@
+/*
+ 
+  u8g_dev_ht1632.c
+ 
+  1-Bit (BW) Driver for HT1632 controller
+ 
+  Universal 8bit Graphics Library
+ 
+  Copyright (c) 2013, olikraus@gmail.com
+  All rights reserved.
+ 
+  Redistribution and use in source and binary forms, with or without modification,
+  are permitted provided that the following conditions are met:
+ 
+  * Redistributions of source code must retain the above copyright notice, this list
+    of conditions and the following disclaimer.
+   
+  * Redistributions in binary form must reproduce the above copyright notice, this
+    list of conditions and the following disclaimer in the documentation and/or other
+    materials provided with the distribution.
+ 
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+    U8G_PIN_NONE can be used as argument
+   
+    uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset)
+    {
+      ...      
+      u8g->pin_list[U8G_PI_SCK] = sck;
+      u8g->pin_list[U8G_PI_MOSI] = mosi;
+      u8g->pin_list[U8G_PI_CS] = cs;
+      u8g->pin_list[U8G_PI_A0] = a0;
+      u8g->pin_list[U8G_PI_RESET] = reset;
+
+mapping  
+
+#define DATA_PIN --> U8G_PI_MOSI
+#define WR_PIN    --> U8G_PI_SCK
+#define CS_PIN      --> U8G_PI_CS
+				    U8G_PI_A0 --> not used
+				    U8G_PI_RESET --> not used
+
+Usage:
+
+    u8g_InitSPI(&u8g, &u8g_dev_ht1632_24x16, WR_PIN, DATA_IN, CS_PIN, U8G_PIN_NONE, U8G_PIN_NONE)
+
+*/
+ 
+#include "u8g.h"
+ 
+#define WIDTH 24
+#define HEIGHT 16
+#define PAGE_HEIGHT 16
+ 
+/* http://forum.arduino.cc/index.php?topic=168537.0 */
+ 
+#define HT1632_CMD_SYSDIS       0x00    // CMD= 0000-0000-x Turn off oscil
+#define HT1632_CMD_SYSON        0x01    // CMD= 0000-0001-x Enable system oscil
+#define HT1632_CMD_LEDOFF       0x02    // CMD= 0000-0010-x LED duty cycle gen off
+#define HT1632_CMD_LEDON        0x03    // CMD= 0000-0011-x LEDs ON
+#define HT1632_CMD_BLOFF        0x08    // CMD= 0000-1000-x Blink OFF
+#define HT1632_CMD_BLON         0x09    // CMD= 0000-1001-x Blink On
+#define HT1632_CMD_SLVMD        0x10    // CMD= 0001-00xx-x Slave Mode
+#define HT1632_CMD_MSTMD        0x14    // CMD= 0001-01xx-x Master Mode
+#define HT1632_CMD_RCCLK        0x18    // CMD= 0001-10xx-x Use on-chip clock
+#define HT1632_CMD_EXTCLK       0x1C    // CMD= 0001-11xx-x Use external clock
+#define HT1632_CMD_COMS00       0x20    // CMD= 0010-ABxx-x commons options
+#define HT1632_CMD_COMS01       0x24    // CMD= 0010-ABxx-x commons options
+#define HT1632_CMD_COMS10       0x28    // CMD= 0010-ABxx-x commons options
+#define HT1632_CMD_COMS11       0x2C    // P-MOS OUTPUT AND 16COMMON OPTION
+#define HT1632_CMD_PWM          0xA0    // CMD= 101x-PPPP-x PWM duty cycle
+ 
+#define HT1632_ID_CMD   4       /* ID = 100 - Commands */
+#define HT1632_ID_RD    6       /* ID = 110 - Read RAM */
+#define HT1632_ID_WR    5       /* ID = 101 - Write RAM */
+ 
+#define HT1632_ID_LEN           3               // IDs are 3 bits
+#define HT1632_CMD_LEN          8               // CMDs are 8 bits
+#define HT1632_DATA_LEN         8               // Data are 4*2 bits
+#define HT1632_ADDR_LEN         7               // Address are 7 bits
+ 
+#if defined(ARDUINO)
+ 
+#if ARDUINO < 100
+#include <WProgram.h>
+#else
+#include <Arduino.h>
+#endif
+ 
+//#define WR_PIN 3
+//#define DATA_PIN 2
+//#define CS_PIN 4
+ 
+void ht1632_write_data_MSB(u8g_t *u8g, uint8_t cnt, uint8_t data, uint8_t extra)
+{
+  int8_t i;
+  uint8_t data_pin = u8g->pin_list[U8G_PI_MOSI];
+  uint8_t wr_pin = u8g->pin_list[U8G_PI_SCK];
+ 
+  for(i = cnt - 1; i >= 0; i--)
+  {
+    if ((data >> i) & 1)
+    {  
+      digitalWrite(data_pin, HIGH);
+    }
+    else
+    {
+      digitalWrite(data_pin, LOW);
+    }
+ 
+    digitalWrite(wr_pin, LOW);
+    u8g_MicroDelay();
+    digitalWrite(wr_pin, HIGH);
+    u8g_MicroDelay();
+  }
+ 
+  // Send an extra bit
+  if (extra)
+  {
+    digitalWrite(data_pin, HIGH);
+    digitalWrite(wr_pin, LOW);
+    u8g_MicroDelay();
+    digitalWrite(wr_pin, HIGH);
+    u8g_MicroDelay();
+  }
+}
+ 
+void ht1632_write_data(u8g_t *u8g, uint8_t cnt, uint8_t data)
+{
+  uint8_t i;
+  uint8_t data_pin = u8g->pin_list[U8G_PI_MOSI];
+  uint8_t wr_pin = u8g->pin_list[U8G_PI_SCK];
+  for (i = 0; i < cnt; i++)
+  {
+ 
+    if ((data >> i) & 1) {
+      digitalWrite(data_pin, HIGH);
+    }
+    else {
+      digitalWrite(data_pin, LOW);
+    }
+ 
+    digitalWrite(wr_pin, LOW);
+    u8g_MicroDelay();
+    digitalWrite(wr_pin, HIGH);
+    u8g_MicroDelay();
+  }
+}
+ 
+ 
+void ht1632_init(u8g_t *u8g)
+{
+  //uint8_t i;
+  uint8_t data_pin = u8g->pin_list[U8G_PI_MOSI];
+  uint8_t wr_pin = u8g->pin_list[U8G_PI_SCK];
+  uint8_t cs_pin = u8g->pin_list[U8G_PI_CS];
+  pinMode(data_pin, OUTPUT);
+  pinMode(wr_pin, OUTPUT);
+  pinMode(cs_pin, OUTPUT);
+ 
+  digitalWrite(data_pin, HIGH);
+  digitalWrite(wr_pin, HIGH);
+  digitalWrite(cs_pin, HIGH);
+ 
+  digitalWrite(cs_pin, LOW);
+  /* init display once after startup */
+  ht1632_write_data_MSB(u8g, 3, HT1632_ID_CMD, false); // IDs are 3 bits
+  ht1632_write_data_MSB(u8g, 8, HT1632_CMD_SYSDIS, true); // 8 bits
+  ht1632_write_data_MSB(u8g, 8, HT1632_CMD_SYSON, true); // 8 bits
+  ht1632_write_data_MSB(u8g, 8, HT1632_CMD_COMS11, true); // 8 bits
+  ht1632_write_data_MSB(u8g, 8, HT1632_CMD_LEDON, true); // 8 bits
+  ht1632_write_data_MSB(u8g, 8, HT1632_CMD_BLOFF, true); // 8 bits
+  ht1632_write_data_MSB(u8g, 8, HT1632_CMD_PWM+15, true); // 8 bits  
+  digitalWrite(cs_pin, HIGH);
+ 
+  /* removed following (debug) code */
+  /*
+  digitalWrite(cs_pin, LOW);
+  ht1632_write_data_MSB(u8g, 3, HT1632_ID_WR, false); // Send "write to display" command
+  ht1632_write_data_MSB(u8g, 7, 0, false);
+  for(i = 0; i<48; ++i)
+  {
+    ht1632_write_data(u8g, 8, 0xFF);
+  }
+  digitalWrite(cs_pin, HIGH);
+  */
+}
+ 
+/*
+  page: 0=data contain lines 0..16, 1=data contain lines 16..32  (a 24x16 display will only have page 0)
+  cnt: width of the display
+  data: pointer to a buffer with 2*cnt bytes.
+*/
+void ht1632_transfer_data(u8g_t *u8g, uint8_t page, uint8_t cnt, uint8_t *data)
+{
+  uint8_t addr;
+  uint8_t cs_pin = u8g->pin_list[U8G_PI_CS];
+  /* send data to the ht1632 */
+  digitalWrite(cs_pin, LOW);
+  ht1632_write_data_MSB(u8g, 3, HT1632_ID_WR, false); // Send "write to display" command
+  ht1632_write_data_MSB(u8g, 7, page*2*cnt, false); 
+  
+  // Operating in progressive addressing mode
+  for (addr = 0; addr < cnt; addr++)
+  {
+    ht1632_write_data(u8g, 8, data[addr]);  
+    ht1632_write_data(u8g, 8, data[addr+cnt]);
+  }  
+  digitalWrite(cs_pin, HIGH);
+}
+
+/* value is between 0...15 */
+void ht1632_set_contrast(u8g_t *u8g, uint8_t value)
+{
+  uint8_t cs_pin = u8g->pin_list[U8G_PI_CS];
+  digitalWrite(cs_pin, LOW);
+  ht1632_write_data_MSB(u8g, 3, HT1632_ID_CMD, false);
+  ht1632_write_data_MSB(u8g, 8, HT1632_CMD_PWM + value, false);
+  digitalWrite(cs_pin, HIGH);
+}
+ 
+#else
+void ht1632_init(u8g_t *u8g)
+{
+}
+ 
+void ht1632_transfer_data(u8g_t *u8g, uint8_t page, uint8_t cnt, uint8_t *data)
+{
+}
+
+void ht1632_set_contrast(u8g_t *u8g, uint8_t value)
+{
+}
+
+#endif /* ARDUINO */
+ 
+ 
+uint8_t u8g_dev_ht1632_24x16_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      ht1632_init(u8g);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+	u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+       
+	/* current page: pb->p.page */
+	/* ptr to the buffer: pb->buf */
+	ht1632_transfer_data(u8g, pb->p.page, WIDTH, pb->buf);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      /* values passed to SetContrast() are between 0 and 255, scale down to 0...15 */
+      ht1632_set_contrast(u8g, (*(uint8_t *)arg) >> 4);
+    return 1;
+  }
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
+}
+ 
+uint8_t u8g_dev_ht1632_24x16_buf[WIDTH*2] U8G_NOCOMMON ; 
+u8g_pb_t u8g_dev_ht1632_24x16_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_ht1632_24x16_buf}; 
+u8g_dev_t u8g_dev_ht1632_24x16 = { u8g_dev_ht1632_24x16_fn, &u8g_dev_ht1632_24x16_pb, u8g_com_null_fn };
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c
index e30ae6a71de391c7227c9a68e001b80e48827daf..35db466b2724c3aac55833d17907ca0870dd2af2 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c
@@ -272,7 +272,7 @@ uint8_t u8g_dev_ili9325d_320x240_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, voi
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS);
       //for(;;)
         u8g_WriteEscSeqP(u8g, dev, u8g_dev_ili9325d_320x240_init_seq);
     
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c
index 47ba18d4e768e85e69721696a17ac94138eb7c9b..f30f8a38cea382e19985e7b707b1f244463c507a 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c
@@ -73,7 +73,7 @@ uint8_t u8g_dev_ks0108_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ks0108_128x64_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c
index b7bf6755eda533e6444db2e0400355bb22566fc2..e05fa03a9ab34fbbc4cda27a27014c67f225c0b3 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c
@@ -98,7 +98,7 @@ uint8_t u8g_dev_lc7981_160x80_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_160x80_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c
index 272b7c4cbd8d71f19553a241434ae09e6ebf4d73..f0b9c31485412818228bd7777292f5d1259e451c 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c
@@ -96,7 +96,7 @@ uint8_t u8g_dev_lc7981_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_240x128_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c
index 781f1d90a74b6a2783d2fdbff6f238d8ac4685c0..9464b52aec61cfd6e690f6bf4a45a3b446ce7a38 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c
@@ -96,7 +96,7 @@ uint8_t u8g_dev_lc7981_240x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_240x64_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c
index d9ae9369fc5999fd09b603053ab7e65e23351448..fe28f942e8294a6e059754c4bbe2f1aedfdb0e86 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c
@@ -40,7 +40,12 @@
 
 #include "u8g.h"
 
+#ifdef U8G_16BIT
 #define WIDTH 320
+#else
+#define WIDTH 240
+#endif
+
 #define HEIGHT 64
 #define PAGE_HEIGHT 8
 
@@ -98,7 +103,7 @@ uint8_t u8g_dev_lc7981_320x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_320x64_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -143,3 +148,4 @@ uint8_t u8g_dev_lc7981_320x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
 }
 
 U8G_PB_DEV(u8g_dev_lc7981_320x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_320x64_fn, U8G_COM_FAST_PARALLEL);
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ld7032_60x32.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ld7032_60x32.c
new file mode 100644
index 0000000000000000000000000000000000000000..596d95898b3afe78de002973cde17b303ecf2f25
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ld7032_60x32.c
@@ -0,0 +1,232 @@
+/*
+
+  u8g_dev_ld7032_60x32.c
+  
+  60x32 OLED display
+
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2011, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+  
+*/
+
+#include "u8g.h"
+
+/* define width as 64, so that it is a multiple of 8 */
+#define WIDTH 64
+#define HEIGHT 32
+#define PAGE_HEIGHT 8
+
+static const uint8_t u8g_dev_ld7032_60x32_init_seq[] PROGMEM = {
+  U8G_ESC_CS(0),             /* disable chip */
+  U8G_ESC_ADR(0),           /* instruction mode */
+  U8G_ESC_DLY(1),       	/* delay 1 ms */
+  U8G_ESC_RST(1),           /* do reset low pulse with (1*16)+2 milliseconds */
+  U8G_ESC_CS(1),             /* enable chip */
+  
+  
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x002,				/* Dot Matrix Display ON/OFF */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x001,				/* ON */
+  
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x014,				/* Dot Matrix Display Stand-by ON/OFF */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x000,				/* ON */
+
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x01a,				/* Dot Matrix Frame Rate */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x004,				/* special value for this OLED from manual */
+
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x01d,				/* Graphics Memory Writing Direction */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x000,				/* reset default (right down, horizontal) */
+
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x009,				/* Display Direction */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x000,				/* reset default (x,y: min --> max) */
+  
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x030,				/* Display Size X */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x000,				/* Column Start Output */
+  0x03b,				/* Column End Output */
+
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x032,				/* Display Size Y */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x000,				/* Row Start Output */
+  0x01f,				/* Row End Output */
+  
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x010,				/* Peak Pulse Width Set */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x000,				/* 0 SCLK */
+  
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x016,				/* Peak Pulse Delay Set */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x000,				/* 0 SCLK */
+  
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x012,				/* Dot Matrix Current Level Set */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x050,				/* 0x050 * 1 uA = 80 uA */
+
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x018,				/* Pre-Charge Pulse Width */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x003,				/* 3 SCLK */
+
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x044,				/* Pre-Charge Mode */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x002,				/* Every Time */
+
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x048,				/* Row overlap timing */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x003,				/* Pre-Charge + Peak Delay + Peak boot Timing */
+
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x03f,				/* VCC_R_SEL */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x011,				/* ??? */
+
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x03d,				/* VSS selection */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x000,				/* 2.8V */
+
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x002,				/* Dot Matrix Display ON/OFF */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x001,				/* ON */
+
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x008,				/* write data */
+
+  U8G_ESC_CS(0),             /* disable chip */
+  U8G_ESC_END                /* end of sequence */
+};
+
+/* use box commands to set start adr */
+static const uint8_t u8g_dev_ld7032_60x32_data_start[] PROGMEM = {
+  U8G_ESC_ADR(0),           /* instruction mode */
+  U8G_ESC_CS(1),             /* enable chip */
+  
+  
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x034,				/* box x start */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x000,				/* 0 */
+
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x035,				/* box x end */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x007,				/*  */
+
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x037,				/* box y end */
+  U8G_ESC_ADR(1),           /* data mode */
+  0x01f,				/*  */
+
+  U8G_ESC_ADR(0),           /* instruction mode */
+  0x036,				/* box y start */
+  U8G_ESC_ADR(1),           /* data mode */
+
+  U8G_ESC_END                /* end of sequence */
+};
+
+static const uint8_t u8g_dev_ld7032_60x32_sleep_on[] PROGMEM = {
+  U8G_ESC_ADR(0),           /* instruction mode */
+  U8G_ESC_CS(1),             /* enable chip */
+  /* ... */
+  U8G_ESC_CS(0),             /* disable chip */
+  U8G_ESC_END                /* end of sequence */
+};
+
+static const uint8_t u8g_dev_ld7032_60x32_sleep_off[] PROGMEM = {
+  U8G_ESC_ADR(0),           /* instruction mode */
+  U8G_ESC_CS(1),             /* enable chip */
+  /* ... */
+  U8G_ESC_DLY(50),       /* delay 50 ms */
+  U8G_ESC_CS(0),             /* disable chip */
+  U8G_ESC_END                /* end of sequence */
+};
+
+uint8_t u8g_dev_ld7032_60x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_data_start);    
+        u8g_WriteByte(u8g, dev, pb->p.page_y0); /* y start */
+	u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+	u8g_WriteByte(u8g, dev, 0x008);
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+        if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )
+          return 0;
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 1);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
+      u8g_SetChipSelect(u8g, dev, 0);      
+      return 1;
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_sleep_off);    
+      return 1;
+  }
+  return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg);
+}
+
+U8G_PB_DEV(u8g_dev_ld7032_60x32_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_SW_SPI);
+U8G_PB_DEV(u8g_dev_ld7032_60x32_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_HW_SPI);
+U8G_PB_DEV(u8g_dev_ld7032_60x32_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_PARALLEL);
+U8G_PB_DEV(u8g_dev_ld7032_60x32_hw_usart_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_HW_USART_SPI);
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_null.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_null.c
index 0e3907749c7341fbc8143749fb10a274d39f5b2d..c41380e8c5690e93f8e6a21f6eb8f177cdfdc2c4 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_null.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_null.c
@@ -58,7 +58,7 @@ uint8_t u8g_dev_null(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
 #endif
     case U8G_DEV_MSG_GET_PAGE_BOX:
       break;
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
       break;
     case U8G_DEV_MSG_SET_XY_CB:
       break;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c
index 4cc01137970ac5bd0148aa4eadd53df53d7425dc..dbebd7cd02b84d50e6d819269dcb173b5faf0bea 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c
@@ -69,12 +69,36 @@ static const uint8_t u8g_dev_pcd8544_init_seq[] PROGMEM = {
   U8G_ESC_END                /* end of sequence */
 };
 
+
+static const uint8_t u8g_dev_pcd8544_sleep_on[] PROGMEM = {
+  U8G_ESC_ADR(0),           	/* instruction mode */
+  U8G_ESC_CS(1),             	/* enable chip */
+  
+  0x020,		                /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */
+  0x00c,		                /* display on, normal */
+  U8G_ESC_CS(0),             	/* disable chip, bugfix 12 nov 2014 */
+  U8G_ESC_END                	/* end of sequence */
+};
+
+static const uint8_t u8g_dev_pcd8544_sleep_off[] PROGMEM = {
+  U8G_ESC_ADR(0),           	/* instruction mode */
+  U8G_ESC_CS(1),             	/* enable chip */
+  0x020,		                /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */
+  0x008,		                /* display blank */
+  0x024,		                /* power down (PD=1), horizontal increment (V=0), enter normal command set (H=0) */
+  
+  U8G_ESC_DLY(50),       	/* delay 50 ms */
+  U8G_ESC_CS(0),             	/* disable chip, bugfix 12 nov 2014 */
+  U8G_ESC_END                	/* end of sequence */
+};
+
+
 uint8_t u8g_dev_pcd8544_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
 {
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcd8544_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -101,10 +125,17 @@ uint8_t u8g_dev_pcd8544_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
       u8g_WriteByte(u8g, dev, 0x080 | ( (*(uint8_t *)arg) >> 1 ) );
       u8g_SetChipSelect(u8g, dev, 0);
       return 1;
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcd8544_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcd8544_sleep_off);    
+      return 1;
   }
   return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
 }
 
 
 U8G_PB_DEV(u8g_dev_pcd8544_84x48_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcd8544_fn, U8G_COM_SW_SPI);
+U8G_PB_DEV(u8g_dev_pcd8544_84x48_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcd8544_fn, U8G_COM_HW_SPI);
 
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c
index 3ac57884f84d185f8bf82d4d459beb29e161bb4c..38012844681c3d323f2ad10b53e14a7b4318f3f0 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c
@@ -88,7 +88,7 @@ uint8_t u8g_dev_pcf8812_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcf8812_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -104,6 +104,20 @@ uint8_t u8g_dev_pcf8812_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
         u8g_SetAddress(u8g, dev, 1);           /* data mode */
         if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )
           return 0;
+
+	  /*  mirrored output, not tested*/
+	/*
+	{
+	  uint8_t i = pb->width;
+	  while( i > 0 )
+	  {
+	    i--;
+	    u8g_WriteByte(u8g, dev, ((unsigned char *)pb->buf)[i] );
+	  }
+	}
+	*/
+	
+	
         u8g_SetChipSelect(u8g, dev, 0);
       }
       break;
@@ -121,3 +135,4 @@ uint8_t u8g_dev_pcf8812_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
 
 /* u8g_com_arduino_sw_spi_fn does not work, too fast??? */
 U8G_PB_DEV(u8g_dev_pcf8812_96x65_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcf8812_fn, U8G_COM_SW_SPI);
+U8G_PB_DEV(u8g_dev_pcf8812_96x65_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcf8812_fn, U8G_COM_HW_SPI);
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c
index 3b0bcd6253cfc8bc49ae2695949b4dd7776117bc..a8552cb40e5b627908693179a20ca04370c768e3 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c
@@ -70,7 +70,7 @@ uint8_t u8g_dev_sbn1661_122x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_sbn1661_122x32_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c
index 8f294374b13788020916c5328cf4afdc892d60d1..3052d6bcafdd64b2ffc3744fff746d62cfeb6239 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c
@@ -123,7 +123,7 @@ static const uint8_t u8g_dev_ssd1306_128x32_adafruit3_init_seq[] PROGMEM = {
 
   0x0ae,				/* display off, sleep mode */
   0x0d5, 0x080,			/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */
-  0x0a8, 0x01f,			/* Feb 23, 2013: 128x32 OLED: 0x01f,  128x64 OLED 0x03f */
+  0x0a8, 0x01f,			/* Feb 23, 2013: 128x32 OLED: 0x01f,  128x32 OLED 0x03f */
 
   0x0d3, 0x000,			/*  */
 
@@ -131,7 +131,7 @@ static const uint8_t u8g_dev_ssd1306_128x32_adafruit3_init_seq[] PROGMEM = {
   
   0x08d, 0x014,			/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ 
 
-  0x020, 0x002,			/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), Feb 23, 2013: 128x32 OLED: 0x002,  128x64 OLED 0x012 */
+  0x020, 0x002,			/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), Feb 23, 2013: 128x32 OLED: 0x002,  128x32 OLED 0x012 */
   0x0a1,				/* segment remap a0/a1*/
   0x0c8,				/* c0: scan dir normal, c8: reverse */
   0x0da, 0x002,			/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */
@@ -196,7 +196,7 @@ static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = {
   U8G_ESC_ADR(0),           /* instruction mode */
   U8G_ESC_CS(1),             /* enable chip */
   0x0ae,		/* display off */      
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -205,7 +205,7 @@ static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = {
   U8G_ESC_CS(1),             /* enable chip */
   0x0af,		/* display on */      
   U8G_ESC_DLY(50),       /* delay 50 ms */
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -214,7 +214,7 @@ uint8_t u8g_dev_ssd1306_128x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -241,7 +241,49 @@ uint8_t u8g_dev_ssd1306_128x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void
   return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
 }
 
+uint8_t u8g_dev_ssd1306_128x32_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2));	/* select current page (SSD1306) */
+        u8g_SetAddress(u8g, dev, 1);					/* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, pb->buf); 
+        u8g_SetChipSelect(u8g, dev, 0);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1));	/* select current page (SSD1306) */
+        u8g_SetAddress(u8g, dev, 1);					/* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); 
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off);    
+      return 1;
+  }
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
+}
+
 U8G_PB_DEV(u8g_dev_ssd1306_128x32_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_SW_SPI);
 U8G_PB_DEV(u8g_dev_ssd1306_128x32_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_HW_SPI);
 U8G_PB_DEV(u8g_dev_ssd1306_128x32_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_SSD_I2C);
 
+uint8_t u8g_dev_ssd1306_128x32_2x_buf[WIDTH*2] U8G_NOCOMMON ; 
+u8g_pb_t u8g_dev_ssd1306_128x32_2x_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_ssd1306_128x32_2x_buf}; 
+u8g_dev_t u8g_dev_ssd1306_128x32_2x_sw_spi = { u8g_dev_ssd1306_128x32_2x_fn, &u8g_dev_ssd1306_128x32_2x_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_ssd1306_128x32_2x_hw_spi = { u8g_dev_ssd1306_128x32_2x_fn, &u8g_dev_ssd1306_128x32_2x_pb, U8G_COM_HW_SPI };
+u8g_dev_t u8g_dev_ssd1306_128x32_2x_i2c = { u8g_dev_ssd1306_128x32_2x_fn, &u8g_dev_ssd1306_128x32_2x_pb, U8G_COM_SSD_I2C };
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c
index a49b2d8064d670141c3d91219c4ac1828f52143d..bd55e90e82a8c27b52c8c1274d972318d9e78a30 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c
@@ -172,7 +172,10 @@ static const uint8_t u8g_dev_ssd1306_128x64_univision_init_seq[] PROGMEM = {
 /* select one init sequence here */
 //#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_univision_init_seq
 //#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit1_init_seq
+// 26. Apr 2014: in this thead: http://forum.arduino.cc/index.php?topic=234930.msg1696754;topicseen#msg1696754
+// it is mentiond, that adafruit2_init_seq works better --> this will be used by the ssd1306_adafruit device
 //#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit2_init_seq
+
 #define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit3_init_seq
 
 
@@ -180,7 +183,16 @@ static const uint8_t u8g_dev_ssd1306_128x64_data_start[] PROGMEM = {
   U8G_ESC_ADR(0),           /* instruction mode */
   U8G_ESC_CS(1),             /* enable chip */
   0x010,		/* set upper 4 bit of the col adr to 0 */
-  0x000,		/* set lower 4 bit of the col adr to 4  */
+  0x000,		/* set lower 4 bit of the col adr to 0  */
+  U8G_ESC_END                /* end of sequence */
+};
+
+/* the sh1106 is compatible to the ssd1306, but is 132x64. display seems to be centered */
+static const uint8_t u8g_dev_sh1106_128x64_data_start[] PROGMEM = {
+  U8G_ESC_ADR(0),           /* instruction mode */
+  U8G_ESC_CS(1),             /* enable chip */
+  0x010,		/* set upper 4 bit of the col adr to 0 */
+  0x002,		/* set lower 4 bit of the col adr to 2 (centered display with sh1106)  */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -188,7 +200,7 @@ static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = {
   U8G_ESC_ADR(0),           /* instruction mode */
   U8G_ESC_CS(1),             /* enable chip */
   0x0ae,		/* display off */      
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -197,7 +209,7 @@ static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = {
   U8G_ESC_CS(1),             /* enable chip */
   0x0af,		/* display on */      
   U8G_ESC_DLY(50),       /* delay 50 ms */
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -206,7 +218,38 @@ uint8_t u8g_dev_ssd1306_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_adafruit2_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+        if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )
+          return 0;
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off);    
+      return 1;
+  }
+  return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
+}
+
+uint8_t u8g_dev_ssd1306_adafruit_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -232,6 +275,138 @@ uint8_t u8g_dev_ssd1306_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void
   return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
 }
 
+uint8_t u8g_dev_sh1106_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_sh1106_128x64_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+        if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )
+          return 0;
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off);    
+      return 1;
+  }
+  return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
+}
+
+
+uint8_t u8g_dev_ssd1306_128x64_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2)); /* select current page (SSD1306) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, pb->buf); 
+        u8g_SetChipSelect(u8g, dev, 0);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1)); /* select current page (SSD1306) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); 
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off);    
+      return 1;
+  }
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
+}
+
+uint8_t u8g_dev_sh1106_128x64_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_sh1106_128x64_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2)); /* select current page (SSD1306) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, pb->buf); 
+        u8g_SetChipSelect(u8g, dev, 0);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_sh1106_128x64_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1)); /* select current page (SSD1306) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); 
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off);    
+      return 1;
+  }
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
+}
+
+
+
+
 U8G_PB_DEV(u8g_dev_ssd1306_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_SW_SPI);
 U8G_PB_DEV(u8g_dev_ssd1306_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_HW_SPI);
 U8G_PB_DEV(u8g_dev_ssd1306_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_SSD_I2C);
+
+U8G_PB_DEV(u8g_dev_ssd1306_adafruit_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_adafruit_128x64_fn, U8G_COM_SW_SPI);
+U8G_PB_DEV(u8g_dev_ssd1306_adafruit_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_adafruit_128x64_fn, U8G_COM_HW_SPI);
+U8G_PB_DEV(u8g_dev_ssd1306_adafruit_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_adafruit_128x64_fn, U8G_COM_SSD_I2C);
+
+
+uint8_t u8g_dev_ssd1306_128x64_2x_buf[WIDTH*2] U8G_NOCOMMON ; 
+u8g_pb_t u8g_dev_ssd1306_128x64_2x_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_ssd1306_128x64_2x_buf}; 
+u8g_dev_t u8g_dev_ssd1306_128x64_2x_sw_spi = { u8g_dev_ssd1306_128x64_2x_fn, &u8g_dev_ssd1306_128x64_2x_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_ssd1306_128x64_2x_hw_spi = { u8g_dev_ssd1306_128x64_2x_fn, &u8g_dev_ssd1306_128x64_2x_pb, U8G_COM_HW_SPI };
+u8g_dev_t u8g_dev_ssd1306_128x64_2x_i2c = { u8g_dev_ssd1306_128x64_2x_fn, &u8g_dev_ssd1306_128x64_2x_pb, U8G_COM_SSD_I2C };
+
+
+U8G_PB_DEV(u8g_dev_sh1106_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sh1106_128x64_fn, U8G_COM_SW_SPI);
+U8G_PB_DEV(u8g_dev_sh1106_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sh1106_128x64_fn, U8G_COM_HW_SPI);
+U8G_PB_DEV(u8g_dev_sh1106_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sh1106_128x64_fn, U8G_COM_SSD_I2C);
+
+uint8_t u8g_dev_sh1106_128x64_2x_buf[WIDTH*2] U8G_NOCOMMON ; 
+u8g_pb_t u8g_dev_sh1106_128x64_2x_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_sh1106_128x64_2x_buf}; 
+u8g_dev_t u8g_dev_sh1106_128x64_2x_sw_spi = { u8g_dev_sh1106_128x64_2x_fn, &u8g_dev_sh1106_128x64_2x_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_sh1106_128x64_2x_hw_spi = { u8g_dev_sh1106_128x64_2x_fn, &u8g_dev_sh1106_128x64_2x_pb, U8G_COM_HW_SPI };
+u8g_dev_t u8g_dev_sh1106_128x64_2x_i2c = { u8g_dev_sh1106_128x64_2x_fn, &u8g_dev_sh1106_128x64_2x_pb, U8G_COM_SSD_I2C };
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c
index d16013fb7ca9c892b65961a35159ee00a7c51abd..a3aa77ac38e19333fd6ed2f60d1b5417ecad5557 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c
@@ -1,144 +1,144 @@
-/*
-
-  u8g_dev_ssd1309_128x64.c
-
-  Universal 8bit Graphics Library
-  
-  Copyright (c) 2012, olikraus@gmail.com
-  All rights reserved.
-
-  Redistribution and use in source and binary forms, with or without modification, 
-  are permitted provided that the following conditions are met:
-
-  * Redistributions of source code must retain the above copyright notice, this list 
-    of conditions and the following disclaimer.
-    
-  * Redistributions in binary form must reproduce the above copyright notice, this 
-    list of conditions and the following disclaimer in the documentation and/or other 
-    materials provided with the distribution.
-
-  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
-  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
-  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
-  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
-  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
-  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
-  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
-  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
-  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
-  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
-  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
-  
-  
-*/
-
-#include "u8g.h"
-
-#define WIDTH 128
-#define HEIGHT 64
-#define PAGE_HEIGHT 8
-
-
-/* ssd1309 ini sequence*/
-static const uint8_t u8g_dev_ssd1309_128x64_init_seq[] PROGMEM={
-	U8G_ESC_CS(0),             /* disable chip */
-	U8G_ESC_ADR(0),           /* instruction mode */
-	U8G_ESC_RST(1),           /* do reset low pulse with (1*16)+2 milliseconds */
-	U8G_ESC_CS(1),             /* enable chip */
-	
-	0xfd,0x12,		/*Command Lock */
-	0xae,			/*Set Display Off */
-	0xd5,0xa0,		/*set Display Clock Divide Ratio/Oscillator Frequency */
-	0xa8,0x3f,		/*Set Multiplex Ratio */
-	0x3d,0x00,		/*Set Display Offset*/
-	0x40,			/*Set Display Start Line*/
-	0xa1,			/*Set Segment Re-Map*/
-	0xc8,			/*Set COM Output Scan Direction*/
-	0xda,0x12,		/*Set COM Pins Hardware Configuration*/
-	0x81,0xdf,		/*Set Current Control */
-	0xd9,0x82,		/*Set Pre-Charge Period */
-	0xdb,0x34,		/*Set VCOMH Deselect Level */
-	0xa4,			/*Set Entire Display On/Off */
-	0xa6,			/*Set Normal/Inverse Display*/
-	U8G_ESC_VCC(1),	/*Power up VCC & Stabilized */
-	U8G_ESC_DLY(50),
-	0xaf,			/*Set Display On */
-	U8G_ESC_DLY(50),
-	U8G_ESC_CS(0),             /* disable chip */
-	U8G_ESC_END                /* end of sequence */
-};
-
-/* select one init sequence here */
-  #define u8g_dev_ssd1309_128x64_init_seq u8g_dev_ssd1309_128x64_init_seq
-  
-  
- static const uint8_t u8g_dev_ssd1309_128x64_data_start[] PROGMEM = {
-  U8G_ESC_ADR(0),           /* instruction mode */
-  U8G_ESC_CS(1),             /* enable chip */
-  0x010,		/* set upper 4 bit of the col adr to 0 */
-  0x000,		/* set lower 4 bit of the col adr to 4  */
-  U8G_ESC_END                /* end of sequence */
-};
-
-static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = {
-  U8G_ESC_ADR(0),           /* instruction mode */
-  U8G_ESC_CS(1),             /* enable chip */
-  0x0ae,		/* display off */      
-  U8G_ESC_CS(1),             /* disable chip */
-  U8G_ESC_END                /* end of sequence */
-};
-
-static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = {
-  U8G_ESC_ADR(0),           /* instruction mode */
-  U8G_ESC_CS(1),             /* enable chip */
-  0x0af,		/* display on */      
-  U8G_ESC_DLY(50),       /* delay 50 ms */
-  U8G_ESC_CS(1),             /* disable chip */
-  U8G_ESC_END                /* end of sequence */
-};
-
-uint8_t u8g_dev_ssd1309_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
-{
-  switch(msg)
-  {
-    case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
-      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1309_128x64_init_seq);
-      break;
-    case U8G_DEV_MSG_STOP:
-      break;
-    case U8G_DEV_MSG_PAGE_NEXT:
-      {
-        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
-        u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1309_128x64_data_start);    
-        u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */
-        u8g_SetAddress(u8g, dev, 1);           /* data mode */
-        if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )
-          return 0;
-        u8g_SetChipSelect(u8g, dev, 0);
-      }
-      break;
-    case U8G_DEV_MSG_CONTRAST:
-      u8g_SetChipSelect(u8g, dev, 1);
-      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
-      u8g_WriteByte(u8g, dev, 0x081);
-      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
-      u8g_SetChipSelect(u8g, dev, 0);      
-      return 1; 
-    case U8G_DEV_MSG_SLEEP_ON:
-      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on);    
-      return 1;
-    case U8G_DEV_MSG_SLEEP_OFF:
-      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off);    
-      return 1;
-  }
-  return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
-}
-
-U8G_PB_DEV(u8g_dev_ssd1309_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_HW_SPI);
-U8G_PB_DEV(u8g_dev_ssd1309_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_SW_SPI);
-U8G_PB_DEV(u8g_dev_ssd1309_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_SSD_I2C);
- 
+/*
+
+  u8g_dev_ssd1309_128x64.c
+
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2012, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+  
+*/
+
+#include "u8g.h"
+
+#define WIDTH 128
+#define HEIGHT 64
+#define PAGE_HEIGHT 8
+
+
+/* ssd1309 ini sequence*/
+static const uint8_t u8g_dev_ssd1309_128x64_init_seq[] PROGMEM={
+	U8G_ESC_CS(0),             /* disable chip */
+	U8G_ESC_ADR(0),           /* instruction mode */
+	U8G_ESC_RST(1),           /* do reset low pulse with (1*16)+2 milliseconds */
+	U8G_ESC_CS(1),             /* enable chip */
+	
+	0xfd,0x12,		/*Command Lock */
+	0xae,			/*Set Display Off */
+	0xd5,0xa0,		/*set Display Clock Divide Ratio/Oscillator Frequency */
+	0xa8,0x3f,		/*Set Multiplex Ratio */
+	0x3d,0x00,		/*Set Display Offset*/
+	0x40,			/*Set Display Start Line*/
+	0xa1,			/*Set Segment Re-Map*/
+	0xc8,			/*Set COM Output Scan Direction*/
+	0xda,0x12,		/*Set COM Pins Hardware Configuration*/
+	0x81,0xdf,		/*Set Current Control */
+	0xd9,0x82,		/*Set Pre-Charge Period */
+	0xdb,0x34,		/*Set VCOMH Deselect Level */
+	0xa4,			/*Set Entire Display On/Off */
+	0xa6,			/*Set Normal/Inverse Display*/
+	U8G_ESC_VCC(1),	/*Power up VCC & Stabilized */
+	U8G_ESC_DLY(50),
+	0xaf,			/*Set Display On */
+	U8G_ESC_DLY(50),
+	U8G_ESC_CS(0),             /* disable chip */
+	U8G_ESC_END                /* end of sequence */
+};
+
+/* select one init sequence here */
+  #define u8g_dev_ssd1309_128x64_init_seq u8g_dev_ssd1309_128x64_init_seq
+  
+  
+ static const uint8_t u8g_dev_ssd1309_128x64_data_start[] PROGMEM = {
+  U8G_ESC_ADR(0),           /* instruction mode */
+  U8G_ESC_CS(1),             /* enable chip */
+  0x010,		/* set upper 4 bit of the col adr to 0 */
+  0x000,		/* set lower 4 bit of the col adr to 4  */
+  U8G_ESC_END                /* end of sequence */
+};
+
+static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = {
+  U8G_ESC_ADR(0),           /* instruction mode */
+  U8G_ESC_CS(1),             /* enable chip */
+  0x0ae,		/* display off */      
+  U8G_ESC_CS(0),             /* disable chip */
+  U8G_ESC_END                /* end of sequence */
+};
+
+static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = {
+  U8G_ESC_ADR(0),           /* instruction mode */
+  U8G_ESC_CS(1),             /* enable chip */
+  0x0af,		/* display on */      
+  U8G_ESC_DLY(50),       /* delay 50 ms */
+  U8G_ESC_CS(0),             /* disable chip */
+  U8G_ESC_END                /* end of sequence */
+};
+
+uint8_t u8g_dev_ssd1309_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1309_128x64_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1309_128x64_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+        if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )
+          return 0;
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 1);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
+      u8g_SetChipSelect(u8g, dev, 0);      
+      return 1; 
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off);    
+      return 1;
+  }
+  return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
+}
+
+U8G_PB_DEV(u8g_dev_ssd1309_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_HW_SPI);
+U8G_PB_DEV(u8g_dev_ssd1309_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_SW_SPI);
+U8G_PB_DEV(u8g_dev_ssd1309_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_SSD_I2C);
+ 
   
\ No newline at end of file
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c
index 24b94ffc7e75c6f7d5143c425d655aee096cbc0b..4db96270d2ddbae2fc804666a477dca0226540f9 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c
@@ -199,7 +199,7 @@ static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = {
   U8G_ESC_ADR(0),           /* instruction mode */
   U8G_ESC_CS(1),             /* enable chip */
   0x0ae,		/* display off */      
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -208,7 +208,7 @@ static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = {
   U8G_ESC_CS(1),             /* enable chip */
   0x0af,		/* display on */      
   U8G_ESC_DLY(50),       /* delay 50 ms */
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -218,7 +218,7 @@ uint8_t u8g_dev_ssd1322_nhd31oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg,
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_1bit_nhd_312_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -244,6 +244,7 @@ uint8_t u8g_dev_ssd1322_nhd31oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg,
 	  u8g_WriteByte(u8g, dev, 0x0ff);
 	  u8g_WriteByte(u8g, dev, 0x0ff);
 #endif
+	  u8g_MicroDelay();	// for DUE?
 	  u8g_SetChipSelect(u8g, dev, 0);        
 	  p+=cnt;
 	}
@@ -255,6 +256,7 @@ uint8_t u8g_dev_ssd1322_nhd31oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg,
       u8g_WriteByte(u8g, dev, 0x081);
       u8g_SetAddress(u8g, dev, 1);          /* data mode */
       u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1);
+      u8g_MicroDelay();	// for DUE?
       u8g_SetChipSelect(u8g, dev, 0);      
       break;
     case U8G_DEV_MSG_SLEEP_ON:
@@ -273,7 +275,7 @@ uint8_t u8g_dev_ssd1322_nhd31oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t m
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_1bit_nhd_312_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -299,6 +301,7 @@ uint8_t u8g_dev_ssd1322_nhd31oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t m
 	  u8g_WriteByte(u8g, dev, 0x0ff);
 	  u8g_WriteByte(u8g, dev, 0x0ff);
 #endif
+	  u8g_MicroDelay();	// for DUE?	  
 	  u8g_SetChipSelect(u8g, dev, 0);        
 	  p+=cnt;
 	}
@@ -307,7 +310,7 @@ uint8_t u8g_dev_ssd1322_nhd31oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t m
     case U8G_DEV_MSG_CONTRAST:
       u8g_SetChipSelect(u8g, dev, 1);
       u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
-      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, 0x0c1);	/* 21 May 2013, fixed contrast command */
       u8g_SetAddress(u8g, dev, 1);          /* data mode */
       u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1);
       u8g_SetChipSelect(u8g, dev, 0);      
@@ -325,6 +328,7 @@ uint8_t u8g_dev_ssd1322_nhd31oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t m
 
 U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_bw_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_bw_fn, U8G_COM_SW_SPI);
 U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_bw_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_bw_fn, U8G_COM_HW_SPI);
+U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_bw_parallel , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_bw_fn, U8G_COM_FAST_PARALLEL);
 
 #define DWIDTH (WIDTH*2)
 uint8_t u8g_dev_ssd1322_nhd31oled_2x_bw_buf[DWIDTH] U8G_NOCOMMON ; 
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c
index 5b509641c6fcc91810965d6bf309bd1d39b469e4..61f0b1922f536c101d17688fe362c36deda7b54d 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c
@@ -50,7 +50,7 @@
 #define WIDTH 248
 #endif
 #define HEIGHT 64
-#define PAGE_HEIGHT 8
+//#define PAGE_HEIGHT 8
 
 /* 
   http://www.newhavendisplay.com/app_notes/OLED_25664.txt 
@@ -199,7 +199,7 @@ static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = {
   U8G_ESC_ADR(0),           /* instruction mode */
   U8G_ESC_CS(1),             /* enable chip */
   0x0ae,		/* display off */      
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -208,7 +208,7 @@ static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = {
   U8G_ESC_CS(1),             /* enable chip */
   0x0af,		/* display on */      
   U8G_ESC_DLY(50),       /* delay 50 ms */
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -217,7 +217,7 @@ uint8_t u8g_dev_ssd1322_nhd31oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg,
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_2bit_nhd_312_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -243,6 +243,7 @@ uint8_t u8g_dev_ssd1322_nhd31oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg,
 	  u8g_WriteByte(u8g, dev, 0x00);
 	  u8g_WriteByte(u8g, dev, 0x00);
 #endif
+	  u8g_MicroDelay();	// for DUE?
 	  u8g_SetChipSelect(u8g, dev, 0);        
 	  p+=cnt;
 	}
@@ -254,6 +255,7 @@ uint8_t u8g_dev_ssd1322_nhd31oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg,
       u8g_WriteByte(u8g, dev, 0x081);
       u8g_SetAddress(u8g, dev, 1);          /* data mode */
       u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1);
+      u8g_MicroDelay();	// for DUE?
       u8g_SetChipSelect(u8g, dev, 0);      
       break;
     case U8G_DEV_MSG_SLEEP_ON:
@@ -272,7 +274,7 @@ uint8_t u8g_dev_ssd1322_nhd31oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t m
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_2bit_nhd_312_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -284,7 +286,7 @@ uint8_t u8g_dev_ssd1322_nhd31oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t m
 	uint8_t *p = pb->buf;
 	u8g_uint_t cnt;
 	cnt = pb->width;
-	cnt >>= 3;
+	cnt >>= 2;    /* 23 Oct 2013, changed to 2 */
 
 	for( i = 0; i < pb->p.page_height; i++ )
 	{
@@ -298,6 +300,7 @@ uint8_t u8g_dev_ssd1322_nhd31oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t m
 	  u8g_WriteByte(u8g, dev, 0x00);
 	  u8g_WriteByte(u8g, dev, 0x00);
 #endif
+	  u8g_MicroDelay();	// for DUE?
 	  u8g_SetChipSelect(u8g, dev, 0);        
 	  p+=cnt;
 	}
@@ -322,12 +325,14 @@ uint8_t u8g_dev_ssd1322_nhd31oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t m
 }
 
 
-U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_SW_SPI);
-U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_HW_SPI);
+U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_SW_SPI);
+U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_HW_SPI);
+U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_parallel , WIDTH, HEIGHT, 4, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_FAST_PARALLEL);
+
 
 #define DWIDTH (WIDTH*2)
 uint8_t u8g_dev_ssd1322_nhd31oled_2x_gr_buf[DWIDTH] U8G_NOCOMMON ; 
-u8g_pb_t u8g_dev_ssd1322_nhd31oled_2x_gr_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_ssd1322_nhd31oled_2x_gr_buf}; 
+u8g_pb_t u8g_dev_ssd1322_nhd31oled_2x_gr_pb = { {8, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_ssd1322_nhd31oled_2x_gr_buf}; 
 u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi = { u8g_dev_ssd1322_nhd31oled_2x_gr_fn, &u8g_dev_ssd1322_nhd31oled_2x_gr_pb, U8G_COM_SW_SPI };
 u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi = { u8g_dev_ssd1322_nhd31oled_2x_gr_fn, &u8g_dev_ssd1322_nhd31oled_2x_gr_pb, U8G_COM_HW_SPI };
 
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c
index 95853bdf259f942b7fff314679374c99d61946a2..d8895391e9e99a21e9a8dc7cbad6dc561666b20f 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c
@@ -191,7 +191,7 @@ uint8_t u8g_dev_ssd1325_nhd27oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg,
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -219,7 +219,7 @@ uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t m
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c
index c9f4a51ad80b49848b26e4911cba9f218501f301..7d26b2fee3c088023dba8d665f8350fee2f08362 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c
@@ -112,7 +112,7 @@ static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = {
   U8G_ESC_ADR(0),           /* instruction mode */
   U8G_ESC_CS(1),             /* enable chip */
   0x0ae,		/* display off */      
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -121,7 +121,7 @@ static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = {
   U8G_ESC_CS(1),             /* enable chip */
   0x0af,		/* display on */      
   U8G_ESC_DLY(50),       /* delay 50 ms */
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -133,7 +133,7 @@ static uint8_t u8g_dev_ssd1325_nhd27oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8
     //case U8G_DEV_MSG_IS_BBX_INTERSECTION:
     //  return u8g_pb_IsIntersection((u8g_pb_t *)(dev->dev_mem), (u8g_dev_arg_bbx_t *)arg);
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_nhd_27_12864_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -178,7 +178,7 @@ static uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, ui
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_nhd_27_12864_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c
index d00d18ec4f32999494783a2fcfd7edba548800cb..6ab48135f7f56a58b6d094a446c8edb59e951819 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c
@@ -190,7 +190,7 @@ static uint8_t u8g_dev_ssd1325_nhd27oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -218,7 +218,7 @@ static uint8_t u8g_dev_ssd1325_nhd27oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, ui
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c
index 2e61d9a57c99c04984571db21005db3524d1a024..9ac51f2ff08b6aa5177d1c270d8dffbd44782db8 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c
@@ -111,7 +111,7 @@ static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = {
   U8G_ESC_ADR(0),           /* instruction mode */
   U8G_ESC_CS(1),             /* enable chip */
   0x0ae,		/* display off */      
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -120,7 +120,7 @@ static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = {
   U8G_ESC_CS(1),             /* enable chip */
   0x0af,		/* display on */      
   U8G_ESC_DLY(50),       /* delay 50 ms */
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -131,7 +131,7 @@ static uint8_t u8g_dev_ssd1325_nhd27oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -178,7 +178,7 @@ static uint8_t u8g_dev_ssd1325_nhd27oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, ui
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c
index 5e3b4467497d3d829a656c06b75b888d2190ee59..3a11e29425e56b882be797b933591f9336251ee0 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c
@@ -233,7 +233,7 @@ uint8_t u8g_dev_ssd1327_96x96_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, voi
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -261,7 +261,7 @@ uint8_t u8g_dev_ssd1327_96x96_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg,
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1351_128x128.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1351_128x128.c
new file mode 100644
index 0000000000000000000000000000000000000000..406e736aab1fd4f24a54113abe67739827c5ef99
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1351_128x128.c
@@ -0,0 +1,787 @@
+/*
+
+  u8g_dev_ssd1351_128x128.c
+
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2013, jamjardavies@gmail.com
+  Copyright (c) 2013, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+  History:
+  Initial version	20 May 2013 jamjardavies@gmail.com	
+  indexed device	22 May 2013 olikraus@gmail.com
+  
+*/
+
+#include "u8g.h"
+
+#define WIDTH		128
+#define HEIGHT		128
+#define PAGE_HEIGHT	8
+
+static const uint8_t u8g_dev_ssd1351_128x128_init_seq[] PROGMEM = {
+	U8G_ESC_CS(0),					/* disable chip */
+	U8G_ESC_DLY(50),
+	U8G_ESC_ADR(0),					/* instruction mode */
+	U8G_ESC_RST(1),					/* do reset low pulse with (1*16)+2 milliseconds */
+	U8G_ESC_CS(1),					/* enable chip */
+	U8G_ESC_DLY(50),
+
+	0xfd,							/* Command Lock */
+	U8G_ESC_ADR(1),
+	0x12,						
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xfd,
+	U8G_ESC_ADR(1),
+	0xb1,							/* Command Lock */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xae,							/* Set Display Off */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xb3,
+	U8G_ESC_ADR(1),
+	0xf1,							/* Front Clock Div */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xca,
+	U8G_ESC_ADR(1),
+	0x7f,							/* Set Multiplex Ratio */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xa0,
+	U8G_ESC_ADR(1),
+	0xb4,							/* Set Colour Depth */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0x15,
+	U8G_ESC_ADR(1),
+	0x00, 0x7f,						/* Set Column Address */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0x75,
+	U8G_ESC_ADR(1),
+	0x00, 0x7f,						/* Set Row Address */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xa1,
+	U8G_ESC_ADR(1),
+	0x00,							/* Set Display Start Line */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xa2,
+	U8G_ESC_ADR(1),
+	0x00,							/* Set Display Offset */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xb5,
+	U8G_ESC_ADR(1),
+	0x00,							/* Set GPIO */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xab,
+	U8G_ESC_ADR(1),
+	0x01,							/* Set Function Selection */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xb1,
+	U8G_ESC_ADR(1),
+	0x32,							/* Set Phase Length */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xb4,
+	U8G_ESC_ADR(1),
+	0xa0, 0xb5, 0x55,				/* Set Segment Low Voltage */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xbb,
+	U8G_ESC_ADR(1),
+	0x17,							/* Set Precharge Voltage */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xbe,
+	U8G_ESC_ADR(1),
+	0x05,							/* Set VComH Voltage */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xc1,
+	U8G_ESC_ADR(1),
+	0xc8, 0x80, 0xc8,				/* Set Contrast */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xc7,
+	U8G_ESC_ADR(1),
+	0x0f,							/* Set Master Contrast */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xb6,
+	U8G_ESC_ADR(1),
+	0x01,							/* Set Second Precharge Period */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xa6,							/* Set Display Mode Reset */
+
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xb8,							/* Set CMD Grayscale Lookup */
+	U8G_ESC_ADR(1),
+	0x05,
+	0x06,
+	0x07,
+	0x08,
+	0x09,
+	0x0a,
+	0x0b,
+	0x0c,
+	0x0D,
+	0x0E,
+	0x0F,
+	0x10,
+	0x11,
+	0x12,
+	0x13,
+	0x14,
+	0x15,
+	0x16,
+	0x18,
+	0x1a,
+	0x1b,
+	0x1C,
+	0x1D,
+	0x1F,
+	0x21,
+	0x23,
+	0x25,
+	0x27,
+	0x2A,
+	0x2D,
+	0x30,
+	0x33,
+	0x36,
+	0x39,
+	0x3C,
+	0x3F,
+	0x42,
+	0x45,
+	0x48,
+	0x4C,
+	0x50,
+	0x54,
+	0x58,
+	0x5C,
+	0x60,
+	0x64,
+	0x68,
+	0x6C,
+	0x70,
+	0x74,
+	0x78,
+	0x7D,
+	0x82,
+	0x87,
+	0x8C,
+	0x91,
+	0x96,
+	0x9B,
+	0xA0,
+	0xA5,
+	0xAA,
+	0xAF,
+	0xB4,
+
+	U8G_ESC_ADR(0),
+	0xaf,							/* Set Display On */
+	0x5c,
+	U8G_ESC_DLY(50),
+	U8G_ESC_CS(0),					/* disable chip */
+	U8G_ESC_ADR(1),
+	U8G_ESC_END						/* end of sequence */
+};
+
+
+/* set gpio to high */
+static const uint8_t u8g_dev_ssd1351_128x128gh_init_seq[] PROGMEM = {
+	U8G_ESC_CS(0),					/* disable chip */
+	U8G_ESC_DLY(50),
+	U8G_ESC_ADR(0),					/* instruction mode */
+	U8G_ESC_RST(1),					/* do reset low pulse with (1*16)+2 milliseconds */
+	U8G_ESC_CS(1),					/* enable chip */
+	U8G_ESC_DLY(50),
+
+	0xfd,							/* Command Lock */
+	U8G_ESC_ADR(1),
+	0x12,						
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xfd,
+	U8G_ESC_ADR(1),
+	0xb1,							/* Command Lock */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xae,							/* Set Display Off */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xb3,
+	U8G_ESC_ADR(1),
+	0xf1,							/* Front Clock Div */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xca,
+	U8G_ESC_ADR(1),
+	0x7f,							/* Set Multiplex Ratio */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xa0,
+	U8G_ESC_ADR(1),
+	0xb4,							/* Set Colour Depth */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0x15,
+	U8G_ESC_ADR(1),
+	0x00, 0x7f,						/* Set Column Address */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0x75,
+	U8G_ESC_ADR(1),
+	0x00, 0x7f,						/* Set Row Address */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xa1,
+	U8G_ESC_ADR(1),
+	0x00,							/* Set Display Start Line */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xa2,
+	U8G_ESC_ADR(1),
+	0x00,							/* Set Display Offset */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xb5,
+	U8G_ESC_ADR(1),
+	0x03,							/* Set GPIO to High Level */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xab,
+	U8G_ESC_ADR(1),
+	0x01,							/* Set Function Selection */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xb1,
+	U8G_ESC_ADR(1),
+	0x32,							/* Set Phase Length */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xb4,
+	U8G_ESC_ADR(1),
+	0xa0, 0xb5, 0x55,				/* Set Segment Low Voltage */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xbb,
+	U8G_ESC_ADR(1),
+	0x17,							/* Set Precharge Voltage */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xbe,
+	U8G_ESC_ADR(1),
+	0x05,							/* Set VComH Voltage */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xc1,
+	U8G_ESC_ADR(1),
+	0xc8, 0x80, 0xc8,				/* Set Contrast */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xc7,
+	U8G_ESC_ADR(1),
+	0x0f,							/* Set Master Contrast */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xb6,
+	U8G_ESC_ADR(1),
+	0x01,							/* Set Second Precharge Period */
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xa6,							/* Set Display Mode Reset */
+
+
+	U8G_ESC_ADR(0),					/* instruction mode */
+	0xb8,							/* Set CMD Grayscale Lookup */
+	U8G_ESC_ADR(1),
+	0x05,
+	0x06,
+	0x07,
+	0x08,
+	0x09,
+	0x0a,
+	0x0b,
+	0x0c,
+	0x0D,
+	0x0E,
+	0x0F,
+	0x10,
+	0x11,
+	0x12,
+	0x13,
+	0x14,
+	0x15,
+	0x16,
+	0x18,
+	0x1a,
+	0x1b,
+	0x1C,
+	0x1D,
+	0x1F,
+	0x21,
+	0x23,
+	0x25,
+	0x27,
+	0x2A,
+	0x2D,
+	0x30,
+	0x33,
+	0x36,
+	0x39,
+	0x3C,
+	0x3F,
+	0x42,
+	0x45,
+	0x48,
+	0x4C,
+	0x50,
+	0x54,
+	0x58,
+	0x5C,
+	0x60,
+	0x64,
+	0x68,
+	0x6C,
+	0x70,
+	0x74,
+	0x78,
+	0x7D,
+	0x82,
+	0x87,
+	0x8C,
+	0x91,
+	0x96,
+	0x9B,
+	0xA0,
+	0xA5,
+	0xAA,
+	0xAF,
+	0xB4,
+
+	U8G_ESC_ADR(0),
+	0xaf,							/* Set Display On */
+	0x5c,
+	U8G_ESC_DLY(50),
+	U8G_ESC_CS(0),					/* disable chip */
+	U8G_ESC_ADR(1),
+	U8G_ESC_END						/* end of sequence */
+};
+
+#define u8g_dev_ssd1351_128x128_init_seq u8g_dev_ssd1351_128x128_init_seq
+
+static const uint8_t u8g_dev_ssd1351_128x128_column_seq[] PROGMEM = {
+	U8G_ESC_CS(1),
+	U8G_ESC_ADR(0), 0x15,
+	U8G_ESC_ADR(1), 0x00, 0x7f,
+	U8G_ESC_ADR(0), 0x75,
+	U8G_ESC_ADR(1), 0x00, 0x7f,
+	U8G_ESC_ADR(0), 0x5c,
+	U8G_ESC_ADR(1),
+	U8G_ESC_CS(0),
+	U8G_ESC_END
+};
+
+#define RGB332_STREAM_BYTES 8
+static uint8_t u8g_ssd1351_stream_bytes[RGB332_STREAM_BYTES*3];
+
+void u8g_ssd1351_to_stream(uint8_t *ptr)
+{
+  uint8_t cnt = RGB332_STREAM_BYTES;
+  uint8_t val;
+  uint8_t *dest = u8g_ssd1351_stream_bytes;
+  for( cnt = 0; cnt < RGB332_STREAM_BYTES; cnt++ )
+  {
+      val = *ptr++;
+      *dest++ = ((val & 0xe0) >> 2);
+      *dest++ = ((val & 0x1c) << 1);
+      *dest++ = ((val & 0x03) << 4);
+  } 
+}
+
+
+#ifdef OBSOLETE
+// Convert the internal RGB 332 to R
+static uint8_t u8g_ssd1351_get_r(uint8_t colour)
+{
+	//return ((colour & 0xe0) >> 5) * 9;
+	//return ((colour & 0xe0) >> 5) * 8;
+	return ((colour & 0xe0) >> 2) ;
+}
+
+// Convert the internal RGB 332 to G
+static uint8_t u8g_ssd1351_get_g(uint8_t colour)
+{
+	//return ((colour & 0x1c) >> 2) * 9;
+	//return ((colour & 0x1c) >> 2) * 8;
+	return ((colour & 0x1c) << 1);
+}
+
+// Convert the internal RGB 332 to B
+static uint8_t u8g_ssd1351_get_b(uint8_t colour)
+{
+	//return (colour & 0x03) * 21;
+	return (colour & 0x03) * 16;
+}
+#endif
+
+
+uint8_t u8g_dev_ssd1351_128x128_332_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+//	u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+
+	switch(msg)
+	{
+	case U8G_DEV_MSG_INIT:
+		u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS);
+		u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_init_seq);
+		break;
+
+	case U8G_DEV_MSG_STOP:
+		break;
+
+	case U8G_DEV_MSG_PAGE_FIRST:
+		u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq);
+		break;
+
+	case U8G_DEV_MSG_PAGE_NEXT:
+		{
+			u8g_uint_t x;
+			uint8_t page_height;
+			uint8_t i;
+			u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+			uint8_t *ptr = pb->buf;
+
+			u8g_SetChipSelect(u8g, dev, 1);
+
+			page_height = pb->p.page_y1;
+			page_height -= pb->p.page_y0;
+			page_height++;
+			for( i = 0; i < page_height; i++ )
+			{
+			  
+			  for (x = 0; x < pb->width; x+=RGB332_STREAM_BYTES)
+			  {
+			    u8g_ssd1351_to_stream(ptr);
+			    u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes);
+			    ptr += RGB332_STREAM_BYTES;
+			  }
+			}
+			u8g_SetChipSelect(u8g, dev, 0);
+		}
+
+		break;
+	case U8G_DEV_MSG_GET_MODE:
+	  return U8G_MODE_R3G3B2;
+	}
+
+	return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg);
+}
+
+uint8_t u8g_dev_ssd1351_128x128gh_332_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+//	u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+
+	switch(msg)
+	{
+	case U8G_DEV_MSG_INIT:
+		u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS);
+		u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128gh_init_seq);
+		break;
+
+	case U8G_DEV_MSG_STOP:
+		break;
+
+	case U8G_DEV_MSG_PAGE_FIRST:
+		u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq);
+		break;
+
+	case U8G_DEV_MSG_PAGE_NEXT:
+		{
+			u8g_uint_t x;
+			uint8_t page_height;
+			uint8_t i;
+			u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+			uint8_t *ptr = pb->buf;
+
+			u8g_SetChipSelect(u8g, dev, 1);
+
+			page_height = pb->p.page_y1;
+			page_height -= pb->p.page_y0;
+			page_height++;
+			for( i = 0; i < page_height; i++ )
+			{
+			  
+			  for (x = 0; x < pb->width; x+=RGB332_STREAM_BYTES)
+			  {
+			    u8g_ssd1351_to_stream(ptr);
+			    u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes);
+			    ptr += RGB332_STREAM_BYTES;
+			  }
+			}
+			u8g_SetChipSelect(u8g, dev, 0);
+		}
+
+		break;
+	case U8G_DEV_MSG_GET_MODE:
+	  return U8G_MODE_R3G3B2;
+	}
+
+	return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg);
+}
+
+static uint8_t u8g_dev_ssd1351_128x128_r[256];
+static uint8_t u8g_dev_ssd1351_128x128_g[256];
+static uint8_t u8g_dev_ssd1351_128x128_b[256];
+
+uint8_t u8g_dev_ssd1351_128x128_idx_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+//	u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+
+	switch(msg)
+	{
+	case U8G_DEV_MSG_INIT:
+		u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS);
+		u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_init_seq);
+		break;
+
+	case U8G_DEV_MSG_STOP:
+		break;
+	
+	case U8G_DEV_MSG_SET_COLOR_ENTRY:
+		  u8g_dev_ssd1351_128x128_r[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->r;
+		  u8g_dev_ssd1351_128x128_g[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->g;
+		  u8g_dev_ssd1351_128x128_b[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->b;
+		  break;
+	
+	case U8G_DEV_MSG_PAGE_FIRST:
+		u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq);
+		break;
+
+	case U8G_DEV_MSG_PAGE_NEXT:
+		{
+			int x;
+			u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+			uint8_t *ptr = pb->buf;
+
+			u8g_SetChipSelect(u8g, dev, 1);
+
+			for (x = 0; x < pb->width; x++)
+			{
+				u8g_WriteByte(u8g, dev, u8g_dev_ssd1351_128x128_r[(*ptr)>>2]);
+				u8g_WriteByte(u8g, dev, u8g_dev_ssd1351_128x128_g[(*ptr)>>2]);
+				u8g_WriteByte(u8g, dev, u8g_dev_ssd1351_128x128_b[(*ptr)>>2]);
+
+				ptr++;
+			}
+
+			u8g_SetChipSelect(u8g, dev, 0);
+		}
+
+		break;
+	case U8G_DEV_MSG_GET_MODE:
+	  return U8G_MODE_INDEX;
+	}
+
+	return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg);
+}
+
+void u8g_ssd1351_hicolor_to_stream(uint8_t *ptr)
+{
+  register uint8_t cnt = RGB332_STREAM_BYTES;
+  register uint8_t low, high, r, g, b;
+  uint8_t *dest = u8g_ssd1351_stream_bytes;
+  for( cnt = 0; cnt < RGB332_STREAM_BYTES; cnt++ )
+  {
+    low = *ptr++;
+    high = *ptr++;
+    
+    r = high & ~7;
+    r >>= 2;
+    b = low & 31;
+    b <<= 1;
+    g = high & 7;
+    g <<= 3;
+    g |= (low>>5)&7;
+    
+    *dest++ = r;
+    *dest++ = g;
+    *dest++ = b;
+  } 
+}
+
+
+uint8_t u8g_dev_ssd1351_128x128_hicolor_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_FIRST:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq);
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+        uint8_t i, j;
+        uint8_t page_height;
+	uint8_t *ptr = pb->buf;
+
+	u8g_SetChipSelect(u8g, dev, 1);
+
+        page_height = pb->p.page_y1;
+        page_height -= pb->p.page_y0;
+        page_height++;
+        for( j = 0; j < page_height; j++ )
+        {
+	    for (i = 0; i < pb->width; i+=RGB332_STREAM_BYTES)
+	    {
+	      u8g_ssd1351_hicolor_to_stream(ptr);
+	      u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes);
+	      ptr += RGB332_STREAM_BYTES*2;
+	    }
+	  
+        }
+
+	u8g_SetChipSelect(u8g, dev, 0);
+	
+      }
+      break;    /* continue to base fn */
+    case U8G_DEV_MSG_GET_MODE:
+     return U8G_MODE_HICOLOR;
+  }
+  return u8g_dev_pbxh16_base_fn(u8g, dev, msg, arg);
+}
+
+uint8_t u8g_dev_ssd1351_128x128gh_hicolor_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128gh_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_FIRST:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq);
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+        uint8_t i, j;
+        uint8_t page_height;
+	uint8_t *ptr = pb->buf;
+
+	u8g_SetChipSelect(u8g, dev, 1);
+
+        page_height = pb->p.page_y1;
+        page_height -= pb->p.page_y0;
+        page_height++;
+        for( j = 0; j < page_height; j++ )
+        {
+	    for (i = 0; i < pb->width; i+=RGB332_STREAM_BYTES)
+	    {
+	      u8g_ssd1351_hicolor_to_stream(ptr);
+	      u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes);
+	      ptr += RGB332_STREAM_BYTES*2;
+	    }
+	  
+        }
+
+	u8g_SetChipSelect(u8g, dev, 0);
+	
+      }
+      break;    /* continue to base fn */
+    case U8G_DEV_MSG_GET_MODE:
+     return U8G_MODE_HICOLOR;
+  }
+  return u8g_dev_pbxh16_base_fn(u8g, dev, msg, arg);
+}
+
+
+uint8_t u8g_dev_ssd1351_128x128_byte_buf[WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; 
+
+u8g_pb_t u8g_dev_ssd1351_128x128_byte_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_ssd1351_128x128_byte_buf};  
+u8g_dev_t u8g_dev_ssd1351_128x128_332_sw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_ssd1351_128x128_332_hw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_HW_SPI };
+u8g_dev_t u8g_dev_ssd1351_128x128gh_332_sw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_ssd1351_128x128gh_332_hw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_HW_SPI };
+
+//u8g_dev_t u8g_dev_ssd1351_128x128_idx_sw_spi = { u8g_dev_ssd1351_128x128_idx_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_SW_SPI };
+//u8g_dev_t u8g_dev_ssd1351_128x128_idx_hw_spi = { u8g_dev_ssd1351_128x128_idx_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_HW_SPI };
+
+
+/* only half of the height, because two bytes are needed for one pixel */
+u8g_pb_t u8g_dev_ssd1351_128x128_hicolor_byte_pb = { {PAGE_HEIGHT/2, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_ssd1351_128x128_byte_buf}; 
+u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_sw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_hw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_HW_SPI };
+u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_sw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_hw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_HW_SPI };
+
+
+uint8_t u8g_dev_ssd1351_128x128_4x_byte_buf[WIDTH*PAGE_HEIGHT*4] U8G_NOCOMMON ; 
+
+u8g_pb_t u8g_dev_ssd1351_128x128_4x_332_byte_pb = { {PAGE_HEIGHT*4, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_ssd1351_128x128_4x_byte_buf};  
+u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_sw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_hw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_HW_SPI };
+u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_sw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_hw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_HW_SPI };
+
+u8g_pb_t u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb = { {PAGE_HEIGHT/2*4, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_ssd1351_128x128_4x_byte_buf}; 
+u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_sw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_hw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_HW_SPI };
+u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_sw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_hw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_HW_SPI };
+
+
+/*
+U8G_PB_DEV(u8g_dev_ssd1351_128x128_332_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_332_fn, U8G_COM_SW_SPI);
+U8G_PB_DEV(u8g_dev_ssd1351_128x128_332_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_332_fn, U8G_COM_HW_SPI);
+
+U8G_PB_DEV(u8g_dev_ssd1351_128x128_idx_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_idx_fn, U8G_COM_SW_SPI);
+U8G_PB_DEV(u8g_dev_ssd1351_128x128_idx_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_idx_fn, U8G_COM_HW_SPI);
+*/
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_64128n.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_64128n.c
index 01fc9fc0cb151690c89e1a067e0d713dd2cc29a2..ff909c5e9b84dac0883a8a3f3354ef564145a22f 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_64128n.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_64128n.c
@@ -96,7 +96,7 @@ static const uint8_t u8g_dev_st7565_64128n_sleep_on[] PROGMEM = {
   0x000,		                /* indicator register set (not sure if this is required) */
   0x0ae,		/* display off */      
   0x0a5,		/* all points on */      
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -106,7 +106,7 @@ static const uint8_t u8g_dev_st7565_64128n_sleep_off[] PROGMEM = {
   0x0a4,		/* all points off */      
   0x0af,		/* display on */      
   U8G_ESC_DLY(50),       /* delay 50 ms */
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -115,7 +115,7 @@ uint8_t u8g_dev_st7565_64128n_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -148,6 +148,56 @@ uint8_t u8g_dev_st7565_64128n_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
 }
 
+uint8_t u8g_dev_st7565_64128n_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, pb->buf); 
+        u8g_SetChipSelect(u8g, dev, 0);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); 
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 1);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
+      u8g_SetChipSelect(u8g, dev, 0);      
+      return 1;
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_off);    
+      return 1;
+  }
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
+}
+
 U8G_PB_DEV(u8g_dev_st7565_64128n_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_fn, U8G_COM_SW_SPI);
 U8G_PB_DEV(u8g_dev_st7565_64128n_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_fn, U8G_COM_HW_SPI);
+U8G_PB_DEV(u8g_dev_st7565_64128n_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_fn, U8G_COM_PARALLEL);
 
+uint8_t u8g_dev_st7565_64128n_2x_buf[WIDTH*2] U8G_NOCOMMON ; 
+u8g_pb_t u8g_dev_st7565_64128n_2x_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_st7565_64128n_2x_buf}; 
+u8g_dev_t u8g_dev_st7565_64128n_2x_sw_spi = { u8g_dev_st7565_64128n_2x_fn, &u8g_dev_st7565_64128n_2x_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_st7565_64128n_2x_hw_spi = { u8g_dev_st7565_64128n_2x_fn, &u8g_dev_st7565_64128n_2x_pb, U8G_COM_HW_SPI };
+u8g_dev_t u8g_dev_st7565_64128n_2x_hw_parallel = { u8g_dev_st7565_64128n_2x_fn, &u8g_dev_st7565_64128n_2x_pb, U8G_COM_PARALLEL };
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c
index 095ef369c1644d360c2c2ca3947bd1e17203c103..e73f06153772ddef2c310ce73eb5709918ea5fc2 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c
@@ -82,7 +82,7 @@ static const uint8_t u8g_dev_st7565_dogm128_sleep_on[] PROGMEM = {
   0x000,		                /* indicator register set (not sure if this is required) */
   0x0ae,		/* display off */      
   0x0a5,		/* all points on */      
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -92,7 +92,7 @@ static const uint8_t u8g_dev_st7565_dogm128_sleep_off[] PROGMEM = {
   0x0a4,		/* all points off */      
   0x0af,		/* display on */      
   U8G_ESC_DLY(50),       /* delay 50 ms */
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -101,7 +101,7 @@ uint8_t u8g_dev_st7565_dogm128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -134,7 +134,57 @@ uint8_t u8g_dev_st7565_dogm128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void
   return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
 }
 
+uint8_t u8g_dev_st7565_dogm128_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, pb->buf); 
+        u8g_SetChipSelect(u8g, dev, 0);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); 
+        u8g_SetChipSelect(u8g, dev, 0);
+	
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 1);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
+      u8g_SetChipSelect(u8g, dev, 0);      
+      return 1;
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_off);    
+      return 1;
+  }
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
+}
+
 U8G_PB_DEV(u8g_dev_st7565_dogm128_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm128_fn, U8G_COM_SW_SPI);
 U8G_PB_DEV(u8g_dev_st7565_dogm128_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm128_fn, U8G_COM_HW_SPI);
+U8G_PB_DEV(u8g_dev_st7565_dogm128_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm128_fn, U8G_COM_PARALLEL);
 
 
+uint8_t u8g_dev_st7565_dogm128_2x_buf[WIDTH*2] U8G_NOCOMMON ; 
+u8g_pb_t u8g_dev_st7565_dogm128_2x_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_st7565_dogm128_2x_buf}; 
+u8g_dev_t u8g_dev_st7565_dogm128_2x_sw_spi = { u8g_dev_st7565_dogm128_2x_fn, &u8g_dev_st7565_dogm128_2x_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_st7565_dogm128_2x_hw_spi = { u8g_dev_st7565_dogm128_2x_fn, &u8g_dev_st7565_dogm128_2x_pb, U8G_COM_HW_SPI };
+u8g_dev_t u8g_dev_st7565_dogm128_2x_parallel = { u8g_dev_st7565_dogm128_2x_fn, &u8g_dev_st7565_dogm128_2x_pb, U8G_COM_PARALLEL };
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c
index a76d54b3fdc94335e2634814648ac886f8362497..26de539247b31c2aa2e33acb4387c3560d537a45 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c
@@ -101,7 +101,7 @@ static const uint8_t u8g_dev_st7565_dogm132_sleep_on[] PROGMEM = {
   0x000,		                /* indicator register set (not sure if this is required) */
   0x0ae,		/* display off */      
   0x0a5,		/* all points on */      
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -111,7 +111,7 @@ static const uint8_t u8g_dev_st7565_dogm132_sleep_off[] PROGMEM = {
   0x0a4,		/* all points off */      
   0x0af,		/* display on */      
   U8G_ESC_DLY(50),       /* delay 50 ms */
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -120,7 +120,7 @@ uint8_t u8g_dev_st7565_dogm132_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c
index ab8ed39b6476a6b1177a48757ba3ed0196659890..165c390978ab9d6b714ea465e46814ba10bcb3d3 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c
@@ -98,7 +98,7 @@ static const uint8_t u8g_dev_st7565_lm6059_sleep_on[] PROGMEM = {
   0x000,		                /* indicator register set (not sure if this is required) */
   0x0ae,		/* display off */      
   0x0a5,		/* all points on */      
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -108,7 +108,7 @@ static const uint8_t u8g_dev_st7565_lm6059_sleep_off[] PROGMEM = {
   0x0a4,		/* all points off */      
   0x0af,		/* display on */      
   U8G_ESC_DLY(50),       /* delay 50 ms */
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -118,7 +118,7 @@ uint8_t u8g_dev_st7565_lm6059_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -151,7 +151,55 @@ uint8_t u8g_dev_st7565_lm6059_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
 }
 
+uint8_t u8g_dev_st7565_lm6059_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, pb->buf); 
+        u8g_SetChipSelect(u8g, dev, 0);
+
+	u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); 
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 1);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
+      u8g_SetChipSelect(u8g, dev, 0);      
+      return 1;
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_off);    
+      return 1;
+  }
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
+}
+
 U8G_PB_DEV(u8g_dev_st7565_lm6059_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6059_fn, U8G_COM_SW_SPI);
 U8G_PB_DEV(u8g_dev_st7565_lm6059_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6059_fn, U8G_COM_HW_SPI);
 
 
+uint8_t u8g_dev_st7565_lm6059_2x_buf[WIDTH*2] U8G_NOCOMMON ; 
+u8g_pb_t u8g_dev_st7565_lm6059_2x_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_st7565_lm6059_2x_buf}; 
+u8g_dev_t u8g_dev_st7565_lm6059_2x_sw_spi = { u8g_dev_st7565_lm6059_2x_fn, &u8g_dev_st7565_lm6059_2x_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_st7565_lm6059_2x_hw_spi = { u8g_dev_st7565_lm6059_2x_fn, &u8g_dev_st7565_lm6059_2x_pb, U8G_COM_HW_SPI };
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c
index 47ccb1ec707e3633bde4e55fed7c8a16df59b569..d0b8c816df797aa40898c5e72ba2eafbaa086794 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c
@@ -129,7 +129,7 @@ static const uint8_t u8g_dev_st7565_st7565_sleep_on[] PROGMEM = {
   0x000,		                /* indicator register set (not sure if this is required) */
   0x0ae,		/* display off */      
   0x0a5,		/* all points on */      
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -139,7 +139,7 @@ static const uint8_t u8g_dev_st7565_st7565_sleep_off[] PROGMEM = {
   0x0a4,		/* all points off */      
   0x0af,		/* display on */      
   U8G_ESC_DLY(50),       /* delay 50 ms */
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -149,7 +149,7 @@ uint8_t u8g_dev_st7565_lm6063_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -182,7 +182,55 @@ uint8_t u8g_dev_st7565_lm6063_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
 }
 
+uint8_t u8g_dev_st7565_lm6063_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, pb->buf); 
+        u8g_SetChipSelect(u8g, dev, 0);
+
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); 
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 1);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
+      u8g_SetChipSelect(u8g, dev, 0);      
+      return 1;
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_off);    
+      return 1;
+  }
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
+}
+
 U8G_PB_DEV(u8g_dev_st7565_lm6063_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6063_fn, U8G_COM_SW_SPI);
 U8G_PB_DEV(u8g_dev_st7565_lm6063_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6063_fn, U8G_COM_HW_SPI);
 
+uint8_t u8g_dev_st7565_lm6063_2x_buf[WIDTH*2] U8G_NOCOMMON ; 
+u8g_pb_t u8g_dev_st7565_lm6063_2x_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_st7565_lm6063_2x_buf}; 
+u8g_dev_t u8g_dev_st7565_lm6063_2x_sw_spi = { u8g_dev_st7565_lm6063_2x_fn, &u8g_dev_st7565_lm6063_2x_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_st7565_lm6063_2x_hw_spi = { u8g_dev_st7565_lm6063_2x_fn, &u8g_dev_st7565_lm6063_2x_pb, U8G_COM_HW_SPI };
 
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c
index ed80a0693177207fa01a2b6a230c607c0582766c..ed8dca2e0320c25566b52bd258648021f284894a 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c
@@ -86,7 +86,7 @@ static const uint8_t u8g_dev_st7565_c12832_sleep_on[] PROGMEM = {
   0x000,		                /* indicator register set (not sure if this is required) */
   0x0ae,		/* display off */      
   0x0a5,		/* all points on */      
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -96,7 +96,7 @@ static const uint8_t u8g_dev_st7565_c12832_sleep_off[] PROGMEM = {
   0x0a4,		/* all points off */      
   0x0af,		/* display on */      
   U8G_ESC_DLY(50),       /* delay 50 ms */
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -105,7 +105,7 @@ uint8_t u8g_dev_st7565_c12832_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -141,3 +141,5 @@ uint8_t u8g_dev_st7565_c12832_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
 U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_SW_SPI);
 U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_HW_SPI);
 U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_PARALLEL);
+U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_hw_usart_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_HW_USART_SPI);
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c
index 5e3f8b9fe891426b0c49bb7666c6e0824f639db3..eeb5c09876fcec0267d4350ea2e0ea36dfcc5859 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c
@@ -87,7 +87,7 @@ static const uint8_t u8g_dev_st7565_c12864_sleep_on[] PROGMEM = {
   0x000,		                /* indicator register set (not sure if this is required) */
   0x0ae,		/* display off */      
   0x0a5,		/* all points on */      
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -97,7 +97,7 @@ static const uint8_t u8g_dev_st7565_c12864_sleep_off[] PROGMEM = {
   0x0a4,		/* all points off */      
   0x0af,		/* display on */      
   U8G_ESC_DLY(50),       /* delay 50 ms */
-  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_CS(0),             /* disable chip, bugfix 12 nov 2014 */
   U8G_ESC_END                /* end of sequence */
 };
 
@@ -106,7 +106,7 @@ uint8_t u8g_dev_st7565_nhd_c12864_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, vo
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -139,7 +139,56 @@ uint8_t u8g_dev_st7565_nhd_c12864_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, vo
   return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
 }
 
+uint8_t u8g_dev_st7565_nhd_c12864_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, pb->buf); 
+        u8g_SetChipSelect(u8g, dev, 0);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width);
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 1);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
+      u8g_SetChipSelect(u8g, dev, 0);      
+      return 1;
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_off);    
+      return 1;
+  }
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
+}
+
 U8G_PB_DEV(u8g_dev_st7565_nhd_c12864_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_nhd_c12864_fn, U8G_COM_SW_SPI);
 U8G_PB_DEV(u8g_dev_st7565_nhd_c12864_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_nhd_c12864_fn, U8G_COM_HW_SPI);
 
 
+uint8_t u8g_dev_st7565_nhd_c12864_2x_buf[WIDTH*2] U8G_NOCOMMON ; 
+u8g_pb_t u8g_dev_st7565_nhd_c12864_2x_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_st7565_nhd_c12864_2x_buf}; 
+u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_sw_spi = { u8g_dev_st7565_nhd_c12864_2x_fn, &u8g_dev_st7565_nhd_c12864_2x_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_hw_spi = { u8g_dev_st7565_nhd_c12864_2x_fn, &u8g_dev_st7565_nhd_c12864_2x_pb, U8G_COM_HW_SPI };
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c
index 4851017aa64535dda63185119813fad353c4ebfd..a11d3bc7d003570a80f51a76fb75855b97876197 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c
@@ -363,7 +363,7 @@ uint8_t u8g_dev_st7687_c144mvgd_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7687_c144mvgd_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_128x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_128x64.c
index b0b18d34d29bdd03efa3a1331d3347d37f2836b7..29e63134c028ad13e36f5fc3f8eab3f2ae12d55d 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_128x64.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_128x64.c
@@ -1,6 +1,6 @@
 /*
 
-  u8g_dev_st7565_128x64.c
+  u8g_dev_st7920_128x64.c
 
   Universal 8bit Graphics Library
   
@@ -66,7 +66,7 @@ uint8_t u8g_dev_st7920_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_128x64_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -114,7 +114,7 @@ uint8_t u8g_dev_st7920_128x64_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, voi
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_128x64_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -160,6 +160,9 @@ uint8_t u8g_dev_st7920_128x64_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, voi
 U8G_PB_DEV(u8g_dev_st7920_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_ST7920_SW_SPI);
 U8G_PB_DEV(u8g_dev_st7920_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_ST7920_HW_SPI);
 U8G_PB_DEV(u8g_dev_st7920_128x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_FAST_PARALLEL);
+U8G_PB_DEV(u8g_dev_st7920_128x64_custom, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, u8g_com_arduino_st7920_custom_fn);
+
+
 
 #define QWIDTH (WIDTH*4)
 uint8_t u8g_dev_st7920_128x64_4x_buf[QWIDTH] U8G_NOCOMMON ; 
@@ -167,5 +170,6 @@ u8g_pb_t u8g_dev_st7920_128x64_4x_pb = { {32, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_
 u8g_dev_t u8g_dev_st7920_128x64_4x_sw_spi = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_ST7920_SW_SPI };
 u8g_dev_t u8g_dev_st7920_128x64_4x_hw_spi = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_ST7920_HW_SPI };
 u8g_dev_t u8g_dev_st7920_128x64_4x_8bit = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_FAST_PARALLEL };
+u8g_dev_t u8g_dev_st7920_128x64_4x_custom = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, u8g_com_arduino_st7920_custom_fn };
 
 
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_192x32.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_192x32.c
index 28535e0cd2630b2d821245a1af2c86ef994a22c1..736b082895e071b94b84881d82f598f7862ece19 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_192x32.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_192x32.c
@@ -65,7 +65,7 @@ uint8_t u8g_dev_st7920_192x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_192x32_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -103,7 +103,7 @@ uint8_t u8g_dev_st7920_192x32_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, voi
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_192x32_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_202x32.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_202x32.c
index 129fc748fbcbdbbca690d593d9e8ee53fe7aafa5..b36b7abca55b85488ff576bfc35f822c4d511516 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_202x32.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_202x32.c
@@ -68,7 +68,7 @@ uint8_t u8g_dev_st7920_202x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_202x32_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -106,7 +106,7 @@ uint8_t u8g_dev_st7920_202x32_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, voi
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_202x32_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x128.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x128.c
new file mode 100644
index 0000000000000000000000000000000000000000..15f618c5f84fa0ca6220fa9d1f5cc23e2c264da5
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x128.c
@@ -0,0 +1,193 @@
+/*
+
+  u8g_dev_t6963_128x128.c
+  
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2013, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+    
+        
+  Application Notes for the MGLS 128x128
+    www.baso.no/content/pdf/T6963C_Application.pdf
+  
+  Hitachi App Notes:
+    https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf
+
+  Notes:
+    The font selection pins should generate the 8x8 font.
+    For the MGLS240128TZ only FS1 is available on pin 18.
+    FS1 must be low to generate the 8x8 font.
+  
+
+*/
+
+#include "u8g.h"
+
+#define WIDTH 128
+#define HEIGHT 128
+#define PAGE_HEIGHT 16
+
+
+/*
+  http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format
+*/
+
+/* text is not used, so settings are not relevant */
+static const uint8_t u8g_dev_t6963_128x128_init_seq[] PROGMEM = {
+  U8G_ESC_CS(0),             /* disable chip */
+  U8G_ESC_ADR(0),           /* data mode */
+  U8G_ESC_RST(15),           /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/
+
+  U8G_ESC_CS(1),             /* enable chip */
+  U8G_ESC_DLY(50),         /* delay 50 ms */
+
+  U8G_ESC_ADR(0),               /* data mode */
+  0x000,                                /* low byte */
+  0x000,                                /* height byte */
+  U8G_ESC_ADR(1),               /* instruction mode */
+  0x021,                                /* set cursor position */
+  
+  U8G_ESC_ADR(0),               /* data mode */
+  0x000,                                /* low byte */
+  0x000,                                /* height byte */
+  U8G_ESC_ADR(1),               /* instruction mode */
+  0x022,                                /* set offset */
+
+  U8G_ESC_ADR(0),               /* data mode */
+  0x000,                                /* low byte */
+  0x000,                                /* height byte */
+  U8G_ESC_ADR(1),               /* instruction mode */
+  0x040,				     /* text home */
+
+  U8G_ESC_ADR(0),               /* data mode */
+  WIDTH/8,                      	    /* low byte */
+  0x000,                                /* height byte */
+  U8G_ESC_ADR(1),               /* instruction mode */
+  0x041,				     /* text columns */
+
+  U8G_ESC_ADR(0),               /* data mode */
+  0x000,                                /* low byte */
+  0x000,                                /* height byte */
+  U8G_ESC_ADR(1),               /* instruction mode */
+  0x042,				     /* graphics home */
+
+  U8G_ESC_ADR(0),               /* data mode */
+  WIDTH/8,                            /* low byte */
+  0x000,                                /* height byte */
+  U8G_ESC_ADR(1),               /* instruction mode */
+  0x043,				     /* graphics columns */
+  
+  // mode set
+  // 0x080: Internal CG, OR Mode
+  // 0x081: Internal CG, EXOR Mode
+  // 0x083: Internal CG, AND Mode
+  // 0x088: External CG, OR Mode
+  // 0x089: External CG, EXOR Mode
+  // 0x08B: External CG, AND Mode
+  U8G_ESC_ADR(1),               /* instruction mode */
+  0x080,                                /* mode register: OR Mode, Internal Character Mode */
+  
+  U8G_ESC_ADR(1),               /* instruction mode */
+  // display mode
+  // 0x090: Display off
+  // 0x094: Graphic off, text on, cursor off, blink off
+  // 0x096: Graphic off, text on, cursor on, blink off
+  // 0x097: Graphic off, text on, cursor on, blink on
+  // 0x098: Graphic on, text off, cursor off, blink off
+  // 0x09a: Graphic on, text off, cursor on, blink off
+  // ...
+  // 0x09c: Graphic on, text on, cursor off, blink off
+  // 0x09f: Graphic on, text on, cursor on, blink on
+  0x098,                                /* mode register: Display Mode, Graphics on, Text off, Cursor off */
+  
+  U8G_ESC_ADR(0),               /* data mode */
+  0x000,                                /* low byte */
+  0x000,                                /* height byte */
+  U8G_ESC_ADR(1),               /* instruction mode */
+  0x024,                                /* set adr pointer */
+  
+
+  U8G_ESC_DLY(100),         /* delay 100 ms */
+  
+  U8G_ESC_ADR(0),               /* data mode */
+  U8G_ESC_CS(0),             /* disable chip */
+  U8G_ESC_END                /* end of sequence */
+};
+
+uint8_t u8g_dev_t6963_128x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE);    
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_128x128_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        uint8_t y, i;
+        uint16_t disp_ram_adr;
+        uint8_t *ptr;
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+
+        
+	u8g_SetAddress(u8g, dev, 0);           /* data mode */
+        u8g_SetChipSelect(u8g, dev, 1);
+        y = pb->p.page_y0;
+        ptr = pb->buf;
+        disp_ram_adr = WIDTH/8;
+        disp_ram_adr *= y;
+        for( i = 0; i < PAGE_HEIGHT; i ++ )
+        {
+          u8g_SetAddress(u8g, dev, 0);           /* data mode */
+          u8g_WriteByte(u8g, dev, disp_ram_adr&255 );      /* address low byte */
+          u8g_WriteByte(u8g, dev, disp_ram_adr>>8 );      /* address hight byte */
+          u8g_SetAddress(u8g, dev, 1);           /* cmd mode */
+          u8g_WriteByte(u8g, dev, 0x024 );      /* set adr ptr */
+	  
+          u8g_WriteSequence(u8g, dev, WIDTH/8, ptr);	
+	  
+          ptr += WIDTH/8;
+          disp_ram_adr += WIDTH/8;
+        }
+	u8g_SetAddress(u8g, dev, 0);           /* data mode */
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+  }
+  return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg);
+}
+
+// U8G_PB_DEV(u8g_dev_t6963_128x128_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_128x128_fn, U8G_COM_T6963);
+
+uint8_t u8g_dev_t6963_128x128_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; 
+u8g_pb_t u8g_dev_t6963_128x128_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_t6963_128x128_2x_bw_buf}; 
+u8g_dev_t u8g_dev_t6963_128x128_8bit = { u8g_dev_t6963_128x128_fn, &u8g_dev_t6963_128x128_2x_bw_pb, U8G_COM_T6963 };
+
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x64.c
index c1626ccc180cda12f0d397f4ef38810f3b2752bb..97e15833204140c8f89ebc2d368349d578407a5a 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x64.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x64.c
@@ -142,7 +142,7 @@ uint8_t u8g_dev_t6963_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *a
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);    
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE);    
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_128x64_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x128.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x128.c
index 4a28edbcfeecc0cc255f75925292f78681029027..7373f38884120c0d0c669b08ce65286682c928e1 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x128.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x128.c
@@ -146,7 +146,7 @@ uint8_t u8g_dev_t6963_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);    
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE);    
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_240x128_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x64.c
index 6d209d21204967005b4acff2cb99c81d18fe71a4..d0c4fd2307a52c61b2616c088ac82be726477076 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x64.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x64.c
@@ -146,7 +146,7 @@ uint8_t u8g_dev_t6963_240x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *a
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);    
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE);    
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_240x64_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c
index 17689dc4a483cd0122d07820bf18121316d66507..d8f423666f0a7c584325c081068f01c92dd79ff3 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c
@@ -78,7 +78,7 @@ uint8_t u8g_dev_tls8204_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_tls8204_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1601_c128032.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1601_c128032.c
new file mode 100644
index 0000000000000000000000000000000000000000..0151566760c446bab179a20ca7a7d5ab1f31926f
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1601_c128032.c
@@ -0,0 +1,201 @@
+/*
+
+  u8g_dev_uc1601_c128032.c
+  
+  LCD-AG-C128032R-DIW W/KK E6 PBF from http://www.artronic.pl/o_produkcie.php?id=1343
+
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2013, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+  
+*/
+
+#include "u8g.h"
+
+#define WIDTH 128
+#define HEIGHT 32
+#define PAGE_HEIGHT 8
+
+/* init sequence */
+static const uint8_t u8g_dev_uc1601_c128032_init_seq[] PROGMEM = {
+  U8G_ESC_CS(0),            	/* disable chip */
+  U8G_ESC_ADR(0),           	/* instruction mode */
+  U8G_ESC_CS(1),             	/* enable chip */
+  U8G_ESC_RST(15),           	/* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/
+
+  0x0a3,		        /* 0x0a3: LCD bias 1/7 ,  0x0a2: LCD bias 1/9 */
+  0x0a0,		        /* 0x0a0: ADC set to normal,  0x0a1 ADC set to inverted */
+  0x0c8,                        /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */
+  0x0c2,				/* 22 May 2013: mirror x */
+  
+  0x040,		        /* set display start line */
+  
+  0x028 | 0x04,                 /* power control: turn on voltage converter */
+  U8G_ESC_DLY(50),         	/* delay 50 ms */
+
+  0x028 | 0x06,                 /* power control: turn on voltage regulator */
+  U8G_ESC_DLY(50),         	/* delay 50 ms */
+  
+  0x028 | 0x07,                 /* power control: turn on voltage follower */
+  U8G_ESC_DLY(10),         	/* delay 10 ms */
+
+  0x020| 0x06,		        /* set V0 voltage resistor ratio to 6  */
+  
+  0x0af,		        /* display on */
+  
+  //0x081,		        /* set contrast */
+  //0x018,		        /* contrast value*/
+ 
+  0x0a6,                      /* display normal, bit val 0: LCD pixel off. */
+
+  U8G_ESC_DLY(100),       	/* delay 100 ms */
+  U8G_ESC_CS(0),             	/* disable chip */
+  U8G_ESC_END                	/* end of sequence */
+};
+
+static const uint8_t u8g_dev_uc1601_c128032_data_start[] PROGMEM = {
+  U8G_ESC_ADR(0),           	/* instruction mode */
+  U8G_ESC_CS(1),             	/* enable chip */
+  0x010,			/* set upper 4 bit of the col adr to 0 */
+  0x004,			/* set lower 4 bit of the col adr  */      
+  U8G_ESC_END                	/* end of sequence */
+};
+
+static const uint8_t u8g_dev_uc1601_c128032_sleep_on[] PROGMEM = {
+  U8G_ESC_ADR(0),           	/* instruction mode */
+  U8G_ESC_CS(1),             	/* enable chip */
+  0x0ac,			/* static indicator off */
+  0x000,		        /* indicator register set (not sure if this is required) */
+  0x0ae,			/* display off */      
+  0x0a5,			/* all points on */      
+  U8G_ESC_CS(1),             	/* disable chip */
+  U8G_ESC_END                	/* end of sequence */
+};
+
+static const uint8_t u8g_dev_uc1601_c128032_sleep_off[] PROGMEM = {
+  U8G_ESC_ADR(0),           	/* instruction mode */
+  U8G_ESC_CS(1),             	/* enable chip */
+  0x0a4,			/* all points off */      
+  0x0af,			/* display on */      
+  U8G_ESC_DLY(50),       	/* delay 50 ms */
+  U8G_ESC_CS(1),             	/* disable chip */
+  U8G_ESC_END                	/* end of sequence */
+};
+
+
+uint8_t u8g_dev_uc1601_c128032_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (UC1601) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+        if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )
+          return 0;
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 1);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
+      u8g_SetChipSelect(u8g, dev, 0);      
+      return 1;
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_off);    
+      return 1;
+  }
+  return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
+}
+
+uint8_t u8g_dev_uc1601_c128032_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (UC1601) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, pb->buf); 
+        u8g_SetChipSelect(u8g, dev, 0);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (UC1601) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); 
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 1);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
+      u8g_SetChipSelect(u8g, dev, 0);      
+      return 1;
+    case U8G_DEV_MSG_SLEEP_ON:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_on);    
+      return 1;
+    case U8G_DEV_MSG_SLEEP_OFF:
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_off);    
+      return 1;
+  }
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
+}
+
+U8G_PB_DEV(u8g_dev_uc1601_c128032_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1601_c128032_fn, U8G_COM_SW_SPI);
+U8G_PB_DEV(u8g_dev_uc1601_c128032_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1601_c128032_fn, U8G_COM_HW_SPI);
+
+uint8_t u8g_dev_uc1601_c128032_2x_buf[WIDTH*2] U8G_NOCOMMON ; 
+u8g_pb_t u8g_dev_uc1601_c128032_2x_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_uc1601_c128032_2x_buf}; 
+u8g_dev_t u8g_dev_uc1601_c128032_2x_sw_spi = { u8g_dev_uc1601_c128032_2x_fn, &u8g_dev_uc1601_c128032_2x_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_uc1601_c128032_2x_hw_spi = { u8g_dev_uc1601_c128032_2x_fn, &u8g_dev_uc1601_c128032_2x_pb, U8G_COM_HW_SPI };
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1608_240x128.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1608_240x128.c
new file mode 100644
index 0000000000000000000000000000000000000000..650b6b96f0bdc3c97d4cea680b7c726617c280a8
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1608_240x128.c
@@ -0,0 +1,200 @@
+/*
+
+
+
+  u8g_dev_uc1608_240x128.c
+
+  Universal 8bit Graphics Library
+
+  Copyright (c) 2013, olikraus@gmail.com (original 240x64 library)
+  Modified by thieringpeti@gmail.com for Raystar rx240128 family displays
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification,
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list
+    of conditions and the following disclaimer.
+
+  * Redistributions in binary form must reproduce the above copyright notice, this
+    list of conditions and the following disclaimer in the documentation and/or other
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+*/
+
+/*
+Display: http://www.tme.eu/en/details/rx240128a-ghw/lcd-graphic-displays/raystar-optronics/
+Connection: HW / SW SPI.
+To get this display working, You need some extra capacitors:
+
+connect 4.7uF caps between:
+    PIN1 & PIN2 VB1 +-
+    PIN3 & PIN4 VB0 -+
+connect 0.1uF caps between:
+    VLCD and VSS
+    VBIAS and VSS
+You can find some schematics with a 10M resistor parallellized with the VLCD capacitor.
+
+Select 4-bit SPI mode.
+
+Connect D7 (PIN9) To VDD (+3.3V)
+Connect D1, D2, D4, D5, D6 to GND (PINS 10,11,12,14,15)
+Connect WR0, WR1, BM0, BM1 to GND (PINS 17,18,22,23)
+
+D0: (PIN16) AVR's SCK pin (HW SPI)
+D3: (PIN13) AVR's MOSI pin (HW SPI)
+CD: (PIN19) used as A0 in the library
+CS: (PIN21) Connect to the defined CS pin, and You can re-use the HW SPI in different routines.
+RST: (PIN20) optional reset, can be defined in the function, resets on initialization.
+
+Adjust contrast if necessary. Default: 0x072.
+
+*/
+
+#include "u8g.h"
+
+#define WIDTH 240
+#define HEIGHT 128
+#define PAGE_HEIGHT 8
+
+/* see also ERC24064-1 for init sequence example */
+static const uint8_t u8g_dev_uc1608_240x128_init_seq[] PROGMEM = {
+  U8G_ESC_CS(1),             /* disable chip (UC1608 has positive logic for CS) */
+  U8G_ESC_ADR(0),           /* instruction mode */
+  U8G_ESC_RST(1),           /* do reset low pulse with (15*16)+2 milliseconds */
+
+
+  U8G_ESC_CS(0),             /* enable chip */
+  0x0e2,            		/* soft reset */
+
+  U8G_ESC_DLY(100),       /* delay 100 ms */
+  U8G_ESC_DLY(100),       /* delay 100 ms */
+  0x026,                        /* MUX rate and temperature compensation */
+
+  0x0c8,		                /* Map control, Bit 3: MY=1, Bit 2: MX=0, Bit 0: MSF =0 */
+
+  0x0eb,		                /* LCD bias Bits 0/1: 00=10.7 01=10.3, 10=12.0, 11=12.7*/
+                                /* default 0x0ea for 240x128 */
+  0x081,		                /* set contrast (bits 0..5) and gain (bits 6/7) */
+  0x072,		                /* default for 240x128 displays: 0x072*/
+
+  0x02f,		                /* power on, Bit 2 PC2=1 (internal charge pump), Bits 0/1: cap of panel */
+  U8G_ESC_DLY(50),         /* delay 50 ms */
+
+  0x040,		                /* set display start line to 0 */
+  0x090,		                /* no fixed lines */
+  0x089,		                /* RAM access control  */
+
+  0x0af,		                /* disable sleep mode  */
+  0x0a4,		                /* normal display  */
+  0x0a5,		                /* display all points, ST7565, UC1610 */
+  // 0x0a7,                        /* inverse display */
+  0x0a6,                        /* normal display */
+
+  U8G_ESC_DLY(100),       /* delay 100 ms */
+  0x0a4,		                /* normal display */
+  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_END                /* end of sequence */
+};
+
+static const uint8_t u8g_dev_uc1608_240x128_data_start[] PROGMEM = {
+  U8G_ESC_ADR(0),           /* instruction mode */
+  U8G_ESC_CS(0),             /* enable chip */
+  0x010,		/* set upper 4 bit of the col adr to 0 (UC1608)  */
+  0x000,		/* set lower 4 bit of the col adr to 0 */
+  U8G_ESC_END                /* end of sequence */
+};
+
+uint8_t u8g_dev_uc1608_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_data_start);
+        u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (UC1608) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+        if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )
+          return 0;
+        u8g_SetChipSelect(u8g, dev, 1);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 0);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);	/* set contrast from, keep gain at 0 */
+      u8g_SetChipSelect(u8g, dev, 1);
+      return 1;
+  }
+  return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
+}
+
+uint8_t u8g_dev_uc1608_240x128_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_data_start);
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, pb->buf);
+        u8g_SetChipSelect(u8g, dev, 0);
+
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_data_start);
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width);
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 1);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
+      u8g_SetChipSelect(u8g, dev, 0);
+      return 1;
+  }
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
+}
+
+U8G_PB_DEV(u8g_dev_uc1608_240x128_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x128_fn, U8G_COM_SW_SPI);
+U8G_PB_DEV(u8g_dev_uc1608_240x128_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x128_fn, U8G_COM_HW_SPI);
+
+uint8_t u8g_dev_uc1608_240x128_2x_buf[WIDTH*2] U8G_NOCOMMON ;
+u8g_pb_t u8g_dev_uc1608_240x128_2x_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_uc1608_240x128_2x_buf};
+u8g_dev_t u8g_dev_uc1608_240x128_2x_sw_spi = { u8g_dev_uc1608_240x128_2x_fn, &u8g_dev_uc1608_240x128_2x_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_uc1608_240x128_2x_hw_spi = { u8g_dev_uc1608_240x128_2x_fn, &u8g_dev_uc1608_240x128_2x_pb, U8G_COM_HW_SPI };
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1608_240x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1608_240x64.c
new file mode 100644
index 0000000000000000000000000000000000000000..6a99c6ba885c18ea70046581e0b5c23ad616e16c
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1608_240x64.c
@@ -0,0 +1,168 @@
+/*
+
+  u8g_dev_uc1608_240x64.c
+
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2013, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+  
+*/
+
+#include "u8g.h"
+
+#define WIDTH 240
+#define HEIGHT 64
+#define PAGE_HEIGHT 8
+
+/* see also ERC24064-1 for init sequence example */
+static const uint8_t u8g_dev_uc1608_240x64_init_seq[] PROGMEM = {
+  U8G_ESC_CS(1),             /* disable chip (UC1608 has positive logic for CS) */
+  U8G_ESC_ADR(0),           /* instruction mode */
+  U8G_ESC_RST(1),           /* do reset low pulse with (15*16)+2 milliseconds */
+  
+  
+  U8G_ESC_CS(0),             /* enable chip */
+  0x0e2,            		/* soft reset */
+  
+  U8G_ESC_DLY(100),       /* delay 100 ms */
+  U8G_ESC_DLY(100),       /* delay 100 ms */
+#if HEIGHT <= 96
+  0x023,				/* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */
+#else
+  /* 30 Nov 2013: not tested */
+  0x027,				/* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */
+#endif  
+  0x0c8,		                /* Map control, Bit 3: MY=1, Bit 2: MX=0, Bit 0: MSF =0 */
+  0x0e8,		                /* LCD bias Bits 0/1: 00=10.7 01=10.3, 10=12.0, 11=12.7*/
+  
+  0x081,		                /* set contrast (bits 0..5) and gain (bits 6/7) */
+  0x014,		                /* ECR24064-1 default: 0x040*/
+  
+  0x02f,		                /* power on, Bit 2 PC2=1 (internal charge pump), Bits 0/1: cap of panel */  
+  U8G_ESC_DLY(50),         /* delay 50 ms */
+  
+  0x040,		                /* set display start line to 0 */
+  0x090,		                /* no fixed lines */
+  0x089,		                /* RAM access control  */
+  
+  0x0af,		                /* disable sleep mode  */
+  0x0a4,		                /* normal display  */
+  0x0a5,		                /* display all points, ST7565, UC1610 */
+  U8G_ESC_DLY(100),       /* delay 100 ms */
+  0x0a4,		                /* normal display */
+  U8G_ESC_CS(1),             /* disable chip */
+  U8G_ESC_END                /* end of sequence */
+};
+
+static const uint8_t u8g_dev_uc1608_240x64_data_start[] PROGMEM = {
+  U8G_ESC_ADR(0),           /* instruction mode */
+  U8G_ESC_CS(0),             /* enable chip */
+  0x010,		/* set upper 4 bit of the col adr to 0 (UC1608)  */
+  0x000,		/* set lower 4 bit of the col adr to 0 */      
+  U8G_ESC_END                /* end of sequence */
+};
+
+uint8_t u8g_dev_uc1608_240x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (UC1608) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+        if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )
+          return 0;
+        u8g_SetChipSelect(u8g, dev, 1);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 0);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);	/* set contrast from, keep gain at 0 */
+      u8g_SetChipSelect(u8g, dev, 1);      
+      return 1;
+  }
+  return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
+}
+
+uint8_t u8g_dev_uc1608_240x64_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, pb->buf); 
+        u8g_SetChipSelect(u8g, dev, 0);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); 
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 1);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
+      u8g_SetChipSelect(u8g, dev, 0);      
+      return 1;
+  }
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
+}
+
+U8G_PB_DEV(u8g_dev_uc1608_240x64_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x64_fn, U8G_COM_SW_SPI);
+U8G_PB_DEV(u8g_dev_uc1608_240x64_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x64_fn, U8G_COM_HW_SPI);
+
+uint8_t u8g_dev_uc1608_240x64_2x_buf[WIDTH*2] U8G_NOCOMMON ; 
+u8g_pb_t u8g_dev_uc1608_240x64_2x_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_uc1608_240x64_2x_buf}; 
+u8g_dev_t u8g_dev_uc1608_240x64_2x_sw_spi = { u8g_dev_uc1608_240x64_2x_fn, &u8g_dev_uc1608_240x64_2x_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_uc1608_240x64_2x_hw_spi = { u8g_dev_uc1608_240x64_2x_fn, &u8g_dev_uc1608_240x64_2x_pb, U8G_COM_HW_SPI };
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c
index b7111d5c894569a7e18e96ea9c1633ced854e069..4f361664dd470280a04acd56315257d83459b246 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c
@@ -101,7 +101,7 @@ uint8_t u8g_dev_uc1610_dogxl160_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, v
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -145,7 +145,7 @@ uint8_t u8g_dev_uc1610_dogxl160_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, v
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -177,7 +177,7 @@ uint8_t u8g_dev_uc1610_dogxl160_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -208,7 +208,7 @@ uint8_t u8g_dev_uc1610_dogxl160_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg
         u8g_SetAddress(u8g, dev, 1);           /* data mode */
         for( i = 0; i < WIDTH; i++ )
         {
-          u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf+WIDTH))[i] ) );          
+          u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)((uint8_t *)(pb->buf)+WIDTH))[i] ) );          
         }
 
         u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start);    
@@ -216,7 +216,7 @@ uint8_t u8g_dev_uc1610_dogxl160_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg
         u8g_SetAddress(u8g, dev, 1);           /* data mode */
         for( i = 0; i < WIDTH; i++ )
         {
-          u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf+WIDTH))[i] >> 4 ) );          
+          u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)((uint8_t *)(pb->buf)+WIDTH))[i] >> 4 ) );          
         }
         
         u8g_SetChipSelect(u8g, dev, 0);
@@ -238,7 +238,7 @@ uint8_t u8g_dev_uc1610_dogxl160_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -256,7 +256,7 @@ uint8_t u8g_dev_uc1610_dogxl160_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg
         u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start);    
         u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2+1) ); /* select current page (UC1610) */
         u8g_SetAddress(u8g, dev, 1);           /* data mode */
-        if ( u8g_WriteSequence(u8g, dev, WIDTH, pb->buf+WIDTH) == 0 )
+        if ( u8g_WriteSequence(u8g, dev, WIDTH, (uint8_t *)(pb->buf)+WIDTH) == 0 )
           return 0;
         
         u8g_SetChipSelect(u8g, dev, 0);
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1611_dogm240.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1611_dogm240.c
new file mode 100644
index 0000000000000000000000000000000000000000..52bf451d94f1d16549a60734dc8593a296376cf2
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1611_dogm240.c
@@ -0,0 +1,116 @@
+/*
+
+  u8g_dev_uc1611_dogm240.c
+
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2014, dev.menges.jonas@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+  
+*/
+
+#include "u8g.h"
+
+
+#define WIDTH 240
+#define HEIGHT 64
+#define PAGE_HEIGHT 8
+
+
+static const uint8_t u8g_dev_uc1611_dogm240_init_seq[] PROGMEM = {
+  U8G_ESC_CS(1),             // enable chip
+  U8G_ESC_ADR(0),           // instruction mode
+  0xF1,     // set last COM electrode
+  0x3F,     // 64-1=63
+  0xF2,     // set display start line
+  0x00,     // 0
+  0xF3,     // set display end line
+  0x3F,     // 64-1=63
+  0x81,     // set contrast (0-255)
+  0xB7,     // 183
+  0xC0,     // set view
+  //0x04,     // topview
+  0x02,     // bottomview
+  0xA3,     // set line rate (9.4k)
+  0xE9,     // set bias ratio (10)
+  0xA9,     // enable display
+  0xD1,      // set black and white mode
+  U8G_ESC_CS(0),             // disable chip
+  U8G_ESC_END                // end of sequence
+};
+
+static void setPage(u8g_t *u8g, u8g_dev_t *dev, unsigned char page)
+{
+  u8g_WriteByte(u8g, dev, 0x70);
+  u8g_WriteByte(u8g, dev, 0x60 + (page&0x0F));
+}
+
+static const uint8_t u8g_dev_uc1611_dogm240_data_start[] PROGMEM = {
+  U8G_ESC_ADR(0),           /* instruction mode */
+  U8G_ESC_CS(1),            /* enable chip */
+  0x10,                     /* set upper 4 bit of the col adr to 0 */
+  0x00,                     /* set lower 4 bit of the col adr to 0 */
+  U8G_ESC_END               /* end of sequence */
+};
+
+uint8_t u8g_dev_uc1611_dogm240_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogm240_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+      u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogm240_data_start);
+      setPage(u8g, dev, pb->p.page);   /* select current page (uc1611) */
+      u8g_SetAddress(u8g, dev, 1);     /* data mode */
+      if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )
+        return 0;
+      u8g_SetChipSelect(u8g, dev, 1);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 0);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x81);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);	/* set contrast from, keep gain at 0 */
+      u8g_SetChipSelect(u8g, dev, 1);
+      return 1;
+  }
+  return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
+}
+
+U8G_PB_DEV(u8g_dev_uc1611_dogm240_i2c , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogm240_fn, U8G_COM_UC_I2C);
+U8G_PB_DEV(u8g_dev_uc1611_dogm240_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogm240_fn, U8G_COM_SW_SPI);
+U8G_PB_DEV(u8g_dev_uc1611_dogm240_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogm240_fn, U8G_COM_HW_SPI);
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1611_dogxl240.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1611_dogxl240.c
new file mode 100644
index 0000000000000000000000000000000000000000..44242ecdfb250a174812e0502fa1ac981f046aaf
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1611_dogxl240.c
@@ -0,0 +1,116 @@
+/*
+
+  u8g_dev_uc1611_dogxl240.c
+
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2014, dev.menges.jonas@gmail.com, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+  
+  
+*/
+
+#include "u8g.h"
+
+
+#define WIDTH 240
+#define HEIGHT 128
+#define PAGE_HEIGHT 8
+
+
+static const uint8_t u8g_dev_uc1611_dogxl240_init_seq[] PROGMEM = {
+  U8G_ESC_CS(1),             // enable chip
+  U8G_ESC_ADR(0),           // instruction mode
+  0xF1,     // set last COM electrode
+  0x7F,     // DOGXL240
+  0xF2,     // set display start line
+  0x00,     // 0
+  0xF3,     // set display end line
+  0x7F,     // DOGXL240
+  0x81,     // set contrast (0-255)
+  0xAA,     // DOGXL240 
+  0xC0,     // set view
+  //0x04,     // topview
+  0x02,     // bottomview
+  0xA3,     // set line rate (9.4k)
+  0xE9,     // set bias ratio (10)
+  0xA9,     // enable display
+  0xD1,      // set black and white mode
+  U8G_ESC_CS(0),             // disable chip
+  U8G_ESC_END                // end of sequence
+};
+
+static void u8g_dev_dogxl240_set_page(u8g_t *u8g, u8g_dev_t *dev, unsigned char page)
+{
+  u8g_WriteByte(u8g, dev, 0x70);
+  u8g_WriteByte(u8g, dev, 0x60 + (page&0x0F));
+}
+
+static const uint8_t u8g_dev_uc1611_dogxl240_data_start[] PROGMEM = {
+  U8G_ESC_ADR(0),           /* instruction mode */
+  U8G_ESC_CS(1),            /* enable chip */
+  0x10,                     /* set upper 4 bit of the col adr to 0 */
+  0x00,                     /* set lower 4 bit of the col adr to 0 */
+  U8G_ESC_END               /* end of sequence */
+};
+
+static uint8_t u8g_dev_uc1611_dogxl240_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogxl240_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+      u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogxl240_data_start);
+      u8g_dev_dogxl240_set_page(u8g, dev, pb->p.page);   /* select current page (uc1611) */
+      u8g_SetAddress(u8g, dev, 1);     /* data mode */
+      if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )
+        return 0;
+      u8g_SetChipSelect(u8g, dev, 1);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 0);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x81);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);	/* set contrast from, keep gain at 0 */
+      u8g_SetChipSelect(u8g, dev, 1);
+      return 1;
+  }
+  return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
+}
+
+U8G_PB_DEV(u8g_dev_uc1611_dogxl240_i2c , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogxl240_fn, U8G_COM_UC_I2C);
+U8G_PB_DEV(u8g_dev_uc1611_dogxl240_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogxl240_fn, U8G_COM_SW_SPI);
+U8G_PB_DEV(u8g_dev_uc1611_dogxl240_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogxl240_fn, U8G_COM_HW_SPI);
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c
index 853d8c0344af24da74461ce6f7d1927b6e46d8f5..5161ef95f259c6009701e602b83ce4a36d7aa1e3 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c
@@ -45,6 +45,8 @@ static const uint8_t u8g_dev_dogs102_init_seq[] PROGMEM = {
   U8G_ESC_ADR(0),           /* instruction mode */
   U8G_ESC_RST(1),           /* do reset low pulse with (1*16)+2 milliseconds */
   U8G_ESC_CS(1),             /* enable chip */
+  
+  0x0e2,            		/* soft reset */
   0x040,		                /* set display start line to 0 */
   0x0a1,		                /* ADC set to reverse */
   0x0c0,		                /* common output mode */
@@ -80,7 +82,7 @@ uint8_t u8g_dev_dogs102_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -107,7 +109,49 @@ uint8_t u8g_dev_dogs102_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
   return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
 }
 
+uint8_t u8g_dev_uc1701_dogs102_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, pb->buf); 
+        u8g_SetChipSelect(u8g, dev, 0);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); 
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 1);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
+      u8g_SetChipSelect(u8g, dev, 0);      
+      return 1;
+  }
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
+}
+
 U8G_PB_DEV(u8g_dev_uc1701_dogs102_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_dogs102_fn, U8G_COM_SW_SPI);
 U8G_PB_DEV(u8g_dev_uc1701_dogs102_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_dogs102_fn, U8G_COM_HW_SPI);
 
+uint8_t u8g_dev_uc1701_dogs102_2x_buf[WIDTH*2] U8G_NOCOMMON ; 
+u8g_pb_t u8g_dev_uc1701_dogs102_2x_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_uc1701_dogs102_2x_buf}; 
+u8g_dev_t u8g_dev_uc1701_dogs102_2x_sw_spi = { u8g_dev_uc1701_dogs102_2x_fn, &u8g_dev_uc1701_dogs102_2x_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_uc1701_dogs102_2x_hw_spi = { u8g_dev_uc1701_dogs102_2x_fn, &u8g_dev_uc1701_dogs102_2x_pb, U8G_COM_HW_SPI };
 
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c
index 55b2f9b71f660de695af724328e0e9d915959334..209a7b930de52edfc8e66827fb39833e3a400daa 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c
@@ -46,6 +46,7 @@ static const uint8_t u8g_dev_uc1701_mini12864_init_seq[] PROGMEM = {
   U8G_ESC_RST(1),           /* do reset low pulse with (1*16)+2 milliseconds */
   U8G_ESC_CS(1),             /* enable chip */
 
+  0x0e2,            /* soft reset */
   0x040,		/* set display start line to 0 */
   0x0a0,		/* ADC set to reverse */
   0x0c8,		/* common output mode */
@@ -83,7 +84,7 @@ uint8_t u8g_dev_uc1701_mini12864_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, voi
   switch(msg)
   {
     case U8G_DEV_MSG_INIT:
-      u8g_InitCom(u8g, dev);
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_init_seq);
       break;
     case U8G_DEV_MSG_STOP:
@@ -110,5 +111,48 @@ uint8_t u8g_dev_uc1701_mini12864_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, voi
   return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);
 }
 
+uint8_t u8g_dev_uc1701_mini12864_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
+      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_init_seq);
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, pb->buf); 
+        u8g_SetChipSelect(u8g, dev, 0);
+	
+        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_data_start);    
+        u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page */
+        u8g_SetAddress(u8g, dev, 1);           /* data mode */
+	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); 
+        u8g_SetChipSelect(u8g, dev, 0);
+      }
+      break;
+    case U8G_DEV_MSG_CONTRAST:
+      u8g_SetChipSelect(u8g, dev, 1);
+      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
+      u8g_WriteByte(u8g, dev, 0x081);
+      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
+      u8g_SetChipSelect(u8g, dev, 0);      
+      return 1;
+  }
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
+}
+
 U8G_PB_DEV(u8g_dev_uc1701_mini12864_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1701_mini12864_fn, U8G_COM_SW_SPI);
 U8G_PB_DEV(u8g_dev_uc1701_mini12864_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1701_mini12864_fn, U8G_COM_HW_SPI);
+
+uint8_t u8g_dev_uc1701_mini12864_2x_buf[WIDTH*2] U8G_NOCOMMON ; 
+u8g_pb_t u8g_dev_uc1701_mini12864_2x_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_uc1701_mini12864_2x_buf}; 
+u8g_dev_t u8g_dev_uc1701_mini12864_2x_sw_spi = { u8g_dev_uc1701_mini12864_2x_fn, &u8g_dev_uc1701_mini12864_2x_pb, U8G_COM_SW_SPI };
+u8g_dev_t u8g_dev_uc1701_mini12864_2x_hw_spi = { u8g_dev_uc1701_mini12864_2x_fn, &u8g_dev_uc1701_mini12864_2x_pb, U8G_COM_HW_SPI };
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ellipse.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ellipse.c
index 6c35fdf2371552dd9d75a7796a3de488451e8753..57ff4675bcc245c1f80b877f83214157ff8f1e5c 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ellipse.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ellipse.c
@@ -98,3 +98,296 @@ void u8g_DrawEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t xr, u8
 
 #endif
 
+#if defined(U8G_16BIT)
+typedef  int32_t u8g_long_t;
+#else
+typedef  int16_t u8g_long_t;
+#endif
+
+
+/*
+  Source: 
+    ftp://pc.fk0.name/pub/books/programming/bezier-ellipse.pdf
+    Foley, Computer Graphics, p 90
+*/
+static void u8g_draw_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE;
+static void u8g_draw_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option)
+{
+    /* upper right */
+    if ( option & U8G_DRAW_UPPER_RIGHT )
+    {
+      u8g_DrawPixel(u8g, x0 + x, y0 - y);
+    }
+    
+    /* upper left */
+    if ( option & U8G_DRAW_UPPER_LEFT )
+    {
+      u8g_DrawPixel(u8g, x0 - x, y0 - y);
+    }
+    
+    /* lower right */
+    if ( option & U8G_DRAW_LOWER_RIGHT )
+    {
+      u8g_DrawPixel(u8g, x0 + x, y0 + y);
+    }
+    
+    /* lower left */
+    if ( option & U8G_DRAW_LOWER_LEFT )
+    {
+      u8g_DrawPixel(u8g, x0 - x, y0 + y);
+    }
+}
+
+void u8g_draw_ellipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option)
+{
+  u8g_uint_t x, y;
+  u8g_long_t xchg, ychg;
+  u8g_long_t err;
+  u8g_long_t rxrx2;
+  u8g_long_t ryry2;
+  u8g_long_t stopx, stopy;
+  
+  rxrx2 = rx;
+  rxrx2 *= rx;
+  rxrx2 *= 2;
+  
+  ryry2 = ry;
+  ryry2 *= ry;
+  ryry2 *= 2;
+  
+  x = rx;
+  y = 0;
+  
+  xchg = 1;
+  xchg -= rx;
+  xchg -= rx;
+  xchg *= ry;
+  xchg *= ry;
+  
+  ychg = rx;
+  ychg *= rx;
+  
+  err = 0;
+  
+  stopx = ryry2;
+  stopx *= rx;
+  stopy = 0;
+  
+  while( stopx >= stopy )
+  {
+    u8g_draw_ellipse_section(u8g, x, y, x0, y0, option);
+    y++;
+    stopy += rxrx2;
+    err += ychg;
+    ychg += rxrx2;
+    if ( 2*err+xchg > 0 )
+    {
+      x--;
+      stopx -= ryry2;
+      err += xchg;
+      xchg += ryry2;      
+    }
+  }
+
+  x = 0;
+  y = ry;
+  
+  xchg = ry;
+  xchg *= ry;
+  
+  ychg = 1;
+  ychg -= ry;
+  ychg -= ry;
+  ychg *= rx;
+  ychg *= rx;
+  
+  err = 0;
+  
+  stopx = 0;
+
+  stopy = rxrx2;
+  stopy *= ry;
+  
+
+  while( stopx <= stopy )
+  {
+    u8g_draw_ellipse_section(u8g, x, y, x0, y0, option);
+    x++;
+    stopx += ryry2;
+    err += xchg;
+    xchg += ryry2;
+    if ( 2*err+ychg > 0 )
+    {
+      y--;
+      stopy -= rxrx2;
+      err += ychg;
+      ychg += rxrx2;
+    }
+  }
+  
+}
+
+void u8g_DrawEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option)
+{
+  /* check for bounding box */
+  {
+    u8g_uint_t rxp, rxp2;
+    u8g_uint_t ryp, ryp2;
+    
+    rxp = rx;
+    rxp++;
+    rxp2 = rxp;
+    rxp2 *= 2;
+
+    ryp = ry;
+    ryp++;
+    ryp2 = ryp;
+    ryp2 *= 2;
+    
+    if ( u8g_IsBBXIntersection(u8g, x0-rxp, y0-ryp, rxp2, ryp2) == 0)
+      return;    
+  }
+  
+  u8g_draw_ellipse(u8g, x0, y0, rx, ry, option);
+}
+
+static void u8g_draw_filled_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE;
+static void u8g_draw_filled_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option)
+{
+    /* upper right */
+    if ( option & U8G_DRAW_UPPER_RIGHT )
+    {
+      u8g_DrawVLine(u8g, x0+x, y0-y, y+1);
+    }
+    
+    /* upper left */
+    if ( option & U8G_DRAW_UPPER_LEFT )
+    {
+      u8g_DrawVLine(u8g, x0-x, y0-y, y+1);
+    }
+    
+    /* lower right */
+    if ( option & U8G_DRAW_LOWER_RIGHT )
+    {
+      u8g_DrawVLine(u8g, x0+x, y0, y+1);
+    }
+    
+    /* lower left */
+    if ( option & U8G_DRAW_LOWER_LEFT )
+    {
+      u8g_DrawVLine(u8g, x0-x, y0, y+1);
+    }
+}
+
+void u8g_draw_filled_ellipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option)
+{
+  u8g_uint_t x, y;
+  u8g_long_t xchg, ychg;
+  u8g_long_t err;
+  u8g_long_t rxrx2;
+  u8g_long_t ryry2;
+  u8g_long_t stopx, stopy;
+  
+  rxrx2 = rx;
+  rxrx2 *= rx;
+  rxrx2 *= 2;
+  
+  ryry2 = ry;
+  ryry2 *= ry;
+  ryry2 *= 2;
+  
+  x = rx;
+  y = 0;
+  
+  xchg = 1;
+  xchg -= rx;
+  xchg -= rx;
+  xchg *= ry;
+  xchg *= ry;
+  
+  ychg = rx;
+  ychg *= rx;
+  
+  err = 0;
+  
+  stopx = ryry2;
+  stopx *= rx;
+  stopy = 0;
+  
+  while( stopx >= stopy )
+  {
+    u8g_draw_filled_ellipse_section(u8g, x, y, x0, y0, option);
+    y++;
+    stopy += rxrx2;
+    err += ychg;
+    ychg += rxrx2;
+    if ( 2*err+xchg > 0 )
+    {
+      x--;
+      stopx -= ryry2;
+      err += xchg;
+      xchg += ryry2;      
+    }
+  }
+
+  x = 0;
+  y = ry;
+  
+  xchg = ry;
+  xchg *= ry;
+  
+  ychg = 1;
+  ychg -= ry;
+  ychg -= ry;
+  ychg *= rx;
+  ychg *= rx;
+  
+  err = 0;
+  
+  stopx = 0;
+
+  stopy = rxrx2;
+  stopy *= ry;
+  
+
+  while( stopx <= stopy )
+  {
+    u8g_draw_filled_ellipse_section(u8g, x, y, x0, y0, option);
+    x++;
+    stopx += ryry2;
+    err += xchg;
+    xchg += ryry2;
+    if ( 2*err+ychg > 0 )
+    {
+      y--;
+      stopy -= rxrx2;
+      err += ychg;
+      ychg += rxrx2;
+    }
+  }
+  
+}
+
+void u8g_DrawFilledEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option)
+{
+  /* check for bounding box */
+  {
+    u8g_uint_t rxp, rxp2;
+    u8g_uint_t ryp, ryp2;
+    
+    rxp = rx;
+    rxp++;
+    rxp2 = rxp;
+    rxp2 *= 2;
+
+    ryp = ry;
+    ryp++;
+    ryp2 = ryp;
+    ryp2 *= 2;
+    
+    if ( u8g_IsBBXIntersection(u8g, x0-rxp, y0-ryp, rxp2, ryp2) == 0)
+      return;    
+  }
+  
+  u8g_draw_filled_ellipse(u8g, x0, y0, rx, ry, option);
+}
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font.c
index bfdc0b28a3a5f3645bbf26efd931a8b2eac09163..f3c1eda4c1924ebda51629480ace5340f984eaa1 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font.c
@@ -33,7 +33,6 @@
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
   
-
 */
 
 #include "u8g.h"
@@ -120,6 +119,7 @@ static uint8_t u8g_font_GetFontGlyphStructureSize(const u8g_fntpgm_uint8_t *font
   {
     case 0: return 6;
     case 1: return 3;
+    case 2: return 6;
   }
   return 3;
 }
@@ -281,6 +281,7 @@ static void u8g_CopyGlyphDataToCache(u8g_t *u8g, u8g_glyph_t g)
   switch( u8g_font_GetFormat(u8g->font) )
   {
     case 0:
+    case 2:
   /*
     format 0
     glyph information 
@@ -961,6 +962,7 @@ int8_t u8g_DrawGlyphFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir,
   x -= u8g_GetFontBBXOffX(u8g);
   y += u8g_GetFontBBXOffY(u8g);
   u8g_draw_glyph(u8g, x, y, encoding);
+  return 0;
 }
 
 
@@ -1420,3 +1422,79 @@ void u8g_SetFont(u8g_t *u8g, const u8g_fntpgm_uint8_t  *font)
   }
 }
 
+/*========================================================================*/
+/* anti aliasing fonts */
+
+int8_t u8g_draw_aa_glyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding)
+{
+  const u8g_pgm_uint8_t *data;
+  uint8_t w, h;
+  uint8_t i, j;
+  u8g_uint_t ix, iy;
+
+  {
+    u8g_glyph_t g = u8g_GetGlyph(u8g, encoding);
+    if ( g == NULL  )
+      return 0;
+    data = u8g_font_GetGlyphDataStart(u8g->font, g);
+  }
+  
+  w = u8g->glyph_width;
+  h = u8g->glyph_height;
+  
+  x += u8g->glyph_x;
+  y -= u8g->glyph_y;
+  y--;
+  
+  if ( u8g_IsBBXIntersection(u8g, x, y-h+1, w, h) == 0 )
+    return u8g->glyph_dx;
+
+  /* now, w is reused as bytes per line */
+  w += 3;
+  w /= 4;
+  
+  iy = y;
+  iy -= h;
+  iy++;
+
+  for( j = 0; j < h; j++ )
+  {
+    ix = x;
+    for( i = 0; i < w; i++ )
+    {
+      u8g_Draw4TPixel(u8g, ix, iy, 0, u8g_pgm_read(data));
+      data++;
+      ix+=4;
+    }
+    iy++;
+  }
+  return u8g->glyph_dx;
+}
+
+int8_t u8g_DrawAAGlyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding)
+{
+  y += u8g->font_calc_vref(u8g);
+  return u8g_draw_aa_glyph(u8g, x, y, encoding);
+}
+
+u8g_uint_t u8g_DrawAAStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s)
+{
+  u8g_uint_t t = 0;
+  int8_t d;
+
+  if ( u8g_font_GetFormat(u8g->font)  != 2 )
+    return 0;
+  //u8g_uint_t u8g_GetStrWidth(u8g, s);
+  //u8g_font_GetFontAscent(u8g->font)-u8g_font_GetFontDescent(u8g->font);
+  
+  y += u8g->font_calc_vref(u8g);
+  
+  while( *s != '\0' )
+  {
+    d = u8g_draw_aa_glyph(u8g, x, y, *s);
+    x += d;
+    t += d;
+    s++;
+  }
+  return t;
+}
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font_data.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font_data.c
index dca21c5a3f4781eb1475d24e83a22b6dbd567dc4..0910808979959d9efcf798872fa32c1c755ea80e 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font_data.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font_data.c
@@ -10,7 +10,7 @@
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_04b_03b[826] U8G_SECTION(".progmem.u8g_font_04b_03b") = {
+const u8g_fntpgm_uint8_t u8g_font_04b_03b[826] U8G_FONT_SECTION("u8g_font_04b_03b") = {
   1,5,6,0,255,5,0,250,1,240,32,255,255,5,255,5,
   255,2,0,48,2,21,37,128,128,128,0,128,5,50,66,160,
   160,2,85,101,80,248,80,248,80,2,69,85,112,160,240,80,
@@ -75,8 +75,8 @@ const u8g_fntpgm_uint8_t u8g_font_04b_03b[826] U8G_SECTION(".progmem.u8g_font_04
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_04b_03bn[130] U8G_SECTION(".progmem.u8g_font_04b_03bn") = {
-  1,5,6,0,255,5,0,0,0,0,42,57,0,5,255,5,
+const u8g_fntpgm_uint8_t u8g_font_04b_03bn[136] U8G_FONT_SECTION("u8g_font_04b_03bn") = {
+  1,5,6,0,255,5,0,0,0,0,42,58,0,5,255,5,
   0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50,
   64,128,4,49,65,224,2,17,33,128,2,85,101,8,16,32,
   64,128,2,69,85,240,144,144,144,240,2,37,53,192,64,64,
@@ -84,7 +84,7 @@ const u8g_fntpgm_uint8_t u8g_font_04b_03bn[130] U8G_SECTION(".progmem.u8g_font_0
   16,240,2,69,85,144,144,144,240,16,2,69,85,240,128,240,
   16,240,2,69,85,224,128,240,144,240,2,69,85,240,16,32,
   64,64,2,69,85,240,144,240,144,240,2,69,85,240,144,240,
-  16,112};
+  16,112,3,19,35,128,0,128};
 /*
   Fontname: -FreeType-04b03b-Medium-R-Normal--8-80-72-72-P-39-ISO10646-1
   Copyright: 19992003 / yuji oshimoÿo / 04@dsg4.com / www.04.jp.org
@@ -97,7 +97,7 @@ const u8g_fntpgm_uint8_t u8g_font_04b_03bn[130] U8G_SECTION(".progmem.u8g_font_0
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_04b_03br[696] U8G_SECTION(".progmem.u8g_font_04b_03br") = {
+const u8g_fntpgm_uint8_t u8g_font_04b_03br[696] U8G_FONT_SECTION("u8g_font_04b_03br") = {
   1,5,6,0,255,5,0,250,1,240,32,127,255,5,255,5,
   255,2,0,48,2,21,37,128,128,128,0,128,5,50,66,160,
   160,2,85,101,80,248,80,248,80,2,69,85,112,160,240,80,
@@ -154,7 +154,7 @@ const u8g_fntpgm_uint8_t u8g_font_04b_03br[696] U8G_SECTION(".progmem.u8g_font_0
   Max Font    ascent = 5 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_04b_03[859] U8G_SECTION(".progmem.u8g_font_04b_03") = {
+const u8g_fntpgm_uint8_t u8g_font_04b_03[859] U8G_FONT_SECTION("u8g_font_04b_03") = {
   1,5,7,0,254,5,0,251,1,242,32,255,254,5,254,5,
   254,2,0,64,2,21,37,128,128,128,0,128,5,50,66,160,
   160,2,85,101,80,248,80,248,80,1,70,86,32,112,192,48,
@@ -221,8 +221,8 @@ const u8g_fntpgm_uint8_t u8g_font_04b_03[859] U8G_SECTION(".progmem.u8g_font_04b
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_04b_03n[130] U8G_SECTION(".progmem.u8g_font_04b_03n") = {
-  1,5,7,0,254,5,0,0,0,0,42,57,0,5,255,5,
+const u8g_fntpgm_uint8_t u8g_font_04b_03n[136] U8G_FONT_SECTION("u8g_font_04b_03n") = {
+  1,5,7,0,254,5,0,0,0,0,42,58,0,5,255,5,
   0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50,
   64,128,4,49,65,224,2,17,33,128,2,85,101,8,16,32,
   64,128,2,69,85,96,144,144,144,96,2,37,53,192,64,64,
@@ -230,7 +230,7 @@ const u8g_fntpgm_uint8_t u8g_font_04b_03n[130] U8G_SECTION(".progmem.u8g_font_04
   16,224,2,69,85,32,96,160,240,32,2,69,85,240,128,224,
   16,224,2,69,85,96,128,224,144,96,2,69,85,240,16,32,
   64,64,2,69,85,96,144,96,144,96,2,69,85,96,144,112,
-  16,96};
+  16,96,3,19,35,128,0,128};
 /*
   Fontname: -FreeType-04b03-Medium-R-Normal--8-80-72-72-P-38-ISO10646-1
   Copyright: 19992003 / yuji oshimoÿo / 04@dsg4.com / www.04.jp.org
@@ -243,7 +243,7 @@ const u8g_fntpgm_uint8_t u8g_font_04b_03n[130] U8G_SECTION(".progmem.u8g_font_04
   Max Font    ascent = 5 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_04b_03r[729] U8G_SECTION(".progmem.u8g_font_04b_03r") = {
+const u8g_fntpgm_uint8_t u8g_font_04b_03r[729] U8G_FONT_SECTION("u8g_font_04b_03r") = {
   1,5,7,0,254,5,0,251,1,242,32,127,254,5,254,5,
   254,2,0,64,2,21,37,128,128,128,0,128,5,50,66,160,
   160,2,85,101,80,248,80,248,80,1,70,86,32,112,192,48,
@@ -302,7 +302,7 @@ const u8g_fntpgm_uint8_t u8g_font_04b_03r[729] U8G_SECTION(".progmem.u8g_font_04
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_04b_24[912] U8G_SECTION(".progmem.u8g_font_04b_24") = {
+const u8g_fntpgm_uint8_t u8g_font_04b_24[912] U8G_FONT_SECTION("u8g_font_04b_24") = {
   1,5,6,0,255,5,0,250,1,241,32,255,0,5,255,5,
   0,2,0,32,2,21,37,128,128,128,0,128,5,50,66,160,
   160,2,53,69,64,224,64,224,64,2,53,69,96,192,64,96,
@@ -373,8 +373,8 @@ const u8g_fntpgm_uint8_t u8g_font_04b_24[912] U8G_SECTION(".progmem.u8g_font_04b
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_04b_24n[130] U8G_SECTION(".progmem.u8g_font_04b_24n") = {
-  1,5,6,0,255,5,0,0,0,0,42,57,0,5,255,5,
+const u8g_fntpgm_uint8_t u8g_font_04b_24n[136] U8G_FONT_SECTION("u8g_font_04b_24n") = {
+  1,5,6,0,255,5,0,0,0,0,42,58,0,5,255,5,
   0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50,
   64,128,4,49,65,224,2,17,33,128,2,53,69,32,32,64,
   128,128,2,53,69,224,160,160,160,224,2,37,53,192,64,64,
@@ -382,7 +382,7 @@ const u8g_fntpgm_uint8_t u8g_font_04b_24n[130] U8G_SECTION(".progmem.u8g_font_04
   32,224,2,53,69,160,160,160,224,32,2,53,69,224,128,224,
   32,224,2,53,69,128,224,160,160,224,2,53,69,224,32,32,
   64,128,2,53,69,224,160,224,160,224,2,53,69,224,160,160,
-  224,32};
+  224,32,3,19,35,128,0,128};
 /*
   Fontname: -FreeType-04b24-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1
   Copyright: 20002003 / yuji oshimoÿo / 04@dsg4.com / www.04.jp.org
@@ -395,7 +395,7 @@ const u8g_fntpgm_uint8_t u8g_font_04b_24n[130] U8G_SECTION(".progmem.u8g_font_04
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_04b_24r[735] U8G_SECTION(".progmem.u8g_font_04b_24r") = {
+const u8g_fntpgm_uint8_t u8g_font_04b_24r[735] U8G_FONT_SECTION("u8g_font_04b_24r") = {
   1,5,6,0,255,5,0,250,1,241,32,127,0,5,255,5,
   0,2,0,32,2,21,37,128,128,128,0,128,5,50,66,160,
   160,2,53,69,64,224,64,224,64,2,53,69,96,192,64,96,
@@ -454,7 +454,7 @@ const u8g_fntpgm_uint8_t u8g_font_04b_24r[735] U8G_SECTION(".progmem.u8g_font_04
   Max Font    ascent =16 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_10x20_67_75[4734] U8G_SECTION(".progmem.u8g_font_10x20_67_75") = {
+const u8g_fntpgm_uint8_t u8g_font_10x20_67_75[4734] U8G_FONT_SECTION("u8g_font_10x20_67_75") = {
   0,10,20,0,252,5,2,211,5,193,32,255,0,16,252,13,
   0,9,6,12,10,0,3,54,0,27,0,255,128,255,128,27,
   0,54,0,8,13,13,10,1,0,24,24,24,24,153,219,126,
@@ -763,7 +763,7 @@ const u8g_fntpgm_uint8_t u8g_font_10x20_67_75[4734] U8G_SECTION(".progmem.u8g_fo
   Max Font    ascent =14 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_10x20_75r[693] U8G_SECTION(".progmem.u8g_font_10x20_75r") = {
+const u8g_fntpgm_uint8_t u8g_font_10x20_75r[693] U8G_FONT_SECTION("u8g_font_10x20_75r") = {
   0,10,20,0,252,8,1,219,0,0,32,79,0,14,255,9,
   0,8,8,8,10,1,1,255,255,255,255,255,255,255,255,8,
   8,8,10,1,1,255,129,129,129,129,129,129,255,8,8,8,
@@ -820,7 +820,7 @@ const u8g_fntpgm_uint8_t u8g_font_10x20_75r[693] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =13 descent= 0
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_10x20_78_79[2638] U8G_SECTION(".progmem.u8g_font_10x20_78_79") = {
+const u8g_fntpgm_uint8_t u8g_font_10x20_78_79[2638] U8G_FONT_SECTION("u8g_font_10x20_78_79") = {
   0,10,20,0,252,9,1,212,2,205,32,255,0,13,0,11,
   0,9,9,18,10,0,0,54,0,28,0,136,128,201,128,119,
   0,201,128,136,128,28,0,54,0,9,9,18,10,0,0,8,
@@ -998,7 +998,7 @@ const u8g_fntpgm_uint8_t u8g_font_10x20_78_79[2638] U8G_SECTION(".progmem.u8g_fo
   Max Font    ascent =16 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_10x20[3453] U8G_SECTION(".progmem.u8g_font_10x20") = {
+const u8g_fntpgm_uint8_t u8g_font_10x20[3453] U8G_FONT_SECTION("u8g_font_10x20") = {
   0,10,20,0,252,13,2,74,4,153,32,255,252,16,252,13,
   252,0,0,0,10,0,16,2,13,13,10,4,0,192,192,192,
   192,192,192,192,192,192,192,0,192,192,6,4,4,10,2,9,
@@ -1227,7 +1227,7 @@ const u8g_fntpgm_uint8_t u8g_font_10x20[3453] U8G_SECTION(".progmem.u8g_font_10x
   Max Font    ascent =16 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_10x20r[1667] U8G_SECTION(".progmem.u8g_font_10x20r") = {
+const u8g_fntpgm_uint8_t u8g_font_10x20r[1667] U8G_FONT_SECTION("u8g_font_10x20r") = {
   0,10,20,0,252,13,2,74,4,153,32,127,252,16,252,13,
   252,0,0,0,10,0,16,2,13,13,10,4,0,192,192,192,
   192,192,192,192,192,192,192,0,192,192,6,4,4,10,2,9,
@@ -1345,7 +1345,7 @@ const u8g_fntpgm_uint8_t u8g_font_10x20r[1667] U8G_SECTION(".progmem.u8g_font_10
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_4x6[1500] U8G_SECTION(".progmem.u8g_font_4x6") = {
+const u8g_fntpgm_uint8_t u8g_font_4x6[1500] U8G_FONT_SECTION("u8g_font_4x6") = {
   1,4,6,0,255,5,1,3,1,250,32,255,255,5,255,5,
   255,7,0,64,18,21,69,128,128,128,0,128,5,50,66,160,
   160,2,69,69,160,240,160,240,160,1,54,70,64,224,192,32,
@@ -1452,7 +1452,7 @@ const u8g_fntpgm_uint8_t u8g_font_4x6[1500] U8G_SECTION(".progmem.u8g_font_4x6")
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_4x6r[734] U8G_SECTION(".progmem.u8g_font_4x6r") = {
+const u8g_fntpgm_uint8_t u8g_font_4x6r[734] U8G_FONT_SECTION("u8g_font_4x6r") = {
   1,4,6,0,255,5,1,3,1,250,32,127,255,5,255,5,
   255,7,0,64,18,21,69,128,128,128,0,128,5,50,66,160,
   160,2,69,69,160,240,160,240,160,1,54,70,64,224,192,32,
@@ -1511,7 +1511,7 @@ const u8g_fntpgm_uint8_t u8g_font_4x6r[734] U8G_SECTION(".progmem.u8g_font_4x6r"
   Max Font    ascent = 6 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_5x7[1624] U8G_SECTION(".progmem.u8g_font_5x7") = {
+const u8g_fntpgm_uint8_t u8g_font_5x7[1624] U8G_FONT_SECTION("u8g_font_5x7") = {
   1,5,7,0,255,6,1,21,2,39,32,255,255,6,255,6,
   255,8,0,80,34,22,86,128,128,128,128,0,128,21,51,83,
   160,160,160,2,85,85,80,248,80,248,80,2,85,85,112,160,
@@ -1626,7 +1626,7 @@ const u8g_fntpgm_uint8_t u8g_font_5x7[1624] U8G_SECTION(".progmem.u8g_font_5x7")
   Max Font    ascent = 6 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_5x7r[789] U8G_SECTION(".progmem.u8g_font_5x7r") = {
+const u8g_fntpgm_uint8_t u8g_font_5x7r[789] U8G_FONT_SECTION("u8g_font_5x7r") = {
   1,5,7,0,255,6,1,21,2,39,32,127,255,6,255,6,
   255,8,0,80,34,22,86,128,128,128,128,0,128,21,51,83,
   160,160,160,2,85,85,80,248,80,248,80,2,85,85,112,160,
@@ -1689,7 +1689,7 @@ const u8g_fntpgm_uint8_t u8g_font_5x7r[789] U8G_SECTION(".progmem.u8g_font_5x7r"
   Max Font    ascent = 7 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_5x8[1693] U8G_SECTION(".progmem.u8g_font_5x8") = {
+const u8g_fntpgm_uint8_t u8g_font_5x8[1693] U8G_FONT_SECTION("u8g_font_5x8") = {
   1,5,8,0,255,6,1,33,2,53,32,255,255,7,255,6,
   255,9,0,80,34,22,86,128,128,128,128,0,128,21,51,83,
   160,160,160,2,87,87,80,80,248,80,248,80,80,2,87,87,
@@ -1808,7 +1808,7 @@ const u8g_fntpgm_uint8_t u8g_font_5x8[1693] U8G_SECTION(".progmem.u8g_font_5x8")
   Max Font    ascent = 7 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_5x8r[805] U8G_SECTION(".progmem.u8g_font_5x8r") = {
+const u8g_fntpgm_uint8_t u8g_font_5x8r[805] U8G_FONT_SECTION("u8g_font_5x8r") = {
   1,5,8,0,255,6,1,33,2,53,32,127,255,7,255,6,
   255,9,0,80,34,22,86,128,128,128,128,0,128,21,51,83,
   160,160,160,2,87,87,80,80,248,80,248,80,80,2,87,87,
@@ -1872,7 +1872,7 @@ const u8g_fntpgm_uint8_t u8g_font_5x8r[805] U8G_SECTION(".progmem.u8g_font_5x8r"
   Max Font    ascent = 8 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x10[1866] U8G_SECTION(".progmem.u8g_font_6x10") = {
+const u8g_fntpgm_uint8_t u8g_font_6x10[1866] U8G_FONT_SECTION("u8g_font_6x10") = {
   1,6,10,0,254,7,1,54,2,104,32,255,254,8,254,7,
   254,10,0,96,34,23,103,128,128,128,128,128,0,128,22,51,
   99,160,160,160,2,87,103,80,80,248,80,248,80,80,2,87,
@@ -2002,7 +2002,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x10[1866] U8G_SECTION(".progmem.u8g_font_6x10
   Max Font    ascent = 8 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x10r[889] U8G_SECTION(".progmem.u8g_font_6x10r") = {
+const u8g_fntpgm_uint8_t u8g_font_6x10r[889] U8G_FONT_SECTION("u8g_font_6x10r") = {
   1,6,10,0,254,7,1,54,2,104,32,127,254,8,254,7,
   254,10,0,96,34,23,103,128,128,128,128,128,0,128,22,51,
   99,160,160,160,2,87,103,80,80,248,80,248,80,80,2,87,
@@ -2071,7 +2071,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x10r[889] U8G_SECTION(".progmem.u8g_font_6x10
   Max Font    ascent =10 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x12_67_75[2382] U8G_SECTION(".progmem.u8g_font_6x12_67_75") = {
+const u8g_fntpgm_uint8_t u8g_font_6x12_67_75[2382] U8G_FONT_SECTION("u8g_font_6x12_67_75") = {
   1,6,12,0,254,3,2,41,3,99,0,255,0,10,254,8,
   0,2,87,103,168,0,136,0,136,0,168,2,87,103,240,136,
   232,168,232,136,240,2,87,103,112,168,248,168,248,168,112,2,
@@ -2233,7 +2233,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x12_67_75[2382] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent = 9 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x12_75r[427] U8G_SECTION(".progmem.u8g_font_6x12_75r") = {
+const u8g_fntpgm_uint8_t u8g_font_6x12_75r[427] U8G_FONT_SECTION("u8g_font_6x12_75r") = {
   1,6,12,0,254,7,1,41,0,0,32,79,0,9,255,7,
   0,2,85,101,248,248,248,248,248,2,85,101,248,136,136,136,
   248,2,85,101,112,136,136,136,112,2,85,101,248,136,168,136,
@@ -2273,7 +2273,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x12_75r[427] U8G_SECTION(".progmem.u8g_font_6
   Max Font    ascent =10 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x12_78_79[2316] U8G_SECTION(".progmem.u8g_font_6x12_78_79") = {
+const u8g_fntpgm_uint8_t u8g_font_6x12_78_79[2316] U8G_FONT_SECTION("u8g_font_6x12_78_79") = {
   1,6,12,0,254,6,2,80,3,53,0,255,0,10,254,9,
   0,2,87,103,168,0,136,0,136,0,168,3,101,101,144,252,
   32,64,96,3,101,101,196,200,48,200,196,3,101,101,96,64,
@@ -2431,7 +2431,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x12_78_79[2316] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent =10 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x12[1933] U8G_SECTION(".progmem.u8g_font_6x12") = {
+const u8g_fntpgm_uint8_t u8g_font_6x12[1933] U8G_FONT_SECTION("u8g_font_6x12") = {
   1,6,12,0,254,7,1,53,2,107,32,255,254,10,254,8,
   254,12,0,96,34,23,103,128,128,128,128,128,0,128,23,51,
   99,160,160,160,2,86,102,80,248,80,80,248,80,1,89,105,
@@ -2565,7 +2565,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x12[1933] U8G_SECTION(".progmem.u8g_font_6x12
   Max Font    ascent =10 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x12r[898] U8G_SECTION(".progmem.u8g_font_6x12r") = {
+const u8g_fntpgm_uint8_t u8g_font_6x12r[898] U8G_FONT_SECTION("u8g_font_6x12r") = {
   1,6,12,0,254,7,1,53,2,107,32,127,254,10,254,8,
   254,12,0,96,34,23,103,128,128,128,128,128,0,128,23,51,
   99,160,160,160,2,86,102,80,248,80,80,248,80,1,89,105,
@@ -2635,7 +2635,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x12r[898] U8G_SECTION(".progmem.u8g_font_6x12
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x13_67_75[2236] U8G_SECTION(".progmem.u8g_font_6x13_67_75") = {
+const u8g_fntpgm_uint8_t u8g_font_6x13_67_75[2236] U8G_FONT_SECTION("u8g_font_6x13_67_75") = {
   1,6,13,0,254,3,1,73,2,147,32,255,0,11,254,9,
   0,3,101,101,80,40,252,40,80,2,89,105,32,32,32,32,
   168,112,168,112,32,3,101,101,36,72,240,72,36,3,101,101,
@@ -2788,7 +2788,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x13_67_75[2236] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent =10 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x13_75r[447] U8G_SECTION(".progmem.u8g_font_6x13_75r") = {
+const u8g_fntpgm_uint8_t u8g_font_6x13_75r[447] U8G_FONT_SECTION("u8g_font_6x13_75r") = {
   1,6,13,0,254,9,1,57,0,0,32,79,0,10,255,9,
   0,3,85,101,248,248,248,248,248,3,85,101,248,136,136,136,
   248,3,85,101,112,136,136,136,112,3,85,101,248,136,168,136,
@@ -2829,7 +2829,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x13_75r[447] U8G_SECTION(".progmem.u8g_font_6
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x13_78_79[1470] U8G_SECTION(".progmem.u8g_font_6x13_78_79") = {
+const u8g_fntpgm_uint8_t u8g_font_6x13_78_79[1470] U8G_FONT_SECTION("u8g_font_6x13_78_79") = {
   1,6,13,0,254,7,1,42,2,11,32,255,0,11,254,10,
   0,2,87,103,112,32,168,248,168,32,112,255,2,104,104,48,
   48,48,252,252,48,48,48,2,89,105,32,112,32,168,248,168,
@@ -2934,7 +2934,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x13_78_79[1470] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x13B[2171] U8G_SECTION(".progmem.u8g_font_6x13B") = {
+const u8g_fntpgm_uint8_t u8g_font_6x13B[2171] U8G_FONT_SECTION("u8g_font_6x13B") = {
   1,6,13,0,254,9,1,99,2,211,32,255,254,11,254,10,
   254,13,0,96,34,41,105,192,192,192,192,192,192,192,0,192,
   8,83,99,216,216,216,3,103,103,120,120,252,120,252,120,120,
@@ -3083,7 +3083,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x13B[2171] U8G_SECTION(".progmem.u8g_font_6x1
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x13Br[1040] U8G_SECTION(".progmem.u8g_font_6x13Br") = {
+const u8g_fntpgm_uint8_t u8g_font_6x13Br[1040] U8G_FONT_SECTION("u8g_font_6x13Br") = {
   1,6,13,0,254,9,1,99,2,211,32,127,254,11,254,10,
   254,13,0,96,34,41,105,192,192,192,192,192,192,192,0,192,
   8,83,99,216,216,216,3,103,103,120,120,252,120,252,120,120,
@@ -3162,7 +3162,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x13Br[1040] U8G_SECTION(".progmem.u8g_font_6x
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x13[2160] U8G_SECTION(".progmem.u8g_font_6x13") = {
+const u8g_fntpgm_uint8_t u8g_font_6x13[2160] U8G_FONT_SECTION("u8g_font_6x13") = {
   1,6,13,0,254,9,1,102,2,214,32,255,254,11,254,10,
   254,13,0,96,34,25,105,128,128,128,128,128,128,128,0,128,
   24,51,99,160,160,160,3,87,103,80,80,248,80,248,80,80,
@@ -3311,7 +3311,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x13[2160] U8G_SECTION(".progmem.u8g_font_6x13
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x13O[2162] U8G_SECTION(".progmem.u8g_font_6x13O") = {
+const u8g_fntpgm_uint8_t u8g_font_6x13O[2162] U8G_FONT_SECTION("u8g_font_6x13O") = {
   1,6,13,0,254,9,1,104,2,216,32,255,254,11,254,10,
   254,13,0,96,34,41,105,64,64,64,64,128,128,128,0,128,
   40,67,99,80,80,160,3,103,103,40,40,124,40,248,80,80,
@@ -3460,7 +3460,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x13O[2162] U8G_SECTION(".progmem.u8g_font_6x1
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x13Or[1043] U8G_SECTION(".progmem.u8g_font_6x13Or") = {
+const u8g_fntpgm_uint8_t u8g_font_6x13Or[1043] U8G_FONT_SECTION("u8g_font_6x13Or") = {
   1,6,13,0,254,9,1,104,2,216,32,127,254,11,254,10,
   254,13,0,96,34,41,105,64,64,64,64,128,128,128,0,128,
   40,67,99,80,80,160,3,103,103,40,40,124,40,248,80,80,
@@ -3539,7 +3539,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x13Or[1043] U8G_SECTION(".progmem.u8g_font_6x
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_6x13r[1041] U8G_SECTION(".progmem.u8g_font_6x13r") = {
+const u8g_fntpgm_uint8_t u8g_font_6x13r[1041] U8G_FONT_SECTION("u8g_font_6x13r") = {
   1,6,13,0,254,9,1,102,2,214,32,127,254,11,254,10,
   254,13,0,96,34,25,105,128,128,128,128,128,128,128,0,128,
   24,51,99,160,160,160,3,87,103,80,80,248,80,248,80,80,
@@ -3618,7 +3618,7 @@ const u8g_fntpgm_uint8_t u8g_font_6x13r[1041] U8G_SECTION(".progmem.u8g_font_6x1
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_7x13_67_75[2197] U8G_SECTION(".progmem.u8g_font_7x13_67_75") = {
+const u8g_fntpgm_uint8_t u8g_font_7x13_67_75[2197] U8G_FONT_SECTION("u8g_font_7x13_67_75") = {
   1,7,13,0,254,3,1,91,2,178,32,255,0,11,254,10,
   0,4,117,117,72,36,254,36,72,18,89,121,32,32,32,168,
   112,32,168,112,32,4,101,117,36,72,248,72,36,4,101,117,
@@ -3769,7 +3769,7 @@ const u8g_fntpgm_uint8_t u8g_font_7x13_67_75[2197] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent = 9 descent= 0
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_7x13_75r[471] U8G_SECTION(".progmem.u8g_font_7x13_75r") = {
+const u8g_fntpgm_uint8_t u8g_font_7x13_75r[471] U8G_FONT_SECTION("u8g_font_7x13_75r") = {
   1,7,13,0,254,7,1,71,0,0,32,79,0,9,0,8,
   0,3,119,119,254,254,254,254,254,254,254,3,119,119,254,130,
   130,130,130,130,254,3,119,119,124,130,130,130,130,130,124,3,
@@ -3812,7 +3812,7 @@ const u8g_fntpgm_uint8_t u8g_font_7x13_75r[471] U8G_SECTION(".progmem.u8g_font_7
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_7x13B[2172] U8G_SECTION(".progmem.u8g_font_7x13B") = {
+const u8g_fntpgm_uint8_t u8g_font_7x13B[2172] U8G_FONT_SECTION("u8g_font_7x13B") = {
   1,7,13,0,254,9,1,105,2,216,32,255,254,11,254,9,
   254,13,0,112,34,41,121,192,192,192,192,192,192,0,192,192,
   24,83,115,216,216,216,18,89,121,80,80,248,248,80,248,248,
@@ -3961,7 +3961,7 @@ const u8g_fntpgm_uint8_t u8g_font_7x13B[2172] U8G_SECTION(".progmem.u8g_font_7x1
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_7x13Br[1041] U8G_SECTION(".progmem.u8g_font_7x13Br") = {
+const u8g_fntpgm_uint8_t u8g_font_7x13Br[1041] U8G_FONT_SECTION("u8g_font_7x13Br") = {
   1,7,13,0,254,9,1,105,2,216,32,127,254,11,254,9,
   254,13,0,112,34,41,121,192,192,192,192,192,192,0,192,192,
   24,83,115,216,216,216,18,89,121,80,80,248,248,80,248,248,
@@ -4040,7 +4040,7 @@ const u8g_fntpgm_uint8_t u8g_font_7x13Br[1041] U8G_SECTION(".progmem.u8g_font_7x
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_7x13[2157] U8G_SECTION(".progmem.u8g_font_7x13") = {
+const u8g_fntpgm_uint8_t u8g_font_7x13[2157] U8G_FONT_SECTION("u8g_font_7x13") = {
   1,7,13,0,254,9,1,95,2,207,32,255,254,11,254,10,
   254,13,0,112,50,25,121,128,128,128,128,128,128,128,0,128,
   40,51,115,160,160,160,19,87,119,80,80,248,80,248,80,80,
@@ -4188,7 +4188,7 @@ const u8g_fntpgm_uint8_t u8g_font_7x13[2157] U8G_SECTION(".progmem.u8g_font_7x13
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_7x13O[2158] U8G_SECTION(".progmem.u8g_font_7x13O") = {
+const u8g_fntpgm_uint8_t u8g_font_7x13O[2158] U8G_FONT_SECTION("u8g_font_7x13O") = {
   1,7,13,0,254,9,1,96,2,208,32,255,254,11,254,10,
   254,13,0,112,34,41,121,64,64,64,64,128,128,128,0,128,
   40,51,115,160,160,160,3,103,119,40,40,124,40,248,80,80,
@@ -4336,7 +4336,7 @@ const u8g_fntpgm_uint8_t u8g_font_7x13O[2158] U8G_SECTION(".progmem.u8g_font_7x1
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_7x13Or[1035] U8G_SECTION(".progmem.u8g_font_7x13Or") = {
+const u8g_fntpgm_uint8_t u8g_font_7x13Or[1035] U8G_FONT_SECTION("u8g_font_7x13Or") = {
   1,7,13,0,254,9,1,96,2,208,32,127,254,11,254,10,
   254,13,0,112,34,41,121,64,64,64,64,128,128,128,0,128,
   40,51,115,160,160,160,3,103,119,40,40,124,40,248,80,80,
@@ -4414,7 +4414,7 @@ const u8g_fntpgm_uint8_t u8g_font_7x13Or[1035] U8G_SECTION(".progmem.u8g_font_7x
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_7x13r[1034] U8G_SECTION(".progmem.u8g_font_7x13r") = {
+const u8g_fntpgm_uint8_t u8g_font_7x13r[1034] U8G_FONT_SECTION("u8g_font_7x13r") = {
   1,7,13,0,254,9,1,95,2,207,32,127,254,11,254,10,
   254,13,0,112,50,25,121,128,128,128,128,128,128,128,0,128,
   40,51,115,160,160,160,19,87,119,80,80,248,80,248,80,80,
@@ -4492,7 +4492,7 @@ const u8g_fntpgm_uint8_t u8g_font_7x13r[1034] U8G_SECTION(".progmem.u8g_font_7x1
   Max Font    ascent =12 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_7x14B[2390] U8G_SECTION(".progmem.u8g_font_7x14B") = {
+const u8g_fntpgm_uint8_t u8g_font_7x14B[2390] U8G_FONT_SECTION("u8g_font_7x14B") = {
   1,7,14,0,254,10,1,137,3,30,32,255,254,12,254,11,
   254,14,0,112,34,42,122,192,192,192,192,192,192,192,0,192,
   192,25,84,116,216,216,216,216,2,106,122,120,120,120,252,120,
@@ -4655,7 +4655,7 @@ const u8g_fntpgm_uint8_t u8g_font_7x14B[2390] U8G_SECTION(".progmem.u8g_font_7x1
   Max Font    ascent =12 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_7x14Br[1151] U8G_SECTION(".progmem.u8g_font_7x14Br") = {
+const u8g_fntpgm_uint8_t u8g_font_7x14Br[1151] U8G_FONT_SECTION("u8g_font_7x14Br") = {
   1,7,14,0,254,10,1,137,3,30,32,127,254,12,254,11,
   254,14,0,112,34,42,122,192,192,192,192,192,192,192,0,192,
   192,25,84,116,216,216,216,216,2,106,122,120,120,120,252,120,
@@ -4740,7 +4740,7 @@ const u8g_fntpgm_uint8_t u8g_font_7x14Br[1151] U8G_SECTION(".progmem.u8g_font_7x
   Max Font    ascent =12 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_7x14[2374] U8G_SECTION(".progmem.u8g_font_7x14") = {
+const u8g_fntpgm_uint8_t u8g_font_7x14[2374] U8G_FONT_SECTION("u8g_font_7x14") = {
   1,7,14,0,254,10,1,138,3,30,32,255,254,12,254,11,
   254,14,0,112,50,26,122,128,128,128,128,128,128,128,0,128,
   128,41,52,116,160,160,160,160,18,90,122,80,80,80,248,80,
@@ -4902,7 +4902,7 @@ const u8g_fntpgm_uint8_t u8g_font_7x14[2374] U8G_SECTION(".progmem.u8g_font_7x14
   Max Font    ascent =12 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_7x14r[1151] U8G_SECTION(".progmem.u8g_font_7x14r") = {
+const u8g_fntpgm_uint8_t u8g_font_7x14r[1151] U8G_FONT_SECTION("u8g_font_7x14r") = {
   1,7,14,0,254,10,1,138,3,30,32,127,254,12,254,11,
   254,14,0,112,50,26,122,128,128,128,128,128,128,128,0,128,
   128,41,52,116,160,160,160,160,18,90,122,80,80,80,248,80,
@@ -4987,7 +4987,7 @@ const u8g_fntpgm_uint8_t u8g_font_7x14r[1151] U8G_SECTION(".progmem.u8g_font_7x1
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_8x13_67_75[2420] U8G_SECTION(".progmem.u8g_font_8x13_67_75") = {
+const u8g_fntpgm_uint8_t u8g_font_8x13_67_75[2420] U8G_FONT_SECTION("u8g_font_8x13_67_75") = {
   1,8,13,0,254,3,1,94,2,193,32,255,0,11,254,10,
   0,3,133,133,36,18,255,18,36,18,88,136,32,32,168,112,
   32,168,112,32,2,119,135,16,34,68,248,68,34,16,18,119,
@@ -5152,7 +5152,7 @@ const u8g_fntpgm_uint8_t u8g_font_8x13_67_75[2420] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent =11 descent= 0
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_8x13_75r[496] U8G_SECTION(".progmem.u8g_font_8x13_75r") = {
+const u8g_fntpgm_uint8_t u8g_font_8x13_75r[496] U8G_FONT_SECTION("u8g_font_8x13_75r") = {
   1,8,13,0,254,11,1,83,0,0,32,79,0,11,0,11,
   0,2,119,135,254,254,254,254,254,254,254,2,119,135,254,130,
   130,130,130,130,254,2,119,135,124,130,130,130,130,130,124,2,
@@ -5197,7 +5197,7 @@ const u8g_fntpgm_uint8_t u8g_font_8x13_75r[496] U8G_SECTION(".progmem.u8g_font_8
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_8x13B[2302] U8G_SECTION(".progmem.u8g_font_8x13B") = {
+const u8g_fntpgm_uint8_t u8g_font_8x13B[2302] U8G_FONT_SECTION("u8g_font_8x13B") = {
   1,8,13,0,254,10,1,127,3,12,32,255,254,11,254,10,
   254,13,0,128,50,42,138,192,192,192,192,192,192,192,0,192,
   192,24,84,132,216,216,216,216,2,121,137,108,108,254,254,108,
@@ -5354,7 +5354,7 @@ const u8g_fntpgm_uint8_t u8g_font_8x13B[2302] U8G_SECTION(".progmem.u8g_font_8x1
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_8x13Br[1123] U8G_SECTION(".progmem.u8g_font_8x13Br") = {
+const u8g_fntpgm_uint8_t u8g_font_8x13Br[1123] U8G_FONT_SECTION("u8g_font_8x13Br") = {
   1,8,13,0,254,10,1,127,3,12,32,127,254,11,254,10,
   254,13,0,128,50,42,138,192,192,192,192,192,192,192,0,192,
   192,24,84,132,216,216,216,216,2,121,137,108,108,254,254,108,
@@ -5438,7 +5438,7 @@ const u8g_fntpgm_uint8_t u8g_font_8x13Br[1123] U8G_SECTION(".progmem.u8g_font_8x
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_8x13[2152] U8G_SECTION(".progmem.u8g_font_8x13") = {
+const u8g_fntpgm_uint8_t u8g_font_8x13[2152] U8G_FONT_SECTION("u8g_font_8x13") = {
   1,8,13,0,254,9,1,97,2,205,32,255,254,11,254,9,
   254,13,0,128,50,25,137,128,128,128,128,128,128,128,0,128,
   40,67,131,144,144,144,19,103,135,72,72,252,72,252,72,72,
@@ -5586,7 +5586,7 @@ const u8g_fntpgm_uint8_t u8g_font_8x13[2152] U8G_SECTION(".progmem.u8g_font_8x13
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_8x13O[2153] U8G_SECTION(".progmem.u8g_font_8x13O") = {
+const u8g_fntpgm_uint8_t u8g_font_8x13O[2153] U8G_FONT_SECTION("u8g_font_8x13O") = {
   1,8,13,0,254,9,1,98,2,206,32,255,254,11,254,9,
   254,13,0,128,50,41,137,64,64,64,64,128,128,128,0,128,
   40,67,131,144,144,144,3,119,135,36,36,126,36,252,72,72,
@@ -5734,7 +5734,7 @@ const u8g_fntpgm_uint8_t u8g_font_8x13O[2153] U8G_SECTION(".progmem.u8g_font_8x1
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_8x13Or[1029] U8G_SECTION(".progmem.u8g_font_8x13Or") = {
+const u8g_fntpgm_uint8_t u8g_font_8x13Or[1029] U8G_FONT_SECTION("u8g_font_8x13Or") = {
   1,8,13,0,254,9,1,98,2,206,32,127,254,11,254,9,
   254,13,0,128,50,41,137,64,64,64,64,128,128,128,0,128,
   40,67,131,144,144,144,3,119,135,36,36,126,36,252,72,72,
@@ -5812,7 +5812,7 @@ const u8g_fntpgm_uint8_t u8g_font_8x13Or[1029] U8G_SECTION(".progmem.u8g_font_8x
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_8x13r[1028] U8G_SECTION(".progmem.u8g_font_8x13r") = {
+const u8g_fntpgm_uint8_t u8g_font_8x13r[1028] U8G_FONT_SECTION("u8g_font_8x13r") = {
   1,8,13,0,254,9,1,97,2,205,32,127,254,11,254,9,
   254,13,0,128,50,25,137,128,128,128,128,128,128,128,0,128,
   40,67,131,144,144,144,19,103,135,72,72,252,72,252,72,72,
@@ -5890,7 +5890,7 @@ const u8g_fntpgm_uint8_t u8g_font_8x13r[1028] U8G_SECTION(".progmem.u8g_font_8x1
   Max Font    ascent =12 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_9x15_67_75[3804] U8G_SECTION(".progmem.u8g_font_9x15_67_75") = {
+const u8g_fntpgm_uint8_t u8g_font_9x15_67_75[3804] U8G_FONT_SECTION("u8g_font_9x15_67_75") = {
   0,9,15,0,253,4,1,255,4,34,32,255,0,12,253,10,
   0,8,7,7,9,0,1,72,36,18,255,18,36,72,7,10,
   10,9,1,0,16,16,16,146,84,56,146,84,56,16,7,7,
@@ -6141,7 +6141,7 @@ const u8g_fntpgm_uint8_t u8g_font_9x15_67_75[3804] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent =10 descent= 0
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_9x15_75r[792] U8G_SECTION(".progmem.u8g_font_9x15_75r") = {
+const u8g_fntpgm_uint8_t u8g_font_9x15_75r[792] U8G_FONT_SECTION("u8g_font_9x15_75r") = {
   0,9,15,0,253,9,2,33,0,0,32,79,0,10,0,9,
   0,7,7,7,9,1,1,254,254,254,254,254,254,254,7,7,
   7,9,1,1,254,130,130,130,130,130,254,7,7,7,9,1,
@@ -6204,7 +6204,7 @@ const u8g_fntpgm_uint8_t u8g_font_9x15_75r[792] U8G_SECTION(".progmem.u8g_font_9
   Max Font    ascent =12 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_9x15_78_79[3795] U8G_SECTION(".progmem.u8g_font_9x15_78_79") = {
+const u8g_fntpgm_uint8_t u8g_font_9x15_78_79[3795] U8G_FONT_SECTION("u8g_font_9x15_78_79") = {
   0,9,15,0,253,9,2,231,4,175,32,255,0,12,254,11,
   0,9,9,18,9,0,0,62,0,28,0,136,128,201,128,247,
   128,201,128,136,128,28,0,62,0,9,9,18,9,0,0,8,
@@ -6455,7 +6455,7 @@ const u8g_fntpgm_uint8_t u8g_font_9x15_78_79[3795] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent =12 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_9x15B[2990] U8G_SECTION(".progmem.u8g_font_9x15B") = {
+const u8g_fntpgm_uint8_t u8g_font_9x15B[2990] U8G_FONT_SECTION("u8g_font_9x15B") = {
   0,9,15,0,253,10,1,232,3,214,32,255,253,12,253,11,
   253,0,0,0,9,0,12,2,10,10,9,3,0,192,192,192,
   192,192,192,192,192,0,192,5,3,3,9,2,7,216,216,216,
@@ -6655,7 +6655,7 @@ const u8g_fntpgm_uint8_t u8g_font_9x15B[2990] U8G_SECTION(".progmem.u8g_font_9x1
   Max Font    ascent =12 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_9x15Br[1423] U8G_SECTION(".progmem.u8g_font_9x15Br") = {
+const u8g_fntpgm_uint8_t u8g_font_9x15Br[1423] U8G_FONT_SECTION("u8g_font_9x15Br") = {
   0,9,15,0,253,10,1,232,3,214,32,127,253,12,253,11,
   253,0,0,0,9,0,12,2,10,10,9,3,0,192,192,192,
   192,192,192,192,192,0,192,5,3,3,9,2,7,216,216,216,
@@ -6757,7 +6757,7 @@ const u8g_fntpgm_uint8_t u8g_font_9x15Br[1423] U8G_SECTION(".progmem.u8g_font_9x
   Max Font    ascent =12 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_9x15[2959] U8G_SECTION(".progmem.u8g_font_9x15") = {
+const u8g_fntpgm_uint8_t u8g_font_9x15[2959] U8G_FONT_SECTION("u8g_font_9x15") = {
   0,9,15,0,253,10,1,232,3,216,32,255,253,12,253,11,
   253,0,0,0,9,0,12,1,11,11,9,4,0,128,128,128,
   128,128,128,128,0,0,128,128,4,3,3,9,3,7,144,144,
@@ -6955,7 +6955,7 @@ const u8g_fntpgm_uint8_t u8g_font_9x15[2959] U8G_SECTION(".progmem.u8g_font_9x15
   Max Font    ascent =12 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_9x15r[1427] U8G_SECTION(".progmem.u8g_font_9x15r") = {
+const u8g_fntpgm_uint8_t u8g_font_9x15r[1427] U8G_FONT_SECTION("u8g_font_9x15r") = {
   0,9,15,0,253,10,1,232,3,216,32,127,253,12,253,11,
   253,0,0,0,9,0,12,1,11,11,9,4,0,128,128,128,
   128,128,128,128,0,0,128,128,4,3,3,9,3,7,144,144,
@@ -7058,7 +7058,7 @@ const u8g_fntpgm_uint8_t u8g_font_9x15r[1427] U8G_SECTION(".progmem.u8g_font_9x1
   Max Font    ascent =14 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_9x18_67_75[3936] U8G_SECTION(".progmem.u8g_font_9x18_67_75") = {
+const u8g_fntpgm_uint8_t u8g_font_9x18_67_75[3936] U8G_FONT_SECTION("u8g_font_9x18_67_75") = {
   0,9,18,0,252,4,1,255,4,34,32,255,0,14,252,10,
   0,8,7,7,9,0,1,72,36,18,255,18,36,72,7,10,
   10,9,1,0,16,16,16,146,84,56,146,84,56,16,7,7,
@@ -7318,7 +7318,7 @@ const u8g_fntpgm_uint8_t u8g_font_9x18_67_75[3936] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent =10 descent= 0
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_9x18_75r[792] U8G_SECTION(".progmem.u8g_font_9x18_75r") = {
+const u8g_fntpgm_uint8_t u8g_font_9x18_75r[792] U8G_FONT_SECTION("u8g_font_9x18_75r") = {
   0,9,18,0,252,9,2,33,0,0,32,79,0,10,0,9,
   0,7,7,7,9,1,1,254,254,254,254,254,254,254,7,7,
   7,9,1,1,254,130,130,130,130,130,254,7,7,7,9,1,
@@ -7381,7 +7381,7 @@ const u8g_fntpgm_uint8_t u8g_font_9x18_75r[792] U8G_SECTION(".progmem.u8g_font_9
   Max Font    ascent =12 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_9x18_78_79[3336] U8G_SECTION(".progmem.u8g_font_9x18_78_79") = {
+const u8g_fntpgm_uint8_t u8g_font_9x18_78_79[3336] U8G_FONT_SECTION("u8g_font_9x18_78_79") = {
   0,9,18,0,252,9,2,231,4,175,32,255,0,12,255,11,
   0,9,9,18,9,0,0,62,0,28,0,136,128,201,128,247,
   128,201,128,136,128,28,0,62,0,9,9,18,9,0,0,8,
@@ -7603,7 +7603,7 @@ const u8g_fntpgm_uint8_t u8g_font_9x18_78_79[3336] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent =14 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_9x18B[3026] U8G_SECTION(".progmem.u8g_font_9x18B") = {
+const u8g_fntpgm_uint8_t u8g_font_9x18B[3026] U8G_FONT_SECTION("u8g_font_9x18B") = {
   0,9,18,0,252,10,1,242,3,225,32,255,253,14,252,11,
   253,0,0,0,9,0,14,2,11,11,9,3,0,192,192,192,
   192,192,192,192,0,0,192,192,5,4,4,9,2,7,216,216,
@@ -7806,7 +7806,7 @@ const u8g_fntpgm_uint8_t u8g_font_9x18B[3026] U8G_SECTION(".progmem.u8g_font_9x1
   Max Font    ascent =14 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_9x18Br[1434] U8G_SECTION(".progmem.u8g_font_9x18Br") = {
+const u8g_fntpgm_uint8_t u8g_font_9x18Br[1434] U8G_FONT_SECTION("u8g_font_9x18Br") = {
   0,9,18,0,252,10,1,242,3,225,32,127,253,14,253,11,
   253,0,0,0,9,0,14,2,11,11,9,3,0,192,192,192,
   192,192,192,192,0,0,192,192,5,4,4,9,2,7,216,216,
@@ -7909,7 +7909,7 @@ const u8g_fntpgm_uint8_t u8g_font_9x18Br[1434] U8G_SECTION(".progmem.u8g_font_9x
   Max Font    ascent =14 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_9x18[3011] U8G_SECTION(".progmem.u8g_font_9x18") = {
+const u8g_fntpgm_uint8_t u8g_font_9x18[3011] U8G_FONT_SECTION("u8g_font_9x18") = {
   0,9,18,0,252,10,1,232,3,215,32,255,253,14,253,11,
   253,0,0,0,9,0,14,1,11,11,9,4,0,128,128,128,
   128,128,128,128,0,0,128,128,4,4,4,9,3,7,144,144,
@@ -8111,7 +8111,7 @@ const u8g_fntpgm_uint8_t u8g_font_9x18[3011] U8G_SECTION(".progmem.u8g_font_9x18
   Max Font    ascent =14 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_9x18r[1424] U8G_SECTION(".progmem.u8g_font_9x18r") = {
+const u8g_fntpgm_uint8_t u8g_font_9x18r[1424] U8G_FONT_SECTION("u8g_font_9x18r") = {
   0,9,18,0,252,10,1,232,3,215,32,127,253,14,253,11,
   253,0,0,0,9,0,14,1,11,11,9,4,0,128,128,128,
   128,128,128,128,0,0,128,128,4,4,4,9,3,7,144,144,
@@ -8214,7 +8214,7 @@ const u8g_fntpgm_uint8_t u8g_font_9x18r[1424] U8G_SECTION(".progmem.u8g_font_9x1
   Max Font    ascent = 8 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_baby[2227] U8G_SECTION(".progmem.u8g_font_baby") = {
+const u8g_fntpgm_uint8_t u8g_font_baby[2227] U8G_FONT_SECTION("u8g_font_baby") = {
   0,10,10,255,254,5,1,108,2,200,32,255,254,8,254,6,
   254,0,0,0,2,0,0,1,6,6,3,1,0,128,128,128,
   128,0,128,3,3,3,4,0,4,160,160,160,5,5,5,6,
@@ -8367,8 +8367,8 @@ const u8g_fntpgm_uint8_t u8g_font_baby[2227] U8G_SECTION(".progmem.u8g_font_baby
   Max Font    ascent = 6 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_babyn[180] U8G_SECTION(".progmem.u8g_font_babyn") = {
-  0,10,10,255,254,5,0,0,0,0,42,57,0,6,254,5,
+const u8g_fntpgm_uint8_t u8g_font_babyn[189] U8G_FONT_SECTION("u8g_font_babyn") = {
+  0,10,10,255,254,5,0,0,0,0,42,58,0,6,254,5,
   0,3,3,3,4,0,3,160,64,160,3,3,3,5,1,1,
   64,224,64,2,3,3,3,0,254,192,64,128,3,1,1,4,
   0,2,224,1,1,1,2,0,0,128,3,6,6,4,0,255,
@@ -8379,7 +8379,7 @@ const u8g_fntpgm_uint8_t u8g_font_babyn[180] U8G_SECTION(".progmem.u8g_font_baby
   5,0,0,240,128,224,16,224,4,5,5,5,0,0,96,128,
   224,144,96,4,5,5,5,0,0,240,16,32,64,128,4,5,
   5,5,0,0,96,144,96,144,96,4,5,5,5,0,0,96,
-  144,112,16,96};
+  144,112,16,96,1,3,3,3,1,0,128,0,128};
 /*
   Fontname: -FreeType-Baby-Medium-R-Normal--8-80-72-72-P-42-ISO10646-1
   Copyright: Copyright mrsbarrett 2008
@@ -8392,7 +8392,7 @@ const u8g_fntpgm_uint8_t u8g_font_babyn[180] U8G_SECTION(".progmem.u8g_font_baby
   Max Font    ascent = 7 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_babyr[1040] U8G_SECTION(".progmem.u8g_font_babyr") = {
+const u8g_fntpgm_uint8_t u8g_font_babyr[1040] U8G_FONT_SECTION("u8g_font_babyr") = {
   0,10,10,255,254,5,1,108,2,200,32,127,254,7,254,6,
   254,0,0,0,2,0,0,1,6,6,3,1,0,128,128,128,
   128,0,128,3,3,3,4,0,4,160,160,160,5,5,5,6,
@@ -8471,7 +8471,7 @@ const u8g_fntpgm_uint8_t u8g_font_babyr[1040] U8G_SECTION(".progmem.u8g_font_bab
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_blipfest_07[948] U8G_SECTION(".progmem.u8g_font_blipfest_07") = {
+const u8g_fntpgm_uint8_t u8g_font_blipfest_07[948] U8G_FONT_SECTION("u8g_font_blipfest_07") = {
   0,5,6,0,255,5,1,5,2,47,32,255,255,5,255,5,
   255,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128,
   0,128,3,2,2,4,0,3,160,160,255,255,255,4,5,5,
@@ -8544,8 +8544,8 @@ const u8g_fntpgm_uint8_t u8g_font_blipfest_07[948] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent = 5 descent= 0
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[160] U8G_SECTION(".progmem.u8g_font_blipfest_07n") = {
-  0,5,6,0,255,5,0,0,0,0,42,57,0,5,0,5,
+const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[169] U8G_FONT_SECTION("u8g_font_blipfest_07n") = {
+  0,5,6,0,255,5,0,0,0,0,42,58,0,5,0,5,
   0,255,3,3,3,4,0,1,64,224,64,1,2,2,2,0,
   0,128,128,3,1,1,4,0,2,224,1,1,1,2,0,0,
   128,255,3,5,5,4,0,0,224,160,160,160,224,2,5,5,
@@ -8554,8 +8554,8 @@ const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[160] U8G_SECTION(".progmem.u8g_fo
   5,4,0,0,160,160,224,32,32,3,5,5,4,0,0,224,
   128,224,32,224,3,5,5,4,0,0,224,128,224,160,224,3,
   5,5,4,0,0,224,32,32,32,32,3,5,5,4,0,0,
-  224,160,224,160,224,3,5,5,4,0,0,224,160,224,32,224
-  };
+  224,160,224,160,224,3,5,5,4,0,0,224,160,224,32,224,
+  1,3,3,2,0,0,128,0,128};
 /*
   Fontname: -FreeType-Blipfest 07-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1
   Copyright: Copyright cwillmor 2008
@@ -8568,7 +8568,7 @@ const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[160] U8G_SECTION(".progmem.u8g_fo
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_blipfest_07r[820] U8G_SECTION(".progmem.u8g_font_blipfest_07r") = {
+const u8g_fntpgm_uint8_t u8g_font_blipfest_07r[820] U8G_FONT_SECTION("u8g_font_blipfest_07r") = {
   0,5,6,0,255,5,1,5,2,47,32,127,255,5,255,5,
   255,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128,
   0,128,3,2,2,4,0,3,160,160,255,255,255,4,5,5,
@@ -8633,7 +8633,7 @@ const u8g_fntpgm_uint8_t u8g_font_blipfest_07r[820] U8G_SECTION(".progmem.u8g_fo
   Max Font    ascent = 8 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_chikita[2236] U8G_SECTION(".progmem.u8g_font_chikita") = {
+const u8g_fntpgm_uint8_t u8g_font_chikita[2236] U8G_FONT_SECTION("u8g_font_chikita") = {
   0,9,10,0,254,5,1,107,2,195,32,255,254,8,254,6,
   254,0,0,0,2,0,0,1,7,7,2,0,255,128,128,128,
   128,128,0,128,3,2,2,4,0,4,160,160,5,5,5,6,
@@ -8786,8 +8786,8 @@ const u8g_fntpgm_uint8_t u8g_font_chikita[2236] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_chikitan[180] U8G_SECTION(".progmem.u8g_font_chikitan") = {
-  0,9,10,0,254,5,0,0,0,0,42,57,0,5,255,5,
+const u8g_fntpgm_uint8_t u8g_font_chikitan[189] U8G_FONT_SECTION("u8g_font_chikitan") = {
+  0,9,10,0,254,5,0,0,0,0,42,58,0,5,255,5,
   0,3,3,3,5,1,1,160,64,160,5,5,5,6,0,0,
   32,32,248,32,32,2,2,2,3,0,255,64,128,5,1,1,
   6,0,2,248,1,1,1,2,0,0,128,3,5,5,5,1,
@@ -8798,7 +8798,7 @@ const u8g_fntpgm_uint8_t u8g_font_chikitan[180] U8G_SECTION(".progmem.u8g_font_c
   6,0,0,248,128,240,8,240,5,5,5,6,0,0,120,128,
   240,136,112,5,5,5,6,0,0,248,8,16,32,64,5,5,
   5,6,0,0,112,136,112,136,112,5,5,5,6,0,0,112,
-  136,120,8,240};
+  136,120,8,240,1,3,3,2,0,1,128,0,128};
 /*
   Fontname: -FreeType-Chikita-Medium-R-Normal--8-80-72-72-P-47-ISO10646-1
   Copyright: Copyright southernmedia 2008  Chikita is based on pixelspace 5x5 by David Chiu (http://fontstruct.com/fontstructors/skyleth)
@@ -8811,7 +8811,7 @@ const u8g_fntpgm_uint8_t u8g_font_chikitan[180] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent = 6 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_chikitar[1032] U8G_SECTION(".progmem.u8g_font_chikitar") = {
+const u8g_fntpgm_uint8_t u8g_font_chikitar[1032] U8G_FONT_SECTION("u8g_font_chikitar") = {
   0,9,10,0,254,5,1,107,2,195,32,127,254,6,254,6,
   254,0,0,0,2,0,0,1,7,7,2,0,255,128,128,128,
   128,128,0,128,3,2,2,4,0,4,160,160,5,5,5,6,
@@ -8889,7 +8889,7 @@ const u8g_fntpgm_uint8_t u8g_font_chikitar[1032] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent = 9 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courB08[2425] U8G_SECTION(".progmem.u8g_font_courB08") = {
+const u8g_fntpgm_uint8_t u8g_font_courB08[2425] U8G_FONT_SECTION("u8g_font_courB08") = {
   0,12,16,253,252,6,1,146,3,13,32,255,254,9,254,7,
   254,0,0,0,6,0,1,2,6,6,6,1,0,192,192,192,
   192,0,192,3,3,3,6,1,3,160,160,160,5,8,8,6,
@@ -9054,7 +9054,7 @@ const u8g_fntpgm_uint8_t u8g_font_courB08[2425] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent = 8 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courB08r[1145] U8G_SECTION(".progmem.u8g_font_courB08r") = {
+const u8g_fntpgm_uint8_t u8g_font_courB08r[1145] U8G_FONT_SECTION("u8g_font_courB08r") = {
   0,12,16,253,252,6,1,146,3,13,32,127,254,8,254,7,
   254,0,0,0,6,0,1,2,6,6,6,1,0,192,192,192,
   192,0,192,3,3,3,6,1,3,160,160,160,5,8,8,6,
@@ -9139,7 +9139,7 @@ const u8g_fntpgm_uint8_t u8g_font_courB08r[1145] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =12 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courB10[3355] U8G_SECTION(".progmem.u8g_font_courB10") = {
+const u8g_fntpgm_uint8_t u8g_font_courB10[3355] U8G_FONT_SECTION("u8g_font_courB10") = {
   0,13,21,254,250,9,1,222,4,32,32,255,253,12,252,10,
   253,0,0,0,9,0,1,2,9,9,9,3,0,192,192,192,
   192,192,128,0,192,192,5,4,4,9,2,6,216,216,216,72,
@@ -9362,7 +9362,7 @@ const u8g_fntpgm_uint8_t u8g_font_courB10[3355] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent =11 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courB10r[1551] U8G_SECTION(".progmem.u8g_font_courB10r") = {
+const u8g_fntpgm_uint8_t u8g_font_courB10r[1551] U8G_FONT_SECTION("u8g_font_courB10r") = {
   0,13,21,254,250,9,1,222,4,32,32,127,253,11,253,10,
   253,0,0,0,9,0,1,2,9,9,9,3,0,192,192,192,
   192,192,128,0,192,192,5,4,4,9,2,6,216,216,216,72,
@@ -9472,7 +9472,7 @@ const u8g_fntpgm_uint8_t u8g_font_courB10r[1551] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =14 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courB12[3959] U8G_SECTION(".progmem.u8g_font_courB12") = {
+const u8g_fntpgm_uint8_t u8g_font_courB12[3959] U8G_FONT_SECTION("u8g_font_courB12") = {
   0,16,24,253,250,10,2,51,4,246,32,255,253,14,253,11,
   253,0,0,0,10,0,1,2,11,11,10,3,0,192,192,192,
   192,192,192,192,192,0,192,192,6,5,5,10,2,6,204,204,
@@ -9733,7 +9733,7 @@ const u8g_fntpgm_uint8_t u8g_font_courB12[3959] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent =12 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courB12r[1857] U8G_SECTION(".progmem.u8g_font_courB12r") = {
+const u8g_fntpgm_uint8_t u8g_font_courB12r[1857] U8G_FONT_SECTION("u8g_font_courB12r") = {
   0,16,24,253,250,10,2,51,4,246,32,127,253,12,253,11,
   253,0,0,0,10,0,1,2,11,11,10,3,0,192,192,192,
   192,192,192,192,192,0,192,192,6,5,5,10,2,6,204,204,
@@ -9863,7 +9863,7 @@ const u8g_fntpgm_uint8_t u8g_font_courB12r[1857] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =15 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courB14[4784] U8G_SECTION(".progmem.u8g_font_courB14") = {
+const u8g_fntpgm_uint8_t u8g_font_courB14[4784] U8G_FONT_SECTION("u8g_font_courB14") = {
   0,17,26,252,249,11,2,101,5,155,32,255,252,15,251,12,
   252,0,0,0,11,0,1,3,12,12,11,4,0,224,224,224,
   224,224,224,192,192,192,0,192,192,6,6,6,11,2,6,204,
@@ -10176,7 +10176,7 @@ const u8g_fntpgm_uint8_t u8g_font_courB14[4784] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent =13 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courB14r[2167] U8G_SECTION(".progmem.u8g_font_courB14r") = {
+const u8g_fntpgm_uint8_t u8g_font_courB14r[2167] U8G_FONT_SECTION("u8g_font_courB14r") = {
   0,17,26,252,249,11,2,101,5,155,32,127,252,13,252,12,
   252,0,0,0,11,0,1,3,12,12,11,4,0,224,224,224,
   224,224,224,192,192,192,0,192,192,6,6,6,11,2,6,204,
@@ -10325,7 +10325,7 @@ const u8g_fntpgm_uint8_t u8g_font_courB14r[2167] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =21 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courB18[6429] U8G_SECTION(".progmem.u8g_font_courB18") = {
+const u8g_fntpgm_uint8_t u8g_font_courB18[6429] U8G_FONT_SECTION("u8g_font_courB18") = {
   0,22,35,252,247,15,3,223,8,17,32,255,251,21,251,16,
   251,0,0,0,15,0,1,4,16,16,15,5,0,96,240,240,
   240,240,240,240,96,96,96,96,96,0,96,96,96,7,7,7,
@@ -10740,7 +10740,7 @@ const u8g_fntpgm_uint8_t u8g_font_courB18[6429] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent =17 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courB18r[3001] U8G_SECTION(".progmem.u8g_font_courB18r") = {
+const u8g_fntpgm_uint8_t u8g_font_courB18r[3001] U8G_FONT_SECTION("u8g_font_courB18r") = {
   0,22,35,252,247,15,3,223,8,17,32,127,251,17,251,16,
   251,0,0,0,15,0,1,4,16,16,15,5,0,96,240,240,
   240,240,240,240,96,96,96,96,96,0,96,96,96,7,7,7,
@@ -10941,7 +10941,7 @@ const u8g_fntpgm_uint8_t u8g_font_courB18r[3001] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =26 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courB24[10502] U8G_SECTION(".progmem.u8g_font_courB24") = {
+const u8g_fntpgm_uint8_t u8g_font_courB24[10502] U8G_FONT_SECTION("u8g_font_courB24") = {
   0,30,44,249,245,20,5,57,12,115,32,255,249,26,249,21,
   249,0,0,0,20,0,1,5,21,21,20,7,0,112,248,248,
   248,248,248,112,112,112,112,112,112,112,112,112,32,0,0,112,
@@ -11611,7 +11611,7 @@ const u8g_fntpgm_uint8_t u8g_font_courB24[10502] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =23 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courB24r[4775] U8G_SECTION(".progmem.u8g_font_courB24r") = {
+const u8g_fntpgm_uint8_t u8g_font_courB24r[4775] U8G_FONT_SECTION("u8g_font_courB24r") = {
   0,30,44,249,245,20,5,57,12,115,32,127,249,23,249,21,
   249,0,0,0,20,0,1,5,21,21,20,7,0,112,248,248,
   248,248,248,112,112,112,112,112,112,112,112,112,32,0,0,112,
@@ -11923,8 +11923,8 @@ const u8g_fntpgm_uint8_t u8g_font_courB24r[4775] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =23 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courB24n[686] U8G_SECTION(".progmem.u8g_font_courB24n") = {
-  0,30,44,249,245,21,0,0,0,0,42,57,0,23,251,21,
+const u8g_fntpgm_uint8_t u8g_font_courB24n[707] U8G_FONT_SECTION("u8g_font_courB24n") = {
+  0,30,44,249,245,21,0,0,0,0,42,58,0,23,251,21,
   0,15,14,28,20,3,7,3,128,3,128,3,128,3,128,99,
   140,251,190,127,252,31,240,15,224,15,224,30,240,60,120,120,
   60,48,24,17,17,51,20,1,1,1,192,0,1,192,0,1,
@@ -11966,7 +11966,9 @@ const u8g_fntpgm_uint8_t u8g_font_courB24n[686] U8G_SECTION(".progmem.u8g_font_c
   224,28,224,28,224,28,248,124,127,248,63,240,15,192,14,21,
   42,20,3,0,15,128,63,224,127,240,120,240,240,120,224,56,
   224,60,224,60,224,60,240,124,120,252,63,220,63,156,15,60,
-  0,56,0,120,0,112,97,240,255,224,255,128,126,0};
+  0,56,0,120,0,112,97,240,255,224,255,128,126,0,5,15,
+  15,20,7,0,112,248,248,112,0,0,0,0,0,0,0,112,
+  248,248,112};
 /*
   Fontname: -Adobe-Courier-Medium-R-Normal--11-80-100-100-M-60-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -11979,7 +11981,7 @@ const u8g_fntpgm_uint8_t u8g_font_courB24n[686] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent = 9 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courR08[2433] U8G_SECTION(".progmem.u8g_font_courR08") = {
+const u8g_fntpgm_uint8_t u8g_font_courR08[2433] U8G_FONT_SECTION("u8g_font_courR08") = {
   0,10,16,254,252,6,1,151,3,21,32,255,254,9,254,7,
   254,0,0,0,6,0,1,1,7,7,6,2,0,128,128,128,
   128,128,0,128,3,3,3,6,1,4,160,160,160,5,8,8,
@@ -12145,7 +12147,7 @@ const u8g_fntpgm_uint8_t u8g_font_courR08[2433] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent = 8 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courR08r[1157] U8G_SECTION(".progmem.u8g_font_courR08r") = {
+const u8g_fntpgm_uint8_t u8g_font_courR08r[1157] U8G_FONT_SECTION("u8g_font_courR08r") = {
   0,10,16,254,252,6,1,151,3,21,32,127,254,8,254,7,
   254,0,0,0,6,0,1,1,7,7,6,2,0,128,128,128,
   128,128,0,128,3,3,3,6,1,4,160,160,160,5,8,8,
@@ -12231,7 +12233,7 @@ const u8g_fntpgm_uint8_t u8g_font_courR08r[1157] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =12 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courR10[3052] U8G_SECTION(".progmem.u8g_font_courR10") = {
+const u8g_fntpgm_uint8_t u8g_font_courR10[3052] U8G_FONT_SECTION("u8g_font_courR10") = {
   0,14,20,253,251,9,1,224,3,220,32,255,253,12,253,10,
   253,0,0,0,9,0,1,1,9,9,9,3,0,128,128,128,
   128,128,128,0,128,128,4,4,4,9,2,6,144,144,144,144,
@@ -12435,7 +12437,7 @@ const u8g_fntpgm_uint8_t u8g_font_courR10[3052] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent =11 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courR10r[1443] U8G_SECTION(".progmem.u8g_font_courR10r") = {
+const u8g_fntpgm_uint8_t u8g_font_courR10r[1443] U8G_FONT_SECTION("u8g_font_courR10r") = {
   0,14,20,253,251,9,1,224,3,220,32,127,253,11,253,10,
   253,0,0,0,9,0,1,1,9,9,9,3,0,128,128,128,
   128,128,128,0,128,128,4,4,4,9,2,6,144,144,144,144,
@@ -12539,7 +12541,7 @@ const u8g_fntpgm_uint8_t u8g_font_courR10r[1443] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =14 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courR12[3471] U8G_SECTION(".progmem.u8g_font_courR12") = {
+const u8g_fntpgm_uint8_t u8g_font_courR12[3471] U8G_FONT_SECTION("u8g_font_courR12") = {
   0,15,24,253,250,10,2,12,4,92,32,255,253,14,253,11,
   253,0,0,0,10,0,1,1,11,11,10,4,0,128,128,128,
   128,128,128,128,128,0,128,128,4,5,5,10,3,6,144,144,
@@ -12769,7 +12771,7 @@ const u8g_fntpgm_uint8_t u8g_font_courR12[3471] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent =12 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courR12r[1592] U8G_SECTION(".progmem.u8g_font_courR12r") = {
+const u8g_fntpgm_uint8_t u8g_font_courR12r[1592] U8G_FONT_SECTION("u8g_font_courR12r") = {
   0,15,24,253,250,10,2,12,4,92,32,127,253,12,253,11,
   253,0,0,0,10,0,1,1,11,11,10,4,0,128,128,128,
   128,128,128,128,128,0,128,128,4,5,5,10,3,6,144,144,
@@ -12882,7 +12884,7 @@ const u8g_fntpgm_uint8_t u8g_font_courR12r[1592] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =15 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courR14[4276] U8G_SECTION(".progmem.u8g_font_courR14") = {
+const u8g_fntpgm_uint8_t u8g_font_courR14[4276] U8G_FONT_SECTION("u8g_font_courR14") = {
   0,16,26,253,249,11,2,74,5,74,32,255,252,15,252,12,
   252,0,0,0,11,0,1,2,12,12,11,4,0,192,192,192,
   192,192,192,64,64,0,0,192,192,6,5,5,11,3,7,204,
@@ -13163,7 +13165,7 @@ const u8g_fntpgm_uint8_t u8g_font_courR14[4276] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent =13 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courR14r[1988] U8G_SECTION(".progmem.u8g_font_courR14r") = {
+const u8g_fntpgm_uint8_t u8g_font_courR14r[1988] U8G_FONT_SECTION("u8g_font_courR14r") = {
   0,16,26,253,249,11,2,74,5,74,32,127,252,13,252,12,
   252,0,0,0,11,0,1,2,12,12,11,4,0,192,192,192,
   192,192,192,64,64,0,0,192,192,6,5,5,11,3,7,204,
@@ -13301,7 +13303,7 @@ const u8g_fntpgm_uint8_t u8g_font_courR14r[1988] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =19 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courR18[6152] U8G_SECTION(".progmem.u8g_font_courR18") = {
+const u8g_fntpgm_uint8_t u8g_font_courR18[6152] U8G_FONT_SECTION("u8g_font_courR18") = {
   0,23,32,251,248,14,3,161,7,151,32,255,251,19,251,16,
   251,0,0,0,15,0,1,2,16,16,15,6,0,192,192,192,
   192,192,192,192,192,128,128,128,0,0,0,192,192,8,7,7,
@@ -13699,7 +13701,7 @@ const u8g_fntpgm_uint8_t u8g_font_courR18[6152] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent =17 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courR18r[2862] U8G_SECTION(".progmem.u8g_font_courR18r") = {
+const u8g_fntpgm_uint8_t u8g_font_courR18r[2862] U8G_FONT_SECTION("u8g_font_courR18r") = {
   0,23,32,251,248,14,3,161,7,151,32,127,251,17,251,16,
   251,0,0,0,15,0,1,2,16,16,15,6,0,192,192,192,
   192,192,192,192,192,128,128,128,0,0,0,192,192,8,7,7,
@@ -13891,7 +13893,7 @@ const u8g_fntpgm_uint8_t u8g_font_courR18r[2862] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =26 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courR24[8729] U8G_SECTION(".progmem.u8g_font_courR24") = {
+const u8g_fntpgm_uint8_t u8g_font_courR24[8729] U8G_FONT_SECTION("u8g_font_courR24") = {
   0,28,42,250,246,19,4,184,10,129,32,255,250,26,250,21,
   250,0,0,0,20,0,1,5,21,21,20,8,0,32,112,112,
   112,112,112,32,32,32,32,32,32,32,32,0,0,0,0,112,
@@ -14450,8 +14452,8 @@ const u8g_fntpgm_uint8_t u8g_font_courR24[8729] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent =22 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courR24n[638] U8G_SECTION(".progmem.u8g_font_courR24n") = {
-  0,28,42,250,246,20,0,0,0,0,42,57,0,22,252,20,
+const u8g_fntpgm_uint8_t u8g_font_courR24n[658] U8G_FONT_SECTION("u8g_font_courR24n") = {
+  0,28,42,250,246,20,0,0,0,0,42,58,0,22,252,20,
   0,11,13,26,20,4,8,4,0,4,0,4,0,4,0,132,
   32,245,224,31,0,14,0,10,0,27,0,49,128,32,128,96,
   192,15,17,34,20,2,1,1,0,1,0,1,0,1,0,1,
@@ -14490,7 +14492,9 @@ const u8g_fntpgm_uint8_t u8g_font_courR24n[638] U8G_SECTION(".progmem.u8g_font_c
   192,96,128,32,128,32,128,32,192,96,64,64,113,192,31,0,
   12,20,40,20,4,0,31,0,112,192,64,96,192,32,128,48,
   128,48,128,48,128,48,192,80,64,208,115,144,30,16,0,32,
-  0,32,0,32,0,64,0,192,1,128,14,0,120,0};
+  0,32,0,32,0,64,0,192,1,128,14,0,120,0,5,14,
+  14,20,7,0,112,248,248,112,0,0,0,0,0,0,112,248,
+  248,112};
 /*
   Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -14503,7 +14507,7 @@ const u8g_fntpgm_uint8_t u8g_font_courR24n[638] U8G_SECTION(".progmem.u8g_font_c
   Max Font    ascent =22 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_courR24r[3991] U8G_SECTION(".progmem.u8g_font_courR24r") = {
+const u8g_fntpgm_uint8_t u8g_font_courR24r[3991] U8G_FONT_SECTION("u8g_font_courR24r") = {
   0,28,42,250,246,19,4,184,10,129,32,127,250,22,250,21,
   250,0,0,0,20,0,1,5,21,21,20,8,0,32,112,112,
   112,112,112,32,32,32,32,32,32,32,32,0,0,0,0,112,
@@ -14766,7 +14770,7 @@ const u8g_fntpgm_uint8_t u8g_font_courR24r[3991] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =17 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_cu12_67_75[3981] U8G_SECTION(".progmem.u8g_font_cu12_67_75") = {
+const u8g_fntpgm_uint8_t u8g_font_cu12_67_75[3981] U8G_FONT_SECTION("u8g_font_cu12_67_75") = {
   0,40,30,247,246,3,2,98,5,14,32,255,1,17,254,12,
   0,11,5,10,12,1,4,2,128,1,64,255,224,1,64,2,
   128,5,11,11,6,1,1,32,32,32,32,32,32,168,112,168,
@@ -15028,7 +15032,7 @@ const u8g_fntpgm_uint8_t u8g_font_cu12_67_75[3981] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent =13 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_cu12_75r[1123] U8G_SECTION(".progmem.u8g_font_cu12_75r") = {
+const u8g_fntpgm_uint8_t u8g_font_cu12_75r[1123] U8G_FONT_SECTION("u8g_font_cu12_75r") = {
   0,40,30,247,246,11,2,247,0,0,32,79,0,13,254,12,
   0,11,11,22,14,2,1,255,224,255,224,255,224,255,224,255,
   224,255,224,255,224,255,224,255,224,255,224,255,224,11,11,22,
@@ -15112,7 +15116,7 @@ const u8g_fntpgm_uint8_t u8g_font_cu12_75r[1123] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =16 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_cu12[3993] U8G_SECTION(".progmem.u8g_font_cu12") = {
+const u8g_fntpgm_uint8_t u8g_font_cu12[3993] U8G_FONT_SECTION("u8g_font_cu12") = {
   0,40,30,247,246,11,2,90,5,94,32,255,252,16,252,12,
   252,0,0,0,5,0,0,2,12,12,5,1,0,192,192,192,
   192,192,192,192,0,0,0,192,192,4,5,5,7,2,7,144,
@@ -15375,7 +15379,7 @@ const u8g_fntpgm_uint8_t u8g_font_cu12[3993] U8G_SECTION(".progmem.u8g_font_cu12
   Max Font    ascent =15 descent=-16
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_cursor[5286] U8G_SECTION(".progmem.u8g_font_cursor") = {
+const u8g_fntpgm_uint8_t u8g_font_cursor[5286] U8G_FONT_SECTION("u8g_font_cursor") = {
   0,31,31,241,240,15,4,101,8,211,32,255,248,15,240,16,
   240,14,14,28,17,250,248,224,28,240,60,248,124,124,248,63,
   240,31,224,15,192,15,192,31,224,63,240,124,248,248,124,240,
@@ -15719,7 +15723,7 @@ const u8g_fntpgm_uint8_t u8g_font_cursor[5286] U8G_SECTION(".progmem.u8g_font_cu
   Max Font    ascent = 7 descent=-16
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_cursorr[492] U8G_SECTION(".progmem.u8g_font_cursorr") = {
+const u8g_fntpgm_uint8_t u8g_font_cursorr[492] U8G_FONT_SECTION("u8g_font_cursorr") = {
   0,31,31,241,240,0,1,6,0,0,32,80,0,7,240,0,
   0,255,255,14,14,28,17,243,242,0,12,0,60,0,248,3,
   248,15,240,63,240,3,224,7,224,14,192,28,192,56,128,112,
@@ -15763,7 +15767,7 @@ const u8g_fntpgm_uint8_t u8g_font_cursorr[492] U8G_SECTION(".progmem.u8g_font_cu
   Max Font    ascent = 7 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fixed_v0[1702] U8G_SECTION(".progmem.u8g_font_fixed_v0") = {
+const u8g_fntpgm_uint8_t u8g_font_fixed_v0[1702] U8G_FONT_SECTION("u8g_font_fixed_v0") = {
   1,7,9,0,254,7,1,46,2,94,32,255,254,7,254,7,
   254,2,0,64,34,23,103,128,128,128,128,0,128,128,23,50,
   98,160,160,3,85,101,80,248,80,248,80,2,87,103,112,168,
@@ -15883,8 +15887,8 @@ const u8g_fntpgm_uint8_t u8g_font_fixed_v0[1702] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent = 7 descent= 0
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[159] U8G_SECTION(".progmem.u8g_font_fixed_v0n") = {
-  1,7,9,0,254,7,0,0,0,0,42,57,0,7,0,7,
+const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[167] U8G_FONT_SECTION("u8g_font_fixed_v0n") = {
+  1,7,9,0,254,7,0,0,0,0,42,58,0,7,0,7,
   0,2,87,103,32,168,112,32,112,168,32,3,85,101,32,32,
   248,32,32,18,34,98,64,128,5,81,97,248,18,18,98,128,
   128,2,87,103,8,16,16,32,64,64,128,2,87,103,112,136,
@@ -15893,7 +15897,8 @@ const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[159] U8G_SECTION(".progmem.u8g_font_
   8,8,240,2,87,103,16,144,144,248,16,16,16,2,87,103,
   248,128,128,240,8,8,240,2,87,103,112,128,128,240,136,136,
   112,2,87,103,248,8,8,8,8,8,8,2,87,103,112,136,
-  136,112,136,136,112,2,87,103,112,136,136,248,8,8,112};
+  136,112,136,136,112,2,87,103,112,136,136,248,8,8,112,18,
+  21,101,128,128,0,128,128};
 /*
   Fontname: -FreeType-fixed_v01-Medium-R-Normal--8-80-72-72-P-51-ISO10646-1
   Copyright: © www.orgdot.com
@@ -15906,7 +15911,7 @@ const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[159] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent = 7 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fixed_v0r[878] U8G_SECTION(".progmem.u8g_font_fixed_v0r") = {
+const u8g_fntpgm_uint8_t u8g_font_fixed_v0r[878] U8G_FONT_SECTION("u8g_font_fixed_v0r") = {
   1,7,9,0,254,7,1,46,2,94,32,127,254,7,254,7,
   254,2,0,64,34,23,103,128,128,128,128,0,128,128,23,50,
   98,160,160,3,85,101,80,248,80,248,80,2,87,103,112,168,
@@ -15974,7 +15979,7 @@ const u8g_fntpgm_uint8_t u8g_font_fixed_v0r[878] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =12 descent= 0
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_freedoomr10r[1042] U8G_SECTION(".progmem.u8g_font_freedoomr10r") = {
+const u8g_fntpgm_uint8_t u8g_font_freedoomr10r[1042] U8G_FONT_SECTION("u8g_font_freedoomr10r") = {
   0,7,12,0,0,10,1,113,3,88,32,127,1,12,0,12,
   0,0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,
   7,0,1,0,0,0,7,0,1,0,0,0,7,0,1,0,
@@ -16053,7 +16058,7 @@ const u8g_fntpgm_uint8_t u8g_font_freedoomr10r[1042] U8G_SECTION(".progmem.u8g_f
   Max Font    ascent =26 descent= 0
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_freedoomr25n[943] U8G_SECTION(".progmem.u8g_font_freedoomr25n") = {
+const u8g_fntpgm_uint8_t u8g_font_freedoomr25n[943] U8G_FONT_SECTION("u8g_font_freedoomr25n") = {
   0,18,26,0,0,24,3,112,3,144,32,127,0,26,0,24,
   0,0,0,0,11,0,0,255,255,255,255,255,255,255,255,255,
   255,17,16,48,19,1,6,1,192,0,1,192,0,1,192,0,
@@ -16125,7 +16130,7 @@ const u8g_fntpgm_uint8_t u8g_font_freedoomr25n[943] U8G_SECTION(".progmem.u8g_fo
   Max Font    ascent =17 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub11[3948] U8G_SECTION(".progmem.u8g_font_fub11") = {
+const u8g_fntpgm_uint8_t u8g_font_fub11[3948] U8G_FONT_SECTION("u8g_font_fub11") = {
   0,24,21,255,252,11,2,82,5,55,32,255,253,17,252,11,
   253,0,0,0,5,0,0,2,11,11,6,2,0,192,192,192,
   192,192,192,192,192,0,0,192,6,5,5,8,1,6,204,204,
@@ -16385,8 +16390,8 @@ const u8g_fntpgm_uint8_t u8g_font_fub11[3948] U8G_SECTION(".progmem.u8g_font_fub
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub11n[266] U8G_SECTION(".progmem.u8g_font_fub11n") = {
-  0,24,21,255,252,11,0,0,0,0,42,57,0,11,254,11,
+const u8g_fntpgm_uint8_t u8g_font_fub11n[280] U8G_FONT_SECTION("u8g_font_fub11n") = {
+  0,24,21,255,252,11,0,0,0,0,42,58,0,11,254,11,
   0,6,5,5,10,2,5,120,48,252,48,120,9,9,18,16,
   3,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0,
   8,0,8,0,3,4,4,5,1,254,96,96,192,192,4,2,
@@ -16402,7 +16407,8 @@ const u8g_fntpgm_uint8_t u8g_font_fub11n[266] U8G_SECTION(".progmem.u8g_font_fub
   222,231,195,195,195,102,60,8,11,11,9,1,0,255,3,7,
   6,14,12,28,24,56,56,112,8,11,11,9,1,0,126,231,
   195,231,60,102,195,195,195,231,60,8,11,11,9,1,0,60,
-  102,195,195,231,127,3,3,198,110,60};
+  102,195,195,231,127,3,3,198,110,60,2,8,8,5,2,0,
+  192,192,0,0,0,0,192,192};
 /*
   Fontname: -FreeType-FreeUniversal-Bold-R-Normal--16-160-72-72-P-81-ISO10646-1
   Copyright: FreeUniveral (c) Stephen Wilson 2009    Original Font Sil-Sophia  Copyright (c) SIL International, 1994-2008.
@@ -16415,7 +16421,7 @@ const u8g_fntpgm_uint8_t u8g_font_fub11n[266] U8G_SECTION(".progmem.u8g_font_fub
   Max Font    ascent =12 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub11r[1829] U8G_SECTION(".progmem.u8g_font_fub11r") = {
+const u8g_fntpgm_uint8_t u8g_font_fub11r[1829] U8G_FONT_SECTION("u8g_font_fub11r") = {
   0,24,21,255,252,11,2,82,5,55,32,127,253,12,252,11,
   253,0,0,0,5,0,0,2,11,11,6,2,0,192,192,192,
   192,192,192,192,192,0,0,192,6,5,5,8,1,6,204,204,
@@ -16543,7 +16549,7 @@ const u8g_fntpgm_uint8_t u8g_font_fub11r[1829] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =21 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub14[5788] U8G_SECTION(".progmem.u8g_font_fub14") = {
+const u8g_fntpgm_uint8_t u8g_font_fub14[5788] U8G_FONT_SECTION("u8g_font_fub14") = {
   0,31,26,254,251,14,3,116,7,95,32,255,252,21,251,14,
   252,0,0,0,6,0,0,3,14,14,8,3,0,224,224,224,
   224,224,224,224,224,224,224,0,0,224,224,8,6,6,10,1,
@@ -16918,8 +16924,8 @@ const u8g_fntpgm_uint8_t u8g_font_fub14[5788] U8G_SECTION(".progmem.u8g_font_fub
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub14n[436] U8G_SECTION(".progmem.u8g_font_fub14n") = {
-  0,31,26,254,251,14,0,0,0,0,42,57,0,14,254,14,
+const u8g_fntpgm_uint8_t u8g_font_fub14n[452] U8G_FONT_SECTION("u8g_font_fub14n") = {
+  0,31,26,254,251,14,0,0,0,0,42,58,0,14,254,14,
   0,8,7,7,12,2,7,102,60,24,255,24,60,102,12,12,
   24,20,4,0,2,0,2,0,2,0,2,0,2,0,255,240,
   255,240,2,0,2,0,2,0,2,0,2,0,4,5,5,6,
@@ -16946,7 +16952,8 @@ const u8g_fntpgm_uint8_t u8g_font_fub14n[436] U8G_SECTION(".progmem.u8g_font_fub
   127,0,63,0,115,128,225,192,225,192,225,192,225,192,127,128,
   63,0,10,14,28,11,1,0,30,0,127,0,225,128,225,128,
   225,192,225,192,243,192,127,192,25,192,1,128,225,128,99,128,
-  127,0,62,0};
+  127,0,62,0,3,10,10,7,3,0,224,224,224,0,0,0,
+  0,224,224,224};
 /*
   Fontname: -FreeType-FreeUniversal-Bold-R-Normal--20-200-72-72-P-101-ISO10646-1
   Copyright: FreeUniveral (c) Stephen Wilson 2009    Original Font Sil-Sophia  Copyright (c) SIL International, 1994-2008.
@@ -16959,7 +16966,7 @@ const u8g_fntpgm_uint8_t u8g_font_fub14n[436] U8G_SECTION(".progmem.u8g_font_fub
   Max Font    ascent =16 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub14r[2680] U8G_SECTION(".progmem.u8g_font_fub14r") = {
+const u8g_fntpgm_uint8_t u8g_font_fub14r[2680] U8G_FONT_SECTION("u8g_font_fub14r") = {
   0,31,26,254,251,14,3,116,7,95,32,127,252,16,251,14,
   252,0,0,0,6,0,0,3,14,14,8,3,0,224,224,224,
   224,224,224,224,224,224,224,0,0,224,224,8,6,6,10,1,
@@ -17140,7 +17147,7 @@ const u8g_fntpgm_uint8_t u8g_font_fub14r[2680] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =25 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub17[6938] U8G_SECTION(".progmem.u8g_font_fub17") = {
+const u8g_fntpgm_uint8_t u8g_font_fub17[6938] U8G_FONT_SECTION("u8g_font_fub17") = {
   0,34,31,254,250,17,4,8,8,209,32,255,251,25,250,17,
   251,0,0,0,7,0,0,3,17,17,9,3,0,224,224,224,
   224,224,224,224,224,224,224,224,224,0,0,224,224,224,8,7,
@@ -17587,8 +17594,8 @@ const u8g_fntpgm_uint8_t u8g_font_fub17[6938] U8G_SECTION(".progmem.u8g_font_fub
   Max Font    ascent =17 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub17n[512] U8G_SECTION(".progmem.u8g_font_fub17n") = {
-  0,34,31,254,250,17,0,0,0,0,42,57,0,17,253,17,
+const u8g_fntpgm_uint8_t u8g_font_fub17n[530] U8G_FONT_SECTION("u8g_font_fub17n") = {
+  0,34,31,254,250,17,0,0,0,0,42,58,0,17,253,17,
   0,9,9,18,15,3,8,54,0,54,0,54,0,156,128,255,
   128,156,128,54,0,54,0,54,0,14,14,28,24,5,0,2,
   0,2,0,2,0,2,0,2,0,2,0,255,252,255,252,2,
@@ -17619,8 +17626,9 @@ const u8g_fntpgm_uint8_t u8g_font_fub17n[512] U8G_SECTION(".progmem.u8g_font_fub
   224,224,113,192,63,128,63,128,113,192,224,224,224,224,224,224,
   224,224,241,224,127,192,31,0,11,17,34,13,1,0,31,0,
   63,128,113,192,224,192,224,224,224,224,224,224,241,224,127,224,
-  62,224,0,224,0,224,224,224,225,192,113,192,127,128,30,0
-  };
+  62,224,0,224,0,224,224,224,225,192,113,192,127,128,30,0,
+  3,12,12,7,3,0,224,224,224,0,0,0,0,0,0,224,
+  224,224};
 /*
   Fontname: -FreeType-FreeUniversal-Bold-R-Normal--23-230-72-72-P-115-ISO10646-1
   Copyright: FreeUniveral (c) Stephen Wilson 2009    Original Font Sil-Sophia  Copyright (c) SIL International, 1994-2008.
@@ -17633,7 +17641,7 @@ const u8g_fntpgm_uint8_t u8g_font_fub17n[512] U8G_SECTION(".progmem.u8g_font_fub
   Max Font    ascent =19 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub17r[3222] U8G_SECTION(".progmem.u8g_font_fub17r") = {
+const u8g_fntpgm_uint8_t u8g_font_fub17r[3222] U8G_FONT_SECTION("u8g_font_fub17r") = {
   0,34,31,254,250,17,4,8,8,209,32,127,251,19,250,17,
   251,0,0,0,7,0,0,3,17,17,9,3,0,224,224,224,
   224,224,224,224,224,224,224,224,224,0,0,224,224,224,8,7,
@@ -17848,7 +17856,7 @@ const u8g_fntpgm_uint8_t u8g_font_fub17r[3222] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =29 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub20[8916] U8G_SECTION(".progmem.u8g_font_fub20") = {
+const u8g_fntpgm_uint8_t u8g_font_fub20[8916] U8G_FONT_SECTION("u8g_font_fub20") = {
   0,40,36,254,249,20,4,242,11,37,32,255,251,29,249,20,
   251,0,0,0,8,0,0,4,20,20,11,4,0,240,240,240,
   240,240,240,240,240,240,240,240,240,240,240,0,0,0,240,240,
@@ -18419,8 +18427,8 @@ const u8g_fntpgm_uint8_t u8g_font_fub20[8916] U8G_SECTION(".progmem.u8g_font_fub
   Max Font    ascent =20 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub20n[583] U8G_SECTION(".progmem.u8g_font_fub20n") = {
-  0,40,36,254,249,20,0,0,0,0,42,57,0,20,252,20,
+const u8g_fntpgm_uint8_t u8g_font_fub20n[603] U8G_FONT_SECTION("u8g_font_fub20n") = {
+  0,40,36,254,249,20,0,0,0,0,42,58,0,20,252,20,
   0,11,11,22,17,3,9,17,0,59,128,59,128,27,0,238,
   224,255,224,206,96,27,0,59,128,59,128,17,0,16,16,32,
   26,5,0,1,128,1,128,1,128,1,128,1,128,1,128,1,
@@ -18456,7 +18464,8 @@ const u8g_fntpgm_uint8_t u8g_font_fub20n[583] U8G_SECTION(".progmem.u8g_font_fub
   60,248,120,127,248,63,240,31,192,13,20,40,15,1,0,15,
   128,63,192,127,224,120,240,240,112,240,120,240,120,240,120,240,
   120,120,248,127,184,63,56,0,120,0,120,0,112,240,240,120,
-  240,127,224,63,192,15,128};
+  240,127,224,63,192,15,128,4,14,14,9,4,0,240,240,240,
+  240,0,0,0,0,0,0,240,240,240,240};
 /*
   Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1
   Copyright: FreeUniveral (c) Stephen Wilson 2009    Original Font Sil-Sophia  Copyright (c) SIL International, 1994-2008.
@@ -18469,7 +18478,7 @@ const u8g_fntpgm_uint8_t u8g_font_fub20n[583] U8G_SECTION(".progmem.u8g_font_fub
   Max Font    ascent =22 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub20r[4022] U8G_SECTION(".progmem.u8g_font_fub20r") = {
+const u8g_fntpgm_uint8_t u8g_font_fub20r[4022] U8G_FONT_SECTION("u8g_font_fub20r") = {
   0,40,36,254,249,20,4,242,11,37,32,127,251,22,249,20,
   251,0,0,0,8,0,0,4,20,20,11,4,0,240,240,240,
   240,240,240,240,240,240,240,240,240,240,240,0,0,0,240,240,
@@ -18722,6 +18731,49 @@ const u8g_fntpgm_uint8_t u8g_font_fub20r[4022] U8G_SECTION(".progmem.u8g_font_fu
   192,15,0,30,0,30,0,30,0,30,0,30,0,30,0,30,
   0,30,0,124,0,252,0,240,0,14,3,6,14,0,5,63,
   156,127,248,225,240,255};
+/*
+  Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1
+  Copyright: FreeUniveral (c) Stephen Wilson 2009    Original Font Sil-Sophia  Copyright (c) SIL International, 1994-2008.
+  Capital A Height: 0, '1' Height: 20
+  Calculated Max Values w=14 h=20 x= 4 y= 0 dx=15 dy= 0 ascent=20 len=40
+  Font Bounding box     w=40 h=36 x=-2 y=-7
+  Calculated Min Values           x= 0 y= 0 dx= 0 dy= 0
+  Pure Font   ascent =20 descent= 0
+  X Font      ascent =20 descent= 0
+  Max Font    ascent =20 descent= 0
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_fub20t[477] U8G_SECTION(".progmem.u8g_font_fub20t") = {
+  0,40,36,254,249,20,0,0,0,0,48,58,0,20,0,20,
+  0,14,20,40,15,1,0,15,128,31,224,60,240,120,112,112,
+  56,240,56,240,56,240,60,240,60,240,60,240,60,240,60,240,
+  60,240,56,240,56,112,56,120,120,60,240,31,224,15,128,8,
+  20,20,15,3,0,15,63,127,255,239,207,15,15,15,15,15,
+  15,15,15,15,15,15,15,15,15,14,20,40,15,1,0,7,
+  192,31,240,63,248,124,120,120,60,120,60,0,60,0,120,0,
+  120,0,240,1,240,3,224,7,192,15,128,31,0,124,0,248,
+  0,255,252,255,252,255,252,13,20,40,15,1,0,15,128,63,
+  224,127,240,248,240,240,120,0,120,0,120,0,240,15,224,15,
+  128,15,224,0,240,0,120,0,120,240,120,240,120,248,240,127,
+  240,63,224,31,128,14,20,40,15,1,0,1,240,3,240,3,
+  240,7,240,7,240,14,240,30,240,28,240,60,240,56,240,120,
+  240,112,240,240,240,255,252,255,252,255,252,0,240,0,240,0,
+  240,0,240,13,20,40,15,1,0,255,240,255,240,255,240,240,
+  0,240,0,240,0,240,0,247,192,255,224,253,240,240,120,240,
+  120,0,120,0,120,0,120,240,120,240,240,127,240,63,224,31,
+  128,13,20,40,15,1,0,15,192,31,224,63,240,120,120,120,
+  120,112,0,240,0,247,192,239,224,253,240,248,120,240,120,240,
+  120,240,120,240,120,112,120,120,240,63,240,63,224,15,128,13,
+  20,40,15,1,0,255,248,255,248,255,248,0,120,0,120,0,
+  240,0,240,1,224,1,224,1,224,3,192,3,192,7,128,7,
+  128,15,128,15,0,31,0,30,0,30,0,62,0,14,20,40,
+  15,1,0,31,192,63,240,127,240,120,248,240,120,240,120,240,
+  120,120,240,63,224,31,192,63,240,120,120,240,56,240,60,240,
+  60,240,60,248,120,127,248,63,240,31,192,13,20,40,15,1,
+  0,15,128,63,192,127,224,120,240,240,112,240,120,240,120,240,
+  120,240,120,120,248,127,184,63,56,0,120,0,120,0,112,240,
+  240,120,240,127,224,63,192,15,128,4,14,14,9,4,0,240,
+  240,240,240,0,0,0,0,0,0,240,240,240,240};
 /*
   Fontname: -FreeType-FreeUniversal-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1
   Copyright: FreeUniveral (c) Stephen Wilson 2009    Original Font Sil-Sophia  Copyright (c) SIL International, 1994-2008.
@@ -18734,7 +18786,7 @@ const u8g_fntpgm_uint8_t u8g_font_fub20r[4022] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =37 descent=-9
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub25[12908] U8G_SECTION(".progmem.u8g_font_fub25") = {
+const u8g_fntpgm_uint8_t u8g_font_fub25[12908] U8G_FONT_SECTION("u8g_font_fub25") = {
   0,50,46,254,247,25,7,111,16,148,32,255,249,37,247,25,
   249,0,0,0,10,0,0,5,25,25,14,5,0,248,248,248,
   248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,
@@ -19554,8 +19606,8 @@ const u8g_fntpgm_uint8_t u8g_font_fub25[12908] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =26 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub25n[957] U8G_SECTION(".progmem.u8g_font_fub25n") = {
-  0,50,46,254,247,25,0,0,0,0,42,57,0,26,251,25,
+const u8g_fntpgm_uint8_t u8g_font_fub25n[981] U8G_FONT_SECTION("u8g_font_fub25n") = {
+  0,50,46,254,247,25,0,0,0,0,42,58,0,26,251,25,
   0,14,13,26,22,4,13,28,224,60,240,28,224,15,192,135,
   132,255,252,255,252,231,156,15,192,30,224,28,224,60,240,8,
   64,20,21,63,34,7,0,0,96,0,0,96,0,0,96,0,
@@ -19614,7 +19666,9 @@ const u8g_fntpgm_uint8_t u8g_font_fub25n[957] U8G_SECTION(".progmem.u8g_font_fub
   0,248,31,0,248,31,0,248,31,128,248,31,128,248,31,128,
   248,63,128,124,63,128,127,255,128,63,239,128,15,207,128,0,
   15,128,0,31,0,0,31,0,248,31,0,120,63,0,124,126,
-  0,63,254,0,63,252,0,31,248,0,7,224,0};
+  0,63,254,0,63,252,0,31,248,0,7,224,0,5,18,18,
+  11,5,0,248,248,248,248,248,0,0,0,0,0,0,0,0,
+  248,248,248,248,248};
 /*
   Fontname: -FreeType-FreeUniversal-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1
   Copyright: FreeUniveral (c) Stephen Wilson 2009    Original Font Sil-Sophia  Copyright (c) SIL International, 1994-2008.
@@ -19627,7 +19681,7 @@ const u8g_fntpgm_uint8_t u8g_font_fub25n[957] U8G_SECTION(".progmem.u8g_font_fub
   Max Font    ascent =28 descent=-9
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub25r[5936] U8G_SECTION(".progmem.u8g_font_fub25r") = {
+const u8g_fntpgm_uint8_t u8g_font_fub25r[5936] U8G_FONT_SECTION("u8g_font_fub25r") = {
   0,50,46,254,247,25,7,111,16,148,32,127,249,28,247,25,
   249,0,0,0,10,0,0,5,25,25,14,5,0,248,248,248,
   248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,
@@ -20012,7 +20066,7 @@ const u8g_fntpgm_uint8_t u8g_font_fub25r[5936] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =43 descent=-11
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub30[16953] U8G_SECTION(".progmem.u8g_font_fub30") = {
+const u8g_fntpgm_uint8_t u8g_font_fub30[16953] U8G_FONT_SECTION("u8g_font_fub30") = {
   0,59,54,253,245,30,9,163,21,182,32,255,249,43,245,31,
   248,0,0,0,12,0,0,5,30,30,16,5,0,248,248,248,
   248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,
@@ -21085,8 +21139,8 @@ const u8g_fntpgm_uint8_t u8g_font_fub30[16953] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =31 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub30n[1179] U8G_SECTION(".progmem.u8g_font_fub30n") = {
-  0,59,54,253,245,30,0,0,0,0,42,57,0,31,251,30,
+const u8g_fntpgm_uint8_t u8g_font_fub30n[1205] U8G_FONT_SECTION("u8g_font_fub30n") = {
+  0,59,54,253,245,30,0,0,0,0,42,58,0,31,251,30,
   0,16,16,32,26,5,14,4,32,28,56,30,120,30,120,15,
   240,7,224,227,199,255,255,255,255,243,207,7,224,15,240,30,
   120,30,120,28,56,4,32,24,25,75,40,8,0,0,56,0,
@@ -21159,7 +21213,9 @@ const u8g_fntpgm_uint8_t u8g_font_fub30n[1179] U8G_SECTION(".progmem.u8g_font_fu
   3,240,252,3,240,252,7,240,124,7,240,127,15,240,63,255,
   240,63,253,240,31,249,240,7,225,240,0,3,240,0,3,224,
   0,3,224,0,3,224,124,7,224,124,7,192,126,15,192,63,
-  255,128,31,255,0,15,254,0,7,252,0};
+  255,128,31,255,0,15,254,0,7,252,0,5,20,20,12,5,
+  0,248,248,248,248,248,0,0,0,0,0,0,0,0,0,0,
+  248,248,248,248,248};
 /*
   Fontname: -FreeType-FreeUniversal-Bold-R-Normal--40-400-72-72-P-198-ISO10646-1
   Copyright: FreeUniveral (c) Stephen Wilson 2009    Original Font Sil-Sophia  Copyright (c) SIL International, 1994-2008.
@@ -21172,7 +21228,7 @@ const u8g_fntpgm_uint8_t u8g_font_fub30n[1179] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =33 descent=-11
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub30r[7686] U8G_SECTION(".progmem.u8g_font_fub30r") = {
+const u8g_fntpgm_uint8_t u8g_font_fub30r[7686] U8G_FONT_SECTION("u8g_font_fub30r") = {
   0,59,54,253,245,30,9,163,21,182,32,127,249,33,245,31,
   248,0,0,0,12,0,0,5,30,30,16,5,0,248,248,248,
   248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,
@@ -21666,8 +21722,8 @@ const u8g_fntpgm_uint8_t u8g_font_fub30r[7686] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =36 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub35n[1667] U8G_SECTION(".progmem.u8g_font_fub35n") = {
-  0,72,65,252,243,35,0,0,0,0,42,57,0,36,250,35,
+const u8g_fntpgm_uint8_t u8g_font_fub35n[1697] U8G_FONT_SECTION("u8g_font_fub35n") = {
+  0,72,65,252,243,35,0,0,0,0,42,58,0,36,250,35,
   0,20,18,54,32,6,17,7,14,0,31,15,128,31,159,128,
   15,159,0,7,158,0,3,252,0,129,248,16,254,247,240,255,
   255,240,255,255,240,249,249,240,1,248,0,3,252,0,7,158,
@@ -21771,7 +21827,9 @@ const u8g_fntpgm_uint8_t u8g_font_fub35n[1667] U8G_SECTION(".progmem.u8g_font_fu
   0,63,0,0,0,127,0,0,0,127,0,0,0,127,0,127,
   0,254,0,127,0,254,0,127,1,254,0,63,131,252,0,31,
   255,252,0,31,255,248,0,15,255,240,0,7,255,224,0,1,
-  255,128,0};
+  255,128,0,7,24,24,16,7,0,254,254,254,254,254,254,0,
+  0,0,0,0,0,0,0,0,0,0,0,254,254,254,254,254,
+  254};
 /*
   Fontname: -FreeType-FreeUniversal-Bold-R-Normal--58-580-72-72-P-286-ISO10646-1
   Copyright: FreeUniveral (c) Stephen Wilson 2009    Original Font Sil-Sophia  Copyright (c) SIL International, 1994-2008.
@@ -21784,8 +21842,8 @@ const u8g_fntpgm_uint8_t u8g_font_fub35n[1667] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =43 descent=-8
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub42n[2235] U8G_SECTION(".progmem.u8g_font_fub42n") = {
-  0,87,77,251,241,42,0,0,0,0,42,57,0,43,248,42,
+const u8g_fntpgm_uint8_t u8g_font_fub42n[2270] U8G_FONT_SECTION("u8g_font_fub42n") = {
+  0,87,77,251,241,42,0,0,0,0,42,58,0,43,248,42,
   0,23,23,69,37,7,20,0,130,0,3,131,128,15,131,224,
   31,199,224,15,199,224,7,199,192,3,239,128,1,239,0,0,
   254,0,248,254,62,255,255,254,255,255,254,255,255,254,254,124,
@@ -21924,7 +21982,9 @@ const u8g_fntpgm_uint8_t u8g_font_fub42n[2235] U8G_SECTION(".progmem.u8g_font_fu
   0,15,240,0,0,15,240,0,0,15,240,0,0,15,224,127,
   128,31,224,127,128,31,224,63,128,63,192,63,192,127,192,63,
   224,255,128,31,255,255,128,15,255,255,0,7,255,254,0,3,
-  255,252,0,1,255,240,0,0,63,192,0};
+  255,252,0,1,255,240,0,0,63,192,0,8,29,29,19,8,
+  0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,255,255,255,255,255,255,255,255};
 /*
   Fontname: -FreeType-FreeUniversal-Bold-R-Normal--68-680-72-72-P-335-ISO10646-1
   Copyright: FreeUniveral (c) Stephen Wilson 2009    Original Font Sil-Sophia  Copyright (c) SIL International, 1994-2008.
@@ -21937,8 +21997,8 @@ const u8g_fntpgm_uint8_t u8g_font_fub42n[2235] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =50 descent=-9
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fub49n[3074] U8G_SECTION(".progmem.u8g_font_fub49n") = {
-  0,100,91,251,238,49,0,0,0,0,42,57,0,50,247,49,
+const u8g_fntpgm_uint8_t u8g_font_fub49n[3148] U8G_FONT_SECTION("u8g_font_fub49n") = {
+  0,100,91,251,238,49,0,0,0,0,42,58,0,50,247,49,
   0,27,27,108,43,8,23,0,64,64,0,1,192,112,0,7,
   224,252,0,15,224,254,0,7,241,252,0,7,241,252,0,3,
   241,248,0,1,251,240,0,0,251,224,0,0,127,192,0,224,
@@ -22130,7 +22190,11 @@ const u8g_fntpgm_uint8_t u8g_font_fub49n[3074] U8G_SECTION(".progmem.u8g_font_fu
   63,224,15,254,0,63,240,15,252,0,31,248,63,252,0,31,
   255,255,248,0,15,255,255,240,0,7,255,255,224,0,3,255,
   255,192,0,1,255,255,128,0,0,127,254,0,0,0,15,240,
-  0,0};
+  0,0,9,34,68,21,9,0,255,128,255,128,255,128,255,128,
+  255,128,255,128,255,128,255,128,255,128,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0,0,0,255,128,255,128,255,128,
+  255,128,255,128,255,128,255,128,255,128,255,128};
 /*
   Fontname: -FreeType-FreeUniversal-Medium-R-Normal--15-150-72-72-P-71-ISO10646-1
   Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009    a modification of:    Original Font (SIL Sophia)  Copyright (c) SIL International, 1994-2008.    
@@ -22143,7 +22207,7 @@ const u8g_fntpgm_uint8_t u8g_font_fub49n[3074] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =16 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur11[3712] U8G_SECTION(".progmem.u8g_font_fur11") = {
+const u8g_fntpgm_uint8_t u8g_font_fur11[3712] U8G_FONT_SECTION("u8g_font_fur11") = {
   0,20,20,255,252,11,2,81,4,211,32,255,253,16,252,11,
   253,0,0,0,5,0,0,1,11,11,5,2,0,128,128,128,
   128,128,128,128,128,128,0,128,5,5,5,7,1,6,216,216,
@@ -22389,8 +22453,8 @@ const u8g_fntpgm_uint8_t u8g_font_fur11[3712] U8G_SECTION(".progmem.u8g_font_fur
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur11n[265] U8G_SECTION(".progmem.u8g_font_fur11n") = {
-  0,20,20,255,252,11,0,0,0,0,42,57,0,11,254,11,
+const u8g_fntpgm_uint8_t u8g_font_fur11n[279] U8G_FONT_SECTION("u8g_font_fur11n") = {
+  0,20,20,255,252,11,0,0,0,0,42,58,0,11,254,11,
   0,6,5,5,10,2,5,72,48,252,48,120,9,9,18,15,
   3,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0,
   8,0,8,0,2,4,4,4,1,254,192,192,128,128,4,1,
@@ -22406,7 +22470,8 @@ const u8g_fntpgm_uint8_t u8g_font_fur11n[265] U8G_SECTION(".progmem.u8g_font_fur
   198,130,130,130,198,60,7,11,11,8,1,0,254,6,6,4,
   12,8,24,24,16,48,48,6,11,11,8,1,0,120,204,132,
   204,112,200,132,132,132,204,120,7,11,11,8,1,0,124,198,
-  130,130,198,122,2,6,134,204,120};
+  130,130,198,122,2,6,134,204,120,1,8,8,4,2,0,128,
+  128,0,0,0,0,128,128};
 /*
   Fontname: -FreeType-FreeUniversal-Medium-R-Normal--15-150-72-72-P-71-ISO10646-1
   Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009    a modification of:    Original Font (SIL Sophia)  Copyright (c) SIL International, 1994-2008.    
@@ -22419,7 +22484,7 @@ const u8g_fntpgm_uint8_t u8g_font_fur11n[265] U8G_SECTION(".progmem.u8g_font_fur
   Max Font    ascent =13 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur11r[1729] U8G_SECTION(".progmem.u8g_font_fur11r") = {
+const u8g_fntpgm_uint8_t u8g_font_fur11r[1729] U8G_FONT_SECTION("u8g_font_fur11r") = {
   0,20,20,255,252,11,2,81,4,211,32,127,253,13,252,11,
   253,0,0,0,5,0,0,1,11,11,5,2,0,128,128,128,
   128,128,128,128,128,128,0,128,5,5,5,7,1,6,216,216,
@@ -22541,7 +22606,7 @@ const u8g_fntpgm_uint8_t u8g_font_fur11r[1729] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =21 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur14[5349] U8G_SECTION(".progmem.u8g_font_fur14") = {
+const u8g_fntpgm_uint8_t u8g_font_fur14[5349] U8G_FONT_SECTION("u8g_font_fur14") = {
   0,26,26,255,251,14,3,59,6,250,32,255,252,21,251,14,
   252,0,0,0,6,0,0,2,14,14,8,3,0,192,192,192,
   192,192,192,192,192,192,192,192,0,0,192,6,6,6,9,1,
@@ -22889,8 +22954,8 @@ const u8g_fntpgm_uint8_t u8g_font_fur14[5349] U8G_SECTION(".progmem.u8g_font_fur
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur14n[405] U8G_SECTION(".progmem.u8g_font_fur14n") = {
-  0,26,26,255,251,14,0,0,0,0,42,57,0,14,254,14,
+const u8g_fntpgm_uint8_t u8g_font_fur14n[421] U8G_FONT_SECTION("u8g_font_fur14n") = {
+  0,26,26,255,251,14,0,0,0,0,42,58,0,14,254,14,
   0,8,7,7,12,2,7,36,36,24,255,24,60,102,11,12,
   24,19,4,0,6,0,6,0,6,0,6,0,6,0,6,0,
   255,224,6,0,6,0,6,0,6,0,6,0,3,5,5,5,
@@ -22915,7 +22980,8 @@ const u8g_fntpgm_uint8_t u8g_font_fur14n[405] U8G_SECTION(".progmem.u8g_font_fur
   128,99,0,62,0,99,0,193,128,193,128,193,128,193,128,99,
   0,62,0,9,14,28,11,1,0,62,0,99,0,193,0,193,
   128,193,128,193,128,99,128,125,128,1,128,1,128,193,0,67,
-  0,102,0,60,0};
+  0,102,0,60,0,2,10,10,5,2,0,192,192,0,0,0,
+  0,0,0,192,192};
 /*
   Fontname: -FreeType-FreeUniversal-Medium-R-Normal--19-190-72-72-P-92-ISO10646-1
   Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009    a modification of:    Original Font (SIL Sophia)  Copyright (c) SIL International, 1994-2008.    
@@ -22928,7 +22994,7 @@ const u8g_fntpgm_uint8_t u8g_font_fur14n[405] U8G_SECTION(".progmem.u8g_font_fur
   Max Font    ascent =16 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur14r[2489] U8G_SECTION(".progmem.u8g_font_fur14r") = {
+const u8g_fntpgm_uint8_t u8g_font_fur14r[2489] U8G_FONT_SECTION("u8g_font_fur14r") = {
   0,26,26,255,251,14,3,59,6,250,32,127,252,16,251,14,
   252,0,0,0,6,0,0,2,14,14,8,3,0,192,192,192,
   192,192,192,192,192,192,192,192,0,0,192,6,6,6,9,1,
@@ -23097,7 +23163,7 @@ const u8g_fntpgm_uint8_t u8g_font_fur14r[2489] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =24 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur17[6799] U8G_SECTION(".progmem.u8g_font_fur17") = {
+const u8g_fntpgm_uint8_t u8g_font_fur17[6799] U8G_FONT_SECTION("u8g_font_fur17") = {
   0,31,30,254,250,17,4,5,8,170,32,255,251,24,250,17,
   251,0,0,0,7,0,0,2,17,17,8,3,0,192,192,192,
   192,192,192,192,192,192,192,192,192,192,0,0,192,192,7,7,
@@ -23535,8 +23601,8 @@ const u8g_fntpgm_uint8_t u8g_font_fur17[6799] U8G_SECTION(".progmem.u8g_font_fur
   Max Font    ascent =17 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur17n[510] U8G_SECTION(".progmem.u8g_font_fur17n") = {
-  0,31,30,254,250,17,0,0,0,0,42,57,0,17,253,17,
+const u8g_fntpgm_uint8_t u8g_font_fur17n[528] U8G_FONT_SECTION("u8g_font_fur17n") = {
+  0,31,30,254,250,17,0,0,0,0,42,58,0,17,253,17,
   0,9,9,18,15,3,8,34,0,54,0,22,0,28,0,255,
   128,156,128,20,0,54,0,34,0,14,14,28,24,5,0,2,
   0,2,0,2,0,2,0,2,0,2,0,255,252,2,0,2,
@@ -23567,7 +23633,9 @@ const u8g_fntpgm_uint8_t u8g_font_fur17n[510] U8G_SECTION(".progmem.u8g_font_fur
   49,128,31,0,59,128,96,192,192,96,192,96,192,96,192,96,
   96,224,123,192,31,0,11,17,34,13,1,0,31,0,127,192,
   96,192,192,224,192,96,192,96,192,224,224,224,113,224,63,96,
-  0,96,0,96,0,224,96,192,97,192,127,128,31,0};
+  0,96,0,96,0,224,96,192,97,192,127,128,31,0,2,12,
+  12,6,2,0,192,192,192,0,0,0,0,0,0,192,192,192
+  };
 /*
   Fontname: -FreeType-FreeUniversal-Medium-R-Normal--23-230-72-72-P-109-ISO10646-1
   Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009    a modification of:    Original Font (SIL Sophia)  Copyright (c) SIL International, 1994-2008.    
@@ -23580,7 +23648,7 @@ const u8g_fntpgm_uint8_t u8g_font_fur17n[510] U8G_SECTION(".progmem.u8g_font_fur
   Max Font    ascent =19 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur17r[3146] U8G_SECTION(".progmem.u8g_font_fur17r") = {
+const u8g_fntpgm_uint8_t u8g_font_fur17r[3146] U8G_FONT_SECTION("u8g_font_fur17r") = {
   0,31,30,254,250,17,4,5,8,170,32,127,251,19,250,17,
   251,0,0,0,7,0,0,2,17,17,8,3,0,192,192,192,
   192,192,192,192,192,192,192,192,192,192,0,0,192,192,7,7,
@@ -23790,7 +23858,7 @@ const u8g_fntpgm_uint8_t u8g_font_fur17r[3146] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =28 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur20[8654] U8G_SECTION(".progmem.u8g_font_fur20") = {
+const u8g_fntpgm_uint8_t u8g_font_fur20[8654] U8G_FONT_SECTION("u8g_font_fur20") = {
   0,38,35,254,249,20,5,12,11,23,32,255,251,28,249,20,
   251,0,0,0,8,0,0,3,20,20,11,4,0,224,224,224,
   224,224,224,224,224,224,224,224,224,224,224,224,0,0,224,224,
@@ -24344,8 +24412,8 @@ const u8g_fntpgm_uint8_t u8g_font_fur20[8654] U8G_SECTION(".progmem.u8g_font_fur
   Max Font    ascent =20 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur20n[596] U8G_SECTION(".progmem.u8g_font_fur20n") = {
-  0,38,35,254,249,20,0,0,0,0,42,57,0,20,253,20,
+const u8g_fntpgm_uint8_t u8g_font_fur20n[616] U8G_FONT_SECTION("u8g_font_fur20n") = {
+  0,38,35,254,249,20,0,0,0,0,42,58,0,20,253,20,
   0,11,11,22,19,4,9,17,0,49,128,27,0,27,0,14,
   0,255,224,142,32,27,0,27,0,49,128,17,0,17,16,48,
   29,6,0,1,128,0,1,128,0,1,128,0,1,128,0,1,
@@ -24382,7 +24450,8 @@ const u8g_fntpgm_uint8_t u8g_font_fur20n[596] U8G_SECTION(".progmem.u8g_font_fur
   112,112,63,224,15,128,13,20,40,16,1,0,31,192,63,224,
   112,112,224,56,224,56,224,56,224,56,224,56,224,56,112,120,
   63,248,31,56,0,56,0,56,0,56,96,48,96,112,112,224,
-  63,192,31,128};
+  63,192,31,128,3,14,14,8,3,0,224,224,224,0,0,0,
+  0,0,0,0,0,224,224,224};
 /*
   Fontname: -FreeType-FreeUniversal-Medium-R-Normal--28-280-72-72-P-133-ISO10646-1
   Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009    a modification of:    Original Font (SIL Sophia)  Copyright (c) SIL International, 1994-2008.    
@@ -24395,7 +24464,7 @@ const u8g_fntpgm_uint8_t u8g_font_fur20n[596] U8G_SECTION(".progmem.u8g_font_fur
   Max Font    ascent =22 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur20r[3976] U8G_SECTION(".progmem.u8g_font_fur20r") = {
+const u8g_fntpgm_uint8_t u8g_font_fur20r[3976] U8G_FONT_SECTION("u8g_font_fur20r") = {
   0,38,35,254,249,20,5,12,11,23,32,127,251,22,249,20,
   251,0,0,0,8,0,0,3,20,20,11,4,0,224,224,224,
   224,224,224,224,224,224,224,224,224,224,224,224,0,0,224,224,
@@ -24657,7 +24726,7 @@ const u8g_fntpgm_uint8_t u8g_font_fur20r[3976] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =36 descent=-9
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur25[11949] U8G_SECTION(".progmem.u8g_font_fur25") = {
+const u8g_fntpgm_uint8_t u8g_font_fur25[11949] U8G_FONT_SECTION("u8g_font_fur25") = {
   0,46,45,254,247,25,6,119,15,27,32,255,249,36,247,25,
   249,0,0,0,10,0,0,3,25,25,12,4,0,224,224,224,
   224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,
@@ -25417,8 +25486,8 @@ const u8g_fntpgm_uint8_t u8g_font_fur25[11949] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =26 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur25n[774] U8G_SECTION(".progmem.u8g_font_fur25n") = {
-  0,46,45,254,247,25,0,0,0,0,42,57,0,26,252,25,
+const u8g_fntpgm_uint8_t u8g_font_fur25n[798] U8G_FONT_SECTION("u8g_font_fur25n") = {
+  0,46,45,254,247,25,0,0,0,0,42,58,0,26,252,25,
   0,14,13,26,22,4,12,24,96,28,224,28,224,12,192,7,
   128,243,60,255,252,231,156,7,128,12,192,28,224,60,224,24,
   96,20,21,63,34,7,0,0,96,0,0,96,0,0,96,0,
@@ -25466,7 +25535,8 @@ const u8g_fntpgm_uint8_t u8g_font_fur25n[774] U8G_SECTION(".progmem.u8g_font_fur
   50,19,2,1,31,248,63,252,120,30,112,14,240,15,224,15,
   224,15,224,15,224,15,240,15,112,31,120,63,63,247,15,231,
   0,7,0,7,0,7,0,14,112,14,112,14,112,30,112,60,
-  60,120,31,240,15,224};
+  60,120,31,240,15,224,3,18,18,9,3,0,224,224,224,224,
+  0,0,0,0,0,0,0,0,0,0,224,224,224,224};
 /*
   Fontname: -FreeType-FreeUniversal-Medium-R-Normal--34-340-72-72-P-161-ISO10646-1
   Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009    a modification of:    Original Font (SIL Sophia)  Copyright (c) SIL International, 1994-2008.    
@@ -25479,7 +25549,7 @@ const u8g_fntpgm_uint8_t u8g_font_fur25n[774] U8G_SECTION(".progmem.u8g_font_fur
   Max Font    ascent =28 descent=-9
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur25r[5389] U8G_SECTION(".progmem.u8g_font_fur25r") = {
+const u8g_fntpgm_uint8_t u8g_font_fur25r[5389] U8G_FONT_SECTION("u8g_font_fur25r") = {
   0,46,45,254,247,25,6,119,15,27,32,127,249,28,247,25,
   249,0,0,0,10,0,0,3,25,25,12,4,0,224,224,224,
   224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,
@@ -25829,7 +25899,7 @@ const u8g_fntpgm_uint8_t u8g_font_fur25r[5389] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =43 descent=-11
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur30[16505] U8G_SECTION(".progmem.u8g_font_fur30") = {
+const u8g_fntpgm_uint8_t u8g_font_fur30[16505] U8G_FONT_SECTION("u8g_font_fur30") = {
   0,54,54,253,245,30,9,94,20,223,32,255,249,43,245,31,
   248,0,0,0,12,0,0,4,30,30,14,5,0,240,240,240,
   240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,
@@ -26874,8 +26944,8 @@ const u8g_fntpgm_uint8_t u8g_font_fur30[16505] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =31 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur30n[1175] U8G_SECTION(".progmem.u8g_font_fur30n") = {
-  0,54,54,253,245,30,0,0,0,0,42,57,0,31,251,30,
+const u8g_fntpgm_uint8_t u8g_font_fur30n[1201] U8G_FONT_SECTION("u8g_font_fur30n") = {
+  0,54,54,253,245,30,0,0,0,0,42,58,0,31,251,30,
   0,16,15,30,26,5,15,12,48,28,56,14,112,14,112,7,
   224,3,192,253,191,255,255,243,207,3,192,6,96,14,112,30,
   120,28,56,12,48,24,25,75,40,8,0,0,56,0,0,56,
@@ -26948,7 +27018,9 @@ const u8g_fntpgm_uint8_t u8g_font_fur30n[1175] U8G_SECTION(".progmem.u8g_font_fu
   224,240,3,224,112,3,224,120,7,224,60,15,224,63,253,224,
   31,249,224,7,241,224,0,1,192,0,1,192,0,1,192,0,
   3,192,112,3,192,112,3,128,120,7,128,56,15,0,62,31,
-  0,31,254,0,15,248,0};
+  0,31,254,0,15,248,0,4,20,20,11,4,0,240,240,240,
+  240,240,0,0,0,0,0,0,0,0,0,0,240,240,240,240,
+  240};
 /*
   Fontname: -FreeType-FreeUniversal-Medium-R-Normal--40-400-72-72-P-189-ISO10646-1
   Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009    a modification of:    Original Font (SIL Sophia)  Copyright (c) SIL International, 1994-2008.    
@@ -26961,7 +27033,7 @@ const u8g_fntpgm_uint8_t u8g_font_fur30n[1175] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =33 descent=-11
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur30r[7380] U8G_SECTION(".progmem.u8g_font_fur30r") = {
+const u8g_fntpgm_uint8_t u8g_font_fur30r[7380] U8G_FONT_SECTION("u8g_font_fur30r") = {
   0,54,54,253,245,30,9,94,20,223,32,127,249,33,245,31,
   248,0,0,0,12,0,0,4,30,30,14,5,0,240,240,240,
   240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,
@@ -27436,8 +27508,8 @@ const u8g_fntpgm_uint8_t u8g_font_fur30r[7380] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =36 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur35n[1417] U8G_SECTION(".progmem.u8g_font_fur35n") = {
-  0,65,64,252,243,35,0,0,0,0,42,57,0,36,250,35,
+const u8g_fntpgm_uint8_t u8g_font_fur35n[1447] U8G_FONT_SECTION("u8g_font_fur35n") = {
+  0,65,64,252,243,35,0,0,0,0,42,58,0,36,250,35,
   0,19,19,57,31,6,16,6,12,0,30,15,0,15,30,0,
   15,30,0,7,28,0,3,184,0,1,176,0,193,240,96,255,
   255,224,255,255,224,248,227,224,1,240,0,3,184,0,7,188,
@@ -27525,7 +27597,9 @@ const u8g_fntpgm_uint8_t u8g_font_fur35n[1417] U8G_SECTION(".progmem.u8g_font_fu
   124,1,252,127,3,252,63,255,252,31,255,124,15,254,124,3,
   248,124,0,0,124,0,0,124,0,0,120,0,0,120,0,0,
   248,120,0,248,120,1,240,124,1,240,62,3,224,63,255,224,
-  31,255,192,15,255,128,7,254,0};
+  31,255,192,15,255,128,7,254,0,5,24,24,13,5,0,248,
+  248,248,248,248,248,0,0,0,0,0,0,0,0,0,0,0,
+  0,248,248,248,248,248,248};
 /*
   Fontname: -FreeType-FreeUniversal-Medium-R-Normal--58-580-72-72-P-271-ISO10646-1
   Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009    a modification of:    Original Font (SIL Sophia)  Copyright (c) SIL International, 1994-2008.    
@@ -27538,8 +27612,8 @@ const u8g_fntpgm_uint8_t u8g_font_fur35n[1417] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =43 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur42n[2135] U8G_SECTION(".progmem.u8g_font_fur42n") = {
-  0,78,76,252,241,42,0,0,0,0,42,57,0,43,249,42,
+const u8g_fntpgm_uint8_t u8g_font_fur42n[2194] U8G_FONT_SECTION("u8g_font_fur42n") = {
+  0,78,76,252,241,42,0,0,0,0,42,58,0,43,249,42,
   0,23,22,66,37,7,20,3,1,128,7,131,192,15,131,224,
   7,131,192,7,199,192,3,199,128,1,239,0,0,238,0,0,
   254,0,254,124,254,255,255,254,255,255,254,254,124,254,0,124,
@@ -27569,77 +27643,78 @@ const u8g_fntpgm_uint8_t u8g_font_fur42n[2135] U8G_SECTION(".progmem.u8g_font_fu
   0,0,15,0,0,15,0,0,30,0,0,30,0,0,30,0,
   0,62,0,0,60,0,0,60,0,0,60,0,0,120,0,0,
   120,0,0,120,0,0,240,0,0,240,0,0,240,0,0,26,
-  42,168,32,3,1,0,255,224,0,3,255,240,0,7,255,252,
-  0,15,255,254,0,31,255,254,0,63,128,127,0,63,0,63,
+  43,172,32,3,0,0,255,224,0,3,255,240,0,7,255,252,
+  0,15,255,254,0,31,255,254,0,31,128,127,0,63,0,63,
   0,62,0,31,128,126,0,31,128,124,0,15,128,124,0,15,
   192,124,0,15,192,252,0,15,192,252,0,7,192,248,0,7,
   192,248,0,7,192,248,0,7,192,248,0,7,192,248,0,7,
   192,248,0,7,192,248,0,7,192,248,0,7,192,248,0,7,
   192,248,0,7,192,252,0,7,192,252,0,7,192,252,0,7,
-  192,252,0,7,192,252,0,15,192,124,0,15,192,124,0,15,
-  192,126,0,15,192,126,0,15,128,62,0,31,128,63,0,31,
-  128,63,0,63,0,31,192,127,0,31,255,254,0,15,255,252,
-  0,7,255,252,0,3,255,240,0,0,255,192,0,14,42,84,
-  32,8,0,0,252,1,252,3,252,7,252,15,252,63,252,127,
-  252,255,124,254,124,248,124,224,124,128,124,0,124,0,124,0,
+  192,252,0,7,192,252,0,7,192,124,0,15,192,124,0,15,
+  192,124,0,15,192,126,0,15,128,126,0,31,128,62,0,31,
+  128,63,0,63,0,31,128,127,0,31,224,254,0,15,255,254,
+  0,7,255,252,0,3,255,248,0,1,255,224,0,0,63,128,
+  0,14,42,84,32,8,0,0,252,1,252,3,252,7,252,15,
+  252,63,252,127,252,255,124,254,124,248,124,224,124,128,124,0,
   124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,
   124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,
   124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,
-  124,0,124,0,124,0,124,25,42,168,32,4,1,1,255,192,
-  0,7,255,240,0,15,255,248,0,31,255,252,0,31,255,254,
-  0,63,128,127,0,63,0,63,0,127,0,31,128,126,0,31,
-  128,126,0,31,128,126,0,15,128,126,0,15,128,0,0,31,
-  128,0,0,31,128,0,0,31,0,0,0,63,0,0,0,63,
-  0,0,0,126,0,0,0,252,0,0,1,252,0,0,3,248,
-  0,0,7,240,0,0,7,224,0,0,15,224,0,0,31,192,
-  0,0,63,128,0,0,127,0,0,0,254,0,0,1,252,0,
-  0,3,248,0,0,7,240,0,0,15,224,0,0,31,224,0,
-  0,63,192,0,0,63,128,0,0,127,0,0,0,254,0,0,
-  0,255,255,255,128,255,255,255,128,255,255,255,128,255,255,255,
-  128,255,255,255,128,26,42,168,32,3,1,1,255,192,0,7,
-  255,240,0,15,255,252,0,31,255,254,0,63,255,255,0,63,
-  128,127,0,127,0,31,128,126,0,31,128,126,0,15,128,126,
-  0,15,128,252,0,15,128,0,0,15,128,0,0,15,128,0,
-  0,31,128,0,0,63,0,0,0,126,0,0,3,252,0,0,
-  127,248,0,0,127,240,0,0,127,224,0,0,127,240,0,0,
-  127,252,0,0,3,254,0,0,0,127,0,0,0,63,128,0,
-  0,31,128,0,0,15,192,0,0,15,192,0,0,7,192,0,
-  0,7,192,252,0,7,192,252,0,7,192,252,0,7,192,252,
-  0,15,192,254,0,31,192,127,0,63,128,127,128,127,128,63,
-  255,255,0,63,255,254,0,31,255,252,0,7,255,248,0,1,
-  255,224,0,29,42,168,32,2,0,0,0,127,0,0,0,127,
-  0,0,0,255,0,0,1,255,0,0,3,255,0,0,3,255,
-  0,0,7,223,0,0,15,223,0,0,15,159,0,0,31,31,
-  0,0,63,31,0,0,62,31,0,0,124,31,0,0,252,31,
-  0,0,248,31,0,1,240,31,0,3,240,31,0,3,224,31,
-  0,7,192,31,0,15,192,31,0,15,128,31,0,31,0,31,
-  0,63,0,31,0,126,0,31,0,124,0,31,0,252,0,31,
-  0,248,0,31,0,255,255,255,248,255,255,255,248,255,255,255,
-  248,255,255,255,248,255,255,255,248,0,0,31,0,0,0,31,
-  0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,
+  124,0,124,0,124,0,124,0,124,0,124,25,42,168,32,4,
+  1,1,255,192,0,7,255,240,0,15,255,248,0,31,255,252,
+  0,31,255,254,0,63,128,127,0,63,0,63,0,127,0,31,
+  128,126,0,31,128,126,0,31,128,126,0,15,128,126,0,15,
+  128,0,0,31,128,0,0,31,128,0,0,31,0,0,0,63,
+  0,0,0,63,0,0,0,126,0,0,0,252,0,0,1,252,
+  0,0,3,248,0,0,7,240,0,0,7,224,0,0,15,224,
+  0,0,31,192,0,0,63,128,0,0,127,0,0,0,254,0,
+  0,1,252,0,0,3,248,0,0,7,240,0,0,15,224,0,
+  0,31,224,0,0,63,192,0,0,63,128,0,0,127,0,0,
+  0,254,0,0,0,255,255,255,128,255,255,255,128,255,255,255,
+  128,255,255,255,128,255,255,255,128,26,43,172,32,3,0,1,
+  255,192,0,7,255,240,0,15,255,252,0,31,255,254,0,31,
+  255,255,0,63,128,127,0,63,0,63,128,127,0,31,128,126,
+  0,15,128,126,0,15,128,252,0,15,128,0,0,15,128,0,
+  0,15,128,0,0,31,128,0,0,31,128,0,0,63,0,0,
+  0,126,0,0,3,252,0,0,127,248,0,0,127,240,0,0,
+  127,224,0,0,127,240,0,0,127,252,0,0,3,254,0,0,
+  0,127,0,0,0,63,128,0,0,31,192,0,0,15,192,0,
+  0,7,192,0,0,7,192,0,0,7,192,252,0,7,192,252,
+  0,7,192,252,0,7,192,254,0,15,192,254,0,31,192,127,
+  0,63,128,127,192,255,0,63,255,255,0,31,255,254,0,15,
+  255,248,0,3,255,240,0,0,255,128,0,29,42,168,32,2,
+  0,0,0,127,0,0,0,127,0,0,0,255,0,0,1,255,
+  0,0,3,255,0,0,3,255,0,0,7,223,0,0,15,223,
+  0,0,15,159,0,0,31,31,0,0,63,31,0,0,62,31,
+  0,0,124,31,0,0,252,31,0,0,248,31,0,1,240,31,
+  0,3,240,31,0,3,224,31,0,7,192,31,0,15,192,31,
+  0,15,128,31,0,31,0,31,0,63,0,31,0,126,0,31,
+  0,124,0,31,0,252,0,31,0,248,0,31,0,255,255,255,
+  248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,
+  248,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,
   0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,
-  0,26,42,168,32,3,0,127,255,255,0,127,255,255,0,127,
-  255,255,0,127,255,255,0,127,255,255,0,124,0,0,0,124,
-  0,0,0,124,0,0,0,124,0,0,0,124,0,0,0,124,
+  0,0,0,31,0,0,0,31,0,26,43,172,32,3,255,127,
+  255,255,0,127,255,255,0,127,255,255,0,127,255,255,0,127,
+  255,255,0,124,0,0,0,124,0,0,0,124,0,0,0,124,
   0,0,0,124,0,0,0,124,0,0,0,124,0,0,0,124,
-  31,192,0,124,127,240,0,124,255,252,0,125,255,254,0,127,
-  224,254,0,127,128,63,0,127,0,31,0,126,0,31,128,126,
-  0,15,128,124,0,15,128,0,0,15,192,0,0,15,192,0,
-  0,7,192,0,0,7,192,0,0,7,192,0,0,15,192,0,
-  0,15,192,252,0,15,192,252,0,15,128,252,0,31,128,254,
-  0,31,128,126,0,63,0,127,128,126,0,63,255,254,0,63,
-  255,252,0,15,255,248,0,7,255,224,0,1,255,192,0,27,
-  42,168,32,3,1,0,127,240,0,1,255,252,0,3,255,254,
-  0,15,240,127,0,15,192,63,128,31,128,31,128,63,0,15,
-  192,63,0,15,192,62,0,15,192,126,0,0,0,126,0,0,
+  0,0,0,124,0,0,0,124,31,192,0,124,127,240,0,124,
+  255,252,0,125,255,252,0,127,224,254,0,127,128,63,0,127,
+  0,31,0,126,0,31,128,126,0,15,128,124,0,15,128,0,
+  0,15,192,0,0,15,192,0,0,15,192,0,0,7,192,0,
+  0,7,192,0,0,15,192,0,0,15,192,0,0,15,192,252,
+  0,15,128,252,0,31,128,254,0,31,128,126,0,63,0,127,
+  0,127,0,127,192,254,0,63,255,252,0,31,255,248,0,15,
+  255,240,0,3,255,224,0,0,127,0,0,27,43,172,32,3,
+  0,0,127,240,0,1,255,252,0,3,255,254,0,7,255,255,
+  0,15,240,63,0,31,192,31,128,31,128,15,128,63,0,15,
+  192,63,0,15,192,126,0,7,192,126,0,0,0,126,0,0,
   0,124,0,0,0,124,0,0,0,124,0,0,0,124,0,0,
   0,124,15,224,0,124,63,248,0,124,255,254,0,124,255,255,
   0,125,255,255,128,127,224,127,128,127,192,31,192,255,128,15,
   192,255,0,7,192,255,0,7,224,254,0,7,224,254,0,7,
   224,254,0,3,224,254,0,3,224,254,0,3,224,254,0,7,
-  224,254,0,7,224,126,0,7,224,127,0,7,192,127,0,15,
-  192,63,128,15,192,31,192,63,128,31,255,255,0,15,255,255,
-  0,7,255,254,0,1,255,248,0,0,127,224,0,26,42,168,
+  224,254,0,7,224,126,0,7,224,127,0,7,192,63,0,15,
+  192,63,192,31,128,31,224,127,128,15,255,255,0,7,255,254,
+  0,3,255,252,0,0,255,240,0,0,63,192,0,26,42,168,
   32,3,0,255,255,255,192,255,255,255,192,255,255,255,192,255,
   255,255,192,255,255,255,192,0,0,7,192,0,0,15,192,0,
   0,15,128,0,0,31,128,0,0,31,128,0,0,31,0,0,
@@ -27650,29 +27725,32 @@ const u8g_fntpgm_uint8_t u8g_font_fur42n[2135] U8G_SECTION(".progmem.u8g_font_fu
   15,192,0,0,31,128,0,0,31,128,0,0,63,128,0,0,
   63,0,0,0,63,0,0,0,127,0,0,0,126,0,0,0,
   254,0,0,0,252,0,0,0,252,0,0,1,252,0,0,1,
-  248,0,0,3,248,0,0,3,240,0,0,27,42,168,32,2,
-  1,0,255,224,0,3,255,252,0,15,255,254,0,31,255,255,
+  248,0,0,3,248,0,0,3,240,0,0,27,43,172,32,2,
+  0,0,255,224,0,3,255,252,0,15,255,254,0,31,255,255,
   0,63,255,255,128,63,128,63,192,127,0,31,192,126,0,15,
   192,126,0,7,192,126,0,7,192,124,0,7,192,124,0,7,
   192,126,0,7,192,62,0,15,192,63,0,15,128,31,128,31,
   0,15,224,127,0,7,255,254,0,3,255,248,0,0,255,240,
   0,3,255,248,0,15,255,254,0,31,224,127,0,63,128,31,
-  128,62,0,15,192,126,0,7,192,124,0,7,224,252,0,3,
+  128,62,0,15,128,126,0,7,192,124,0,7,224,124,0,3,
   224,252,0,3,224,248,0,3,224,248,0,3,224,252,0,3,
-  224,252,0,3,224,252,0,7,224,254,0,7,224,127,0,15,
-  224,127,128,31,192,63,255,255,128,31,255,255,128,15,255,255,
-  0,3,255,252,0,0,255,240,0,27,42,168,32,3,1,1,
-  255,240,0,7,255,252,0,15,255,254,0,31,255,255,0,63,
-  255,255,128,63,128,63,128,126,0,31,192,126,0,15,192,252,
-  0,15,192,252,0,7,224,252,0,7,224,248,0,7,224,248,
-  0,7,224,248,0,7,224,252,0,7,224,252,0,7,224,252,
-  0,15,224,124,0,15,224,126,0,31,224,63,0,63,224,63,
-  192,123,224,31,255,243,224,15,255,243,224,3,255,195,224,0,
-  255,7,224,0,0,7,224,0,0,7,224,0,0,7,224,0,
-  0,7,192,0,0,7,192,0,0,7,192,124,0,15,192,124,
-  0,15,128,126,0,31,128,62,0,31,128,63,0,63,0,63,
-  128,255,0,31,255,254,0,31,255,252,0,15,255,248,0,7,
-  255,240,0,1,255,192,0};
+  224,252,0,3,224,252,0,7,224,254,0,7,224,126,0,15,
+  224,127,0,31,192,63,192,127,192,63,255,255,128,31,255,255,
+  0,7,255,254,0,1,255,248,0,0,63,192,0,27,43,172,
+  32,3,0,1,255,240,0,7,255,252,0,15,255,254,0,31,
+  255,255,0,63,255,255,128,63,128,63,128,126,0,31,192,126,
+  0,15,192,124,0,15,192,252,0,15,224,252,0,7,224,252,
+  0,7,224,248,0,7,224,248,0,7,224,248,0,7,224,252,
+  0,7,224,252,0,7,224,124,0,15,224,124,0,15,224,126,
+  0,31,224,63,0,63,224,63,192,251,224,31,255,243,224,15,
+  255,243,224,3,255,195,224,0,255,7,224,0,0,7,224,0,
+  0,7,224,0,0,7,192,0,0,7,192,0,0,7,192,0,
+  0,15,192,124,0,15,192,124,0,15,128,62,0,31,128,62,
+  0,63,128,63,0,127,0,31,193,254,0,31,255,254,0,15,
+  255,252,0,7,255,248,0,3,255,224,0,0,127,128,0,6,
+  29,29,16,6,0,252,252,252,252,252,252,252,0,0,0,0,
+  0,0,0,0,0,0,0,0,0,0,0,252,252,252,252,252,
+  252,252};
 /*
   Fontname: -FreeType-FreeUniversal-Medium-R-Normal--68-680-72-72-P-317-ISO10646-1
   Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009    a modification of:    Original Font (SIL Sophia)  Copyright (c) SIL International, 1994-2008.    
@@ -27685,8 +27763,8 @@ const u8g_fntpgm_uint8_t u8g_font_fur42n[2135] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =50 descent=-9
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_fur49n[2643] U8G_SECTION(".progmem.u8g_font_fur49n") = {
-  0,92,89,251,238,49,0,0,0,0,42,57,0,50,247,49,
+const u8g_fntpgm_uint8_t u8g_font_fur49n[2683] U8G_FONT_SECTION("u8g_font_fur49n") = {
+  0,92,89,251,238,49,0,0,0,0,42,58,0,50,247,49,
   0,27,26,104,45,9,23,0,192,96,0,3,192,120,0,15,
   192,126,0,7,224,252,0,3,224,248,0,1,241,240,0,1,
   241,240,0,0,251,224,0,0,123,192,0,0,59,128,0,224,
@@ -27851,7 +27929,9 @@ const u8g_fntpgm_uint8_t u8g_font_fur49n[2643] U8G_SECTION(".progmem.u8g_font_fu
   0,0,252,127,0,1,248,63,0,1,248,63,0,3,248,63,
   0,7,240,63,128,7,240,31,192,31,224,31,224,63,224,15,
   255,255,192,7,255,255,128,3,255,255,0,1,255,252,0,0,
-  63,224,0};
+  63,224,0,7,34,34,19,7,0,254,254,254,254,254,254,254,
+  254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  0,0,0,254,254,254,254,254,254,254,254};
 /*
   Fontname: -FreeType-Gentium Basic-Bold-R-Normal--18-180-72-72-P-89-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -27864,7 +27944,7 @@ const u8g_fntpgm_uint8_t u8g_font_fur49n[2643] U8G_SECTION(".progmem.u8g_font_fu
   Max Font    ascent =16 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb11[4313] U8G_SECTION(".progmem.u8g_font_gdb11") = {
+const u8g_fntpgm_uint8_t u8g_font_gdb11[4313] U8G_FONT_SECTION("u8g_font_gdb11") = {
   0,27,26,247,250,11,2,67,5,71,32,255,252,16,251,14,
   252,0,0,0,4,0,0,3,14,14,6,1,255,96,224,96,
   96,96,96,96,64,64,64,0,224,224,192,6,6,6,8,1,
@@ -28147,8 +28227,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdb11[4313] U8G_SECTION(".progmem.u8g_font_gdb
   Max Font    ascent =14 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb11n[263] U8G_SECTION(".progmem.u8g_font_gdb11n") = {
-  0,27,26,247,250,11,0,0,0,0,42,57,0,14,253,11,
+const u8g_fntpgm_uint8_t u8g_font_gdb11n[278] U8G_FONT_SECTION("u8g_font_gdb11n") = {
+  0,27,26,247,250,11,0,0,0,0,42,58,0,14,253,11,
   0,6,8,8,8,1,6,48,176,252,120,120,252,52,48,7,
   6,6,8,0,2,16,16,16,254,16,16,3,5,5,5,1,
   253,96,224,96,64,192,6,1,1,6,0,4,252,3,3,3,
@@ -28164,7 +28244,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdb11n[263] U8G_SECTION(".progmem.u8g_font_gdb
   198,198,100,56,7,11,11,9,1,0,254,254,134,4,4,8,
   8,24,48,48,96,8,11,11,10,1,0,60,102,102,102,124,
   62,71,195,195,195,60,7,11,11,9,1,0,56,68,198,198,
-  198,198,126,4,12,24,224};
+  198,198,126,4,12,24,224,3,9,9,5,1,255,224,224,192,
+  0,0,0,224,224,192};
 /*
   Fontname: -FreeType-Gentium Basic-Bold-R-Normal--18-180-72-72-P-89-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -28177,7 +28258,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdb11n[263] U8G_SECTION(".progmem.u8g_font_gdb
   Max Font    ascent =15 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb11r[2001] U8G_SECTION(".progmem.u8g_font_gdb11r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdb11r[2001] U8G_FONT_SECTION("u8g_font_gdb11r") = {
   0,27,26,247,250,11,2,67,5,71,32,127,252,15,252,14,
   252,0,0,0,4,0,0,3,14,14,6,1,255,96,224,96,
   96,96,96,96,64,64,64,0,224,224,192,6,6,6,8,1,
@@ -28316,7 +28397,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdb11r[2001] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =17 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb12[4626] U8G_SECTION(".progmem.u8g_font_gdb12") = {
+const u8g_fntpgm_uint8_t u8g_font_gdb12[4626] U8G_FONT_SECTION("u8g_font_gdb12") = {
   0,29,28,246,249,12,2,113,5,210,32,255,252,17,251,15,
   252,0,0,0,5,0,0,3,14,14,6,1,0,32,96,96,
   96,96,96,96,96,96,96,0,224,224,192,7,6,6,9,1,
@@ -28619,8 +28700,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdb12[4626] U8G_SECTION(".progmem.u8g_font_gdb
   Max Font    ascent =15 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb12n[286] U8G_SECTION(".progmem.u8g_font_gdb12n") = {
-  0,29,28,246,249,12,0,0,0,0,42,57,0,15,252,12,
+const u8g_fntpgm_uint8_t u8g_font_gdb12n[301] U8G_FONT_SECTION("u8g_font_gdb12n") = {
+  0,29,28,246,249,12,0,0,0,0,42,58,0,15,252,12,
   0,7,7,7,8,1,7,48,180,222,48,222,148,48,7,7,
   7,8,1,2,16,16,16,254,16,16,16,3,6,6,5,1,
   252,96,224,96,96,64,128,6,1,1,7,0,4,252,3,3,
@@ -28637,7 +28718,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdb12n[286] U8G_SECTION(".progmem.u8g_font_gdb
   56,112,96,192,254,195,195,195,195,98,60,8,11,11,10,1,
   0,255,254,130,6,4,12,8,24,24,48,96,8,11,11,10,
   1,0,60,102,102,102,124,62,71,195,195,195,60,8,11,11,
-  10,1,0,60,70,195,195,195,195,63,2,6,12,112};
+  10,1,0,60,70,195,195,195,195,63,2,6,12,112,3,9,
+  9,5,1,0,224,224,192,0,0,0,224,224,192};
 /*
   Fontname: -FreeType-Gentium Basic-Bold-R-Normal--19-190-72-72-P-94-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -28650,7 +28732,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdb12n[286] U8G_SECTION(".progmem.u8g_font_gdb
   Max Font    ascent =16 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb12r[2190] U8G_SECTION(".progmem.u8g_font_gdb12r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdb12r[2190] U8G_FONT_SECTION("u8g_font_gdb12r") = {
   0,29,28,246,249,12,2,113,5,210,32,127,252,16,252,15,
   252,0,0,0,5,0,0,3,14,14,6,1,0,32,96,96,
   96,96,96,96,96,96,96,0,224,224,192,7,6,6,9,1,
@@ -28800,7 +28882,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdb12r[2190] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =20 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb14[6044] U8G_SECTION(".progmem.u8g_font_gdb14") = {
+const u8g_fntpgm_uint8_t u8g_font_gdb14[6044] U8G_FONT_SECTION("u8g_font_gdb14") = {
   0,36,33,244,248,14,3,134,7,177,32,255,251,20,250,18,
   251,0,0,0,6,0,0,4,17,17,7,2,0,96,224,224,
   224,224,224,224,224,224,64,64,64,0,0,96,240,224,7,8,
@@ -29191,8 +29273,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdb14[6044] U8G_SECTION(".progmem.u8g_font_gdb
   Max Font    ascent =18 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb14n[448] U8G_SECTION(".progmem.u8g_font_gdb14n") = {
-  0,36,33,244,248,14,0,0,0,0,42,57,0,18,252,14,
+const u8g_fntpgm_uint8_t u8g_font_gdb14n[464] U8G_FONT_SECTION("u8g_font_gdb14n") = {
+  0,36,33,244,248,14,0,0,0,0,42,58,0,18,252,14,
   0,9,10,20,10,1,8,24,0,24,0,219,0,255,128,60,
   0,62,0,255,0,219,0,24,0,24,0,8,8,8,10,1,
   2,24,24,24,255,24,24,24,24,4,7,7,6,1,252,48,
@@ -29219,7 +29301,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdb14n[448] U8G_SECTION(".progmem.u8g_font_gdb
   1,0,62,0,113,128,241,128,241,128,249,128,127,0,63,0,
   63,128,99,128,193,128,193,128,193,128,99,0,62,0,10,14,
   28,12,1,0,31,0,35,128,65,128,192,192,192,192,192,192,
-  192,192,97,192,62,192,0,128,1,128,3,0,14,0,56,0
+  192,192,97,192,62,192,0,128,1,128,3,0,14,0,56,0,
+  4,10,10,6,1,0,224,240,96,0,0,0,0,96,240,224
   };
 /*
   Fontname: -FreeType-Gentium Basic-Bold-R-Normal--23-230-72-72-P-114-ISO10646-1
@@ -29233,7 +29316,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdb14n[448] U8G_SECTION(".progmem.u8g_font_gdb
   Max Font    ascent =19 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb14r[2842] U8G_SECTION(".progmem.u8g_font_gdb14r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdb14r[2842] U8G_FONT_SECTION("u8g_font_gdb14r") = {
   0,36,33,244,248,14,3,134,7,177,32,127,251,19,251,18,
   251,0,0,0,6,0,0,4,17,17,7,2,0,96,224,224,
   224,224,224,224,224,224,64,64,64,0,0,96,240,224,7,8,
@@ -29424,7 +29507,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdb14r[2842] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =23 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb17[7600] U8G_SECTION(".progmem.u8g_font_gdb17") = {
+const u8g_fntpgm_uint8_t u8g_font_gdb17[7600] U8G_FONT_SECTION("u8g_font_gdb17") = {
   0,42,39,242,246,17,4,81,9,172,32,255,250,23,249,21,
   250,0,0,0,7,0,0,4,21,21,8,2,255,48,240,240,
   240,240,112,112,96,96,96,96,96,96,96,64,0,0,112,240,
@@ -29913,8 +29996,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdb17[7600] U8G_SECTION(".progmem.u8g_font_gdb
   Max Font    ascent =21 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb17n[542] U8G_SECTION(".progmem.u8g_font_gdb17n") = {
-  0,42,39,242,246,16,0,0,0,0,42,57,0,21,251,16,
+const u8g_fntpgm_uint8_t u8g_font_gdb17n[561] U8G_FONT_SECTION("u8g_font_gdb17n") = {
+  0,42,39,242,246,16,0,0,0,0,42,58,0,21,251,16,
   0,10,12,24,12,1,9,12,0,12,0,204,128,237,192,255,
   192,63,0,63,0,255,192,237,192,76,128,12,0,12,0,10,
   10,20,11,1,2,12,0,12,0,12,0,12,0,255,192,12,
@@ -29947,7 +30030,9 @@ const u8g_fntpgm_uint8_t u8g_font_gdb17n[542] U8G_SECTION(".progmem.u8g_font_gdb
   125,192,63,128,31,128,63,192,115,224,225,224,224,224,224,224,
   224,192,113,128,31,0,12,17,34,14,1,255,15,128,49,192,
   96,224,224,224,224,112,224,112,224,112,240,112,112,240,31,112,
-  0,96,0,224,0,224,1,192,3,128,30,0,56,0};
+  0,96,0,224,0,224,1,192,3,128,30,0,56,0,4,13,
+  13,7,2,255,112,240,240,224,0,0,0,0,0,112,240,240,
+  224};
 /*
   Fontname: -FreeType-Gentium Basic-Bold-R-Normal--27-270-72-72-P-135-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -29960,7 +30045,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdb17n[542] U8G_SECTION(".progmem.u8g_font_gdb
   Max Font    ascent =22 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb17r[3540] U8G_SECTION(".progmem.u8g_font_gdb17r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdb17r[3540] U8G_FONT_SECTION("u8g_font_gdb17r") = {
   0,42,39,242,246,17,4,81,9,172,32,127,250,22,250,21,
   250,0,0,0,7,0,0,4,21,21,8,2,255,48,240,240,
   240,240,112,112,96,96,96,96,96,96,96,64,0,0,112,240,
@@ -30195,7 +30280,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdb17r[3540] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =28 descent=-9
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb20[10077] U8G_SECTION(".progmem.u8g_font_gdb20") = {
+const u8g_fntpgm_uint8_t u8g_font_gdb20[10077] U8G_FONT_SECTION("u8g_font_gdb20") = {
   0,49,47,240,244,20,5,86,12,137,32,255,248,28,247,25,
   248,0,0,0,8,0,0,5,24,24,10,2,255,24,120,120,
   120,120,120,120,120,120,112,112,112,112,48,48,48,48,0,0,
@@ -30838,8 +30923,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdb20[10077] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =25 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb20n[624] U8G_SECTION(".progmem.u8g_font_gdb20n") = {
-  0,49,47,240,244,19,0,0,0,0,42,57,0,25,250,19,
+const u8g_fntpgm_uint8_t u8g_font_gdb20n[646] U8G_FONT_SECTION("u8g_font_gdb20n") = {
+  0,49,47,240,244,19,0,0,0,0,42,58,0,25,250,19,
   0,12,13,26,14,1,11,3,0,15,0,70,64,102,112,246,
   240,63,192,15,0,63,224,254,240,230,112,70,32,7,0,14,
   0,12,12,24,13,1,3,6,0,6,0,6,0,6,0,6,
@@ -30877,8 +30962,9 @@ const u8g_fntpgm_uint8_t u8g_font_gdb20n[624] U8G_SECTION(".progmem.u8g_font_gdb
   63,248,120,252,248,124,240,60,240,60,240,56,112,56,56,112,
   31,192,14,20,40,16,1,255,7,192,24,240,56,120,112,120,
   240,60,240,60,240,60,240,60,248,60,124,124,63,252,31,60,
-  0,56,0,120,0,112,0,240,1,224,7,128,63,0,56,0
-  };
+  0,56,0,120,0,112,0,240,1,224,7,128,63,0,56,0,
+  5,16,16,9,2,255,112,248,248,248,112,0,0,0,0,0,
+  0,112,248,248,248,112};
 /*
   Fontname: -FreeType-Gentium Basic-Bold-R-Normal--32-320-72-72-P-159-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -30891,7 +30977,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdb20n[624] U8G_SECTION(".progmem.u8g_font_gdb
   Max Font    ascent =26 descent=-8
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb20r[4680] U8G_SECTION(".progmem.u8g_font_gdb20r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdb20r[4680] U8G_FONT_SECTION("u8g_font_gdb20r") = {
   0,49,47,240,244,20,5,86,12,137,32,127,248,26,248,25,
   248,0,0,0,8,0,0,5,24,24,10,2,255,24,120,120,
   120,120,120,120,120,120,112,112,112,112,48,48,48,48,0,0,
@@ -31197,7 +31283,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdb20r[4680] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =34 descent=-11
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb25[14643] U8G_SECTION(".progmem.u8g_font_gdb25") = {
+const u8g_fntpgm_uint8_t u8g_font_gdb25[14643] U8G_FONT_SECTION("u8g_font_gdb25") = {
   0,61,57,236,242,25,7,167,18,92,32,255,247,34,245,31,
   247,0,0,0,10,0,0,6,30,30,12,3,255,12,60,252,
   252,252,124,120,120,120,120,120,120,120,120,120,120,120,120,56,
@@ -32126,8 +32212,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdb25[14643] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =31 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb25n[960] U8G_SECTION(".progmem.u8g_font_gdb25n") = {
-  0,61,57,236,242,24,0,0,0,0,42,57,0,31,249,24,
+const u8g_fntpgm_uint8_t u8g_font_gdb25n[985] U8G_FONT_SECTION("u8g_font_gdb25n") = {
+  0,61,57,236,242,24,0,0,0,0,42,58,0,31,249,24,
   0,16,16,32,18,1,14,0,192,3,192,3,192,99,140,123,
   158,125,191,127,252,15,224,7,224,63,252,253,190,249,158,51,
   142,3,192,3,192,3,0,15,14,28,17,1,4,1,128,3,
@@ -32186,8 +32272,9 @@ const u8g_fntpgm_uint8_t u8g_font_gdb25n[960] U8G_SECTION(".progmem.u8g_font_gdb
   0,120,31,0,120,31,0,248,15,128,248,15,128,248,15,128,
   248,15,128,248,15,128,124,31,128,126,63,128,63,255,128,15,
   207,0,0,15,0,0,31,0,0,30,0,0,62,0,0,124,
-  0,0,248,0,1,240,0,15,192,0,63,0,0,56,0,0
-  };
+  0,0,248,0,1,240,0,15,192,0,63,0,0,56,0,0,
+  6,19,19,11,3,255,56,124,252,252,252,120,0,0,0,0,
+  0,0,0,56,124,252,252,252,120};
 /*
   Fontname: -FreeType-Gentium Basic-Bold-R-Normal--40-400-72-72-P-200-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -32200,7 +32287,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdb25n[960] U8G_SECTION(".progmem.u8g_font_gdb
   Max Font    ascent =33 descent=-9
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb25r[6779] U8G_SECTION(".progmem.u8g_font_gdb25r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdb25r[6779] U8G_FONT_SECTION("u8g_font_gdb25r") = {
   0,61,57,236,242,25,7,167,18,92,32,127,247,33,247,31,
   247,0,0,0,10,0,0,6,30,30,12,3,255,12,60,252,
   252,252,124,120,120,120,120,120,120,120,120,120,120,120,120,56,
@@ -32637,7 +32724,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdb25r[6779] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =42 descent=-13
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb30[19508] U8G_SECTION(".progmem.u8g_font_gdb30") = {
+const u8g_fntpgm_uint8_t u8g_font_gdb30[19508] U8G_FONT_SECTION("u8g_font_gdb30") = {
   0,74,69,232,239,30,10,50,24,78,32,255,245,42,243,38,
   245,0,0,0,12,0,0,8,36,36,15,3,255,6,31,127,
   126,126,126,126,126,126,126,62,62,62,62,62,62,62,60,60,
@@ -33870,8 +33957,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdb30[19508] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =38 descent=-9
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb30n[1275] U8G_SECTION(".progmem.u8g_font_gdb30n") = {
-  0,74,69,232,239,29,0,0,0,0,42,57,0,38,247,29,
+const u8g_fntpgm_uint8_t u8g_font_gdb30n[1304] U8G_FONT_SECTION("u8g_font_gdb30n") = {
+  0,74,69,232,239,29,0,0,0,0,42,58,0,38,247,29,
   0,19,20,60,21,1,17,0,48,0,1,240,0,1,240,0,
   32,240,0,112,225,128,120,227,192,126,231,224,127,255,224,31,
   255,0,3,248,0,3,248,0,31,255,0,127,255,192,254,231,
@@ -33950,7 +34037,9 @@ const u8g_fntpgm_uint8_t u8g_font_gdb30n[1275] U8G_SECTION(".progmem.u8g_font_gd
   3,240,252,3,240,252,3,240,254,3,240,126,7,240,127,15,
   240,63,255,240,31,251,224,7,227,224,0,7,224,0,7,192,
   0,7,192,0,15,128,0,31,0,0,62,0,0,252,0,3,
-  248,0,15,224,0,63,128,0,56,0,0};
+  248,0,15,224,0,63,128,0,56,0,0,8,23,23,13,3,
+  255,62,127,255,255,255,254,124,0,0,0,0,0,0,0,0,
+  0,62,127,255,255,255,254,124};
 /*
   Fontname: -FreeType-Gentium Basic-Bold-R-Normal--48-480-72-72-P-238-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -33963,7 +34052,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdb30n[1275] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =39 descent=-11
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdb30r[9112] U8G_SECTION(".progmem.u8g_font_gdb30r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdb30r[9112] U8G_FONT_SECTION("u8g_font_gdb30r") = {
   0,74,69,232,239,30,10,50,24,78,32,127,245,39,245,38,
   245,0,0,0,12,0,0,8,36,36,15,3,255,6,31,127,
   126,126,126,126,126,126,126,62,62,62,62,62,62,62,60,60,
@@ -34546,7 +34635,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdb30r[9112] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =15 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr10[3670] U8G_SECTION(".progmem.u8g_font_gdr10") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr10[3670] U8G_FONT_SECTION("u8g_font_gdr10") = {
   0,25,24,247,250,10,2,30,4,177,32,255,252,15,251,13,
   252,0,0,0,4,0,0,2,12,12,5,1,0,64,192,64,
   64,64,64,64,64,64,0,64,64,5,5,5,7,1,7,216,
@@ -34789,8 +34878,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr10[3670] U8G_SECTION(".progmem.u8g_font_gdr
   Max Font    ascent =13 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr10n[249] U8G_SECTION(".progmem.u8g_font_gdr10n") = {
-  0,25,24,247,250,10,0,0,0,0,42,57,0,13,253,10,
+const u8g_fntpgm_uint8_t u8g_font_gdr10n[263] U8G_FONT_SECTION("u8g_font_gdr10n") = {
+  0,25,24,247,250,10,0,0,0,0,42,58,0,13,253,10,
   0,6,7,7,8,1,6,32,168,236,48,252,164,32,6,6,
   6,7,1,2,32,32,32,252,32,32,2,4,4,4,1,253,
   192,64,64,128,4,1,1,6,1,4,240,1,2,2,4,2,
@@ -34805,7 +34894,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr10n[249] U8G_SECTION(".progmem.u8g_font_gdr
   32,64,128,248,132,132,132,72,56,6,10,10,8,1,0,252,
   132,8,8,8,16,16,32,32,64,6,10,10,8,1,0,120,
   196,196,200,56,204,132,132,132,120,6,10,10,8,1,0,56,
-  200,132,132,132,124,4,8,16,96};
+  200,132,132,132,124,4,8,16,96,1,8,8,4,2,0,128,
+  128,0,0,0,0,128,128};
 /*
   Fontname: -FreeType-Gentium Basic-Medium-R-Normal--17-170-72-72-P-77-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -34818,7 +34908,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr10n[249] U8G_SECTION(".progmem.u8g_font_gdr
   Max Font    ascent =14 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr10r[1723] U8G_SECTION(".progmem.u8g_font_gdr10r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr10r[1723] U8G_FONT_SECTION("u8g_font_gdr10r") = {
   0,25,24,247,250,10,2,30,4,177,32,127,252,14,252,13,
   252,0,0,0,4,0,0,2,12,12,5,1,0,64,192,64,
   64,64,64,64,64,64,0,64,64,5,5,5,7,1,7,216,
@@ -34939,7 +35029,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr10r[1723] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =16 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr11[3977] U8G_SECTION(".progmem.u8g_font_gdr11") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr11[3977] U8G_FONT_SECTION("u8g_font_gdr11") = {
   0,26,25,247,250,11,2,61,5,21,32,255,252,16,251,14,
   252,0,0,0,4,0,0,2,13,13,5,1,0,64,64,64,
   64,64,64,64,64,64,64,0,192,128,5,6,6,8,1,7,
@@ -35201,8 +35291,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr11[3977] U8G_SECTION(".progmem.u8g_font_gdr
   Max Font    ascent =14 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr11n[262] U8G_SECTION(".progmem.u8g_font_gdr11n") = {
-  0,26,25,247,250,11,0,0,0,0,42,57,0,14,253,11,
+const u8g_fntpgm_uint8_t u8g_font_gdr11n[276] U8G_FONT_SECTION("u8g_font_gdr11n") = {
+  0,26,25,247,250,11,0,0,0,0,42,58,0,14,253,11,
   0,6,8,8,8,1,6,48,16,164,120,120,164,16,48,7,
   6,6,7,0,2,16,16,16,254,16,16,2,5,5,4,1,
   253,64,192,64,64,128,5,1,1,6,1,4,248,2,2,2,
@@ -35218,7 +35308,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr11n[262] U8G_SECTION(".progmem.u8g_font_gdr
   132,72,56,7,11,11,8,1,0,254,132,4,8,8,8,16,
   16,32,32,96,7,11,11,9,1,0,120,196,196,196,120,60,
   194,130,130,130,124,6,11,11,8,1,0,56,200,132,132,132,
-  132,124,4,8,16,224};
+  132,124,4,8,16,224,2,8,8,4,1,0,192,128,0,0,
+  0,0,192,128};
 /*
   Fontname: -FreeType-Gentium Basic-Medium-R-Normal--18-180-72-72-P-81-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -35231,7 +35322,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr11n[262] U8G_SECTION(".progmem.u8g_font_gdr
   Max Font    ascent =15 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr11r[1868] U8G_SECTION(".progmem.u8g_font_gdr11r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr11r[1868] U8G_FONT_SECTION("u8g_font_gdr11r") = {
   0,26,25,247,250,11,2,61,5,21,32,127,252,15,252,14,
   252,0,0,0,4,0,0,2,13,13,5,1,0,64,64,64,
   64,64,64,64,64,64,64,0,192,128,5,6,6,8,1,7,
@@ -35361,7 +35452,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr11r[1868] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =17 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr12[4200] U8G_SECTION(".progmem.u8g_font_gdr12") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr12[4200] U8G_FONT_SECTION("u8g_font_gdr12") = {
   0,28,28,246,249,12,2,80,5,85,32,255,252,17,251,15,
   252,0,0,0,4,0,0,2,15,15,5,2,255,128,128,128,
   128,128,128,128,128,128,128,0,0,192,192,128,6,6,6,8,
@@ -35637,8 +35728,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr12[4200] U8G_SECTION(".progmem.u8g_font_gdr
   Max Font    ascent =15 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr12n[270] U8G_SECTION(".progmem.u8g_font_gdr12n") = {
-  0,28,28,246,249,12,0,0,0,0,42,57,0,15,253,12,
+const u8g_fntpgm_uint8_t u8g_font_gdr12n[286] U8G_FONT_SECTION("u8g_font_gdr12n") = {
+  0,28,28,246,249,12,0,0,0,0,42,58,0,15,253,12,
   0,7,7,7,8,1,7,16,148,222,48,252,146,16,7,7,
   7,8,0,2,16,16,16,254,16,16,16,2,5,5,4,1,
   253,64,192,64,64,128,5,1,1,6,1,4,248,2,3,3,
@@ -35654,7 +35745,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr12n[270] U8G_SECTION(".progmem.u8g_font_gdr
   64,64,128,252,198,130,130,130,68,56,7,11,11,9,1,0,
   254,130,4,4,8,8,24,16,48,32,96,7,12,12,9,1,
   0,120,196,196,196,232,60,78,130,130,130,194,124,7,11,11,
-  9,1,0,56,68,130,130,130,198,122,2,4,8,112};
+  9,1,0,56,68,130,130,130,198,122,2,4,8,112,2,10,
+  10,4,1,255,128,192,128,0,0,0,0,192,192,128};
 /*
   Fontname: -FreeType-Gentium Basic-Medium-R-Normal--19-190-72-72-P-84-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -35667,7 +35759,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr12n[270] U8G_SECTION(".progmem.u8g_font_gdr
   Max Font    ascent =16 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr12r[1992] U8G_SECTION(".progmem.u8g_font_gdr12r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr12r[1992] U8G_FONT_SECTION("u8g_font_gdr12r") = {
   0,28,28,246,249,12,2,80,5,85,32,127,252,16,252,15,
   252,0,0,0,4,0,0,2,15,15,5,2,255,128,128,128,
   128,128,128,128,128,128,128,0,0,192,192,128,6,6,6,8,
@@ -35805,7 +35897,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr12r[1992] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =20 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr14[5942] U8G_SECTION(".progmem.u8g_font_gdr14") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr14[5942] U8G_FONT_SECTION("u8g_font_gdr14") = {
   0,35,33,244,248,14,3,95,7,136,32,255,251,20,250,18,
   251,0,0,0,5,0,0,2,17,17,6,2,0,64,192,192,
   192,192,192,192,192,192,192,192,192,128,0,192,192,192,6,8,
@@ -36190,8 +36282,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr14[5942] U8G_SECTION(".progmem.u8g_font_gdr
   Max Font    ascent =18 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr14n[445] U8G_SECTION(".progmem.u8g_font_gdr14n") = {
-  0,35,33,244,248,14,0,0,0,0,42,57,0,18,252,14,
+const u8g_fntpgm_uint8_t u8g_font_gdr14n[462] U8G_FONT_SECTION("u8g_font_gdr14n") = {
+  0,35,33,244,248,14,0,0,0,0,42,58,0,18,252,14,
   0,9,10,20,10,1,8,24,0,24,0,137,0,235,128,60,
   0,60,0,235,0,137,0,24,0,24,0,8,8,8,9,1,
   2,24,24,24,255,24,24,24,24,4,6,6,5,0,253,112,
@@ -36218,7 +36310,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr14n[445] U8G_SECTION(".progmem.u8g_font_gdr
   0,71,0,195,0,195,0,195,0,118,0,30,0,39,0,99,
   128,193,128,193,128,193,128,99,0,60,0,9,14,28,11,1,
   0,30,0,99,0,67,0,193,128,193,128,193,128,193,128,99,
-  128,61,128,1,0,3,0,6,0,8,0,112,0};
+  128,61,128,1,0,3,0,6,0,8,0,112,0,2,11,11,
+  5,2,0,192,192,192,0,0,0,0,0,192,192,192};
 /*
   Fontname: -FreeType-Gentium Basic-Medium-R-Normal--23-230-72-72-P-110-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -36231,7 +36324,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr14n[445] U8G_SECTION(".progmem.u8g_font_gdr
   Max Font    ascent =19 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr14r[2791] U8G_SECTION(".progmem.u8g_font_gdr14r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr14r[2791] U8G_FONT_SECTION("u8g_font_gdr14r") = {
   0,35,33,244,248,14,3,95,7,136,32,127,251,19,251,18,
   251,0,0,0,5,0,0,2,17,17,6,2,0,64,192,192,
   192,192,192,192,192,192,192,192,192,128,0,192,192,192,6,8,
@@ -36419,7 +36512,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr14r[2791] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =23 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr17[7056] U8G_SECTION(".progmem.u8g_font_gdr17") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr17[7056] U8G_FONT_SECTION("u8g_font_gdr17") = {
   0,40,38,242,247,17,4,64,9,46,32,255,250,23,249,21,
   250,0,0,0,6,0,0,3,21,21,7,2,255,96,224,224,
   224,224,96,96,96,96,96,64,64,64,64,64,0,0,96,224,
@@ -36874,8 +36967,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr17[7056] U8G_SECTION(".progmem.u8g_font_gdr
   Max Font    ascent =21 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr17n[539] U8G_SECTION(".progmem.u8g_font_gdr17n") = {
-  0,40,38,242,247,16,0,0,0,0,42,57,0,21,252,16,
+const u8g_fntpgm_uint8_t u8g_font_gdr17n[559] U8G_FONT_SECTION("u8g_font_gdr17n") = {
+  0,40,38,242,247,16,0,0,0,0,42,58,0,21,252,16,
   0,10,12,24,12,1,9,12,0,12,0,140,0,204,192,119,
   128,30,0,30,0,119,128,204,192,12,128,12,0,12,0,10,
   9,18,11,1,3,12,0,12,0,12,0,12,0,255,192,12,
@@ -36908,7 +37001,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr17n[539] U8G_SECTION(".progmem.u8g_font_gdr
   0,15,128,51,192,96,224,192,96,192,96,192,96,192,64,96,
   128,31,0,11,17,34,13,1,255,31,0,49,128,96,192,192,
   192,192,96,192,96,192,96,224,96,113,224,30,96,0,224,0,
-  192,0,192,1,128,3,0,14,0,48,0};
+  192,0,192,1,128,3,0,14,0,48,0,3,14,14,6,2,
+  255,64,224,224,224,0,0,0,0,0,0,96,224,224,192};
 /*
   Fontname: -FreeType-Gentium Basic-Medium-R-Normal--27-270-72-72-P-125-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -36921,7 +37015,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr17n[539] U8G_SECTION(".progmem.u8g_font_gdr
   Max Font    ascent =22 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr17r[3380] U8G_SECTION(".progmem.u8g_font_gdr17r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr17r[3380] U8G_FONT_SECTION("u8g_font_gdr17r") = {
   0,40,38,242,247,17,4,64,9,46,32,127,250,22,250,21,
   250,0,0,0,6,0,0,3,21,21,7,2,255,96,224,224,
   224,224,96,96,96,96,96,64,64,64,64,64,0,0,96,224,
@@ -37146,7 +37240,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr17r[3380] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =27 descent=-9
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr20[9119] U8G_SECTION(".progmem.u8g_font_gdr20") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr20[9119] U8G_FONT_SECTION("u8g_font_gdr20") = {
   0,47,44,240,246,20,4,220,11,144,32,255,248,27,247,25,
   248,0,0,0,7,0,0,4,23,23,9,2,0,48,112,112,
   112,112,112,112,112,112,96,96,96,96,96,96,96,96,64,0,
@@ -37729,8 +37823,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr20[9119] U8G_SECTION(".progmem.u8g_font_gdr
   Max Font    ascent =25 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr20n[619] U8G_SECTION(".progmem.u8g_font_gdr20n") = {
-  0,47,44,240,246,19,0,0,0,0,42,57,0,25,251,19,
+const u8g_fntpgm_uint8_t u8g_font_gdr20n[640] U8G_FONT_SECTION("u8g_font_gdr20n") = {
+  0,47,44,240,246,19,0,0,0,0,42,58,0,25,251,19,
   0,12,13,26,14,1,11,6,0,6,0,134,0,102,48,242,
   240,27,128,6,0,27,128,114,240,230,48,6,32,6,0,6,
   0,12,11,22,13,1,3,6,0,6,0,6,0,6,0,6,
@@ -37768,7 +37862,9 @@ const u8g_fntpgm_uint8_t u8g_font_gdr20n[619] U8G_SECTION(".progmem.u8g_font_gdr
   112,192,48,192,48,192,32,96,32,112,64,31,128,12,20,40,
   15,2,255,15,128,49,192,32,224,64,96,192,112,192,48,192,
   48,192,48,192,48,96,112,48,176,31,48,0,96,0,96,0,
-  96,0,192,1,128,7,0,30,0,48,0};
+  96,0,192,1,128,7,0,30,0,48,0,4,15,15,7,2,
+  0,112,240,240,96,0,0,0,0,0,0,0,112,240,240,224
+  };
 /*
   Fontname: -FreeType-Gentium Basic-Medium-R-Normal--32-320-72-72-P-146-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -37781,7 +37877,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr20n[619] U8G_SECTION(".progmem.u8g_font_gdr
   Max Font    ascent =26 descent=-8
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr20r[4232] U8G_SECTION(".progmem.u8g_font_gdr20r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr20r[4232] U8G_FONT_SECTION("u8g_font_gdr20r") = {
   0,47,44,240,246,20,4,220,11,144,32,127,248,26,248,25,
   248,0,0,0,7,0,0,4,23,23,9,2,0,48,112,112,
   112,112,112,112,112,112,96,96,96,96,96,96,96,96,64,0,
@@ -38059,7 +38155,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr20r[4232] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =34 descent=-11
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr25[13042] U8G_SECTION(".progmem.u8g_font_gdr25") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr25[13042] U8G_FONT_SECTION("u8g_font_gdr25") = {
   0,59,57,236,242,25,6,209,16,163,32,255,247,34,245,31,
   247,0,0,0,9,0,0,5,30,30,11,3,255,48,112,240,
   112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,
@@ -38888,8 +38984,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr25[13042] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =31 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr25n[810] U8G_SECTION(".progmem.u8g_font_gdr25n") = {
-  0,59,57,236,242,24,0,0,0,0,42,57,0,31,249,24,
+const u8g_fntpgm_uint8_t u8g_font_gdr25n[835] U8G_FONT_SECTION("u8g_font_gdr25n") = {
+  0,59,57,236,242,24,0,0,0,0,42,58,0,31,249,24,
   0,16,16,32,18,1,14,1,128,1,128,1,128,97,132,113,
   142,121,159,31,248,7,192,3,192,31,248,121,158,241,142,33,
   134,1,128,1,128,1,128,15,14,28,16,1,4,3,128,3,
@@ -38939,7 +39035,9 @@ const u8g_fntpgm_uint8_t u8g_font_gdr25n[810] U8G_SECTION(".progmem.u8g_font_gdr
   15,192,15,25,50,19,2,255,7,192,15,240,56,120,48,60,
   112,28,96,28,224,14,224,14,224,14,224,14,240,14,112,30,
   120,62,63,238,15,140,0,28,0,28,0,24,0,56,0,112,
-  0,224,1,192,7,128,30,0,48,0};
+  0,224,1,192,7,128,30,0,48,0,5,19,19,9,2,255,
+  120,248,248,248,96,0,0,0,0,0,0,0,0,0,112,248,
+  248,248,112};
 /*
   Fontname: -FreeType-Gentium Basic-Medium-R-Normal--40-400-72-72-P-182-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -38952,7 +39050,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr25n[810] U8G_SECTION(".progmem.u8g_font_gdr
   Max Font    ascent =33 descent=-9
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr25r[6239] U8G_SECTION(".progmem.u8g_font_gdr25r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr25r[6239] U8G_FONT_SECTION("u8g_font_gdr25r") = {
   0,59,57,236,242,25,6,209,16,163,32,127,247,33,247,31,
   247,0,0,0,9,0,0,5,30,30,11,3,255,48,112,240,
   112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,
@@ -39355,7 +39453,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr25r[6239] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =42 descent=-13
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr30[18369] U8G_SECTION(".progmem.u8g_font_gdr30") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr30[18369] U8G_FONT_SECTION("u8g_font_gdr30") = {
   0,71,68,232,239,30,9,231,23,124,32,255,245,42,243,38,
   245,0,0,0,11,0,0,6,36,36,13,3,255,12,60,124,
   124,124,124,124,120,120,120,56,56,56,56,56,56,56,56,56,
@@ -40517,8 +40615,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr30[18369] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =38 descent=-8
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr30n[1252] U8G_SECTION(".progmem.u8g_font_gdr30n") = {
-  0,71,68,232,239,29,0,0,0,0,42,57,0,38,248,29,
+const u8g_fntpgm_uint8_t u8g_font_gdr30n[1281] U8G_FONT_SECTION("u8g_font_gdr30n") = {
+  0,71,68,232,239,29,0,0,0,0,42,58,0,38,248,29,
   0,18,20,60,21,2,17,0,192,0,1,192,0,1,192,0,
   1,192,0,193,193,0,240,195,192,248,207,192,124,223,0,15,
   252,0,3,224,0,3,224,0,15,252,0,60,223,0,248,207,
@@ -40596,7 +40694,9 @@ const u8g_fntpgm_uint8_t u8g_font_gdr30n[1252] U8G_SECTION(".progmem.u8g_font_gd
   224,120,3,224,124,7,224,62,13,224,31,249,224,7,225,192,
   0,3,192,0,3,192,0,7,128,0,7,128,0,15,0,0,
   30,0,0,60,0,0,120,0,0,240,0,3,224,0,31,128,
-  0,56,0,0};
+  0,56,0,0,6,23,23,11,3,255,56,124,252,252,248,112,
+  0,0,0,0,0,0,0,0,0,0,0,56,124,252,252,248,
+  112};
 /*
   Fontname: -FreeType-Gentium Basic-Medium-R-Normal--48-480-72-72-P-218-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -40609,7 +40709,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr30n[1252] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =39 descent=-11
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr30r[8588] U8G_SECTION(".progmem.u8g_font_gdr30r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr30r[8588] U8G_FONT_SECTION("u8g_font_gdr30r") = {
   0,71,68,232,239,30,9,231,23,124,32,127,245,39,245,38,
   245,0,0,0,11,0,0,6,36,36,13,3,255,12,60,124,
   124,124,124,124,120,120,120,56,56,56,56,56,56,56,56,56,
@@ -41159,7 +41259,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr30r[8588] U8G_SECTION(".progmem.u8g_font_gd
   Max Font    ascent =13 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr9[3248] U8G_SECTION(".progmem.u8g_font_gdr9") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr9[3248] U8G_FONT_SECTION("u8g_font_gdr9") = {
   0,23,21,248,251,9,1,255,4,54,32,255,252,13,252,12,
   252,0,0,0,3,0,0,2,11,11,4,1,0,192,192,192,
   192,192,64,128,128,0,128,128,4,5,5,6,1,6,208,144,
@@ -41376,8 +41476,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr9[3248] U8G_SECTION(".progmem.u8g_font_gdr9
   Max Font    ascent =12 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr9n[235] U8G_SECTION(".progmem.u8g_font_gdr9n") = {
-  0,23,21,248,251,9,0,0,0,0,42,57,0,12,254,9,
+const u8g_fntpgm_uint8_t u8g_font_gdr9n[248] U8G_FONT_SECTION("u8g_font_gdr9n") = {
+  0,23,21,248,251,9,0,0,0,0,42,58,0,12,254,9,
   0,5,6,6,7,1,5,32,168,112,112,168,32,5,5,5,
   6,1,2,32,32,248,32,32,2,4,4,3,1,254,64,192,
   64,128,5,1,1,5,0,3,248,1,2,2,3,1,0,128,
@@ -41391,7 +41491,8 @@ const u8g_fntpgm_uint8_t u8g_font_gdr9n[235] U8G_SECTION(".progmem.u8g_font_gdr9
   9,9,7,1,0,24,96,64,176,200,136,136,136,112,5,9,
   9,7,1,0,248,136,8,16,16,32,32,96,64,5,9,9,
   7,1,0,112,200,136,208,112,136,136,136,112,5,9,9,7,
-  1,0,112,152,136,136,136,120,16,16,224};
+  1,0,112,152,136,136,136,120,16,16,224,1,7,7,3,1,
+  0,128,128,0,0,0,128,128};
 /*
   Fontname: -FreeType-Gentium Basic-Medium-R-Normal--15-150-72-72-P-70-ISO10646-1
   Copyright: Copyright (c) SIL International, 2003-2008.
@@ -41404,7 +41505,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr9n[235] U8G_SECTION(".progmem.u8g_font_gdr9
   Max Font    ascent =12 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_gdr9r[1553] U8G_SECTION(".progmem.u8g_font_gdr9r") = {
+const u8g_fntpgm_uint8_t u8g_font_gdr9r[1553] U8G_FONT_SECTION("u8g_font_gdr9r") = {
   0,23,21,248,251,9,1,255,4,54,32,127,252,12,252,12,
   252,0,0,0,3,0,0,2,11,11,4,1,0,192,192,192,
   192,192,64,128,128,0,128,128,4,5,5,6,1,6,208,144,
@@ -41515,7 +41616,7 @@ const u8g_fntpgm_uint8_t u8g_font_gdr9r[1553] U8G_SECTION(".progmem.u8g_font_gdr
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvB08[2677] U8G_SECTION(".progmem.u8g_font_helvB08") = {
+const u8g_fntpgm_uint8_t u8g_font_helvB08[2677] U8G_FONT_SECTION("u8g_font_helvB08") = {
   0,12,19,255,251,8,1,182,3,122,32,255,254,11,254,8,
   254,0,0,0,3,0,1,2,8,8,4,1,0,192,192,192,
   192,128,128,0,192,3,3,3,5,1,5,160,160,160,7,7,
@@ -41684,6 +41785,34 @@ const u8g_fntpgm_uint8_t u8g_font_helvB08[2677] U8G_SECTION(".progmem.u8g_font_h
   216,120,48,48,96,5,10,10,6,0,254,192,192,240,216,200,
   200,216,240,192,192,5,10,10,6,0,254,80,0,216,216,216,
   216,120,48,48,96};
+/*
+  Fontname: -Adobe-Helvetica-Bold-R-Normal--11-80-100-100-P-60-ISO10646-1
+  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
+  Capital A Height: 0, '1' Height: 8
+  Calculated Max Values w= 6 h= 8 x= 1 y= 5 dx= 6 dy= 0 ascent= 8 len= 8
+  Font Bounding box     w=12 h=19 x=-1 y=-5
+  Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
+  Pure Font   ascent = 8 descent= 0
+  X Font      ascent = 8 descent= 0
+  Max Font    ascent = 8 descent=-2
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_helvB08n[228] U8G_FONT_SECTION("u8g_font_helvB08n") = {
+  0,12,19,255,251,8,0,0,0,0,42,58,0,8,254,8,
+  0,3,3,3,4,0,5,160,64,160,6,5,5,6,0,1,
+  48,48,252,48,48,2,4,4,3,0,254,192,192,64,128,4,
+  1,1,5,0,3,240,2,2,2,3,0,0,192,192,4,8,
+  8,4,0,0,16,16,32,32,64,64,128,128,5,8,8,6,
+  0,0,112,216,216,216,216,216,216,112,3,8,8,6,1,0,
+  96,224,96,96,96,96,96,96,5,8,8,6,0,0,112,216,
+  24,24,48,96,192,248,5,8,8,6,0,0,112,216,24,48,
+  24,24,216,112,6,8,8,6,0,0,8,24,56,88,152,252,
+  24,24,5,8,8,6,0,0,248,192,192,240,24,152,216,112,
+  5,8,8,6,0,0,112,216,192,240,216,216,216,112,5,8,
+  8,6,0,0,248,24,24,48,48,96,96,96,5,8,8,6,
+  0,0,112,216,216,112,216,216,216,112,5,8,8,6,0,0,
+  112,216,216,216,120,24,216,112,2,6,6,3,0,0,192,192,
+  0,0,192,192};
 /*
   Fontname: -Adobe-Helvetica-Bold-R-Normal--11-80-100-100-P-60-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -41696,7 +41825,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvB08[2677] U8G_SECTION(".progmem.u8g_font_h
   Max Font    ascent = 9 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvB08r[1287] U8G_SECTION(".progmem.u8g_font_helvB08r") = {
+const u8g_fntpgm_uint8_t u8g_font_helvB08r[1287] U8G_FONT_SECTION("u8g_font_helvB08r") = {
   0,12,19,255,251,8,1,182,3,122,32,127,254,9,254,8,
   254,0,0,0,3,0,1,2,8,8,4,1,0,192,192,192,
   192,128,128,0,192,3,3,3,5,1,5,160,160,160,7,7,
@@ -41790,7 +41919,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvB08r[1287] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =14 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvB10[3692] U8G_SECTION(".progmem.u8g_font_helvB10") = {
+const u8g_fntpgm_uint8_t u8g_font_helvB10[3692] U8G_FONT_SECTION("u8g_font_helvB10") = {
   0,17,23,255,250,11,2,27,4,205,32,255,253,14,253,11,
   253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192,
   192,192,192,128,128,0,192,192,5,3,3,7,1,8,216,216,
@@ -42022,6 +42151,36 @@ const u8g_fntpgm_uint8_t u8g_font_helvB10[3692] U8G_SECTION(".progmem.u8g_font_h
   24,24,48,112,7,14,14,9,1,253,192,192,192,216,236,198,
   198,198,198,236,216,192,192,192,8,14,14,8,0,253,54,54,
   0,195,195,102,102,36,60,24,24,24,48,112};
+/*
+  Fontname: -Adobe-Helvetica-Bold-R-Normal--14-100-100-100-P-82-ISO10646-1
+  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
+  Capital A Height: 0, '1' Height: 11
+  Calculated Max Values w= 8 h=11 x= 2 y= 7 dx= 9 dy= 0 ascent=11 len=11
+  Font Bounding box     w=17 h=23 x=-1 y=-6
+  Calculated Min Values           x= 0 y=-1 dx= 0 dy= 0
+  Pure Font   ascent =11 descent= 0
+  X Font      ascent =11 descent= 0
+  Max Font    ascent =11 descent=-1
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_helvB10n[265] U8G_FONT_SECTION("u8g_font_helvB10n") = {
+  0,17,23,255,250,11,0,0,0,0,42,58,0,11,255,11,
+  0,5,4,4,6,0,7,32,248,112,216,8,7,7,9,0,
+  1,24,24,24,255,24,24,24,3,3,3,4,0,255,96,96,
+  192,3,1,1,4,0,4,224,2,2,2,4,1,0,192,192,
+  4,11,11,4,0,0,16,16,48,32,32,96,64,64,192,128,
+  128,7,11,11,8,0,0,56,108,198,198,198,198,198,198,198,
+  108,56,4,11,11,8,1,0,48,240,48,48,48,48,48,48,
+  48,48,48,7,11,11,8,0,0,124,198,198,6,14,12,24,
+  48,96,192,254,7,11,11,8,0,0,124,198,198,6,6,60,
+  6,6,198,198,124,8,11,11,8,0,0,6,14,30,54,102,
+  198,198,255,6,6,6,7,11,11,8,0,0,126,96,96,192,
+  252,14,6,6,198,204,120,7,11,11,8,0,0,60,102,102,
+  192,220,230,198,198,198,198,124,7,11,11,8,0,0,254,6,
+  12,12,24,24,48,48,96,96,96,7,11,11,8,0,0,124,
+  198,198,198,198,124,198,198,198,198,124,7,11,11,8,0,0,
+  124,198,198,198,198,198,126,6,198,204,120,2,8,8,5,2,
+  0,192,192,0,0,0,0,192,192};
 /*
   Fontname: -Adobe-Helvetica-Bold-R-Normal--14-100-100-100-P-82-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -42034,7 +42193,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvB10[3692] U8G_SECTION(".progmem.u8g_font_h
   Max Font    ascent =12 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvB10r[1720] U8G_SECTION(".progmem.u8g_font_helvB10r") = {
+const u8g_fntpgm_uint8_t u8g_font_helvB10r[1720] U8G_FONT_SECTION("u8g_font_helvB10r") = {
   0,17,23,255,250,11,2,27,4,205,32,127,253,12,253,11,
   253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192,
   192,192,192,128,128,0,192,192,5,3,3,7,1,8,216,216,
@@ -42155,7 +42314,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvB10r[1720] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =16 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvB12[4077] U8G_SECTION(".progmem.u8g_font_helvB12") = {
+const u8g_fntpgm_uint8_t u8g_font_helvB12[4077] U8G_FONT_SECTION("u8g_font_helvB12") = {
   0,20,27,254,249,12,2,74,5,106,32,255,252,16,252,12,
   252,0,0,0,5,0,1,2,12,12,6,2,0,192,192,192,
   192,192,192,128,128,128,0,192,192,5,4,4,8,1,8,216,
@@ -42411,6 +42570,37 @@ const u8g_fntpgm_uint8_t u8g_font_helvB12[4077] U8G_SECTION(".progmem.u8g_font_h
   96,8,16,16,10,1,252,192,192,192,220,254,231,195,195,195,
   231,254,220,192,192,192,192,8,16,16,9,0,252,54,54,0,
   195,195,99,102,54,54,60,28,24,24,24,112,96};
+/*
+  Fontname: -Adobe-Helvetica-Bold-R-Normal--17-120-100-100-P-92-ISO10646-1
+  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
+  Capital A Height: 0, '1' Height: 12
+  Calculated Max Values w= 8 h=12 x= 2 y= 7 dx=10 dy= 0 ascent=12 len=12
+  Font Bounding box     w=20 h=27 x=-2 y=-7
+  Calculated Min Values           x= 0 y=-3 dx= 0 dy= 0
+  Pure Font   ascent =12 descent= 0
+  X Font      ascent =12 descent= 0
+  Max Font    ascent =12 descent=-3
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_helvB12n[281] U8G_FONT_SECTION("u8g_font_helvB12n") = {
+  0,20,27,254,249,12,0,0,0,0,42,58,0,12,253,12,
+  0,5,5,5,6,0,7,32,168,112,112,136,8,8,8,10,
+  1,0,24,24,24,255,255,24,24,24,2,5,5,4,1,253,
+  192,192,64,64,128,4,2,2,5,0,3,240,240,2,2,2,
+  4,1,0,192,192,4,12,12,5,0,0,16,16,48,32,32,
+  96,64,64,192,128,128,128,8,12,12,9,0,0,60,126,231,
+  195,195,195,195,195,195,231,126,60,5,12,12,9,1,0,8,
+  24,248,248,24,24,24,24,24,24,24,24,8,12,12,9,0,
+  0,60,126,231,195,195,7,14,28,56,112,255,255,8,12,12,
+  9,0,0,60,126,231,195,7,30,30,7,195,231,126,60,8,
+  12,12,9,0,0,14,30,54,54,102,102,198,255,255,6,6,
+  6,8,12,12,9,0,0,63,63,48,48,124,126,71,3,3,
+  231,126,60,8,12,12,9,0,0,60,126,231,192,220,254,231,
+  195,195,231,126,60,8,12,12,9,0,0,255,255,6,6,12,
+  12,24,24,24,48,48,48,8,12,12,9,0,0,60,126,231,
+  195,102,60,126,231,195,231,126,60,8,12,12,9,0,0,60,
+  126,231,195,195,231,127,59,3,231,126,60,2,8,8,5,2,
+  0,192,192,0,0,0,0,192,192};
 /*
   Fontname: -Adobe-Helvetica-Bold-R-Normal--17-120-100-100-P-92-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -42423,7 +42613,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvB12[4077] U8G_SECTION(".progmem.u8g_font_h
   Max Font    ascent =13 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvB12r[1914] U8G_SECTION(".progmem.u8g_font_helvB12r") = {
+const u8g_fntpgm_uint8_t u8g_font_helvB12r[1914] U8G_FONT_SECTION("u8g_font_helvB12r") = {
   0,20,27,254,249,12,2,74,5,106,32,127,252,13,252,12,
   252,0,0,0,5,0,1,2,12,12,6,2,0,192,192,192,
   192,192,192,128,128,128,0,192,192,5,4,4,8,1,8,216,
@@ -42556,7 +42746,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvB12r[1914] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =18 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvB14[5489] U8G_SECTION(".progmem.u8g_font_helvB14") = {
+const u8g_fntpgm_uint8_t u8g_font_helvB14[5489] U8G_FONT_SECTION("u8g_font_helvB14") = {
   0,22,29,254,249,14,3,23,6,234,32,255,252,18,251,14,
   252,0,0,0,5,0,1,3,14,14,5,1,0,224,224,224,
   224,224,224,224,224,192,192,0,224,224,224,5,5,5,7,1,
@@ -42901,6 +43091,46 @@ const u8g_fntpgm_uint8_t u8g_font_helvB14[5489] U8G_SECTION(".progmem.u8g_font_h
   0,51,0,0,0,227,128,227,128,227,128,119,0,119,0,119,
   0,62,0,62,0,28,0,28,0,28,0,24,0,120,0,112,
   0};
+/*
+  Fontname: -Adobe-Helvetica-Bold-R-Normal--20-140-100-100-P-105-ISO10646-1
+  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
+  Capital A Height: 0, '1' Height: 13
+  Calculated Max Values w= 9 h=14 x= 1 y= 8 dx=11 dy= 0 ascent=14 len=26
+  Font Bounding box     w=22 h=29 x=-2 y=-7
+  Calculated Min Values           x= 0 y=-3 dx= 0 dy= 0
+  Pure Font   ascent =13 descent= 0
+  X Font      ascent =13 descent= 0
+  Max Font    ascent =14 descent=-3
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_helvB14n[416] U8G_FONT_SECTION("u8g_font_helvB14n") = {
+  0,22,29,254,249,13,0,0,0,0,42,58,0,14,253,13,
+  0,7,6,6,9,1,8,16,214,124,56,108,68,8,8,8,
+  11,1,1,24,24,24,255,255,24,24,24,3,6,6,5,1,
+  253,224,224,224,96,192,128,5,3,3,6,0,4,248,248,248,
+  3,3,3,5,1,0,224,224,224,5,14,14,5,0,0,24,
+  24,24,56,48,48,48,112,96,96,224,192,192,192,9,13,26,
+  10,0,0,28,0,127,0,119,0,227,128,227,128,227,128,227,
+  128,227,128,227,128,227,128,119,0,127,0,28,0,6,13,13,
+  10,1,0,28,60,252,252,28,28,28,28,28,28,28,28,28,
+  9,13,26,10,0,0,62,0,127,0,227,128,227,128,3,128,
+  7,0,31,0,62,0,120,0,112,0,224,0,255,128,255,128,
+  9,13,26,10,0,0,62,0,127,0,231,0,227,0,7,0,
+  30,0,31,0,7,128,3,128,227,128,231,128,127,0,62,0,
+  9,13,26,10,0,0,7,0,15,0,31,0,63,0,55,0,
+  119,0,103,0,231,0,255,128,255,128,7,0,7,0,7,0,
+  9,13,26,10,0,0,255,0,255,0,224,0,224,0,254,0,
+  255,0,231,128,3,128,3,128,227,128,231,128,255,0,126,0,
+  9,13,26,10,0,0,63,0,127,128,113,128,224,0,238,0,
+  255,0,243,128,225,128,225,128,225,128,243,128,127,0,62,0,
+  9,13,26,10,0,0,255,128,255,128,3,128,7,0,14,0,
+  14,0,28,0,28,0,56,0,56,0,112,0,112,0,112,0,
+  9,13,26,10,0,0,62,0,127,0,227,128,227,128,227,128,
+  127,0,62,0,119,0,227,128,227,128,227,128,127,0,62,0,
+  9,13,26,10,0,0,62,0,127,0,231,128,195,128,195,128,
+  195,128,231,128,127,128,59,128,3,128,199,0,255,0,126,0,
+  3,10,10,6,1,0,224,224,224,0,0,0,0,224,224,224
+  };
 /*
   Fontname: -Adobe-Helvetica-Bold-R-Normal--20-140-100-100-P-105-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -42913,7 +43143,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvB14[5489] U8G_SECTION(".progmem.u8g_font_h
   Max Font    ascent =14 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvB14r[2548] U8G_SECTION(".progmem.u8g_font_helvB14r") = {
+const u8g_fntpgm_uint8_t u8g_font_helvB14r[2548] U8G_FONT_SECTION("u8g_font_helvB14r") = {
   0,22,29,254,249,14,3,23,6,234,32,127,252,14,252,14,
   252,0,0,0,5,0,1,3,14,14,5,1,0,224,224,224,
   224,224,224,224,224,192,192,0,224,224,224,5,5,5,7,1,
@@ -43086,7 +43316,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvB14r[2548] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =24 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvB18[7527] U8G_SECTION(".progmem.u8g_font_helvB18") = {
+const u8g_fntpgm_uint8_t u8g_font_helvB18[7527] U8G_FONT_SECTION("u8g_font_helvB18") = {
   0,28,37,254,248,19,4,35,9,107,32,255,251,24,251,19,
   251,0,0,0,6,0,1,3,19,19,7,2,0,224,224,224,
   224,224,224,224,224,224,224,224,192,192,192,0,0,224,224,224,
@@ -43558,6 +43788,53 @@ const u8g_fntpgm_uint8_t u8g_font_helvB18[7527] U8G_SECTION(".progmem.u8g_font_h
   0,224,56,224,56,112,56,120,112,56,112,60,240,28,224,28,
   224,15,192,15,192,7,192,7,128,3,128,3,128,7,0,7,
   0,14,0,62,0,60,0};
+/*
+  Fontname: -Adobe-Helvetica-Bold-R-Normal--25-180-100-100-P-138-ISO10646-1
+  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
+  Capital A Height: 0, '1' Height: 18
+  Calculated Max Values w=12 h=19 x= 2 y=12 dx=15 dy= 0 ascent=19 len=36
+  Font Bounding box     w=28 h=37 x=-2 y=-8
+  Calculated Min Values           x= 0 y=-3 dx= 0 dy= 0
+  Pure Font   ascent =18 descent= 0
+  X Font      ascent =18 descent= 0
+  Max Font    ascent =19 descent=-3
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_helvB18n[537] U8G_FONT_SECTION("u8g_font_helvB18n") = {
+  0,28,37,254,248,18,0,0,0,0,42,58,0,19,253,18,
+  0,8,7,7,10,1,12,24,24,219,255,60,102,102,12,12,
+  24,15,1,1,6,0,6,0,6,0,6,0,6,0,255,240,
+  255,240,6,0,6,0,6,0,6,0,6,0,3,6,6,7,
+  2,253,224,224,224,96,96,192,7,3,3,8,0,6,254,254,
+  254,3,3,3,7,2,0,224,224,224,7,19,19,8,1,0,
+  6,6,6,12,12,12,24,24,24,24,48,48,48,96,96,96,
+  192,192,192,12,18,36,13,0,0,31,128,63,192,121,224,112,
+  224,112,224,224,112,224,112,224,112,224,112,224,112,224,112,224,
+  112,224,112,112,224,112,224,121,224,63,192,31,128,7,18,18,
+  13,2,0,14,14,30,254,254,14,14,14,14,14,14,14,14,
+  14,14,14,14,14,12,18,36,13,0,0,31,0,127,192,113,
+  224,224,224,224,112,224,112,0,112,0,224,1,224,3,192,7,
+  128,31,0,60,0,120,0,240,0,224,0,255,240,255,240,12,
+  18,36,13,0,0,31,0,127,192,113,192,224,224,224,224,224,
+  224,0,224,1,192,15,128,15,224,0,224,0,112,0,112,224,
+  112,224,240,113,224,127,224,31,128,12,18,36,13,0,0,1,
+  192,3,192,3,192,7,192,7,192,13,192,29,192,25,192,49,
+  192,113,192,97,192,225,192,255,240,255,240,1,192,1,192,1,
+  192,1,192,12,18,36,13,0,0,127,224,127,224,112,0,112,
+  0,112,0,112,0,127,128,127,192,113,224,0,224,0,112,0,
+  112,0,112,224,112,224,240,241,224,127,192,31,128,12,18,36,
+  13,0,0,15,128,63,224,120,224,112,112,224,112,224,0,224,
+  0,239,0,255,192,249,224,240,224,224,112,224,112,224,112,112,
+  224,121,224,63,192,31,128,12,18,36,13,0,0,255,240,255,
+  240,0,240,0,224,1,192,1,192,3,128,3,128,7,0,7,
+  0,14,0,14,0,30,0,28,0,28,0,60,0,56,0,56,
+  0,12,18,36,13,0,0,15,0,63,192,57,192,112,224,112,
+  224,112,224,112,224,57,192,31,128,63,192,112,224,224,112,224,
+  112,224,112,224,112,112,224,127,224,31,128,12,18,36,13,0,
+  0,31,128,127,192,121,224,240,224,224,112,224,112,224,112,224,
+  112,240,240,121,240,127,240,31,112,0,112,0,112,224,224,243,
+  224,127,192,31,0,3,14,14,7,2,0,224,224,224,0,0,
+  0,0,0,0,0,0,224,224,224};
 /*
   Fontname: -Adobe-Helvetica-Bold-R-Normal--25-180-100-100-P-138-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -43570,7 +43847,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvB18[7527] U8G_SECTION(".progmem.u8g_font_h
   Max Font    ascent =19 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvB18r[3453] U8G_SECTION(".progmem.u8g_font_helvB18r") = {
+const u8g_fntpgm_uint8_t u8g_font_helvB18r[3453] U8G_FONT_SECTION("u8g_font_helvB18r") = {
   0,28,37,254,248,19,4,35,9,107,32,127,251,19,251,19,
   251,0,0,0,6,0,1,3,19,19,7,2,0,224,224,224,
   224,224,224,224,224,224,224,224,192,192,192,0,0,224,224,224,
@@ -43799,7 +44076,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvB18r[3453] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =31 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvB24[11554] U8G_SECTION(".progmem.u8g_font_helvB24") = {
+const u8g_fntpgm_uint8_t u8g_font_helvB24[11554] U8G_FONT_SECTION("u8g_font_helvB24") = {
   0,40,49,250,244,25,5,252,14,144,32,255,249,31,249,25,
   249,0,0,0,9,0,1,5,25,25,11,3,0,248,248,248,
   248,248,248,248,248,248,248,248,112,112,112,112,112,112,112,0,
@@ -44527,7 +44804,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvB24[11554] U8G_SECTION(".progmem.u8g_font_
   Fontname: -Adobe-Helvetica-Bold-R-Normal--34-240-100-100-P-182-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
   Capital A Height: 0, '1' Height: 23
-  Calculated Max Values w=17 h=25 x= 2 y=13 dx=19 dy= 0 ascent=25 len=72
+  Calculated Max Values w=17 h=25 x= 3 y=13 dx=19 dy= 0 ascent=25 len=72
   Font Bounding box     w=40 h=49 x=-6 y=-12
   Calculated Min Values           x= 0 y=-6 dx= 0 dy= 0
   Pure Font   ascent =23 descent= 0
@@ -44535,8 +44812,8 @@ const u8g_fntpgm_uint8_t u8g_font_helvB24[11554] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =25 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvB24n[720] U8G_SECTION(".progmem.u8g_font_helvB24n") = {
-  0,40,49,250,244,23,0,0,0,0,42,57,0,25,250,23,
+const u8g_fntpgm_uint8_t u8g_font_helvB24n[743] U8G_FONT_SECTION("u8g_font_helvB24n") = {
+  0,40,49,250,244,23,0,0,0,0,42,58,0,25,250,23,
   0,10,11,22,13,1,13,12,0,12,0,76,128,237,192,255,
   192,127,128,30,0,63,0,127,128,115,128,33,0,16,16,32,
   19,1,0,3,192,3,192,3,192,3,192,3,192,3,192,255,
@@ -44580,8 +44857,9 @@ const u8g_fntpgm_uint8_t u8g_font_helvB24n[720] U8G_SECTION(".progmem.u8g_font_h
   0,63,254,0,31,252,0,7,240,0,15,24,48,18,1,0,
   7,192,31,240,63,248,127,252,124,124,248,62,240,30,240,30,
   240,30,240,30,248,62,252,126,127,254,127,254,63,222,7,158,
-  0,30,0,30,240,60,248,124,127,248,127,248,31,240,7,192
-  };
+  0,30,0,30,240,60,248,124,127,248,127,248,31,240,7,192,
+  5,17,17,11,3,0,248,248,248,248,248,0,0,0,0,0,
+  0,0,248,248,248,248,248};
 /*
   Fontname: -Adobe-Helvetica-Bold-R-Normal--34-240-100-100-P-182-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -44594,7 +44872,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvB24n[720] U8G_SECTION(".progmem.u8g_font_h
   Max Font    ascent =25 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvB24r[5214] U8G_SECTION(".progmem.u8g_font_helvB24r") = {
+const u8g_fntpgm_uint8_t u8g_font_helvB24r[5214] U8G_FONT_SECTION("u8g_font_helvB24r") = {
   0,40,49,250,244,25,5,252,14,144,32,127,249,25,249,25,
   249,0,0,0,9,0,1,5,25,25,11,3,0,248,248,248,
   248,248,248,248,248,248,248,248,112,112,112,112,112,112,112,0,
@@ -44933,7 +45211,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvB24r[5214] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvR08[2687] U8G_SECTION(".progmem.u8g_font_helvR08") = {
+const u8g_fntpgm_uint8_t u8g_font_helvR08[2687] U8G_FONT_SECTION("u8g_font_helvR08") = {
   0,13,18,254,252,8,1,178,3,111,32,255,254,11,254,8,
   254,0,0,0,3,0,1,1,8,8,3,1,0,128,128,128,
   128,128,128,0,128,3,2,2,4,1,6,160,160,6,7,7,
@@ -45102,6 +45380,34 @@ const u8g_fntpgm_uint8_t u8g_font_helvR08[2687] U8G_SECTION(".progmem.u8g_font_h
   11,5,255,254,8,16,0,72,72,80,80,48,32,32,192,5,
   10,10,6,0,254,128,128,176,200,136,136,200,176,128,128,5,
   10,10,5,255,254,80,0,72,72,80,80,48,32,32,192};
+/*
+  Fontname: -Adobe-Helvetica-Medium-R-Normal--11-80-100-100-P-56-ISO10646-1
+  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
+  Capital A Height: 0, '1' Height: 8
+  Calculated Max Values w= 5 h= 8 x= 1 y= 5 dx= 6 dy= 0 ascent= 8 len= 8
+  Font Bounding box     w=13 h=18 x=-2 y=-4
+  Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
+  Pure Font   ascent = 8 descent= 0
+  X Font      ascent = 8 descent= 0
+  Max Font    ascent = 8 descent=-2
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_helvR08n[226] U8G_FONT_SECTION("u8g_font_helvR08n") = {
+  0,13,18,254,252,8,0,0,0,0,42,58,0,8,254,8,
+  0,3,3,3,4,0,5,160,64,160,5,5,5,6,0,1,
+  32,32,248,32,32,2,3,3,3,0,254,64,64,128,3,1,
+  1,4,0,3,224,1,1,1,3,1,0,128,3,8,8,3,
+  0,0,32,32,64,64,64,64,128,128,5,8,8,6,0,0,
+  112,136,136,136,136,136,136,112,2,8,8,6,1,0,64,192,
+  64,64,64,64,64,64,5,8,8,6,0,0,112,136,8,8,
+  48,64,128,248,5,8,8,6,0,0,112,136,8,48,8,8,
+  136,112,5,8,8,6,0,0,16,48,80,80,144,248,16,16,
+  5,8,8,6,0,0,120,64,64,112,8,8,136,112,5,8,
+  8,6,0,0,112,136,128,240,136,136,136,112,5,8,8,6,
+  0,0,248,8,16,32,32,64,64,64,5,8,8,6,0,0,
+  112,136,136,112,136,136,136,112,5,8,8,6,0,0,112,136,
+  136,136,120,8,136,112,1,6,6,3,1,0,128,0,0,0,
+  0,128};
 /*
   Fontname: -Adobe-Helvetica-Medium-R-Normal--11-80-100-100-P-56-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -45114,7 +45420,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvR08[2687] U8G_SECTION(".progmem.u8g_font_h
   Max Font    ascent = 9 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvR08r[1276] U8G_SECTION(".progmem.u8g_font_helvR08r") = {
+const u8g_fntpgm_uint8_t u8g_font_helvR08r[1276] U8G_FONT_SECTION("u8g_font_helvR08r") = {
   0,13,18,254,252,8,1,178,3,111,32,127,254,9,254,8,
   254,0,0,0,3,0,1,1,8,8,3,1,0,128,128,128,
   128,128,128,0,128,3,2,2,4,1,6,160,160,6,7,7,
@@ -45207,7 +45513,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvR08r[1276] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =14 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvR10[3527] U8G_SECTION(".progmem.u8g_font_helvR10") = {
+const u8g_fntpgm_uint8_t u8g_font_helvR10[3527] U8G_FONT_SECTION("u8g_font_helvR10") = {
   0,17,22,254,251,11,2,10,4,133,32,255,253,14,253,11,
   253,0,0,0,4,0,1,1,11,11,4,2,0,128,128,128,
   128,128,128,128,128,0,128,128,3,3,3,5,1,8,160,160,
@@ -45429,6 +45735,36 @@ const u8g_fntpgm_uint8_t u8g_font_helvR10[3527] U8G_SECTION(".progmem.u8g_font_h
   14,14,8,1,253,128,128,128,184,204,132,132,132,132,204,184,
   128,128,128,7,14,14,7,0,253,36,36,0,130,194,68,68,
   36,40,24,16,16,48,96};
+/*
+  Fontname: -Adobe-Helvetica-Medium-R-Normal--14-100-100-100-P-76-ISO10646-1
+  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
+  Capital A Height: 0, '1' Height: 11
+  Calculated Max Values w= 7 h=11 x= 2 y= 6 dx= 9 dy= 0 ascent=11 len=11
+  Font Bounding box     w=17 h=22 x=-2 y=-5
+  Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
+  Pure Font   ascent =11 descent= 0
+  X Font      ascent =11 descent= 0
+  Max Font    ascent =11 descent=-2
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_helvR10n[267] U8G_FONT_SECTION("u8g_font_helvR10n") = {
+  0,17,22,254,251,11,0,0,0,0,42,58,0,11,254,11,
+  0,5,5,5,7,1,6,32,168,112,168,32,7,7,7,9,
+  1,1,16,16,16,254,16,16,16,2,4,4,3,0,254,64,
+  64,64,128,3,1,1,4,0,4,224,1,2,2,3,1,0,
+  128,128,4,11,11,4,0,0,16,16,32,32,32,64,64,64,
+  128,128,128,6,11,11,8,1,0,120,132,132,132,132,132,132,
+  132,132,132,120,3,11,11,8,2,0,32,224,32,32,32,32,
+  32,32,32,32,32,6,11,11,8,1,0,120,132,132,4,8,
+  16,32,64,128,128,252,6,11,11,8,1,0,120,132,132,4,
+  4,56,4,4,132,132,120,7,11,11,8,1,0,4,12,20,
+  36,68,132,132,254,4,4,4,6,11,11,8,1,0,252,128,
+  128,128,248,4,4,4,132,132,120,6,11,11,8,1,0,120,
+  132,128,128,184,196,132,132,132,132,120,6,11,11,8,1,0,
+  252,4,8,8,16,16,32,32,64,64,64,6,11,11,8,1,
+  0,120,132,132,132,132,120,132,132,132,132,120,6,11,11,8,
+  1,0,120,132,132,132,132,124,4,4,132,132,120,1,8,8,
+  3,1,0,128,128,0,0,0,0,128,128};
 /*
   Fontname: -Adobe-Helvetica-Medium-R-Normal--14-100-100-100-P-76-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -45441,7 +45777,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvR10[3527] U8G_SECTION(".progmem.u8g_font_h
   Max Font    ascent =12 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvR10r[1648] U8G_SECTION(".progmem.u8g_font_helvR10r") = {
+const u8g_fntpgm_uint8_t u8g_font_helvR10r[1648] U8G_FONT_SECTION("u8g_font_helvR10r") = {
   0,17,22,254,251,11,2,10,4,133,32,127,253,12,253,11,
   253,0,0,0,4,0,1,1,11,11,4,2,0,128,128,128,
   128,128,128,128,128,0,128,128,3,3,3,5,1,8,160,160,
@@ -45558,7 +45894,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvR10r[1648] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =16 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvR12[4077] U8G_SECTION(".progmem.u8g_font_helvR12") = {
+const u8g_fntpgm_uint8_t u8g_font_helvR12[4077] U8G_FONT_SECTION("u8g_font_helvR12") = {
   0,20,26,254,250,12,2,91,5,99,32,255,252,16,252,12,
   252,0,0,0,5,0,1,1,12,12,5,2,0,128,128,128,
   128,128,128,128,128,128,0,128,128,4,4,4,6,1,8,144,
@@ -45814,6 +46150,38 @@ const u8g_fntpgm_uint8_t u8g_font_helvR12[4077] U8G_SECTION(".progmem.u8g_font_h
   32,192,7,16,16,9,1,252,128,128,128,184,196,130,130,130,
   130,130,196,184,128,128,128,128,7,15,15,8,0,253,40,40,
   0,130,130,68,68,40,40,56,16,16,32,32,192};
+/*
+  Fontname: -Adobe-Helvetica-Medium-R-Normal--17-120-100-100-P-88-ISO10646-1
+  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
+  Capital A Height: 0, '1' Height: 12
+  Calculated Max Values w= 9 h=12 x= 3 y= 7 dx=10 dy= 0 ascent=12 len=18
+  Font Bounding box     w=20 h=26 x=-2 y=-6
+  Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
+  Pure Font   ascent =12 descent= 0
+  X Font      ascent =12 descent= 0
+  Max Font    ascent =12 descent=-2
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_helvR12n[290] U8G_FONT_SECTION("u8g_font_helvR12n") = {
+  0,20,26,254,250,12,0,0,0,0,42,58,0,12,254,12,
+  0,5,5,5,6,0,7,32,168,112,80,136,9,9,18,10,
+  0,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0,
+  8,0,8,0,2,4,4,4,1,254,64,64,64,128,4,1,
+  1,5,0,4,240,1,2,2,4,2,0,128,128,4,12,12,
+  5,0,0,16,16,32,32,32,32,64,64,64,128,128,128,7,
+  12,12,9,1,0,56,68,68,130,130,130,130,130,130,68,68,
+  56,3,12,12,9,3,0,32,32,96,160,32,32,32,32,32,
+  32,32,32,7,12,12,9,1,0,56,68,130,130,2,4,8,
+  48,64,128,128,254,7,12,12,9,1,0,56,68,130,130,4,
+  56,4,2,130,130,68,56,8,12,12,9,0,0,12,20,20,
+  36,36,68,68,132,255,4,4,4,7,12,12,9,1,0,62,
+  32,32,64,120,68,2,2,2,130,68,56,7,12,12,9,1,
+  0,60,66,130,128,184,196,130,130,130,130,68,56,8,12,12,
+  9,0,0,255,1,2,4,4,8,8,16,16,16,32,32,7,
+  12,12,9,1,0,56,68,130,130,68,56,68,130,130,130,68,
+  56,7,12,12,9,1,0,56,68,130,130,130,130,70,58,2,
+  130,132,120,1,9,9,4,2,0,128,128,0,0,0,0,0,
+  128,128};
 /*
   Fontname: -Adobe-Helvetica-Medium-R-Normal--17-120-100-100-P-88-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -45826,7 +46194,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvR12[4077] U8G_SECTION(".progmem.u8g_font_h
   Max Font    ascent =13 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvR12r[1907] U8G_SECTION(".progmem.u8g_font_helvR12r") = {
+const u8g_fntpgm_uint8_t u8g_font_helvR12r[1907] U8G_FONT_SECTION("u8g_font_helvR12r") = {
   0,20,26,254,250,12,2,91,5,99,32,127,252,13,252,12,
   252,0,0,0,5,0,1,1,12,12,5,2,0,128,128,128,
   128,128,128,128,128,128,0,128,128,4,4,4,6,1,8,144,
@@ -45959,7 +46327,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvR12r[1907] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =18 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvR14[4920] U8G_SECTION(".progmem.u8g_font_helvR14") = {
+const u8g_fntpgm_uint8_t u8g_font_helvR14[4920] U8G_FONT_SECTION("u8g_font_helvR14") = {
   0,22,29,254,249,14,2,149,6,82,32,255,252,18,252,14,
   252,0,0,0,5,0,1,2,14,14,6,2,0,192,192,192,
   192,192,192,192,192,128,128,0,0,192,192,5,5,5,5,0,
@@ -46268,6 +46636,39 @@ const u8g_fntpgm_uint8_t u8g_font_helvR14[4920] U8G_SECTION(".progmem.u8g_font_h
   193,128,227,0,255,0,222,0,192,0,192,0,192,0,192,0,
   8,18,18,10,1,252,102,102,0,0,195,195,195,102,102,102,
   36,60,24,24,24,24,112,112};
+/*
+  Fontname: -Adobe-Helvetica-Medium-R-Normal--20-140-100-100-P-100-ISO10646-1
+  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
+  Capital A Height: 0, '1' Height: 13
+  Calculated Max Values w= 9 h=14 x= 2 y= 7 dx=10 dy= 0 ascent=14 len=26
+  Font Bounding box     w=22 h=29 x=-2 y=-7
+  Calculated Min Values           x= 0 y=-3 dx= 0 dy= 0
+  Pure Font   ascent =13 descent= 0
+  X Font      ascent =13 descent= 0
+  Max Font    ascent =14 descent=-3
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_helvR14n[311] U8G_FONT_SECTION("u8g_font_helvR14n") = {
+  0,22,29,254,249,13,0,0,0,0,42,58,0,14,253,13,
+  0,5,7,7,7,1,7,32,168,248,32,248,168,32,8,10,
+  10,10,1,0,24,24,24,24,255,255,24,24,24,24,2,5,
+  5,5,1,253,192,192,64,64,128,5,1,1,6,0,5,248,
+  2,2,2,5,1,0,192,192,5,14,14,5,0,0,24,24,
+  24,24,48,48,48,96,96,96,192,192,192,192,8,13,13,10,
+  1,0,60,126,102,195,195,195,195,195,195,195,102,126,60,5,
+  13,13,10,2,0,24,248,248,24,24,24,24,24,24,24,24,
+  24,24,8,13,13,10,1,0,60,254,195,3,7,14,28,56,
+  112,224,192,255,255,8,13,13,10,1,0,62,127,195,195,6,
+  28,30,7,3,195,199,126,60,9,13,26,10,0,0,3,0,
+  7,0,15,0,27,0,51,0,51,0,99,0,195,0,255,128,
+  255,128,3,0,3,0,3,0,8,13,13,10,1,0,254,254,
+  192,192,252,254,199,3,3,195,199,254,124,8,13,13,10,1,
+  0,60,127,99,192,192,220,254,195,195,195,227,126,60,8,13,
+  13,10,1,0,255,255,3,6,12,12,24,24,48,48,96,96,
+  96,8,13,13,10,1,0,60,126,231,195,195,102,126,231,195,
+  195,231,126,60,8,13,13,10,1,0,60,126,199,195,195,195,
+  127,59,3,3,198,254,124,2,10,10,5,1,0,192,192,0,
+  0,0,0,0,0,192,192};
 /*
   Fontname: -Adobe-Helvetica-Medium-R-Normal--20-140-100-100-P-100-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -46280,7 +46681,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvR14[4920] U8G_SECTION(".progmem.u8g_font_h
   Max Font    ascent =14 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvR14r[2281] U8G_SECTION(".progmem.u8g_font_helvR14r") = {
+const u8g_fntpgm_uint8_t u8g_font_helvR14r[2281] U8G_FONT_SECTION("u8g_font_helvR14r") = {
   0,22,29,254,249,14,2,149,6,82,32,127,252,14,252,14,
   252,0,0,0,5,0,1,2,14,14,6,2,0,192,192,192,
   192,192,192,192,192,128,128,0,0,192,192,5,5,5,5,0,
@@ -46436,7 +46837,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvR14r[2281] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =24 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvR18[7307] U8G_SECTION(".progmem.u8g_font_helvR18") = {
+const u8g_fntpgm_uint8_t u8g_font_helvR18[7307] U8G_FONT_SECTION("u8g_font_helvR18") = {
   0,28,37,253,248,19,4,37,9,49,32,255,251,24,251,19,
   251,0,0,0,6,0,1,2,19,19,6,2,0,192,192,192,
   192,192,192,192,192,192,192,192,192,128,128,0,0,192,192,192,
@@ -46894,6 +47295,53 @@ const u8g_fntpgm_uint8_t u8g_font_helvR18[7307] U8G_SECTION(".progmem.u8g_font_h
   128,0,0,0,0,192,48,192,48,96,48,112,96,48,96,56,
   224,24,192,24,192,13,128,13,128,7,128,7,0,3,0,3,
   0,6,0,6,0,12,0,60,0,56,0};
+/*
+  Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1
+  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
+  Capital A Height: 0, '1' Height: 18
+  Calculated Max Values w=12 h=19 x= 2 y=12 dx=14 dy= 0 ascent=19 len=36
+  Font Bounding box     w=28 h=37 x=-3 y=-8
+  Calculated Min Values           x= 0 y=-3 dx= 0 dy= 0
+  Pure Font   ascent =18 descent= 0
+  X Font      ascent =18 descent= 0
+  Max Font    ascent =19 descent=-3
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_helvR18n[536] U8G_FONT_SECTION("u8g_font_helvR18n") = {
+  0,28,37,253,248,18,0,0,0,0,42,58,0,19,253,18,
+  0,7,7,7,10,1,12,16,16,214,124,56,108,68,12,12,
+  24,14,1,1,6,0,6,0,6,0,6,0,6,0,255,240,
+  255,240,6,0,6,0,6,0,6,0,6,0,2,6,6,6,
+  2,253,192,192,192,64,64,128,6,2,2,8,1,6,252,252,
+  2,3,3,6,2,0,192,192,192,7,19,19,7,0,0,6,
+  4,12,12,8,24,24,16,16,48,48,32,96,96,64,192,192,
+  128,128,11,18,36,13,1,0,31,0,63,128,113,192,96,192,
+  96,192,224,224,192,96,192,96,192,96,192,96,192,96,192,96,
+  224,224,96,192,96,192,113,192,63,128,31,0,6,18,18,13,
+  2,0,12,12,28,252,252,12,12,12,12,12,12,12,12,12,
+  12,12,12,12,11,18,36,13,1,0,30,0,127,128,97,192,
+  192,192,192,96,192,96,0,224,0,192,1,192,3,128,15,0,
+  28,0,56,0,112,0,224,0,192,0,255,224,255,224,11,18,
+  36,13,1,0,31,0,127,128,97,128,192,192,192,192,192,192,
+  0,192,1,128,15,0,15,192,0,192,0,96,0,96,192,96,
+  192,192,97,192,127,128,31,0,11,18,36,13,1,0,1,128,
+  3,128,3,128,7,128,15,128,13,128,25,128,57,128,49,128,
+  97,128,225,128,193,128,255,224,255,224,1,128,1,128,1,128,
+  1,128,11,18,36,13,1,0,127,192,127,192,96,0,96,0,
+  96,0,96,0,126,0,127,128,113,192,0,192,0,224,0,96,
+  0,96,192,224,192,192,225,192,127,128,30,0,11,18,36,13,
+  1,0,15,0,63,192,112,192,96,96,224,96,192,0,192,0,
+  207,0,223,128,241,192,224,192,192,96,192,96,192,96,224,224,
+  113,192,127,192,31,0,11,18,36,13,1,0,255,224,255,224,
+  0,224,0,192,1,128,1,128,3,0,3,0,6,0,6,0,
+  12,0,12,0,28,0,24,0,24,0,56,0,48,0,48,0,
+  11,18,36,13,1,0,14,0,63,128,49,128,96,192,96,192,
+  96,192,49,128,31,0,63,128,113,192,96,192,192,96,192,96,
+  192,96,192,96,96,192,127,192,31,0,11,18,36,13,1,0,
+  31,0,127,192,113,192,224,192,192,96,192,96,192,96,192,96,
+  224,224,113,224,127,96,30,96,0,96,0,224,192,192,225,192,
+  127,128,30,0,2,14,14,6,2,0,192,192,192,0,0,0,
+  0,0,0,0,0,192,192,192};
 /*
   Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -46906,7 +47354,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvR18[7307] U8G_SECTION(".progmem.u8g_font_h
   Max Font    ascent =20 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvR18r[3381] U8G_SECTION(".progmem.u8g_font_helvR18r") = {
+const u8g_fntpgm_uint8_t u8g_font_helvR18r[3381] U8G_FONT_SECTION("u8g_font_helvR18r") = {
   0,28,37,253,248,19,4,37,9,49,32,127,251,20,251,19,
   251,0,0,0,6,0,1,2,19,19,6,2,0,192,192,192,
   192,192,192,192,192,192,192,192,192,128,128,0,0,192,192,192,
@@ -47131,7 +47579,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvR18r[3381] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =31 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvR24[10931] U8G_SECTION(".progmem.u8g_font_helvR24") = {
+const u8g_fntpgm_uint8_t u8g_font_helvR24[10931] U8G_FONT_SECTION("u8g_font_helvR24") = {
   0,39,48,251,245,25,5,215,14,105,32,255,249,31,249,25,
   249,0,0,0,9,0,1,3,25,25,9,4,0,224,224,224,
   224,224,224,224,224,224,224,224,224,224,224,224,224,224,64,64,
@@ -47820,7 +48268,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvR24[10931] U8G_SECTION(".progmem.u8g_font_
   Fontname: -Adobe-Helvetica-Medium-R-Normal--34-240-100-100-P-176-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
   Capital A Height: 0, '1' Height: 24
-  Calculated Max Values w=17 h=24 x= 3 y=15 dx=19 dy= 0 ascent=26 len=48
+  Calculated Max Values w=17 h=24 x= 4 y=15 dx=19 dy= 0 ascent=26 len=48
   Font Bounding box     w=39 h=48 x=-5 y=-11
   Calculated Min Values           x= 0 y=-5 dx= 0 dy= 0
   Pure Font   ascent =24 descent= 0
@@ -47828,8 +48276,8 @@ const u8g_fntpgm_uint8_t u8g_font_helvR24[10931] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =26 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvR24n[702] U8G_SECTION(".progmem.u8g_font_helvR24n") = {
-  0,39,48,251,245,24,0,0,0,0,42,57,0,26,251,24,
+const u8g_fntpgm_uint8_t u8g_font_helvR24n[726] U8G_FONT_SECTION("u8g_font_helvR24n") = {
+  0,39,48,251,245,24,0,0,0,0,42,58,0,26,251,24,
   0,10,11,22,13,1,15,12,0,12,0,76,128,237,192,127,
   128,63,0,30,0,63,0,115,128,225,192,64,128,17,16,48,
   19,1,1,1,192,0,1,192,0,1,192,0,1,192,0,1,
@@ -47872,7 +48320,9 @@ const u8g_fntpgm_uint8_t u8g_font_helvR24n[702] U8G_SECTION(".progmem.u8g_font_h
   120,60,63,248,31,240,7,192,15,24,48,18,1,0,7,192,
   31,240,63,248,120,124,112,60,240,28,224,30,224,14,224,14,
   224,14,224,30,224,30,112,62,127,254,63,238,15,206,0,14,
-  0,28,224,28,240,60,120,120,63,240,63,224,15,128};
+  0,28,224,28,240,60,120,120,63,240,63,224,15,128,3,18,
+  18,9,4,0,224,224,224,224,0,0,0,0,0,0,0,0,
+  0,0,224,224,224,224};
 /*
   Fontname: -Adobe-Helvetica-Medium-R-Normal--34-240-100-100-P-176-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -47885,7 +48335,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvR24n[702] U8G_SECTION(".progmem.u8g_font_h
   Max Font    ascent =27 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_helvR24r[4992] U8G_SECTION(".progmem.u8g_font_helvR24r") = {
+const u8g_fntpgm_uint8_t u8g_font_helvR24r[4992] U8G_FONT_SECTION("u8g_font_helvR24r") = {
   0,39,48,251,245,25,5,215,14,105,32,127,249,27,249,25,
   249,0,0,0,9,0,1,3,25,25,9,4,0,224,224,224,
   224,224,224,224,224,224,224,224,224,224,224,224,224,224,64,64,
@@ -48211,7 +48661,7 @@ const u8g_fntpgm_uint8_t u8g_font_helvR24r[4992] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =10 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternate[2193] U8G_SECTION(".progmem.u8g_font_lucasfont_alternate") = {
+const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternate[2193] U8G_FONT_SECTION("u8g_font_lucasfont_alternate") = {
   0,9,11,0,255,7,1,148,3,22,32,255,255,10,255,7,
   255,0,0,0,4,0,0,1,7,7,2,0,0,128,128,128,
   128,0,0,128,3,3,3,4,0,4,160,160,160,5,7,7,
@@ -48362,8 +48812,8 @@ const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternate[2193] U8G_SECTION(".progme
   Max Font    ascent = 7 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[206] U8G_SECTION(".progmem.u8g_font_lucasfont_alternaten") = {
-  0,9,11,0,255,7,0,0,0,0,42,57,0,7,255,7,
+const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[216] U8G_FONT_SECTION("u8g_font_lucasfont_alternaten") = {
+  0,9,11,0,255,7,0,0,0,0,42,58,0,7,255,7,
   0,7,5,5,8,0,1,68,40,254,40,68,5,5,5,6,
   0,1,32,32,248,32,32,2,3,3,3,0,255,64,64,128,
   6,1,1,7,0,3,252,1,2,2,2,0,0,128,128,7,
@@ -48375,7 +48825,8 @@ const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[206] U8G_SECTION(".progme
   6,0,0,248,128,112,8,8,136,112,5,7,7,6,0,0,
   112,136,128,240,136,136,112,5,7,7,6,0,0,248,8,16,
   32,32,32,32,5,7,7,6,0,0,112,136,136,112,136,136,
-  112,5,7,7,6,0,0,112,136,136,120,8,136,112};
+  112,5,7,7,6,0,0,112,136,136,120,8,136,112,1,4,
+  4,2,0,1,128,0,0,128};
 /*
   Fontname: -FreeType-Lucasfont Alternate-Medium-R-Normal--8-80-72-72-P-50-ISO10646-1
   Copyright: Copyright Patrick Lauke 2012  Lucasfont Alternate is based on Lucasfont by Patrick Lauke (http://fontstruct.com/fontstructors/redux)
@@ -48388,7 +48839,7 @@ const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[206] U8G_SECTION(".progme
   Max Font    ascent = 7 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternater[1138] U8G_SECTION(".progmem.u8g_font_lucasfont_alternater") = {
+const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternater[1138] U8G_FONT_SECTION("u8g_font_lucasfont_alternater") = {
   0,9,11,0,255,7,1,148,3,22,32,127,255,7,255,7,
   255,0,0,0,4,0,0,1,7,7,2,0,0,128,128,128,
   128,0,0,128,3,3,3,4,0,4,160,160,160,5,7,7,
@@ -48473,7 +48924,7 @@ const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternater[1138] U8G_SECTION(".progm
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_m2icon_5[221] U8G_SECTION(".progmem.u8g_font_m2icon_5") = {
+const u8g_fntpgm_uint8_t u8g_font_m2icon_5[221] U8G_FONT_SECTION("u8g_font_m2icon_5") = {
   1,9,6,0,255,5,0,17,0,172,65,104,255,5,255,5,
   255,2,117,149,28,254,130,130,254,2,69,133,112,208,144,144,
   240,2,84,100,216,112,112,216,2,117,133,6,12,216,112,32,
@@ -48500,7 +48951,7 @@ const u8g_fntpgm_uint8_t u8g_font_m2icon_5[221] U8G_SECTION(".progmem.u8g_font_m
   Max Font    ascent = 7 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_m2icon_7[275] U8G_SECTION(".progmem.u8g_font_m2icon_7") = {
+const u8g_fntpgm_uint8_t u8g_font_m2icon_7[275] U8G_FONT_SECTION("u8g_font_m2icon_7") = {
   1,12,8,0,255,7,0,17,0,214,65,104,255,7,255,7,
   255,2,151,174,15,0,255,128,128,128,128,128,128,128,128,128,
   255,128,2,87,103,56,104,232,136,136,136,248,3,84,100,216,
@@ -48531,7 +48982,7 @@ const u8g_fntpgm_uint8_t u8g_font_m2icon_7[275] U8G_SECTION(".progmem.u8g_font_m
   Max Font    ascent = 9 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_m2icon_9[471] U8G_SECTION(".progmem.u8g_font_m2icon_9") = {
+const u8g_fntpgm_uint8_t u8g_font_m2icon_9[471] U8G_FONT_SECTION("u8g_font_m2icon_9") = {
   0,13,11,0,254,8,0,17,1,111,65,105,254,9,254,8,
   254,10,8,16,11,0,0,15,128,255,192,128,64,128,64,128,
   64,128,64,128,64,255,192,6,8,8,7,0,0,60,84,148,
@@ -48574,7 +49025,7 @@ const u8g_fntpgm_uint8_t u8g_font_m2icon_9[471] U8G_SECTION(".progmem.u8g_font_m
   Max Font    ascent = 5 descent= 0
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_micro[855] U8G_SECTION(".progmem.u8g_font_micro") = {
+const u8g_fntpgm_uint8_t u8g_font_micro[855] U8G_FONT_SECTION("u8g_font_micro") = {
   1,4,5,0,0,5,0,255,1,245,32,255,0,5,0,5,
   0,7,0,64,2,37,69,192,192,192,0,192,5,50,66,160,
   160,2,53,69,160,224,160,224,160,2,53,69,64,224,192,96,
@@ -48641,7 +49092,7 @@ const u8g_fntpgm_uint8_t u8g_font_micro[855] U8G_SECTION(".progmem.u8g_font_micr
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenB08[2760] U8G_SECTION(".progmem.u8g_font_ncenB08") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenB08[2760] U8G_FONT_SECTION("u8g_font_ncenB08") = {
   0,17,19,254,251,8,1,193,3,159,32,255,254,11,254,8,
   254,0,0,0,3,0,1,2,8,8,3,0,0,192,192,192,
   128,128,0,192,192,3,3,3,6,1,5,160,160,160,7,8,
@@ -48827,7 +49278,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenB08[2760] U8G_SECTION(".progmem.u8g_font_n
   Max Font    ascent = 9 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenB08r[1315] U8G_SECTION(".progmem.u8g_font_ncenB08r") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenB08r[1315] U8G_FONT_SECTION("u8g_font_ncenB08r") = {
   0,17,19,254,251,8,1,193,3,159,32,127,254,9,254,8,
   254,0,0,0,3,0,1,2,8,8,3,0,0,192,192,192,
   128,128,0,192,192,3,3,3,6,1,5,160,160,160,7,8,
@@ -48923,7 +49374,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenB08r[1315] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =15 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenB10[4003] U8G_SECTION(".progmem.u8g_font_ncenB10") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenB10[4003] U8G_FONT_SECTION("u8g_font_ncenB10") = {
   0,20,25,254,250,11,2,24,5,41,32,255,253,15,253,11,
   253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192,
   192,192,128,128,0,192,192,192,3,4,4,5,1,7,160,160,
@@ -49187,7 +49638,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenB10[4003] U8G_SECTION(".progmem.u8g_font_n
   Max Font    ascent =12 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenB10r[1853] U8G_SECTION(".progmem.u8g_font_ncenB10r") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenB10r[1853] U8G_FONT_SECTION("u8g_font_ncenB10r") = {
   0,20,25,254,250,11,2,24,5,41,32,127,253,12,253,11,
   253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192,
   192,192,128,128,0,192,192,192,3,4,4,5,1,7,160,160,
@@ -49316,7 +49767,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenB10r[1853] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =16 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenB12[4735] U8G_SECTION(".progmem.u8g_font_ncenB12") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenB12[4735] U8G_FONT_SECTION("u8g_font_ncenB12") = {
   0,22,27,253,249,12,2,152,5,246,32,255,253,16,253,12,
   253,0,0,0,4,1,1,3,12,12,5,1,0,64,224,224,
   224,224,64,64,0,64,224,224,64,5,5,5,6,0,7,216,
@@ -49625,7 +50076,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenB12[4735] U8G_SECTION(".progmem.u8g_font_n
   Max Font    ascent =14 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenB12r[2194] U8G_SECTION(".progmem.u8g_font_ncenB12r") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenB12r[2194] U8G_FONT_SECTION("u8g_font_ncenB12r") = {
   0,22,27,253,249,12,2,152,5,246,32,127,253,14,253,12,
   253,0,0,0,4,1,1,3,12,12,5,1,0,64,224,224,
   224,224,64,64,0,64,224,224,64,5,5,5,6,0,7,216,
@@ -49776,7 +50227,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenB12r[2194] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =19 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenB14[5558] U8G_SECTION(".progmem.u8g_font_ncenB14") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenB14[5558] U8G_FONT_SECTION("u8g_font_ncenB14") = {
   0,24,32,253,248,14,3,71,7,51,32,255,252,19,252,14,
   252,0,0,0,5,0,1,4,14,14,6,1,0,96,240,240,
   240,240,240,96,96,96,0,96,240,240,96,5,5,5,8,1,
@@ -50137,7 +50588,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenB14[5558] U8G_SECTION(".progmem.u8g_font_n
   Max Font    ascent =16 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenB14r[2603] U8G_SECTION(".progmem.u8g_font_ncenB14r") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenB14r[2603] U8G_FONT_SECTION("u8g_font_ncenB14r") = {
   0,24,32,253,248,14,3,71,7,51,32,127,252,16,252,14,
   252,0,0,0,5,0,1,4,14,14,6,1,0,96,240,240,
   240,240,240,96,96,96,0,96,240,240,96,5,5,5,8,1,
@@ -50313,7 +50764,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenB14r[2603] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =24 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenB18[8114] U8G_SECTION(".progmem.u8g_font_ncenB18") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenB18[8114] U8G_FONT_SECTION("u8g_font_ncenB18") = {
   0,33,40,252,246,18,4,68,10,106,32,255,251,24,251,18,
   251,0,0,0,7,0,1,5,18,18,7,1,0,112,248,248,
   248,112,112,112,112,112,112,32,32,0,0,112,248,248,112,6,
@@ -50834,7 +51285,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenB18[8114] U8G_SECTION(".progmem.u8g_font_n
   Max Font    ascent =20 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenB18r[3736] U8G_SECTION(".progmem.u8g_font_ncenB18r") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenB18r[3736] U8G_FONT_SECTION("u8g_font_ncenB18r") = {
   0,33,40,252,246,18,4,68,10,106,32,127,251,20,251,18,
   251,0,0,0,7,0,1,5,18,18,7,1,0,112,248,248,
   248,112,112,112,112,112,112,32,32,0,0,112,248,248,112,6,
@@ -51081,7 +51532,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenB18r[3736] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =33 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenB24[12964] U8G_SECTION(".progmem.u8g_font_ncenB24") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenB24[12964] U8G_FONT_SECTION("u8g_font_ncenB24") = {
   0,39,53,252,243,25,6,143,16,147,32,255,249,33,249,25,
   249,0,0,0,9,1,1,6,25,25,10,2,0,120,252,252,
   252,252,252,252,120,120,120,120,48,48,48,48,48,48,0,0,
@@ -51905,8 +52356,8 @@ const u8g_fntpgm_uint8_t u8g_font_ncenB24[12964] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =25 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenB24n[846] U8G_SECTION(".progmem.u8g_font_ncenB24n") = {
-  0,39,53,252,243,24,0,0,0,0,42,57,0,25,251,24,
+const u8g_fntpgm_uint8_t u8g_font_ncenB24n[868] U8G_FONT_SECTION("u8g_font_ncenB24n") = {
+  0,39,53,252,243,24,0,0,0,0,42,58,0,25,251,24,
   0,12,15,30,17,2,10,6,0,14,0,14,0,230,112,230,
   112,246,240,63,192,15,0,127,224,246,240,230,112,230,112,7,
   0,7,0,6,0,16,16,32,20,2,1,3,192,3,192,3,
@@ -51958,7 +52409,9 @@ const u8g_fntpgm_uint8_t u8g_font_ncenB24n[846] U8G_SECTION(".progmem.u8g_font_n
   62,0,252,31,0,248,31,0,248,15,128,248,15,128,248,15,
   128,252,31,128,252,63,128,127,111,128,63,207,128,31,143,128,
   0,15,128,0,15,128,112,15,0,248,31,0,252,31,0,248,
-  30,0,248,62,0,112,252,0,63,240,0,15,192,0};
+  30,0,248,62,0,112,252,0,63,240,0,15,192,0,6,16,
+  16,9,2,0,120,252,252,252,252,120,0,0,0,0,120,252,
+  252,252,252,120};
 /*
   Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--34-240-100-100-P-193-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -51971,7 +52424,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenB24n[846] U8G_SECTION(".progmem.u8g_font_n
   Max Font    ascent =26 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenB24r[5937] U8G_SECTION(".progmem.u8g_font_ncenB24r") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenB24r[5937] U8G_FONT_SECTION("u8g_font_ncenB24r") = {
   0,39,53,252,243,25,6,143,16,147,32,127,249,26,249,25,
   249,0,0,0,9,1,1,6,25,25,10,2,0,120,252,252,
   252,252,252,252,120,120,120,120,48,48,48,48,48,48,0,0,
@@ -52356,7 +52809,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenB24r[5937] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =11 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenR08[2642] U8G_SECTION(".progmem.u8g_font_ncenR08") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenR08[2642] U8G_FONT_SECTION("u8g_font_ncenR08") = {
   0,14,18,254,252,8,1,180,3,120,32,255,254,11,254,8,
   254,0,0,0,3,0,1,1,8,8,4,1,0,128,128,128,
   128,128,0,128,128,3,3,3,6,1,5,160,160,160,7,8,
@@ -52535,7 +52988,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenR08[2642] U8G_SECTION(".progmem.u8g_font_n
   Max Font    ascent = 9 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenR08r[1266] U8G_SECTION(".progmem.u8g_font_ncenR08r") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenR08r[1266] U8G_FONT_SECTION("u8g_font_ncenR08r") = {
   0,14,18,254,252,8,1,180,3,120,32,127,254,9,254,8,
   254,0,0,0,3,0,1,1,8,8,4,1,0,128,128,128,
   128,128,0,128,128,3,3,3,6,1,5,160,160,160,7,8,
@@ -52628,7 +53081,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenR08r[1266] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =14 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenR10[3813] U8G_SECTION(".progmem.u8g_font_ncenR10") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenR10[3813] U8G_FONT_SECTION("u8g_font_ncenR10") = {
   0,18,24,254,250,11,2,24,5,38,32,255,253,14,253,11,
   253,0,0,0,4,0,1,1,11,11,3,1,0,128,128,128,
   128,128,128,128,128,0,128,128,3,4,4,5,1,7,160,160,
@@ -52880,7 +53333,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenR10[3813] U8G_SECTION(".progmem.u8g_font_n
   Max Font    ascent =12 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenR10r[1781] U8G_SECTION(".progmem.u8g_font_ncenR10r") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenR10r[1781] U8G_FONT_SECTION("u8g_font_ncenR10r") = {
   0,18,24,254,250,11,2,24,5,38,32,127,253,12,253,11,
   253,0,0,0,4,0,1,1,11,11,3,1,0,128,128,128,
   128,128,128,128,128,0,128,128,3,4,4,5,1,7,160,160,
@@ -53005,7 +53458,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenR10r[1781] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =16 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenR12[4247] U8G_SECTION(".progmem.u8g_font_ncenR12") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenR12[4247] U8G_FONT_SECTION("u8g_font_ncenR12") = {
   0,21,26,253,250,12,2,59,5,140,32,255,253,16,253,12,
   253,0,0,0,4,1,1,2,12,12,5,1,0,192,192,192,
   192,192,128,128,128,128,0,192,192,4,4,4,6,1,8,144,
@@ -53284,7 +53737,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenR12[4247] U8G_SECTION(".progmem.u8g_font_n
   Max Font    ascent =13 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenR12r[1976] U8G_SECTION(".progmem.u8g_font_ncenR12r") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenR12r[1976] U8G_FONT_SECTION("u8g_font_ncenR12r") = {
   0,21,26,253,250,12,2,59,5,140,32,127,253,13,253,12,
   253,0,0,0,4,1,1,2,12,12,5,1,0,192,192,192,
   192,192,128,128,128,128,0,192,192,4,4,4,6,1,8,144,
@@ -53421,7 +53874,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenR12r[1976] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =19 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenR14[5319] U8G_SECTION(".progmem.u8g_font_ncenR14") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenR14[5319] U8G_FONT_SECTION("u8g_font_ncenR14") = {
   0,27,30,252,249,14,3,41,7,30,32,255,252,19,252,14,
   252,0,0,0,5,0,1,2,14,14,5,1,0,192,192,192,
   192,192,192,192,128,128,128,0,0,192,192,4,5,5,7,1,
@@ -53767,7 +54220,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenR14[5319] U8G_SECTION(".progmem.u8g_font_n
   Max Font    ascent =15 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenR14r[2534] U8G_SECTION(".progmem.u8g_font_ncenR14r") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenR14r[2534] U8G_FONT_SECTION("u8g_font_ncenR14r") = {
   0,27,30,252,249,14,3,41,7,30,32,127,252,15,252,14,
   252,0,0,0,5,0,1,2,14,14,5,1,0,192,192,192,
   192,192,192,192,128,128,128,0,0,192,192,4,5,5,7,1,
@@ -53939,7 +54392,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenR14r[2534] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =24 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenR18[7488] U8G_SECTION(".progmem.u8g_font_ncenR18") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenR18[7488] U8G_FONT_SECTION("u8g_font_ncenR18") = {
   0,31,37,253,248,18,4,33,9,197,32,255,251,24,251,18,
   251,0,0,0,7,0,1,3,18,18,7,2,0,64,224,224,
   224,224,224,224,224,224,224,224,64,64,64,0,224,224,224,6,
@@ -54421,7 +54874,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenR18[7488] U8G_SECTION(".progmem.u8g_font_n
   Max Font    ascent =20 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenR18r[3477] U8G_SECTION(".progmem.u8g_font_ncenR18r") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenR18r[3477] U8G_FONT_SECTION("u8g_font_ncenR18r") = {
   0,31,37,253,248,18,4,33,9,197,32,127,251,20,251,18,
   251,0,0,0,7,0,1,3,18,18,7,2,0,64,224,224,
   224,224,224,224,224,224,224,224,64,64,64,0,224,224,224,6,
@@ -54652,7 +55105,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenR18r[3477] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =32 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenR24[11729] U8G_SECTION(".progmem.u8g_font_ncenR24") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenR24[11729] U8G_FONT_SECTION("u8g_font_ncenR24") = {
   0,39,50,250,245,25,5,159,15,28,32,255,249,32,249,25,
   249,0,0,0,9,1,1,4,25,25,10,3,0,96,240,240,
   240,240,240,240,96,96,96,96,96,96,96,96,96,96,96,0,
@@ -55399,8 +55852,8 @@ const u8g_fntpgm_uint8_t u8g_font_ncenR24[11729] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =25 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenR24n[722] U8G_SECTION(".progmem.u8g_font_ncenR24n") = {
-  0,39,50,250,245,24,0,0,0,0,42,57,0,25,250,24,
+const u8g_fntpgm_uint8_t u8g_font_ncenR24n[744] U8G_FONT_SECTION("u8g_font_ncenR24n") = {
+  0,39,50,250,245,24,0,0,0,0,42,58,0,25,250,24,
   0,12,14,28,17,2,11,6,0,6,0,6,0,198,112,230,
   112,127,224,31,128,31,0,127,192,230,112,198,112,6,0,6,
   0,6,0,16,17,34,20,2,255,1,128,1,128,1,128,1,
@@ -55445,7 +55898,8 @@ const u8g_fntpgm_uint8_t u8g_font_ncenR24n[722] U8G_SECTION(".progmem.u8g_font_n
   1,0,15,192,63,240,120,120,112,56,240,60,224,28,224,28,
   224,30,224,30,240,30,240,62,120,126,120,126,63,222,31,158,
   0,30,0,28,0,28,96,56,240,56,240,112,241,224,127,192,
-  63,0};
+  63,0,4,16,16,9,3,0,96,240,240,96,0,0,0,0,
+  0,0,0,0,96,240,240,96};
 /*
   Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--34-240-100-100-P-181-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -55458,7 +55912,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenR24n[722] U8G_SECTION(".progmem.u8g_font_n
   Max Font    ascent =27 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_ncenR24r[5367] U8G_SECTION(".progmem.u8g_font_ncenR24r") = {
+const u8g_fntpgm_uint8_t u8g_font_ncenR24r[5367] U8G_FONT_SECTION("u8g_font_ncenR24r") = {
   0,39,50,250,245,25,5,159,15,28,32,127,249,27,249,25,
   249,0,0,0,9,1,1,4,25,25,10,3,0,96,240,240,
   240,240,240,240,96,96,96,96,96,96,96,96,96,96,96,0,
@@ -55807,7 +56261,7 @@ const u8g_fntpgm_uint8_t u8g_font_ncenR24r[5367] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent = 9 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_orgv01[1535] U8G_SECTION(".progmem.u8g_font_orgv01") = {
+const u8g_fntpgm_uint8_t u8g_font_orgv01[1535] U8G_FONT_SECTION("u8g_font_orgv01") = {
   1,11,11,0,254,5,0,249,1,238,32,255,255,9,254,5,
   255,2,0,64,2,21,37,128,128,128,0,128,6,49,65,160,
   2,85,101,80,248,80,248,80,2,85,101,248,160,248,40,248,
@@ -55916,8 +56370,8 @@ const u8g_fntpgm_uint8_t u8g_font_orgv01[1535] U8G_SECTION(".progmem.u8g_font_or
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_orgv01n[130] U8G_SECTION(".progmem.u8g_font_orgv01n") = {
-  1,11,11,0,254,5,0,0,0,0,42,57,0,5,255,5,
+const u8g_fntpgm_uint8_t u8g_font_orgv01n[137] U8G_FONT_SECTION("u8g_font_orgv01n") = {
+  1,11,11,0,254,5,0,0,0,0,42,58,0,5,255,5,
   0,3,51,67,160,64,160,3,51,67,64,224,64,1,18,34,
   128,128,4,65,81,240,2,17,33,128,2,85,101,8,16,32,
   64,128,2,85,101,248,136,136,136,248,2,21,37,128,128,128,
@@ -55925,7 +56379,7 @@ const u8g_fntpgm_uint8_t u8g_font_orgv01n[130] U8G_SECTION(".progmem.u8g_font_or
   8,248,2,85,101,136,136,248,8,8,2,85,101,248,128,248,
   8,248,2,85,101,248,128,248,136,248,2,85,101,248,8,8,
   8,8,2,85,101,248,136,248,136,248,2,85,101,248,136,248,
-  8,248};
+  8,248,2,20,36,128,0,0,128};
 /*
   Fontname: -FreeType-Org_v01-Medium-R-Normal--8-80-72-72-P-43-ISO10646-1
   Copyright: © www.orgdot.com
@@ -55938,7 +56392,7 @@ const u8g_fntpgm_uint8_t u8g_font_orgv01n[130] U8G_SECTION(".progmem.u8g_font_or
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_orgv01r[719] U8G_SECTION(".progmem.u8g_font_orgv01r") = {
+const u8g_fntpgm_uint8_t u8g_font_orgv01r[719] U8G_FONT_SECTION("u8g_font_orgv01r") = {
   1,11,11,0,254,5,0,249,1,238,32,127,255,5,255,5,
   255,2,0,64,2,21,37,128,128,128,0,128,6,49,65,160,
   2,85,101,80,248,80,248,80,2,85,101,248,160,248,40,248,
@@ -55996,7 +56450,7 @@ const u8g_fntpgm_uint8_t u8g_font_orgv01r[719] U8G_SECTION(".progmem.u8g_font_or
   Max Font    ascent =24 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb18[7637] U8G_SECTION(".progmem.u8g_font_osb18") = {
+const u8g_fntpgm_uint8_t u8g_font_osb18[7637] U8G_FONT_SECTION("u8g_font_osb18") = {
   0,70,31,234,249,18,4,190,10,54,32,255,250,24,250,18,
   250,0,0,0,7,0,0,4,18,18,6,1,0,96,240,240,
   240,240,240,96,96,96,96,96,64,0,0,96,240,240,96,6,
@@ -56487,8 +56941,8 @@ const u8g_fntpgm_uint8_t u8g_font_osb18[7637] U8G_SECTION(".progmem.u8g_font_osb
   Max Font    ascent =18 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb18n[600] U8G_SECTION(".progmem.u8g_font_osb18n") = {
-  0,70,31,234,249,18,0,0,0,0,42,57,0,18,251,18,
+const u8g_fntpgm_uint8_t u8g_font_osb18n[618] U8G_FONT_SECTION("u8g_font_osb18n") = {
+  0,70,31,234,249,18,0,0,0,0,42,58,0,18,251,18,
   0,9,10,20,13,2,8,24,0,24,0,201,128,235,128,28,
   0,44,0,235,128,217,128,24,0,24,0,21,21,63,23,1,
   253,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0,
@@ -56525,7 +56979,8 @@ const u8g_fntpgm_uint8_t u8g_font_osb18n[600] U8G_SECTION(".progmem.u8g_font_osb
   193,240,192,112,192,48,192,48,96,32,112,64,31,128,12,18,
   36,15,2,0,31,0,113,128,96,192,224,224,224,224,224,240,
   224,240,96,240,113,240,30,240,0,240,0,240,56,224,120,224,
-  120,224,97,192,33,128,30,0};
+  120,224,97,192,33,128,30,0,4,12,12,8,2,0,96,240,
+  240,96,0,0,0,0,96,240,240,96};
 /*
   Fontname: -FreeType-Old Standard TT-Bold-R-Normal--25-250-72-72-P-136-ISO10646-1
   Copyright: Copyright (C) 2006-2008 Alexey Kryukov <alexios@thessalonica.org.ru>
@@ -56538,7 +56993,7 @@ const u8g_fntpgm_uint8_t u8g_font_osb18n[600] U8G_SECTION(".progmem.u8g_font_osb
   Max Font    ascent =20 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb18r[3611] U8G_SECTION(".progmem.u8g_font_osb18r") = {
+const u8g_fntpgm_uint8_t u8g_font_osb18r[3611] U8G_FONT_SECTION("u8g_font_osb18r") = {
   0,70,31,234,249,18,4,190,10,54,32,127,250,20,250,18,
   250,0,0,0,7,0,0,4,18,18,6,1,0,96,240,240,
   240,240,240,96,96,96,96,96,64,0,0,96,240,240,96,6,
@@ -56777,7 +57232,7 @@ const u8g_fntpgm_uint8_t u8g_font_osb18r[3611] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =28 descent=-8
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb21[9612] U8G_SECTION(".progmem.u8g_font_osb21") = {
+const u8g_fntpgm_uint8_t u8g_font_osb21[9612] U8G_FONT_SECTION("u8g_font_osb21") = {
   0,77,36,232,248,21,5,141,12,241,32,255,249,28,248,21,
   249,0,0,0,8,0,0,5,21,21,9,2,1,240,248,248,
   248,248,112,112,112,112,32,32,32,32,32,32,0,0,112,248,
@@ -56847,7 +57302,7 @@ const u8g_fntpgm_uint8_t u8g_font_osb21[9612] U8G_SECTION(".progmem.u8g_font_osb
   0,120,56,112,120,112,120,96,112,224,96,192,63,128,4,14,
   14,8,2,0,96,240,240,240,96,0,0,0,0,0,96,240,
   240,96,5,19,19,8,2,251,96,240,240,240,96,0,0,0,
-  0,112,240,248,248,248,8,16,16,32,192,21,24,72,26,2,
+  0,112,248,248,248,248,8,16,16,32,192,21,24,72,26,2,
   252,0,0,24,0,0,56,0,0,240,0,3,192,0,15,0,
   0,28,0,0,120,0,1,224,0,7,128,0,14,0,0,60,
   0,0,240,0,0,224,0,0,120,0,0,30,0,0,7,128,
@@ -57391,8 +57846,8 @@ const u8g_fntpgm_uint8_t u8g_font_osb21[9612] U8G_SECTION(".progmem.u8g_font_osb
   Max Font    ascent =22 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb21n[703] U8G_SECTION(".progmem.u8g_font_osb21n") = {
-  0,77,36,232,248,21,0,0,0,0,42,57,0,22,250,21,
+const u8g_fntpgm_uint8_t u8g_font_osb21n[723] U8G_FONT_SECTION("u8g_font_osb21n") = {
+  0,77,36,232,248,21,0,0,0,0,42,58,0,22,250,21,
   0,11,12,24,14,2,9,14,0,14,0,78,192,228,224,245,
   192,14,0,14,0,245,192,228,192,78,192,14,0,14,0,24,
   25,75,26,1,252,0,24,0,0,24,0,0,24,0,0,24,
@@ -57435,7 +57890,9 @@ const u8g_fntpgm_uint8_t u8g_font_osb21n[703] U8G_SECTION(".progmem.u8g_font_osb
   248,192,60,192,24,192,24,192,24,96,16,112,48,31,192,13,
   21,42,16,2,1,31,128,48,192,112,96,112,112,240,112,240,
   112,240,120,240,120,240,120,112,120,112,120,56,248,15,120,0,
-  120,0,120,56,112,120,112,120,96,112,224,96,192,63,128};
+  120,0,120,56,112,120,112,120,96,112,224,96,192,63,128,4,
+  14,14,8,2,0,96,240,240,240,96,0,0,0,0,0,96,
+  240,240,96};
 /*
   Fontname: -FreeType-Old Standard TT-Bold-R-Normal--28-280-72-72-P-153-ISO10646-1
   Copyright: Copyright (C) 2006-2008 Alexey Kryukov <alexios@thessalonica.org.ru>
@@ -57448,7 +57905,7 @@ const u8g_fntpgm_uint8_t u8g_font_osb21n[703] U8G_SECTION(".progmem.u8g_font_osb
   Max Font    ascent =23 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb21r[4521] U8G_SECTION(".progmem.u8g_font_osb21r") = {
+const u8g_fntpgm_uint8_t u8g_font_osb21r[4521] U8G_FONT_SECTION("u8g_font_osb21r") = {
   0,77,36,232,248,21,5,141,12,241,32,127,249,23,249,21,
   249,0,0,0,8,0,0,5,21,21,9,2,1,240,248,248,
   248,248,112,112,112,112,32,32,32,32,32,32,0,0,112,248,
@@ -57518,7 +57975,7 @@ const u8g_fntpgm_uint8_t u8g_font_osb21r[4521] U8G_SECTION(".progmem.u8g_font_os
   0,120,56,112,120,112,120,96,112,224,96,192,63,128,4,14,
   14,8,2,0,96,240,240,240,96,0,0,0,0,0,96,240,
   240,96,5,19,19,8,2,251,96,240,240,240,96,0,0,0,
-  0,112,240,248,248,248,8,16,16,32,192,21,24,72,26,2,
+  0,112,248,248,248,248,8,16,16,32,192,21,24,72,26,2,
   252,0,0,24,0,0,56,0,0,240,0,3,192,0,15,0,
   0,28,0,0,120,0,1,224,0,7,128,0,14,0,0,60,
   0,0,240,0,0,224,0,0,120,0,0,30,0,0,7,128,
@@ -57744,7 +58201,7 @@ const u8g_fntpgm_uint8_t u8g_font_osb21r[4521] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =34 descent=-10
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb26[12640] U8G_SECTION(".progmem.u8g_font_osb26") = {
+const u8g_fntpgm_uint8_t u8g_font_osb26[12640] U8G_FONT_SECTION("u8g_font_osb26") = {
   0,95,44,227,246,26,7,105,16,163,32,255,248,34,246,26,
   248,0,0,0,10,0,0,6,25,25,10,2,1,120,252,252,
   252,252,252,120,120,120,120,48,48,48,48,48,48,48,0,0,
@@ -58548,8 +59005,8 @@ const u8g_fntpgm_uint8_t u8g_font_osb26[12640] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =26 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb26n[880] U8G_SECTION(".progmem.u8g_font_osb26n") = {
-  0,95,44,227,246,25,0,0,0,0,42,57,0,26,249,25,
+const u8g_fntpgm_uint8_t u8g_font_osb26n[903] U8G_FONT_SECTION("u8g_font_osb26n") = {
+  0,95,44,227,246,25,0,0,0,0,42,58,0,26,249,25,
   0,12,14,28,17,3,11,14,0,14,0,14,0,196,112,228,
   240,245,224,14,0,14,0,245,224,228,240,196,112,14,0,14,
   0,14,0,29,30,120,31,1,251,0,3,0,0,0,3,0,
@@ -58603,8 +59060,9 @@ const u8g_fntpgm_uint8_t u8g_font_osb26n[880] U8G_SECTION(".progmem.u8g_font_osb
   6,0,56,12,0,14,240,0,15,25,50,20,2,1,31,192,
   60,112,120,48,120,56,248,60,248,60,248,60,248,62,248,62,
   248,62,248,62,120,62,124,126,60,126,15,190,0,62,0,62,
-  12,60,30,60,62,60,62,56,60,56,48,112,16,96,15,192
-  };
+  12,60,30,60,62,60,62,56,60,56,48,112,16,96,15,192,
+  5,17,17,9,2,0,112,248,248,248,112,0,0,0,0,0,
+  0,0,112,248,248,248,112};
 /*
   Fontname: -FreeType-Old Standard TT-Bold-R-Normal--34-340-72-72-P-184-ISO10646-1
   Copyright: Copyright (C) 2006-2008 Alexey Kryukov <alexios@thessalonica.org.ru>
@@ -58617,7 +59075,7 @@ const u8g_fntpgm_uint8_t u8g_font_osb26n[880] U8G_SECTION(".progmem.u8g_font_osb
   Max Font    ascent =28 descent=-8
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb26r[5950] U8G_SECTION(".progmem.u8g_font_osb26r") = {
+const u8g_fntpgm_uint8_t u8g_font_osb26r[5950] U8G_FONT_SECTION("u8g_font_osb26r") = {
   0,95,44,227,246,26,7,105,16,163,32,127,248,28,248,26,
   248,0,0,0,10,0,0,6,25,25,10,2,1,120,252,252,
   252,252,252,120,120,120,120,48,48,48,48,48,48,48,0,0,
@@ -59002,7 +59460,7 @@ const u8g_fntpgm_uint8_t u8g_font_osb26r[5950] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =38 descent=-11
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb29[15818] U8G_SECTION(".progmem.u8g_font_osb29") = {
+const u8g_fntpgm_uint8_t u8g_font_osb29[15818] U8G_FONT_SECTION("u8g_font_osb29") = {
   0,107,49,223,245,29,9,166,21,115,32,255,247,38,245,29,
   247,0,0,0,11,0,0,6,28,28,10,2,1,120,252,252,
   252,252,252,252,120,120,120,120,120,48,48,48,48,48,48,48,
@@ -59095,7 +59553,7 @@ const u8g_fntpgm_uint8_t u8g_font_osb29[15818] U8G_SECTION(".progmem.u8g_font_os
   252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,
   0,15,255,192,17,29,87,22,3,0,0,6,0,112,28,0,
   127,252,0,127,248,0,127,224,0,127,192,0,126,0,0,96,
-  0,0,96,0,0,96,0,0,96,0,0,103,224,0,104,120,
+  0,0,96,0,0,96,0,0,96,0,0,103,224,0,120,120,
   0,112,62,0,96,62,0,96,31,0,0,31,0,0,31,128,
   0,31,128,56,31,128,124,31,128,252,31,128,252,31,128,248,
   31,0,240,31,0,224,30,0,96,62,0,48,124,0,31,240,
@@ -60004,8 +60462,8 @@ const u8g_fntpgm_uint8_t u8g_font_osb29[15818] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =29 descent=-8
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb29n[1232] U8G_SECTION(".progmem.u8g_font_osb29n") = {
-  0,107,49,223,245,28,0,0,0,0,42,57,0,29,248,28,
+const u8g_fntpgm_uint8_t u8g_font_osb29n[1257] U8G_FONT_SECTION("u8g_font_osb29n") = {
+  0,107,49,223,245,28,0,0,0,0,42,58,0,29,248,28,
   0,14,16,32,19,3,12,3,0,7,128,7,128,199,24,227,
   60,242,124,122,248,7,128,7,128,250,248,242,124,227,60,199,
   24,7,128,7,128,3,0,33,33,165,37,2,251,0,1,192,
@@ -60055,7 +60513,7 @@ const u8g_fntpgm_uint8_t u8g_font_osb29n[1232] U8G_SECTION(".progmem.u8g_font_os
   0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,
   252,0,15,255,192,17,29,87,22,3,0,0,6,0,112,28,
   0,127,252,0,127,248,0,127,224,0,127,192,0,126,0,0,
-  96,0,0,96,0,0,96,0,0,96,0,0,103,224,0,104,
+  96,0,0,96,0,0,96,0,0,96,0,0,103,224,0,120,
   120,0,112,62,0,96,62,0,96,31,0,0,31,0,0,31,
   128,0,31,128,56,31,128,124,31,128,252,31,128,252,31,128,
   248,31,0,240,31,0,224,30,0,96,62,0,48,124,0,31,
@@ -60081,8 +60539,9 @@ const u8g_fntpgm_uint8_t u8g_font_osb29n[1232] U8G_SECTION(".progmem.u8g_font_os
   128,252,15,128,252,15,128,252,15,192,252,15,192,124,15,192,
   124,15,192,62,31,192,30,63,192,7,239,192,0,15,192,0,
   15,192,0,15,192,30,15,128,31,15,128,63,15,128,63,15,
-  0,62,15,0,56,30,0,24,28,0,24,56,0,15,240,0
-  };
+  0,62,15,0,56,30,0,24,28,0,24,56,0,15,240,0,
+  6,19,19,10,2,0,120,252,252,252,252,120,0,0,0,0,
+  0,0,0,120,252,252,252,252,120};
 /*
   Fontname: -FreeType-Old Standard TT-Bold-R-Normal--38-380-72-72-P-206-ISO10646-1
   Copyright: Copyright (C) 2006-2008 Alexey Kryukov <alexios@thessalonica.org.ru>
@@ -60095,7 +60554,7 @@ const u8g_fntpgm_uint8_t u8g_font_osb29n[1232] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =31 descent=-9
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb29r[7481] U8G_SECTION(".progmem.u8g_font_osb29r") = {
+const u8g_fntpgm_uint8_t u8g_font_osb29r[7481] U8G_FONT_SECTION("u8g_font_osb29r") = {
   0,107,49,223,245,29,9,166,21,115,32,127,247,31,247,29,
   247,0,0,0,11,0,0,6,28,28,10,2,1,120,252,252,
   252,252,252,252,120,120,120,120,120,48,48,48,48,48,48,48,
@@ -60188,7 +60647,7 @@ const u8g_fntpgm_uint8_t u8g_font_osb29r[7481] U8G_SECTION(".progmem.u8g_font_os
   252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,
   0,15,255,192,17,29,87,22,3,0,0,6,0,112,28,0,
   127,252,0,127,248,0,127,224,0,127,192,0,126,0,0,96,
-  0,0,96,0,0,96,0,0,96,0,0,103,224,0,104,120,
+  0,0,96,0,0,96,0,0,96,0,0,103,224,0,120,120,
   0,112,62,0,96,62,0,96,31,0,0,31,0,0,31,128,
   0,31,128,56,31,128,124,31,128,252,31,128,252,31,128,248,
   31,0,240,31,0,224,30,0,96,62,0,48,124,0,31,240,
@@ -60576,8 +61035,8 @@ const u8g_fntpgm_uint8_t u8g_font_osb29r[7481] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =45 descent=-12
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb35[22095] U8G_SECTION(".progmem.u8g_font_osb35") = {
-  0,133,60,215,242,35,12,218,29,222,32,255,246,45,244,35,
+const u8g_fntpgm_uint8_t u8g_font_osb35[22097] U8G_FONT_SECTION("u8g_font_osb35") = {
+  0,133,60,215,242,35,12,220,29,224,32,255,246,45,244,35,
   246,0,0,0,13,0,0,8,34,34,14,3,1,126,126,255,
   255,255,255,255,255,126,126,126,126,60,60,60,60,60,24,24,
   24,24,24,24,24,24,0,0,0,126,255,255,255,255,126,12,
@@ -60731,691 +61190,677 @@ const u8g_fntpgm_uint8_t u8g_font_osb35[22095] U8G_SECTION(".progmem.u8g_font_os
   3,248,31,131,248,31,195,248,63,195,240,63,195,240,63,131,
   224,62,7,224,60,7,192,28,15,128,14,31,0,7,252,0,
   8,22,22,14,3,1,126,255,255,255,255,126,0,0,0,0,
-  0,0,0,0,0,0,126,255,255,255,255,126,9,31,62,13,
-  2,248,63,0,127,128,127,128,127,128,127,128,63,0,0,0,
+  0,0,0,0,0,0,126,255,255,255,255,126,9,32,64,13,
+  2,247,63,0,127,128,127,128,127,128,127,128,63,0,0,0,
   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,126,0,255,0,255,128,255,128,255,128,127,128,1,128,
-  1,128,1,128,3,0,3,0,6,0,28,0,56,0,96,0,
-  37,40,200,45,4,249,0,0,0,0,48,0,0,0,0,240,
+  0,0,60,0,127,0,255,0,255,128,255,128,255,128,57,128,
+  1,128,1,128,3,0,3,0,6,0,12,0,56,0,240,0,
+  64,0,37,40,200,45,4,249,0,0,0,0,48,0,0,0,
+  0,240,0,0,0,1,248,0,0,0,7,224,0,0,0,31,
+  128,0,0,0,126,0,0,0,1,252,0,0,0,7,240,0,
+  0,0,15,192,0,0,0,63,0,0,0,0,252,0,0,0,
+  3,240,0,0,0,15,224,0,0,0,63,128,0,0,0,126,
   0,0,0,1,248,0,0,0,7,224,0,0,0,31,128,0,
-  0,0,126,0,0,0,1,252,0,0,0,7,240,0,0,0,
-  15,192,0,0,0,63,0,0,0,0,252,0,0,0,3,240,
-  0,0,0,15,224,0,0,0,63,128,0,0,0,126,0,0,
-  0,1,248,0,0,0,7,224,0,0,0,31,128,0,0,0,
-  127,0,0,0,0,252,0,0,0,0,248,0,0,0,0,126,
-  0,0,0,0,31,128,0,0,0,15,224,0,0,0,3,248,
+  0,0,127,0,0,0,0,252,0,0,0,0,248,0,0,0,
+  0,126,0,0,0,0,31,128,0,0,0,15,224,0,0,0,
+  3,248,0,0,0,0,252,0,0,0,0,63,0,0,0,0,
+  15,192,0,0,0,3,240,0,0,0,1,252,0,0,0,0,
+  127,0,0,0,0,31,192,0,0,0,7,224,0,0,0,1,
+  248,0,0,0,0,126,0,0,0,0,63,128,0,0,0,15,
+  224,0,0,0,3,248,0,0,0,0,248,0,0,0,0,48,
+  41,13,78,45,2,6,255,255,255,255,255,128,255,255,255,255,
+  255,128,255,255,255,255,255,128,0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  0,0,255,255,255,255,255,128,255,255,255,255,255,128,255,255,
+  255,255,255,128,37,40,200,45,4,249,96,0,0,0,0,120,
   0,0,0,0,252,0,0,0,0,63,0,0,0,0,15,192,
   0,0,0,3,240,0,0,0,1,252,0,0,0,0,127,0,
-  0,0,0,31,192,0,0,0,7,224,0,0,0,1,248,0,
+  0,0,0,31,128,0,0,0,7,224,0,0,0,1,248,0,
   0,0,0,126,0,0,0,0,63,128,0,0,0,15,224,0,
-  0,0,3,248,0,0,0,0,248,0,0,0,0,48,41,13,
-  78,45,2,6,255,255,255,255,255,128,255,255,255,255,255,128,
-  255,255,255,255,255,128,0,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  255,255,255,255,255,128,255,255,255,255,255,128,255,255,255,255,
-  255,128,37,40,200,45,4,249,96,0,0,0,0,120,0,0,
-  0,0,252,0,0,0,0,63,0,0,0,0,15,192,0,0,
-  0,3,240,0,0,0,1,252,0,0,0,0,127,0,0,0,
-  0,31,128,0,0,0,7,224,0,0,0,1,248,0,0,0,
-  0,126,0,0,0,0,63,128,0,0,0,15,224,0,0,0,
-  3,240,0,0,0,0,252,0,0,0,0,63,0,0,0,0,
-  15,192,0,0,0,7,240,0,0,0,1,248,0,0,0,0,
-  248,0,0,0,3,240,0,0,0,15,192,0,0,0,63,128,
-  0,0,0,254,0,0,0,1,248,0,0,0,7,224,0,0,
-  0,31,128,0,0,0,126,0,0,0,1,252,0,0,0,7,
-  240,0,0,0,31,192,0,0,0,63,0,0,0,0,252,0,
-  0,0,3,240,0,0,0,15,224,0,0,0,63,128,0,0,
-  0,254,0,0,0,0,248,0,0,0,0,96,0,0,0,0,
-  15,34,68,22,3,1,31,240,59,248,96,252,96,252,192,126,
-  192,126,192,126,192,126,192,126,64,252,96,252,48,248,1,240,
-  1,224,3,192,3,128,7,0,7,0,14,0,12,16,12,16,
-  12,16,12,16,6,32,3,192,0,0,0,0,0,128,3,224,
-  7,240,7,240,7,240,7,240,3,224,35,34,170,39,2,1,
-  0,15,255,0,0,0,56,1,224,0,0,224,0,112,0,1,
-  128,0,28,0,7,0,0,14,0,14,0,0,7,0,12,0,
-  248,3,0,28,3,205,243,128,56,7,135,241,128,56,15,7,
-  225,192,112,31,7,225,192,112,62,7,224,224,112,62,7,224,
-  224,224,124,7,192,224,224,124,7,192,224,224,124,7,192,224,
-  224,252,15,192,224,224,248,15,128,224,224,248,15,128,224,224,
-  248,15,129,192,224,248,31,129,192,224,248,31,129,128,112,248,
-  31,3,128,112,248,63,3,0,112,120,111,6,0,56,60,199,
-  140,0,56,31,3,240,0,28,0,0,0,0,14,0,0,0,
-  0,7,0,0,0,0,3,128,0,0,0,1,192,0,96,0,
-  0,120,1,192,0,0,31,255,0,0,33,35,175,36,2,0,
-  0,0,192,0,0,0,1,192,0,0,0,1,224,0,0,0,
-  1,224,0,0,0,3,224,0,0,0,3,240,0,0,0,3,
-  240,0,0,0,7,240,0,0,0,7,248,0,0,0,7,248,
-  0,0,0,15,248,0,0,0,15,252,0,0,0,15,252,0,
-  0,0,25,252,0,0,0,25,254,0,0,0,25,254,0,0,
-  0,48,254,0,0,0,48,255,0,0,0,32,255,0,0,0,
-  96,127,0,0,0,96,127,128,0,0,64,127,128,0,0,192,
-  63,128,0,0,192,63,192,0,0,255,255,192,0,1,255,255,
-  192,0,1,128,31,224,0,1,0,31,224,0,3,0,15,224,
-  0,3,0,15,240,0,2,0,15,240,0,6,0,7,240,0,
-  15,0,7,248,0,31,0,15,252,0,255,240,255,255,128,28,
-  34,136,33,3,0,255,255,240,0,15,224,126,0,15,224,31,
-  0,15,224,31,128,15,224,15,192,15,224,15,192,15,224,15,
+  0,0,3,240,0,0,0,0,252,0,0,0,0,63,0,0,
+  0,0,15,192,0,0,0,7,240,0,0,0,1,248,0,0,
+  0,0,248,0,0,0,3,240,0,0,0,15,192,0,0,0,
+  63,128,0,0,0,254,0,0,0,1,248,0,0,0,7,224,
+  0,0,0,31,128,0,0,0,126,0,0,0,1,252,0,0,
+  0,7,240,0,0,0,31,192,0,0,0,63,0,0,0,0,
+  252,0,0,0,3,240,0,0,0,15,224,0,0,0,63,128,
+  0,0,0,254,0,0,0,0,248,0,0,0,0,96,0,0,
+  0,0,15,34,68,22,3,1,31,240,59,248,96,252,96,252,
+  192,126,192,126,192,126,192,126,192,126,64,252,96,252,48,248,
+  1,240,1,224,3,192,3,128,7,0,7,0,14,0,12,16,
+  12,16,12,16,12,16,6,32,3,192,0,0,0,0,0,128,
+  3,224,7,240,7,240,7,240,7,240,3,224,35,34,170,39,
+  2,1,0,15,255,0,0,0,56,1,224,0,0,224,0,112,
+  0,1,128,0,28,0,7,0,0,14,0,14,0,0,7,0,
+  12,0,248,3,0,28,3,205,243,128,56,7,135,241,128,56,
+  15,7,225,192,112,31,7,225,192,112,62,7,224,224,112,62,
+  7,224,224,224,124,7,192,224,224,124,7,192,224,224,124,7,
+  192,224,224,252,15,192,224,224,248,15,128,224,224,248,15,128,
+  224,224,248,15,129,192,224,248,31,129,192,224,248,31,129,128,
+  112,248,31,3,128,112,248,63,3,0,112,120,111,6,0,56,
+  60,199,140,0,56,31,3,240,0,28,0,0,0,0,14,0,
+  0,0,0,7,0,0,0,0,3,128,0,0,0,1,192,0,
+  96,0,0,120,1,192,0,0,31,255,0,0,33,35,175,36,
+  2,0,0,0,192,0,0,0,1,192,0,0,0,1,224,0,
+  0,0,1,224,0,0,0,3,224,0,0,0,3,240,0,0,
+  0,3,240,0,0,0,7,240,0,0,0,7,248,0,0,0,
+  7,248,0,0,0,15,248,0,0,0,15,252,0,0,0,15,
+  252,0,0,0,25,252,0,0,0,25,254,0,0,0,25,254,
+  0,0,0,48,254,0,0,0,48,255,0,0,0,32,255,0,
+  0,0,96,127,0,0,0,96,127,128,0,0,64,127,128,0,
+  0,192,63,128,0,0,192,63,192,0,0,255,255,192,0,1,
+  255,255,192,0,1,128,31,224,0,1,0,31,224,0,3,0,
+  15,224,0,3,0,15,240,0,2,0,15,240,0,6,0,7,
+  240,0,15,0,7,248,0,31,0,15,252,0,255,240,255,255,
+  128,28,34,136,33,3,0,255,255,240,0,15,224,126,0,15,
+  224,31,0,15,224,31,128,15,224,15,192,15,224,15,192,15,
   224,15,224,15,224,15,224,15,224,15,224,15,224,15,224,15,
-  224,15,224,15,192,15,224,15,192,15,224,31,128,15,224,30,
-  0,15,224,60,0,15,255,224,0,15,224,124,0,15,224,63,
-  0,15,224,31,128,15,224,15,192,15,224,15,224,15,224,15,
-  240,15,224,15,240,15,224,15,240,15,224,15,240,15,224,15,
-  240,15,224,15,240,15,224,15,224,15,224,15,224,15,224,31,
-  192,15,224,31,128,15,224,126,0,255,255,248,0,26,34,136,
-  31,3,1,0,127,193,128,1,224,241,128,3,192,63,128,15,
-  128,31,128,15,128,15,128,31,0,15,128,63,0,7,128,63,
-  0,7,128,127,0,3,128,127,0,3,128,127,0,3,128,127,
-  0,1,128,255,0,1,128,255,0,1,128,255,0,1,128,255,
-  0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,
-  0,0,0,255,0,0,0,255,0,0,192,127,0,0,192,127,
-  0,0,192,127,0,0,128,63,0,1,128,63,0,1,128,63,
-  0,1,128,31,128,3,0,15,128,3,0,7,128,6,0,3,
-  192,12,0,1,224,56,0,0,127,224,0,32,34,136,37,3,
-  0,255,255,248,0,15,224,31,0,15,224,7,128,15,224,3,
-  224,15,224,1,240,15,224,1,240,15,224,0,248,15,224,0,
-  252,15,224,0,252,15,224,0,254,15,224,0,254,15,224,0,
-  254,15,224,0,255,15,224,0,255,15,224,0,255,15,224,0,
-  255,15,224,0,255,15,224,0,255,15,224,0,255,15,224,0,
-  255,15,224,0,255,15,224,0,254,15,224,0,254,15,224,0,
-  254,15,224,0,254,15,224,0,252,15,224,0,252,15,224,0,
-  248,15,224,1,240,15,224,1,224,15,224,3,192,15,224,7,
-  128,15,224,30,0,255,255,248,0,27,34,136,33,3,0,255,
-  255,255,224,15,224,31,224,15,224,7,224,15,224,3,224,15,
-  224,1,224,15,224,1,224,15,224,0,224,15,224,0,224,15,
-  224,0,96,15,224,48,96,15,224,48,96,15,224,48,0,15,
-  224,112,0,15,224,112,0,15,224,240,0,15,225,240,0,15,
-  255,240,0,15,225,240,0,15,224,240,0,15,224,112,0,15,
-  224,112,32,15,224,48,96,15,224,48,96,15,224,48,96,15,
-  224,0,96,15,224,0,96,15,224,0,224,15,224,0,224,15,
-  224,1,224,15,224,3,224,15,224,3,224,15,224,15,224,255,
-  255,255,224,255,255,255,224,28,34,136,32,3,0,255,255,255,
-  240,7,240,15,240,7,240,3,240,7,240,1,240,7,240,1,
-  240,7,240,0,240,7,240,0,240,7,240,0,112,7,240,0,
-  112,7,240,24,48,7,240,24,48,7,240,24,48,7,240,56,
-  48,7,240,56,0,7,240,120,0,7,240,248,0,7,255,248,
-  0,7,240,248,0,7,240,120,0,7,240,56,0,7,240,56,
-  0,7,240,24,0,7,240,24,0,7,240,24,0,7,240,0,
-  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
-  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
-  0,255,255,128,0,30,34,136,35,3,1,0,127,224,192,0,
-  224,120,192,3,192,31,192,7,128,15,192,15,128,7,192,31,
-  0,7,192,31,0,3,192,63,0,3,192,63,0,1,192,127,
-  0,1,192,127,0,1,192,127,0,0,192,255,0,0,192,255,
-  0,0,192,255,0,0,0,255,0,0,0,255,0,0,0,255,
-  3,255,252,255,3,255,252,255,0,31,192,255,0,31,192,255,
-  0,31,192,127,0,31,192,127,0,31,192,127,0,31,192,127,
-  0,31,192,63,0,31,192,63,0,31,192,31,0,31,192,15,
-  128,57,192,15,128,49,192,7,192,96,192,1,224,192,192,0,
-  127,128,192,34,34,170,39,3,0,255,255,63,255,192,7,240,
+  224,15,224,15,224,15,192,15,224,15,192,15,224,31,128,15,
+  224,30,0,15,224,60,0,15,255,224,0,15,224,124,0,15,
+  224,63,0,15,224,31,128,15,224,15,192,15,224,15,224,15,
+  224,15,240,15,224,15,240,15,224,15,240,15,224,15,240,15,
+  224,15,240,15,224,15,240,15,224,15,224,15,224,15,224,15,
+  224,31,192,15,224,31,128,15,224,126,0,255,255,248,0,26,
+  34,136,31,3,1,0,127,193,128,1,224,241,128,3,192,63,
+  128,15,128,31,128,15,128,15,128,31,0,15,128,63,0,7,
+  128,63,0,7,128,127,0,3,128,127,0,3,128,127,0,3,
+  128,127,0,1,128,255,0,1,128,255,0,1,128,255,0,1,
+  128,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,
+  0,255,0,0,0,255,0,0,0,255,0,0,192,127,0,0,
+  192,127,0,0,192,127,0,0,128,63,0,1,128,63,0,1,
+  128,63,0,1,128,31,128,3,0,15,128,3,0,7,128,6,
+  0,3,192,12,0,1,224,56,0,0,127,224,0,32,34,136,
+  37,3,0,255,255,248,0,15,224,31,0,15,224,7,128,15,
+  224,3,224,15,224,1,240,15,224,1,240,15,224,0,248,15,
+  224,0,252,15,224,0,252,15,224,0,254,15,224,0,254,15,
+  224,0,254,15,224,0,255,15,224,0,255,15,224,0,255,15,
+  224,0,255,15,224,0,255,15,224,0,255,15,224,0,255,15,
+  224,0,255,15,224,0,255,15,224,0,254,15,224,0,254,15,
+  224,0,254,15,224,0,254,15,224,0,252,15,224,0,252,15,
+  224,0,248,15,224,1,240,15,224,1,224,15,224,3,192,15,
+  224,7,128,15,224,30,0,255,255,248,0,27,34,136,33,3,
+  0,255,255,255,224,15,224,31,224,15,224,7,224,15,224,3,
+  224,15,224,1,224,15,224,1,224,15,224,0,224,15,224,0,
+  224,15,224,0,96,15,224,48,96,15,224,48,96,15,224,48,
+  0,15,224,112,0,15,224,112,0,15,224,240,0,15,225,240,
+  0,15,255,240,0,15,225,240,0,15,224,240,0,15,224,112,
+  0,15,224,112,32,15,224,48,96,15,224,48,96,15,224,48,
+  96,15,224,0,96,15,224,0,96,15,224,0,224,15,224,0,
+  224,15,224,1,224,15,224,3,224,15,224,3,224,15,224,15,
+  224,255,255,255,224,255,255,255,224,28,34,136,32,3,0,255,
+  255,255,240,7,240,15,240,7,240,3,240,7,240,1,240,7,
+  240,1,240,7,240,0,240,7,240,0,240,7,240,0,112,7,
+  240,0,112,7,240,24,48,7,240,24,48,7,240,24,48,7,
+  240,56,48,7,240,56,0,7,240,120,0,7,240,248,0,7,
+  255,248,0,7,240,248,0,7,240,120,0,7,240,56,0,7,
+  240,56,0,7,240,24,0,7,240,24,0,7,240,24,0,7,
+  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
+  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
+  240,0,0,255,255,128,0,30,34,136,35,3,1,0,127,224,
+  192,0,224,120,192,3,192,31,192,7,128,15,192,15,128,7,
+  192,31,0,7,192,31,0,3,192,63,0,3,192,63,0,1,
+  192,127,0,1,192,127,0,1,192,127,0,0,192,255,0,0,
+  192,255,0,0,192,255,0,0,0,255,0,0,0,255,0,0,
+  0,255,3,255,252,255,3,255,252,255,0,31,192,255,0,31,
+  192,255,0,31,192,127,0,31,192,127,0,31,192,127,0,31,
+  192,127,0,31,192,63,0,31,192,63,0,31,192,31,0,31,
+  192,15,128,57,192,15,128,49,192,7,192,96,192,1,224,192,
+  192,0,127,128,192,34,34,170,39,3,0,255,255,63,255,192,
+  7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,
+  240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,
   1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,
   252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,
-  0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,
+  0,7,240,1,252,0,7,240,1,252,0,7,255,255,252,0,
   7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,
-  240,1,252,0,7,240,1,252,0,7,255,255,252,0,7,240,
+  240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,
   1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,
   252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,
   0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,
-  7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,
-  240,1,252,0,7,240,1,252,0,7,240,1,252,0,255,255,
-  63,255,192,16,34,68,21,3,0,255,255,7,240,7,240,7,
+  255,255,63,255,192,16,34,68,21,3,0,255,255,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
-  240,7,240,7,240,7,240,7,240,7,240,255,255,23,34,102,
-  26,2,0,1,255,254,0,15,224,0,15,224,0,15,224,0,
-  15,224,0,15,224,0,15,224,0,15,224,0,15,224,0,15,
+  240,7,240,7,240,7,240,7,240,7,240,7,240,255,255,23,
+  34,102,26,2,0,1,255,254,0,15,224,0,15,224,0,15,
   224,0,15,224,0,15,224,0,15,224,0,15,224,0,15,224,
   0,15,224,0,15,224,0,15,224,0,15,224,0,15,224,0,
-  15,224,30,15,224,126,15,224,127,15,224,255,15,224,255,15,
-  224,254,15,224,254,15,224,248,15,192,112,15,192,96,15,128,
-  48,31,0,24,30,0,15,248,0,33,34,170,37,3,0,255,
-  255,31,254,0,7,240,7,240,0,7,240,3,192,0,7,240,
-  3,128,0,7,240,3,0,0,7,240,7,0,0,7,240,14,
-  0,0,7,240,12,0,0,7,240,24,0,0,7,240,48,0,
-  0,7,240,96,0,0,7,240,224,0,0,7,240,224,0,0,
-  7,241,240,0,0,7,243,240,0,0,7,247,248,0,0,7,
-  255,252,0,0,7,255,252,0,0,7,249,254,0,0,7,241,
-  254,0,0,7,240,255,0,0,7,240,255,0,0,7,240,127,
-  128,0,7,240,127,128,0,7,240,63,192,0,7,240,63,192,
-  0,7,240,31,224,0,7,240,31,224,0,7,240,15,240,0,
-  7,240,15,240,0,7,240,7,248,0,7,240,7,248,0,7,
-  240,7,252,0,255,255,63,255,128,28,34,136,32,3,0,255,
-  255,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
-  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
-  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
-  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
-  240,0,0,7,240,0,0,7,240,0,0,7,240,0,48,7,
-  240,0,48,7,240,0,48,7,240,0,112,7,240,0,112,7,
-  240,0,112,7,240,0,240,7,240,0,240,7,240,0,240,7,
-  240,1,240,7,240,3,240,7,240,3,240,7,240,7,240,255,
-  255,255,240,255,255,255,240,39,34,170,43,2,0,255,240,0,
-  63,254,7,240,0,63,192,7,248,0,63,192,7,248,0,63,
-  192,7,248,0,127,192,7,252,0,127,192,7,252,0,95,192,
-  7,252,0,95,192,7,254,0,223,192,6,254,0,223,192,6,
-  255,0,159,192,6,127,0,159,192,6,127,1,159,192,6,127,
-  129,159,192,6,63,129,31,192,6,63,129,31,192,6,63,195,
-  31,192,6,31,194,31,192,6,31,226,31,192,6,15,226,31,
-  192,6,15,230,31,192,6,15,244,31,192,6,7,244,31,192,
-  6,7,244,31,192,6,7,252,31,192,6,3,248,31,192,6,
-  3,248,31,192,6,1,248,31,192,6,1,248,31,192,6,1,
-  240,31,192,6,0,240,31,192,15,0,240,31,192,63,192,240,
-  31,192,255,240,97,255,254,34,35,175,37,2,255,255,224,15,
-  255,192,31,240,3,255,0,15,240,0,252,0,15,248,0,120,
-  0,7,252,0,48,0,3,254,0,48,0,3,254,0,48,0,
-  3,255,0,48,0,3,255,128,48,0,3,255,128,48,0,3,
-  127,192,48,0,3,63,224,48,0,3,31,224,48,0,3,31,
-  240,48,0,3,15,248,48,0,3,7,248,48,0,3,7,252,
-  48,0,3,3,254,48,0,3,1,255,48,0,3,1,255,48,
-  0,3,0,255,176,0,3,0,127,240,0,3,0,127,240,0,
-  3,0,63,240,0,3,0,31,240,0,3,0,15,240,0,3,
-  0,15,240,0,3,0,7,240,0,3,0,3,240,0,3,0,
-  3,240,0,7,128,1,240,0,15,192,0,240,0,63,240,0,
-  240,0,255,252,0,112,0,0,0,0,48,0,28,34,136,33,
-  3,1,0,63,192,0,0,224,112,0,3,192,56,0,7,128,
-  30,0,15,128,30,0,15,0,15,0,31,0,15,128,63,0,
-  15,192,63,0,15,192,127,0,15,192,127,0,15,224,127,0,
-  15,224,127,0,15,224,255,0,15,240,255,0,15,240,255,0,
-  15,240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,
-  15,240,255,0,15,240,127,0,15,224,127,0,15,224,127,0,
-  15,224,127,0,15,192,63,0,15,192,63,0,15,192,31,0,
-  15,128,15,0,15,0,15,128,31,0,7,128,30,0,3,192,
-  60,0,0,224,112,0,0,63,192,0,29,34,136,34,3,0,
-  255,255,248,0,7,240,63,0,7,240,15,192,7,240,15,224,
-  7,240,15,240,7,240,7,240,7,240,7,248,7,240,7,248,
-  7,240,7,248,7,240,7,248,7,240,7,248,7,240,7,248,
-  7,240,7,240,7,240,15,240,7,240,15,224,7,240,15,192,
-  7,240,31,0,7,255,252,0,7,240,0,0,7,240,0,0,
-  7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,
-  7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,
-  7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,
-  7,240,0,0,255,255,128,0,28,45,180,33,3,246,0,63,
-  192,0,0,224,112,0,3,192,56,0,7,128,30,0,15,128,
-  30,0,15,0,15,0,31,0,15,128,63,0,15,128,63,0,
-  15,192,127,0,15,192,127,0,15,224,127,0,15,224,127,0,
-  15,224,255,0,15,240,255,0,15,240,255,0,15,240,255,0,
-  15,240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,
-  15,240,255,0,15,240,127,0,15,224,127,0,15,224,127,0,
-  15,224,63,0,15,192,63,15,15,192,31,17,143,128,15,160,
-  223,0,15,160,223,0,7,160,254,0,3,224,252,16,0,240,
-  248,16,0,127,224,16,0,0,224,16,0,0,224,16,0,0,
-  224,48,0,0,240,48,0,0,248,112,0,0,255,240,0,0,
-  255,224,0,0,127,224,0,0,127,192,0,0,63,128,0,0,
-  31,0,32,36,144,36,3,254,255,255,240,0,7,240,126,0,
-  7,240,63,0,7,240,63,128,7,240,31,192,7,240,31,192,
-  7,240,31,224,7,240,31,224,7,240,31,224,7,240,31,224,
-  7,240,31,224,7,240,31,192,7,240,63,192,7,240,63,0,
-  7,240,126,0,7,255,240,0,7,240,240,0,7,240,62,0,
-  7,240,63,0,7,240,31,128,7,240,31,128,7,240,31,192,
-  7,240,31,192,7,240,31,192,7,240,31,192,7,240,31,195,
-  7,240,31,195,7,240,31,195,7,240,31,195,7,240,31,195,
-  7,240,31,198,7,240,31,198,7,240,15,238,255,255,135,252,
-  0,0,3,248,0,0,0,96,23,34,102,29,4,1,7,252,
-  24,24,15,24,56,3,248,112,1,248,112,0,248,240,0,120,
-  248,0,120,248,0,56,252,0,24,254,0,24,255,128,24,255,
-  224,8,127,240,0,127,252,0,63,254,0,31,255,128,15,255,
-  192,3,255,240,1,255,248,128,127,248,192,31,252,192,15,252,
-  192,3,254,224,1,254,224,0,126,224,0,62,240,0,30,248,
-  0,30,248,0,28,252,0,28,254,0,24,239,0,48,195,128,
-  96,193,255,128,29,34,136,34,3,0,255,255,255,248,255,63,
-  231,248,252,31,193,248,248,31,192,248,248,31,192,248,240,31,
-  192,120,224,31,192,56,224,31,192,56,224,31,192,56,192,31,
-  192,24,192,31,192,24,192,31,192,24,192,31,192,24,128,31,
-  192,8,0,31,192,0,0,31,192,0,0,31,192,0,0,31,
-  192,0,0,31,192,0,0,31,192,0,0,31,192,0,0,31,
-  192,0,0,31,192,0,0,31,192,0,0,31,192,0,0,31,
-  192,0,0,31,192,0,0,31,192,0,0,31,192,0,0,31,
-  192,0,0,31,192,0,0,31,192,0,0,31,192,0,3,255,
-  254,0,33,34,170,38,3,0,255,255,7,255,128,15,224,1,
-  254,0,15,224,0,120,0,15,224,0,48,0,15,224,0,48,
+  15,224,0,15,224,0,15,224,0,15,224,0,15,224,0,15,
+  224,0,15,224,30,15,224,126,15,224,127,15,224,255,15,224,
+  255,15,224,254,15,224,254,15,224,248,15,192,112,15,192,96,
+  15,128,48,31,0,24,30,0,15,248,0,33,34,170,37,3,
+  0,255,255,31,254,0,7,240,7,240,0,7,240,3,192,0,
+  7,240,3,128,0,7,240,3,0,0,7,240,7,0,0,7,
+  240,14,0,0,7,240,12,0,0,7,240,24,0,0,7,240,
+  48,0,0,7,240,96,0,0,7,240,224,0,0,7,240,224,
+  0,0,7,241,240,0,0,7,243,240,0,0,7,247,248,0,
+  0,7,255,252,0,0,7,255,252,0,0,7,249,254,0,0,
+  7,241,254,0,0,7,240,255,0,0,7,240,255,0,0,7,
+  240,127,128,0,7,240,127,128,0,7,240,63,192,0,7,240,
+  63,192,0,7,240,31,224,0,7,240,31,224,0,7,240,15,
+  240,0,7,240,15,240,0,7,240,7,248,0,7,240,7,248,
+  0,7,240,7,252,0,255,255,63,255,128,28,34,136,32,3,
+  0,255,255,0,0,7,240,0,0,7,240,0,0,7,240,0,
+  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
+  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
+  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
+  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
+  48,7,240,0,48,7,240,0,48,7,240,0,112,7,240,0,
+  112,7,240,0,112,7,240,0,240,7,240,0,240,7,240,0,
+  240,7,240,1,240,7,240,3,240,7,240,3,240,7,240,7,
+  240,255,255,255,240,255,255,255,240,39,34,170,43,2,0,255,
+  240,0,63,254,7,240,0,63,192,7,248,0,63,192,7,248,
+  0,63,192,7,248,0,127,192,7,252,0,127,192,7,252,0,
+  95,192,7,252,0,95,192,7,254,0,223,192,6,254,0,223,
+  192,6,255,0,159,192,6,127,0,159,192,6,127,1,159,192,
+  6,127,129,159,192,6,63,129,31,192,6,63,129,31,192,6,
+  63,195,31,192,6,31,194,31,192,6,31,226,31,192,6,15,
+  226,31,192,6,15,230,31,192,6,15,244,31,192,6,7,244,
+  31,192,6,7,244,31,192,6,7,252,31,192,6,3,248,31,
+  192,6,3,248,31,192,6,1,248,31,192,6,1,248,31,192,
+  6,1,240,31,192,6,0,240,31,192,15,0,240,31,192,63,
+  192,240,31,192,255,240,97,255,254,34,35,175,37,2,255,255,
+  224,15,255,192,31,240,3,255,0,15,240,0,252,0,15,248,
+  0,120,0,7,252,0,48,0,3,254,0,48,0,3,254,0,
+  48,0,3,255,0,48,0,3,255,128,48,0,3,255,128,48,
+  0,3,127,192,48,0,3,63,224,48,0,3,31,224,48,0,
+  3,31,240,48,0,3,15,248,48,0,3,7,248,48,0,3,
+  7,252,48,0,3,3,254,48,0,3,1,255,48,0,3,1,
+  255,48,0,3,0,255,176,0,3,0,127,240,0,3,0,127,
+  240,0,3,0,63,240,0,3,0,31,240,0,3,0,15,240,
+  0,3,0,15,240,0,3,0,7,240,0,3,0,3,240,0,
+  3,0,3,240,0,7,128,1,240,0,15,192,0,240,0,63,
+  240,0,240,0,255,252,0,112,0,0,0,0,48,0,28,34,
+  136,33,3,1,0,63,192,0,0,224,112,0,3,192,56,0,
+  7,128,30,0,15,128,30,0,15,0,15,0,31,0,15,128,
+  63,0,15,192,63,0,15,192,127,0,15,192,127,0,15,224,
+  127,0,15,224,127,0,15,224,255,0,15,240,255,0,15,240,
+  255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,
+  255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224,
+  127,0,15,224,127,0,15,192,63,0,15,192,63,0,15,192,
+  31,0,15,128,15,0,15,0,15,128,31,0,7,128,30,0,
+  3,192,60,0,0,224,112,0,0,63,192,0,29,34,136,34,
+  3,0,255,255,248,0,7,240,63,0,7,240,15,192,7,240,
+  15,224,7,240,15,240,7,240,7,240,7,240,7,248,7,240,
+  7,248,7,240,7,248,7,240,7,248,7,240,7,248,7,240,
+  7,248,7,240,7,240,7,240,15,240,7,240,15,224,7,240,
+  15,192,7,240,31,0,7,255,252,0,7,240,0,0,7,240,
+  0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,
+  0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,
+  0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,
+  0,0,7,240,0,0,255,255,128,0,28,45,180,33,3,246,
+  0,63,192,0,0,224,112,0,3,192,56,0,7,128,30,0,
+  15,128,30,0,15,0,15,0,31,0,15,128,63,0,15,128,
+  63,0,15,192,127,0,15,192,127,0,15,224,127,0,15,224,
+  127,0,15,224,255,0,15,240,255,0,15,240,255,0,15,240,
+  255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,
+  255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224,
+  127,0,15,224,63,0,15,192,63,15,15,192,31,17,143,128,
+  15,160,223,0,15,160,223,0,7,160,254,0,3,224,252,16,
+  0,240,248,16,0,127,224,16,0,0,224,16,0,0,224,16,
+  0,0,224,48,0,0,240,48,0,0,248,112,0,0,255,240,
+  0,0,255,224,0,0,127,224,0,0,127,192,0,0,63,128,
+  0,0,31,0,32,36,144,36,3,254,255,255,240,0,7,240,
+  126,0,7,240,63,0,7,240,63,128,7,240,31,192,7,240,
+  31,192,7,240,31,224,7,240,31,224,7,240,31,224,7,240,
+  31,224,7,240,31,224,7,240,31,192,7,240,63,192,7,240,
+  63,0,7,240,126,0,7,255,240,0,7,240,240,0,7,240,
+  62,0,7,240,63,0,7,240,31,128,7,240,31,128,7,240,
+  31,192,7,240,31,192,7,240,31,192,7,240,31,192,7,240,
+  31,195,7,240,31,195,7,240,31,195,7,240,31,195,7,240,
+  31,195,7,240,31,198,7,240,31,198,7,240,15,238,255,255,
+  135,252,0,0,3,248,0,0,0,96,23,34,102,29,4,1,
+  7,252,24,24,15,24,56,3,248,112,1,248,112,0,248,240,
+  0,120,248,0,120,248,0,56,252,0,24,254,0,24,255,128,
+  24,255,224,8,127,240,0,127,252,0,63,254,0,31,255,128,
+  15,255,192,3,255,240,1,255,248,128,127,248,192,31,252,192,
+  15,252,192,3,254,224,1,254,224,0,126,224,0,62,240,0,
+  30,248,0,30,248,0,28,252,0,28,254,0,24,239,0,48,
+  195,128,96,193,255,128,29,34,136,34,3,0,255,255,255,248,
+  255,63,231,248,252,31,193,248,248,31,192,248,248,31,192,248,
+  240,31,192,120,224,31,192,56,224,31,192,56,224,31,192,56,
+  192,31,192,24,192,31,192,24,192,31,192,24,192,31,192,24,
+  128,31,192,8,0,31,192,0,0,31,192,0,0,31,192,0,
+  0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0,
+  0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0,
+  0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0,
+  0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0,
+  3,255,254,0,33,34,170,38,3,0,255,255,7,255,128,15,
+  224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224,
+  0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,
+  48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,
   0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,
   15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,
   224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,
   0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,
-  48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,
-  0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,
-  15,224,0,48,0,15,224,0,48,0,7,224,0,48,0,7,
-  224,0,96,0,7,240,0,96,0,3,240,0,192,0,1,248,
-  1,192,0,0,252,3,128,0,0,127,159,0,0,0,31,252,
-  0,0,34,34,170,37,2,0,255,255,135,255,192,15,248,0,
-  126,0,7,248,0,56,0,7,248,0,56,0,3,248,0,48,
-  0,3,252,0,48,0,3,252,0,48,0,1,254,0,96,0,
-  1,254,0,96,0,0,254,0,96,0,0,255,0,192,0,0,
-  255,0,192,0,0,127,0,192,0,0,127,129,128,0,0,127,
-  129,128,0,0,63,129,128,0,0,63,195,0,0,0,63,195,
-  0,0,0,31,195,0,0,0,31,230,0,0,0,15,230,0,
-  0,0,15,246,0,0,0,15,252,0,0,0,7,252,0,0,
-  0,7,252,0,0,0,7,248,0,0,0,3,248,0,0,0,
-  3,248,0,0,0,3,240,0,0,0,1,240,0,0,0,1,
-  240,0,0,0,0,224,0,0,0,0,224,0,0,0,0,224,
-  0,0,49,34,238,52,2,0,255,255,63,255,207,255,128,31,
-  252,7,254,0,252,0,7,248,3,252,0,112,0,7,248,1,
-  252,0,112,0,3,248,1,254,0,96,0,3,252,1,254,0,
-  96,0,3,252,0,254,0,96,0,1,252,0,254,0,192,0,
-  1,254,1,255,0,192,0,1,254,1,255,0,192,0,0,254,
-  1,255,1,128,0,0,255,3,127,129,128,0,0,255,3,63,
-  129,128,0,0,127,3,63,129,128,0,0,127,135,63,195,0,
-  0,0,127,134,31,195,0,0,0,63,134,31,195,0,0,0,
-  63,198,31,231,0,0,0,31,204,15,230,0,0,0,31,204,
-  15,230,0,0,0,31,236,15,246,0,0,0,15,248,7,252,
-  0,0,0,15,248,7,252,0,0,0,15,248,7,252,0,0,
-  0,7,248,3,252,0,0,0,7,240,3,248,0,0,0,7,
-  240,3,248,0,0,0,3,240,1,248,0,0,0,3,224,1,
-  240,0,0,0,3,224,1,240,0,0,0,1,224,0,240,0,
-  0,0,1,192,0,240,0,0,0,1,192,0,224,0,0,0,
-  0,192,0,96,0,0,33,34,170,36,2,0,127,255,31,254,
-  0,31,252,3,240,0,7,248,3,192,0,3,248,3,128,0,
-  3,252,3,128,0,1,252,3,0,0,1,254,7,0,0,0,
-  255,6,0,0,0,255,12,0,0,0,127,140,0,0,0,127,
-  152,0,0,0,63,240,0,0,0,63,240,0,0,0,31,224,
-  0,0,0,31,224,0,0,0,15,240,0,0,0,15,248,0,
-  0,0,7,248,0,0,0,7,252,0,0,0,7,252,0,0,
-  0,15,254,0,0,0,29,254,0,0,0,24,255,0,0,0,
-  56,255,0,0,0,48,127,128,0,0,96,127,128,0,0,224,
-  63,192,0,0,192,63,224,0,1,128,31,224,0,3,128,31,
-  240,0,3,128,15,240,0,7,128,15,248,0,31,128,31,252,
-  0,255,240,127,255,128,32,34,136,35,2,0,255,254,15,255,
-  31,248,1,248,15,248,0,240,7,248,0,224,7,248,0,192,
-  3,252,0,192,3,252,0,192,1,252,1,128,1,254,1,128,
-  0,254,3,0,0,255,3,0,0,255,3,0,0,127,134,0,
-  0,127,134,0,0,63,196,0,0,63,204,0,0,31,204,0,
-  0,31,248,0,0,15,248,0,0,15,248,0,0,7,240,0,
-  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
-  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
-  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
-  0,255,255,0,25,34,136,31,3,0,127,255,255,128,127,128,
-  127,128,126,0,255,0,124,0,255,0,120,1,254,0,120,3,
-  254,0,112,3,252,0,112,7,252,0,96,7,248,0,96,15,
-  248,0,96,15,240,0,64,31,224,0,0,31,224,0,0,63,
-  192,0,0,63,192,0,0,127,128,0,0,127,128,0,0,255,
-  0,0,0,255,0,0,1,254,0,0,3,254,0,128,3,252,
-  0,128,7,248,0,128,7,248,0,128,15,240,1,128,15,240,
-  1,128,31,224,3,128,31,224,3,128,63,192,7,128,63,192,
-  15,128,127,128,31,128,127,128,63,128,255,255,255,128,255,255,
-  255,128,11,42,84,18,4,248,255,224,248,0,248,0,248,0,
+  48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48,
+  0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0,
+  1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0,
+  31,252,0,0,34,34,170,37,2,0,255,255,135,255,192,15,
+  248,0,126,0,7,248,0,56,0,7,248,0,56,0,3,248,
+  0,48,0,3,252,0,48,0,3,252,0,48,0,1,254,0,
+  96,0,1,254,0,96,0,0,254,0,96,0,0,255,0,192,
+  0,0,255,0,192,0,0,127,0,192,0,0,127,129,128,0,
+  0,127,129,128,0,0,63,129,128,0,0,63,195,0,0,0,
+  63,195,0,0,0,31,195,0,0,0,31,230,0,0,0,15,
+  230,0,0,0,15,246,0,0,0,15,252,0,0,0,7,252,
+  0,0,0,7,252,0,0,0,7,248,0,0,0,3,248,0,
+  0,0,3,248,0,0,0,3,240,0,0,0,1,240,0,0,
+  0,1,240,0,0,0,0,224,0,0,0,0,224,0,0,0,
+  0,224,0,0,49,34,238,52,2,0,255,255,63,255,207,255,
+  128,31,252,7,254,0,252,0,7,248,3,252,0,112,0,7,
+  248,1,252,0,112,0,3,248,1,254,0,96,0,3,252,1,
+  254,0,96,0,3,252,0,254,0,96,0,1,252,0,254,0,
+  192,0,1,254,1,255,0,192,0,1,254,1,255,0,192,0,
+  0,254,1,255,1,128,0,0,255,3,127,129,128,0,0,255,
+  3,63,129,128,0,0,127,3,63,129,128,0,0,127,135,63,
+  195,0,0,0,127,134,31,195,0,0,0,63,134,31,195,0,
+  0,0,63,198,31,231,0,0,0,31,204,15,230,0,0,0,
+  31,204,15,230,0,0,0,31,236,15,246,0,0,0,15,248,
+  7,252,0,0,0,15,248,7,252,0,0,0,15,248,7,252,
+  0,0,0,7,248,3,252,0,0,0,7,240,3,248,0,0,
+  0,7,240,3,248,0,0,0,3,240,1,248,0,0,0,3,
+  224,1,240,0,0,0,3,224,1,240,0,0,0,1,224,0,
+  240,0,0,0,1,192,0,240,0,0,0,1,192,0,224,0,
+  0,0,0,192,0,96,0,0,33,34,170,36,2,0,127,255,
+  31,254,0,31,252,3,240,0,7,248,3,192,0,3,248,3,
+  128,0,3,252,3,128,0,1,252,3,0,0,1,254,7,0,
+  0,0,255,6,0,0,0,255,12,0,0,0,127,140,0,0,
+  0,127,152,0,0,0,63,240,0,0,0,63,240,0,0,0,
+  31,224,0,0,0,31,224,0,0,0,15,240,0,0,0,15,
+  248,0,0,0,7,248,0,0,0,7,252,0,0,0,7,252,
+  0,0,0,15,254,0,0,0,29,254,0,0,0,24,255,0,
+  0,0,56,255,0,0,0,48,127,128,0,0,96,127,128,0,
+  0,224,63,192,0,0,192,63,224,0,1,128,31,224,0,3,
+  128,31,240,0,3,128,15,240,0,7,128,15,248,0,31,128,
+  31,252,0,255,240,127,255,128,32,34,136,35,2,0,255,254,
+  15,255,31,248,1,248,15,248,0,240,7,248,0,224,7,248,
+  0,192,3,252,0,192,3,252,0,192,1,252,1,128,1,254,
+  1,128,0,254,3,0,0,255,3,0,0,255,3,0,0,127,
+  134,0,0,127,134,0,0,63,196,0,0,63,204,0,0,31,
+  204,0,0,31,248,0,0,15,248,0,0,15,248,0,0,7,
+  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
+  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
+  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
+  240,0,0,255,255,0,25,34,136,31,3,0,127,255,255,128,
+  127,128,127,128,126,0,255,0,124,0,255,0,120,1,254,0,
+  120,3,254,0,112,3,252,0,112,7,252,0,96,7,248,0,
+  96,15,248,0,96,15,240,0,64,31,224,0,0,31,224,0,
+  0,63,192,0,0,63,192,0,0,127,128,0,0,127,128,0,
+  0,255,0,0,0,255,0,0,1,254,0,0,3,254,0,128,
+  3,252,0,128,7,248,0,128,7,248,0,128,15,240,1,128,
+  15,240,1,128,31,224,3,128,31,224,3,128,63,192,7,128,
+  63,192,15,128,127,128,31,128,127,128,63,128,255,255,255,128,
+  255,255,255,128,11,42,84,18,4,248,255,224,248,0,248,0,
   248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,
   248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,
   248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,
   248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,
-  248,0,248,0,248,0,248,0,248,0,255,224,16,44,88,22,
-  3,247,224,0,224,0,224,0,240,0,112,0,112,0,120,0,
-  56,0,56,0,60,0,28,0,28,0,30,0,14,0,14,0,
-  14,0,15,0,7,0,7,0,7,128,3,128,3,128,3,192,
-  1,192,1,192,1,224,0,224,0,224,0,224,0,240,0,112,
-  0,112,0,120,0,56,0,56,0,60,0,28,0,28,0,30,
-  0,14,0,14,0,14,0,15,0,7,11,42,84,18,3,248,
-  255,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,
+  248,0,248,0,248,0,248,0,248,0,248,0,255,224,16,44,
+  88,22,3,247,224,0,224,0,224,0,240,0,112,0,112,0,
+  120,0,56,0,56,0,60,0,28,0,28,0,30,0,14,0,
+  14,0,14,0,15,0,7,0,7,0,7,128,3,128,3,128,
+  3,192,1,192,1,192,1,224,0,224,0,224,0,224,0,240,
+  0,112,0,112,0,120,0,56,0,56,0,60,0,28,0,28,
+  0,30,0,14,0,14,0,14,0,15,0,7,11,42,84,18,
+  3,248,255,224,3,224,3,224,3,224,3,224,3,224,3,224,
   3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,
   3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,
   3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,
   3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,
-  3,224,255,224,22,17,51,28,3,18,0,48,0,0,112,0,
-  0,120,0,0,252,0,0,252,0,1,254,0,3,207,0,3,
-  143,0,7,135,128,15,3,128,15,3,192,30,1,224,60,0,
-  224,60,0,240,120,0,120,112,0,56,240,0,60,25,3,12,
-  25,0,248,255,255,255,128,255,255,255,128,255,255,255,128,8,
-  9,9,21,4,25,96,240,248,124,60,30,15,3,1,21,22,
-  66,24,2,1,15,248,0,24,62,0,56,63,0,120,31,0,
-  124,31,128,126,31,128,126,31,128,62,31,128,8,63,128,1,
-  255,128,7,159,128,30,31,128,62,31,128,124,31,128,124,31,
-  128,252,31,128,252,31,136,252,31,136,252,31,152,254,63,144,
-  127,127,240,63,143,224,22,34,102,25,1,0,255,128,0,31,
-  128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,
-  0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,
-  31,159,128,31,179,224,31,225,224,31,193,240,31,193,248,31,
-  192,248,31,192,248,31,128,252,31,128,252,31,128,252,31,128,
-  252,31,128,252,31,128,252,31,128,252,31,128,252,31,128,248,
-  31,192,248,31,193,248,29,193,240,24,225,224,24,99,192,16,
-  63,128,18,22,66,22,2,1,3,252,0,15,6,0,31,3,
-  0,62,3,128,62,7,128,126,15,128,124,31,128,252,31,128,
-  252,31,0,252,14,0,252,0,0,252,0,0,252,0,0,252,
-  0,0,252,0,0,124,0,64,124,0,192,62,0,128,62,0,
-  128,30,1,0,15,130,0,3,252,0,23,34,102,26,2,0,
-  0,63,224,0,7,224,0,7,224,0,7,224,0,7,224,0,
-  7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,7,
-  224,0,7,224,7,231,224,31,23,224,30,31,224,62,15,224,
-  126,15,224,124,15,224,124,7,224,252,7,224,252,7,224,252,
-  7,224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,
-  224,124,7,224,124,15,224,126,15,224,62,15,224,30,31,224,
-  15,23,224,7,231,254,18,22,66,23,2,1,3,252,0,14,
-  30,0,30,31,0,62,15,128,60,15,128,124,15,128,124,15,
-  192,252,15,192,252,15,192,252,15,192,255,255,192,252,0,0,
-  252,0,0,252,0,0,252,0,64,124,0,64,124,0,192,62,
-  0,192,62,0,128,31,1,0,15,131,0,3,252,0,18,34,
-  102,16,1,1,0,255,0,1,199,128,7,199,128,7,199,192,
-  15,143,192,15,143,192,31,143,192,31,143,128,31,135,128,31,
-  128,0,31,128,0,31,128,0,255,240,0,31,128,0,31,128,
+  3,224,3,224,255,224,22,17,51,28,3,18,0,48,0,0,
+  112,0,0,120,0,0,252,0,0,252,0,1,254,0,3,207,
+  0,3,143,0,7,135,128,15,3,128,15,3,192,30,1,224,
+  60,0,224,60,0,240,120,0,120,112,0,56,240,0,60,25,
+  3,12,25,0,248,255,255,255,128,255,255,255,128,255,255,255,
+  128,8,9,9,21,4,25,96,240,248,124,60,30,15,3,1,
+  21,22,66,24,2,1,15,248,0,24,62,0,56,63,0,120,
+  31,0,124,31,128,126,31,128,126,31,128,62,31,128,8,63,
+  128,1,255,128,7,159,128,30,31,128,62,31,128,124,31,128,
+  124,31,128,252,31,128,252,31,136,252,31,136,252,31,152,254,
+  63,144,127,127,240,63,143,224,22,34,102,25,1,0,255,128,
   0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,
   31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,
+  128,0,31,159,128,31,179,224,31,225,224,31,193,240,31,193,
+  248,31,192,248,31,192,248,31,128,252,31,128,252,31,128,252,
+  31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31,
+  128,248,31,192,248,31,193,248,29,193,240,24,225,224,24,99,
+  192,16,63,128,18,22,66,22,2,1,3,252,0,15,6,0,
+  31,3,0,62,3,128,62,7,128,126,15,128,124,31,128,252,
+  31,128,252,31,0,252,14,0,252,0,0,252,0,0,252,0,
+  0,252,0,0,252,0,0,124,0,64,124,0,192,62,0,128,
+  62,0,128,30,1,0,15,130,0,3,252,0,23,34,102,26,
+  2,0,0,63,224,0,7,224,0,7,224,0,7,224,0,7,
+  224,0,7,224,0,7,224,0,7,224,0,7,224,0,7,224,
+  0,7,224,0,7,224,7,231,224,31,23,224,30,31,224,62,
+  15,224,126,15,224,124,15,224,124,7,224,252,7,224,252,7,
+  224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,224,
+  252,7,224,124,7,224,124,15,224,126,15,224,62,15,224,30,
+  31,224,15,23,224,7,231,254,18,22,66,23,2,1,3,252,
+  0,14,30,0,30,31,0,62,15,128,60,15,128,124,15,128,
+  124,15,192,252,15,192,252,15,192,252,15,192,255,255,192,252,
+  0,0,252,0,0,252,0,0,252,0,64,124,0,64,124,0,
+  192,62,0,192,62,0,128,31,1,0,15,131,0,3,252,0,
+  18,34,102,16,1,1,0,255,0,1,199,128,7,199,128,7,
+  199,192,15,143,192,15,143,192,31,143,192,31,143,128,31,135,
+  128,31,128,0,31,128,0,31,128,0,255,240,0,31,128,0,
+  31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,
   128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,
-  0,31,128,0,31,128,0,255,240,0,24,33,99,27,2,246,
-  7,254,62,31,15,71,63,7,143,62,7,207,126,7,238,126,
-  7,228,126,7,224,126,7,224,126,7,224,62,7,192,31,15,
-  128,15,15,0,3,252,0,12,0,0,48,0,0,48,0,0,
-  112,0,0,112,0,0,127,255,128,127,255,224,63,255,240,31,
-  255,240,7,255,248,60,1,248,96,0,120,192,0,56,192,0,
-  56,192,0,48,192,0,112,96,0,96,48,1,192,30,7,128,
-  3,252,0,24,34,102,27,1,0,255,128,0,31,128,0,31,
-  128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,
-  0,31,128,0,31,128,0,31,128,0,31,128,0,31,143,224,
-  31,145,240,31,160,248,31,160,252,31,192,252,31,192,252,31,
-  192,252,31,128,252,31,128,252,31,128,252,31,128,252,31,128,
-  252,31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,
-  31,128,252,31,128,252,31,128,252,31,128,252,255,227,255,11,
-  35,70,15,2,0,4,0,31,0,63,128,63,128,63,128,63,
-  128,31,0,4,0,0,0,0,0,0,0,0,0,0,0,255,
-  0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,
+  0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,
+  31,128,0,31,128,0,31,128,0,255,240,0,24,33,99,27,
+  2,246,7,254,62,31,15,71,63,7,143,62,7,207,126,7,
+  238,126,7,228,126,7,224,126,7,224,126,7,224,62,7,192,
+  31,15,128,15,15,0,3,252,0,12,0,0,48,0,0,48,
+  0,0,112,0,0,112,0,0,127,255,128,127,255,224,63,255,
+  240,31,255,240,7,255,248,60,1,248,96,0,120,192,0,56,
+  192,0,56,192,0,48,192,0,112,96,0,96,48,1,192,30,
+  7,128,3,252,0,24,34,102,27,1,0,255,128,0,31,128,
+  0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,
+  31,128,0,31,128,0,31,128,0,31,128,0,31,129,0,31,
+  143,224,31,145,240,31,160,248,31,160,252,31,192,252,31,192,
+  252,31,192,252,31,128,252,31,128,252,31,128,252,31,128,252,
+  31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31,
+  128,252,31,128,252,31,128,252,31,128,252,31,128,252,255,227,
+  255,11,35,70,15,2,0,4,0,31,0,63,128,63,128,63,
+  128,63,128,31,0,4,0,0,0,0,0,0,0,0,0,0,
+  0,255,0,63,0,63,0,63,0,63,0,63,0,63,0,63,
   0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,
-  0,63,0,63,0,63,0,63,0,255,224,15,46,92,16,254,
-  245,0,16,0,124,0,254,0,254,0,254,0,254,0,124,0,
-  16,0,0,0,0,0,0,0,0,0,0,7,252,0,252,0,
+  0,63,0,63,0,63,0,63,0,63,0,255,224,15,46,92,
+  16,254,245,0,16,0,124,0,254,0,254,0,254,0,254,0,
+  124,0,16,0,0,0,0,0,0,0,0,0,0,7,252,0,
   252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,
   252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,
-  252,0,252,0,252,0,252,0,252,0,252,56,252,124,252,252,
-  252,252,252,248,248,248,248,113,240,49,224,31,128,25,34,136,
-  27,1,0,255,128,0,0,31,128,0,0,31,128,0,0,31,
-  128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,
-  128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,
-  128,0,0,31,131,254,0,31,128,240,0,31,128,96,0,31,
-  128,192,0,31,128,128,0,31,129,128,0,31,131,0,0,31,
-  134,0,0,31,143,0,0,31,159,0,0,31,159,128,0,31,
-  191,128,0,31,239,192,0,31,199,224,0,31,135,224,0,31,
-  131,240,0,31,129,248,0,31,129,248,0,31,128,252,0,31,
-  128,252,0,31,128,254,0,255,243,255,128,12,34,68,14,1,
-  0,255,128,31,128,31,128,31,128,31,128,31,128,31,128,31,
+  252,0,252,0,252,0,252,0,252,0,252,0,252,56,252,124,
+  252,252,252,252,252,248,248,248,248,113,240,49,224,31,128,25,
+  34,136,27,1,0,255,128,0,0,31,128,0,0,31,128,0,
+  0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0,
+  0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0,
+  0,31,128,0,0,31,131,254,0,31,128,240,0,31,128,96,
+  0,31,128,192,0,31,128,128,0,31,129,128,0,31,131,0,
+  0,31,134,0,0,31,143,0,0,31,159,0,0,31,159,128,
+  0,31,191,128,0,31,239,192,0,31,199,224,0,31,135,224,
+  0,31,131,240,0,31,129,248,0,31,129,248,0,31,128,252,
+  0,31,128,252,0,31,128,254,0,255,243,255,128,12,34,68,
+  14,1,0,255,128,31,128,31,128,31,128,31,128,31,128,31,
   128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,
   128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,
   128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,
-  128,31,128,255,240,34,22,110,37,2,1,255,31,193,248,0,
-  63,35,230,124,0,63,67,228,62,0,63,131,248,63,0,63,
-  131,248,63,0,63,131,248,63,0,63,3,240,63,0,63,3,
+  128,31,128,31,128,255,240,34,22,110,37,2,1,255,31,193,
+  248,0,63,35,230,124,0,63,67,228,62,0,63,131,248,63,
+  0,63,131,248,63,0,63,131,248,63,0,63,3,240,63,0,
+  63,3,240,63,0,63,3,240,63,0,63,3,240,63,0,63,
+  3,240,63,0,63,3,240,63,0,63,3,240,63,0,63,3,
   240,63,0,63,3,240,63,0,63,3,240,63,0,63,3,240,
   63,0,63,3,240,63,0,63,3,240,63,0,63,3,240,63,
-  0,63,3,240,63,0,63,3,240,63,0,63,3,240,63,0,
-  63,3,240,63,0,63,3,240,63,0,63,3,240,63,0,63,
-  3,240,63,0,255,207,252,255,192,23,22,66,27,2,1,255,
-  31,192,63,35,224,63,65,240,63,65,248,63,129,248,63,129,
+  0,63,3,240,63,0,255,207,252,255,192,23,22,66,27,2,
+  1,255,31,192,63,35,224,63,65,240,63,65,248,63,129,248,
+  63,129,248,63,1,248,63,1,248,63,1,248,63,1,248,63,
+  1,248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,
   248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248,
-  63,1,248,63,1,248,63,1,248,63,1,248,63,1,248,63,
-  1,248,63,1,248,63,1,248,63,1,248,63,1,248,255,199,
-  254,20,22,66,24,2,1,3,252,0,15,15,0,30,7,128,
-  62,7,192,62,7,192,124,3,224,124,3,224,252,3,240,252,
-  3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,
-  240,252,3,240,124,3,224,124,3,224,62,7,192,62,7,192,
-  30,7,128,15,15,0,3,252,0,22,33,99,25,1,246,255,
-  159,128,31,163,192,31,225,224,31,193,240,31,192,248,31,192,
-  248,31,192,248,31,128,252,31,128,252,31,128,252,31,128,252,
-  31,128,252,31,128,252,31,128,252,31,128,252,31,192,252,31,
-  192,248,31,192,248,31,193,240,31,225,240,31,179,224,31,159,
-  128,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,
-  31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,255,
-  240,0,22,33,99,25,2,246,7,240,32,15,24,96,30,28,
-  96,62,14,224,126,15,224,124,15,224,124,7,224,252,7,224,
-  252,7,224,252,7,224,252,7,224,252,7,224,252,7,224,252,
-  7,224,252,7,224,124,7,224,124,15,224,126,15,224,62,15,
-  224,30,31,224,31,23,224,7,231,224,0,7,224,0,7,224,
-  0,7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,
-  7,224,0,7,224,0,7,224,0,63,252,17,22,66,20,2,
-  1,255,31,0,63,63,128,63,79,128,63,79,128,63,159,128,
-  63,159,128,63,159,0,63,14,0,63,0,0,63,0,0,63,
-  0,0,63,0,0,63,0,0,63,0,0,63,0,0,63,0,
+  255,199,254,20,22,66,24,2,1,3,252,0,15,15,0,30,
+  7,128,62,7,192,62,7,192,124,3,224,124,3,224,252,3,
+  240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,
+  252,3,240,252,3,240,124,3,224,124,3,224,62,7,192,62,
+  7,192,30,7,128,15,15,0,3,252,0,22,33,99,25,1,
+  246,255,159,128,31,163,192,31,225,224,31,193,240,31,192,248,
+  31,192,248,31,192,248,31,128,252,31,128,252,31,128,252,31,
+  128,252,31,128,252,31,128,252,31,128,252,31,128,252,31,192,
+  252,31,192,248,31,192,248,31,193,240,31,225,240,31,179,224,
+  31,159,128,31,128,0,31,128,0,31,128,0,31,128,0,31,
+  128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,
+  0,255,240,0,22,33,99,25,2,246,7,240,32,15,24,96,
+  30,28,96,62,14,224,126,15,224,124,15,224,124,7,224,252,
+  7,224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,
+  224,252,7,224,252,7,224,124,7,224,124,15,224,126,15,224,
+  62,15,224,30,31,224,31,23,224,7,231,224,0,7,224,0,
+  7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,7,
+  224,0,7,224,0,7,224,0,7,224,0,63,252,17,22,66,
+  20,2,1,255,31,0,63,63,128,63,79,128,63,79,128,63,
+  159,128,63,159,128,63,159,0,63,14,0,63,0,0,63,0,
   0,63,0,0,63,0,0,63,0,0,63,0,0,63,0,0,
-  255,192,0,16,22,44,21,3,1,31,196,48,116,96,60,224,
-  28,224,28,240,12,248,4,254,4,127,128,127,224,63,240,31,
-  252,7,254,129,254,192,127,192,31,224,15,224,7,240,7,248,
-  6,204,14,135,248,15,32,64,17,1,0,1,128,1,128,1,
-  128,1,128,1,128,3,128,3,128,7,128,15,128,63,128,255,
-  248,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,
-  128,31,128,31,128,31,128,31,130,31,130,31,130,31,130,31,
-  134,31,134,31,132,15,196,15,248,7,240,24,22,66,26,1,
-  0,255,143,248,31,129,248,31,129,248,31,129,248,31,129,248,
-  31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,
+  63,0,0,63,0,0,63,0,0,63,0,0,63,0,0,63,
+  0,0,255,192,0,16,22,44,21,3,1,31,196,48,116,96,
+  60,224,28,224,28,240,12,248,4,254,4,127,128,127,224,63,
+  240,31,252,7,254,129,254,192,127,192,31,224,15,224,7,240,
+  7,248,6,204,14,135,248,15,32,64,17,1,0,1,128,1,
+  128,1,128,1,128,1,128,3,128,3,128,7,128,15,128,63,
+  128,255,248,31,128,31,128,31,128,31,128,31,128,31,128,31,
+  128,31,128,31,128,31,128,31,128,31,130,31,130,31,130,31,
+  130,31,134,31,134,31,132,15,196,15,248,7,240,24,22,66,
+  26,1,0,255,143,248,31,129,248,31,129,248,31,129,248,31,
   129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,
-  248,31,131,248,31,131,248,31,133,248,15,133,248,15,201,248,
-  7,241,255,23,23,69,25,1,255,255,241,254,63,192,120,31,
-  128,48,15,192,48,15,192,32,7,192,96,7,224,96,7,224,
-  64,3,224,192,3,240,128,3,240,128,1,241,128,1,249,0,
-  0,249,0,0,255,0,0,254,0,0,126,0,0,126,0,0,
-  124,0,0,60,0,0,60,0,0,24,0,0,24,0,35,23,
-  115,37,1,255,255,231,255,31,224,63,129,252,7,128,31,128,
-  252,3,0,15,128,252,2,0,15,192,124,2,0,15,192,124,
-  6,0,7,192,126,4,0,7,224,254,4,0,3,224,191,12,
-  0,3,224,191,8,0,3,241,159,24,0,1,241,31,144,0,
-  1,241,31,144,0,1,251,31,176,0,0,250,15,224,0,0,
-  250,15,224,0,0,254,15,224,0,0,124,7,192,0,0,124,
-  7,192,0,0,60,7,192,0,0,56,3,128,0,0,56,3,
-  128,0,0,24,3,0,0,23,22,66,25,1,0,255,231,252,
-  63,192,240,31,192,224,15,192,192,15,225,128,7,227,0,3,
-  242,0,3,254,0,1,252,0,1,252,0,0,252,0,0,126,
-  0,0,127,0,0,127,0,0,223,128,1,159,192,3,15,192,
-  2,15,224,6,7,224,14,7,240,30,7,248,255,207,254,23,
-  33,99,25,1,245,255,241,254,63,192,120,31,128,48,15,192,
-  32,15,192,32,15,192,96,7,224,64,7,224,64,3,240,192,
-  3,240,128,1,248,128,1,249,128,0,249,0,0,253,0,0,
-  253,0,0,126,0,0,126,0,0,62,0,0,60,0,0,28,
-  0,0,28,0,0,12,0,0,8,0,0,8,0,0,8,0,
-  15,16,0,31,16,0,63,144,0,63,32,0,62,32,0,62,
-  64,0,31,192,0,15,0,0,18,22,66,22,2,0,127,255,
-  192,124,15,192,120,31,128,112,63,0,96,63,0,96,126,0,
-  64,126,0,64,252,0,1,248,0,1,248,0,3,240,0,3,
-  240,0,7,224,64,15,192,64,15,192,64,31,128,192,31,0,
-  192,63,1,192,126,1,192,126,3,192,252,15,192,255,255,192,
-  14,43,86,20,3,247,0,60,0,240,3,192,7,128,7,128,
-  15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,
-  15,128,15,128,15,128,15,128,15,128,15,0,15,0,28,0,
-  240,0,60,0,30,0,15,0,15,128,15,128,15,128,15,128,
+  248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,
+  31,129,248,31,131,248,31,131,248,31,133,248,15,133,248,15,
+  201,248,7,241,255,23,23,69,25,1,255,255,241,254,63,192,
+  120,31,128,48,15,192,48,15,192,32,7,192,96,7,224,96,
+  7,224,64,3,224,192,3,240,128,3,240,128,1,241,128,1,
+  249,0,0,249,0,0,255,0,0,254,0,0,126,0,0,126,
+  0,0,124,0,0,60,0,0,60,0,0,24,0,0,24,0,
+  35,23,115,37,1,255,255,231,255,31,224,63,129,252,7,128,
+  31,128,252,3,0,15,128,252,2,0,15,192,124,2,0,15,
+  192,124,6,0,7,192,126,4,0,7,224,254,4,0,3,224,
+  191,12,0,3,224,191,8,0,3,241,159,24,0,1,241,31,
+  144,0,1,241,31,144,0,1,251,31,176,0,0,250,15,224,
+  0,0,250,15,224,0,0,254,15,224,0,0,124,7,192,0,
+  0,124,7,192,0,0,60,7,192,0,0,56,3,128,0,0,
+  56,3,128,0,0,24,3,0,0,23,22,66,25,1,0,255,
+  231,252,63,192,240,31,192,224,15,192,192,15,225,128,7,227,
+  0,3,242,0,3,254,0,1,252,0,1,252,0,0,252,0,
+  0,126,0,0,127,0,0,127,0,0,223,128,1,159,192,3,
+  15,192,2,15,224,6,7,224,14,7,240,30,7,248,255,207,
+  254,23,33,99,25,1,245,255,241,254,63,192,120,31,128,48,
+  15,192,32,15,192,32,15,192,96,7,224,64,7,224,64,3,
+  240,192,3,240,128,1,248,128,1,249,128,0,249,0,0,253,
+  0,0,253,0,0,126,0,0,126,0,0,62,0,0,60,0,
+  0,28,0,0,28,0,0,12,0,0,8,0,0,8,0,0,
+  8,0,15,16,0,31,16,0,63,144,0,63,32,0,62,32,
+  0,62,64,0,31,192,0,15,0,0,18,22,66,22,2,0,
+  127,255,192,124,15,192,120,31,128,112,63,0,96,63,0,96,
+  126,0,64,126,0,64,252,0,1,248,0,1,248,0,3,240,
+  0,3,240,0,7,224,64,15,192,64,15,192,64,31,128,192,
+  31,0,192,63,1,192,126,1,192,126,3,192,252,15,192,255,
+  255,192,14,43,86,20,3,247,0,60,0,240,3,192,7,128,
+  7,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,
+  15,128,15,128,15,128,15,128,15,128,15,128,15,0,15,0,
+  28,0,240,0,60,0,30,0,15,0,15,128,15,128,15,128,
   15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,
-  15,128,7,128,7,128,3,192,0,240,0,60,3,44,44,13,
-  5,247,224,224,224,224,224,224,224,224,224,224,224,224,224,224,
+  15,128,15,128,7,128,7,128,3,192,0,240,0,60,3,44,
+  44,13,5,247,224,224,224,224,224,224,224,224,224,224,224,224,
   224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,
-  224,224,224,224,224,224,224,224,224,224,224,224,224,224,15,43,
-  86,20,3,247,240,0,60,0,15,0,7,128,7,128,7,192,
+  224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,
+  15,43,86,20,3,247,240,0,60,0,15,0,7,128,7,128,
   7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,
-  7,192,7,192,7,192,7,192,3,192,3,192,0,240,0,62,
-  0,240,1,224,3,192,7,192,7,192,7,192,7,192,7,192,
+  7,192,7,192,7,192,7,192,7,192,3,192,3,192,0,240,
+  0,62,0,240,1,224,3,192,7,192,7,192,7,192,7,192,
   7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,
-  7,128,7,128,15,0,60,0,240,0,27,9,36,31,2,8,
-  31,128,1,128,63,240,0,192,127,254,0,96,255,255,128,96,
-  193,255,240,96,192,63,255,224,192,15,255,192,96,1,255,128,
-  48,0,63,0,255,255,255,255,255,255,255,255,255,255,255,255,
+  7,192,7,128,7,128,15,0,60,0,240,0,27,9,36,31,
+  2,8,31,128,1,128,63,240,0,192,127,254,0,96,255,255,
+  128,96,193,255,240,96,192,63,255,224,192,15,255,192,96,1,
+  255,128,48,0,63,0,255,255,255,255,255,255,255,255,255,255,
   255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-  255,255,255,255,255,0,0,0,13,0,0,8,35,35,14,3,
-  245,60,126,255,255,255,126,60,0,0,0,24,24,24,24,24,
-  24,24,24,60,60,60,60,126,126,126,126,254,255,255,255,255,
-  255,255,126,60,18,34,102,28,5,250,0,96,0,0,96,0,
-  0,96,0,0,96,0,0,96,0,1,240,0,7,236,0,15,
-  103,0,30,99,0,62,99,128,126,103,128,126,111,128,124,111,
-  128,252,111,128,252,103,0,252,96,0,252,96,0,252,96,0,
-  252,96,0,252,96,0,252,96,0,124,96,192,124,96,192,62,
-  96,128,62,97,128,30,97,0,15,99,0,7,252,0,0,248,
-  0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,
-  29,34,136,34,3,1,0,1,255,0,0,7,129,192,0,31,
-  0,224,0,31,0,224,0,63,0,240,0,126,1,240,0,126,
-  3,240,0,254,3,240,0,254,3,224,0,254,1,192,0,254,
-  0,0,0,254,0,0,0,254,0,0,0,254,0,0,15,254,
-  0,0,24,126,6,0,0,127,252,0,0,127,0,0,0,63,
-  0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,31,
-  0,0,0,31,0,0,0,30,0,0,0,30,0,24,30,28,
-  0,56,127,220,0,112,195,248,0,224,128,255,255,224,128,127,
-  255,192,128,255,255,128,193,207,255,0,127,3,252,0,24,22,
-  66,28,2,5,96,126,6,243,255,207,127,255,254,63,129,252,
-  30,0,120,60,0,60,56,0,28,56,0,28,112,0,14,112,
-  0,14,112,0,14,112,0,14,112,0,14,112,0,14,56,0,
-  28,56,0,28,60,0,60,30,0,120,63,129,252,127,255,254,
-  243,255,207,96,126,6,26,34,136,28,1,0,255,248,63,192,
-  63,224,15,0,31,224,14,0,31,224,12,0,31,224,12,0,
-  15,240,8,0,15,240,8,0,7,240,24,0,7,248,16,0,
-  3,248,48,0,3,252,32,0,3,252,96,0,1,254,64,0,
-  1,254,192,0,0,254,128,0,0,255,128,0,0,255,0,0,
-  63,255,254,0,0,127,0,0,0,127,0,0,0,127,0,0,
-  0,127,0,0,63,255,254,0,0,127,0,0,0,127,0,0,
-  0,127,0,0,0,127,0,0,0,127,0,0,0,127,0,0,
-  0,127,0,0,0,127,0,0,0,127,0,0,0,127,0,0,
-  7,255,248,0,3,42,42,13,5,248,224,224,224,224,224,224,
-  224,224,224,224,224,224,224,224,224,224,224,0,0,0,0,0,
-  0,0,0,224,224,224,224,224,224,224,224,224,224,224,224,224,
-  224,224,224,224,22,43,129,30,2,248,1,255,0,7,1,192,
-  14,0,224,28,0,224,28,1,240,60,3,240,60,7,240,60,
-  7,240,62,7,224,62,3,192,63,0,0,31,192,0,31,248,
-  0,15,254,0,31,255,128,55,255,192,97,255,240,96,127,248,
-  224,31,248,224,7,252,240,1,252,252,0,124,255,0,60,255,
-  192,28,127,240,24,63,252,24,31,255,16,15,255,160,3,255,
-  192,0,255,224,0,63,224,0,15,240,6,3,240,31,129,240,
-  63,128,240,63,128,240,63,128,240,63,0,240,62,0,224,28,
-  1,192,28,3,192,15,7,0,3,252,0,15,6,12,21,3,
-  26,120,60,252,126,252,126,252,126,252,126,120,60,35,34,170,
-  39,2,1,0,15,254,0,0,0,112,3,192,0,0,192,0,
-  96,0,3,128,0,56,0,6,0,0,28,0,12,0,0,6,
-  0,24,3,225,134,0,24,15,25,131,0,48,30,15,129,128,
-  48,62,7,129,128,96,60,3,128,192,96,124,3,128,192,96,
-  124,1,128,192,192,252,1,128,96,192,252,1,128,96,192,252,
-  0,0,96,192,252,0,0,96,192,252,0,0,96,192,252,0,
-  0,96,192,252,0,128,96,192,252,0,128,96,64,124,0,128,
-  192,96,124,1,128,192,96,60,1,0,192,48,62,3,1,128,
-  48,30,2,1,128,24,15,12,3,0,24,3,248,6,0,12,
-  0,0,6,0,6,0,0,12,0,3,128,0,56,0,0,192,
-  0,96,0,0,112,1,192,0,0,15,254,0,0,14,17,34,
-  18,2,17,31,0,51,192,97,224,113,224,121,224,57,224,7,
-  224,57,224,113,224,241,224,241,228,241,228,241,228,126,248,0,
-  0,127,252,127,252,13,20,40,23,5,1,4,0,28,24,24,
-  48,56,112,112,96,112,224,241,224,241,224,241,224,241,224,241,
-  224,241,224,241,224,112,224,112,224,112,96,56,48,24,16,12,
-  0,4,0,23,13,39,27,2,6,255,255,254,255,255,254,255,
-  255,254,0,0,14,0,0,14,0,0,14,0,0,14,0,0,
-  14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,
-  12,5,10,18,3,10,255,240,255,240,255,240,255,240,255,240,
-  35,34,170,39,2,1,0,15,254,0,0,0,112,3,192,0,
-  0,192,0,96,0,3,128,0,56,0,6,0,0,28,0,12,
-  0,0,6,0,24,255,252,6,0,24,62,31,3,0,48,62,
-  15,129,128,48,62,15,193,128,96,62,15,192,192,96,62,15,
-  192,192,96,62,15,192,192,192,62,15,128,96,192,62,31,0,
-  96,192,63,248,0,96,192,62,60,0,96,192,62,30,0,96,
-  192,62,15,0,96,192,62,15,128,96,192,62,15,128,96,64,
-  62,15,128,192,96,62,15,136,192,96,62,15,136,192,48,62,
-  15,137,128,48,62,15,145,128,24,255,231,243,0,24,0,3,
-  230,0,12,0,0,6,0,6,0,0,12,0,3,128,0,56,
-  0,0,192,0,96,0,0,112,1,192,0,0,15,254,0,0,
-  12,3,6,20,4,28,255,240,255,240,255,240,16,15,30,28,
-  6,20,15,240,31,248,62,124,120,30,240,14,224,7,224,7,
-  224,7,224,7,224,14,112,14,124,60,63,252,31,240,3,192,
-  41,36,216,45,2,253,0,0,28,0,0,0,0,0,28,0,
-  0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,
+  255,255,255,255,255,255,255,0,0,0,13,0,0,8,35,35,
+  14,3,245,60,126,255,255,255,126,60,0,0,0,24,24,24,
+  24,24,24,24,24,60,60,60,60,126,126,126,126,254,255,255,
+  255,255,255,255,126,60,18,34,102,28,5,250,0,96,0,0,
+  96,0,0,96,0,0,96,0,0,96,0,1,240,0,7,236,
+  0,15,103,0,30,99,0,62,99,128,126,103,128,126,111,128,
+  124,111,128,252,111,128,252,103,0,252,96,0,252,96,0,252,
+  96,0,252,96,0,252,96,0,252,96,0,124,96,192,124,96,
+  192,62,96,128,62,97,128,30,97,0,15,99,0,7,252,0,
+  0,248,0,0,96,0,0,96,0,0,96,0,0,96,0,0,
+  96,0,29,34,136,34,3,1,0,1,255,0,0,7,129,192,
+  0,31,0,224,0,31,0,224,0,63,0,240,0,126,1,240,
+  0,126,3,240,0,254,3,240,0,254,3,224,0,254,1,192,
+  0,254,0,0,0,254,0,0,0,254,0,0,0,254,0,0,
+  15,254,0,0,24,126,6,0,0,127,252,0,0,127,0,0,
+  0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,
+  0,31,0,0,0,31,0,0,0,30,0,0,0,30,0,24,
+  30,28,0,56,127,220,0,112,195,248,0,224,128,255,255,224,
+  128,127,255,192,128,255,255,128,193,207,255,0,127,3,252,0,
+  24,22,66,28,2,5,96,126,6,243,255,207,127,255,254,63,
+  129,252,30,0,120,60,0,60,56,0,28,56,0,28,112,0,
+  14,112,0,14,112,0,14,112,0,14,112,0,14,112,0,14,
+  56,0,28,56,0,28,60,0,60,30,0,120,63,129,252,127,
+  255,254,243,255,207,96,126,6,26,34,136,28,1,0,255,248,
+  63,192,63,224,15,0,31,224,14,0,31,224,12,0,31,224,
+  12,0,15,240,8,0,15,240,8,0,7,240,24,0,7,248,
+  16,0,3,248,48,0,3,252,32,0,3,252,96,0,1,254,
+  64,0,1,254,192,0,0,254,128,0,0,255,128,0,0,255,
+  0,0,63,255,254,0,0,127,0,0,0,127,0,0,0,127,
+  0,0,0,127,0,0,63,255,254,0,0,127,0,0,0,127,
+  0,0,0,127,0,0,0,127,0,0,0,127,0,0,0,127,
+  0,0,0,127,0,0,0,127,0,0,0,127,0,0,0,127,
+  0,0,7,255,248,0,3,42,42,13,5,248,224,224,224,224,
+  224,224,224,224,224,224,224,224,224,224,224,224,224,0,0,0,
+  0,0,0,0,0,224,224,224,224,224,224,224,224,224,224,224,
+  224,224,224,224,224,224,22,43,129,30,2,248,1,255,0,7,
+  1,192,14,0,224,28,0,224,28,1,240,60,3,240,60,7,
+  240,60,7,240,62,7,224,62,3,192,63,0,0,31,192,0,
+  31,248,0,15,254,0,31,255,128,55,255,192,97,255,240,96,
+  127,248,224,31,248,224,7,252,240,1,252,252,0,124,255,0,
+  60,255,192,28,127,240,24,63,252,24,31,255,16,15,255,160,
+  3,255,192,0,255,224,0,63,224,0,15,240,6,3,240,31,
+  129,240,63,128,240,63,128,240,63,128,240,63,0,240,62,0,
+  224,28,1,192,28,3,192,15,7,0,3,252,0,15,6,12,
+  21,3,26,120,60,252,126,252,126,252,126,252,126,120,60,35,
+  34,170,39,2,1,0,15,254,0,0,0,112,3,192,0,0,
+  192,0,96,0,3,128,0,56,0,6,0,0,28,0,12,0,
+  0,6,0,24,3,225,134,0,24,15,25,131,0,48,30,15,
+  129,128,48,62,7,129,128,96,60,3,128,192,96,124,3,128,
+  192,96,124,1,128,192,192,252,1,128,96,192,252,1,128,96,
+  192,252,0,0,96,192,252,0,0,96,192,252,0,0,96,192,
+  252,0,0,96,192,252,0,128,96,192,252,0,128,96,64,124,
+  0,128,192,96,124,1,128,192,96,60,1,0,192,48,62,3,
+  1,128,48,30,2,1,128,24,15,12,3,0,24,3,248,6,
+  0,12,0,0,6,0,6,0,0,12,0,3,128,0,56,0,
+  0,192,0,96,0,0,112,1,192,0,0,15,254,0,0,14,
+  17,34,18,2,17,31,0,51,192,97,224,113,224,121,224,57,
+  224,7,224,57,224,113,224,241,224,241,228,241,228,241,228,126,
+  248,0,0,127,252,127,252,13,20,40,23,5,1,4,0,28,
+  24,24,48,56,112,112,96,112,224,241,224,241,224,241,224,241,
+  224,241,224,241,224,241,224,112,224,112,224,112,96,56,48,24,
+  16,12,0,4,0,23,13,39,27,2,6,255,255,254,255,255,
+  254,255,255,254,0,0,14,0,0,14,0,0,14,0,0,14,
+  0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,
+  0,14,12,5,10,18,3,10,255,240,255,240,255,240,255,240,
+  255,240,35,34,170,39,2,1,0,15,254,0,0,0,112,3,
+  192,0,0,192,0,96,0,3,128,0,56,0,6,0,0,28,
+  0,12,0,0,6,0,24,255,252,6,0,24,62,31,3,0,
+  48,62,15,129,128,48,62,15,193,128,96,62,15,192,192,96,
+  62,15,192,192,96,62,15,192,192,192,62,15,128,96,192,62,
+  31,0,96,192,63,248,0,96,192,62,60,0,96,192,62,30,
+  0,96,192,62,15,0,96,192,62,15,128,96,192,62,15,128,
+  96,64,62,15,128,192,96,62,15,136,192,96,62,15,136,192,
+  48,62,15,137,128,48,62,15,145,128,24,255,231,243,0,24,
+  0,3,230,0,12,0,0,6,0,6,0,0,12,0,3,128,
+  0,56,0,0,192,0,96,0,0,112,1,192,0,0,15,254,
+  0,0,12,3,6,20,4,28,255,240,255,240,255,240,16,15,
+  30,28,6,20,15,240,31,248,62,124,120,30,240,14,224,7,
+  224,7,224,7,224,7,224,14,112,14,124,60,63,252,31,240,
+  3,192,41,36,216,45,2,253,0,0,28,0,0,0,0,0,
   28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,
   0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,
   0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,
-  28,0,0,0,0,0,28,0,0,0,255,255,255,255,255,128,
-  255,255,255,255,255,128,255,255,255,255,255,128,0,0,28,0,
-  0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,
+  28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,
+  0,0,28,0,0,0,0,0,28,0,0,0,255,255,255,255,
+  255,128,255,255,255,255,255,128,255,255,255,255,255,128,0,0,
   28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,
   0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,
   0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,
-  28,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,
-  255,0,255,255,255,255,255,0,255,255,255,255,255,0,14,21,
-  42,21,4,14,31,240,48,248,96,124,224,124,240,124,248,124,
-  248,120,120,248,1,240,1,224,3,128,6,0,12,4,16,4,
-  32,4,32,12,127,252,127,252,79,248,71,248,1,224,16,21,
-  42,22,3,14,31,224,48,248,112,124,112,124,124,124,124,124,
-  60,124,0,120,0,224,15,128,0,240,0,124,0,62,16,63,
-  124,63,252,63,252,63,240,63,112,126,112,252,31,240,8,9,
-  9,21,9,25,6,15,31,62,60,120,240,192,128,24,35,105,
-  29,3,244,120,3,192,124,3,192,252,7,224,252,7,224,252,
-  7,224,252,7,224,252,7,224,252,7,224,252,7,224,248,7,
-  224,248,7,224,120,7,192,112,3,192,112,3,193,112,3,129,
-  48,3,131,48,7,135,48,7,255,56,15,254,62,62,254,47,
-  252,126,35,248,60,32,0,0,48,0,0,112,0,0,112,0,
-  0,120,0,0,120,0,0,124,0,0,124,0,0,126,0,0,
-  126,0,0,126,0,0,62,0,0,28,0,0,23,41,123,28,
-  3,249,3,255,254,15,240,224,63,240,224,127,240,224,127,240,
-  224,255,240,224,255,240,224,255,240,224,255,240,224,255,240,224,
-  255,240,224,255,240,224,255,240,224,255,240,224,127,240,224,63,
-  240,224,31,240,224,7,240,224,0,112,224,0,112,224,0,112,
-  224,0,112,224,0,112,224,0,112,224,0,112,224,0,112,224,
+  28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,
+  0,0,28,0,0,0,0,0,28,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,
+  255,255,255,0,255,255,255,255,255,0,255,255,255,255,255,0,
+  14,21,42,21,4,14,31,240,48,248,96,124,224,124,240,124,
+  248,124,248,120,120,248,1,240,1,224,3,128,6,0,12,4,
+  16,4,32,4,32,12,127,252,127,252,79,248,71,248,1,224,
+  16,21,42,22,3,14,31,224,48,248,112,124,112,124,124,124,
+  124,124,60,124,0,120,0,224,15,128,0,240,0,124,0,62,
+  16,63,124,63,252,63,252,63,240,63,112,126,112,252,31,240,
+  8,9,9,21,9,25,6,15,31,62,60,120,240,192,128,24,
+  35,105,29,3,244,120,3,192,124,3,192,252,7,224,252,7,
+  224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,224,
+  248,7,224,248,7,224,120,7,192,112,3,192,112,3,193,112,
+  3,129,48,3,131,48,7,135,48,7,255,56,15,254,62,62,
+  254,47,252,126,35,248,60,32,0,0,48,0,0,112,0,0,
+  112,0,0,120,0,0,124,0,0,124,0,0,124,0,0,126,
+  0,0,126,0,0,126,0,0,62,0,0,28,0,0,23,41,
+  123,28,3,249,3,255,254,15,240,224,63,240,224,127,240,224,
+  127,240,224,255,240,224,255,240,224,255,240,224,255,240,224,255,
+  240,224,255,240,224,255,240,224,255,240,224,255,240,224,127,240,
+  224,63,240,224,31,240,224,7,240,224,0,112,224,0,112,224,
   0,112,224,0,112,224,0,112,224,0,112,224,0,112,224,0,
   112,224,0,112,224,0,112,224,0,112,224,0,112,224,0,112,
-  224,0,112,224,0,112,224,0,112,224,0,112,224,8,7,7,
-  14,3,12,60,126,255,255,255,126,60,10,10,20,21,5,246,
-  8,0,8,0,24,0,15,0,7,128,3,192,3,192,3,192,
-  199,128,63,0,11,20,40,21,5,14,7,0,15,0,255,0,
-  31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,
+  224,0,112,224,0,112,224,0,112,224,0,112,224,0,112,224,
+  0,112,224,0,112,224,0,112,224,0,112,224,0,112,224,8,
+  7,7,14,3,12,60,126,255,255,255,126,60,10,10,20,21,
+  5,246,8,0,8,0,24,0,15,0,7,128,3,192,3,192,
+  3,192,199,128,63,0,11,20,40,21,5,14,7,0,15,0,
+  255,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,
   31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,
-  255,224,13,17,34,19,3,17,15,128,24,192,56,224,112,112,
-  112,112,240,120,240,120,240,120,240,120,240,120,240,120,112,112,
-  112,224,56,224,15,128,0,0,255,248,13,20,40,23,5,1,
-  1,0,193,128,96,192,112,224,48,112,56,112,56,120,60,120,
-  60,120,60,120,60,120,60,120,60,120,56,112,56,112,48,112,
-  96,224,64,192,1,128,1,0,36,36,180,44,5,255,0,0,
-  0,48,0,7,0,0,48,0,7,0,0,96,0,31,0,0,
-  224,0,255,0,0,192,0,31,0,1,192,0,31,0,1,128,
-  0,31,0,3,0,0,31,0,7,0,0,31,0,6,0,0,
-  31,0,14,0,0,31,0,12,0,0,31,0,24,0,0,31,
-  0,24,0,0,31,0,48,0,0,31,0,112,15,0,31,0,
-  96,31,0,31,0,224,31,0,31,0,192,63,0,31,1,128,
-  127,0,255,227,128,127,0,0,3,0,223,0,0,7,1,159,
-  0,0,6,1,159,0,0,12,3,31,0,0,12,2,31,0,
-  0,24,6,31,0,0,56,12,31,0,0,48,15,255,240,0,
-  112,0,31,0,0,96,0,31,0,0,192,0,31,0,1,192,
-  0,31,0,1,128,0,31,0,3,128,1,255,224,3,0,0,
-  0,0,35,36,180,43,5,255,0,0,0,56,0,7,0,0,
-  48,0,7,0,0,112,0,31,0,0,224,0,255,0,0,192,
-  0,31,0,1,192,0,31,0,1,128,0,31,0,3,128,0,
-  31,0,3,0,0,31,0,7,0,0,31,0,14,0,0,31,
-  0,12,0,0,31,0,28,0,0,31,0,24,0,0,31,0,
-  56,126,0,31,0,113,143,128,31,0,99,7,192,31,0,231,
-  3,224,31,0,199,3,224,31,1,199,131,224,255,227,135,195,
-  224,0,3,3,199,192,0,7,1,135,128,0,6,0,15,0,
-  0,14,0,30,0,0,12,0,56,0,0,24,0,96,0,0,
-  56,0,128,32,0,48,1,0,32,0,112,2,0,32,0,96,
-  2,255,224,0,192,7,255,224,1,192,6,255,192,1,128,4,
-  127,192,3,128,4,63,128,3,0,0,0,0,38,36,180,44,
-  3,255,0,0,0,12,0,31,224,0,12,0,48,248,0,24,
-  0,112,124,0,56,0,112,124,0,48,0,124,124,0,112,0,
-  124,124,0,96,0,60,124,0,192,0,0,120,1,192,0,0,
-  224,1,128,0,15,128,3,128,0,0,240,3,0,0,0,124,
-  7,0,0,0,62,6,0,0,16,63,12,0,0,124,63,28,
-  3,192,252,63,24,7,192,252,63,56,7,192,240,63,48,15,
-  192,112,126,112,31,192,112,252,224,31,192,31,240,192,55,192,
-  0,1,192,103,192,0,1,128,103,192,0,3,128,199,192,0,
-  3,0,135,192,0,6,1,135,192,0,14,3,7,192,0,12,
-  3,255,252,0,28,0,7,192,0,24,0,7,192,0,56,0,
-  7,192,0,112,0,7,192,0,96,0,7,192,0,224,0,127,
-  248,0,192,0,0,0,16,35,70,23,3,245,7,0,15,128,
-  31,192,31,192,31,192,15,128,7,0,0,0,0,0,7,128,
-  12,224,16,48,16,48,16,48,16,48,0,96,0,224,0,192,
-  3,192,7,128,15,128,31,0,31,4,62,4,126,6,124,2,
-  252,3,252,3,252,3,252,3,252,6,126,6,63,12,31,248,
-  7,224,33,45,225,36,2,0,0,56,0,0,0,0,60,0,
-  0,0,0,62,0,0,0,0,62,0,0,0,0,31,0,0,
-  0,0,7,0,0,0,0,3,128,0,0,0,1,192,0,0,
-  0,0,64,0,0,0,0,0,0,0,0,0,192,0,0,0,
-  1,192,0,0,0,1,224,0,0,0,1,224,0,0,0,3,
-  224,0,0,0,3,240,0,0,0,3,240,0,0,0,7,240,
-  0,0,0,7,248,0,0,0,7,248,0,0,0,15,248,0,
-  0,0,15,252,0,0,0,15,252,0,0,0,25,252,0,0,
-  0,25,254,0,0,0,25,254,0,0,0,48,254,0,0,0,
-  48,255,0,0,0,32,255,0,0,0,96,127,0,0,0,96,
-  127,128,0,0,64,127,128,0,0,192,63,128,0,0,192,63,
-  192,0,0,255,255,192,0,1,255,255,192,0,1,128,31,224,
-  0,1,0,31,224,0,3,0,15,224,0,3,0,15,240,0,
-  2,0,15,240,0,6,0,7,240,0,15,0,7,248,0,31,
-  0,15,252,0,255,240,255,255,128,33,45,225,36,2,0,0,
-  0,14,0,0,0,0,15,0,0,0,0,31,0,0,0,0,
-  62,0,0,0,0,60,0,0,0,0,120,0,0,0,0,240,
-  0,0,0,0,192,0,0,0,0,128,0,0,0,0,0,0,
-  0,0,0,192,0,0,0,1,192,0,0,0,1,224,0,0,
-  0,1,224,0,0,0,3,224,0,0,0,3,240,0,0,0,
-  3,240,0,0,0,7,240,0,0,0,7,248,0,0,0,7,
-  248,0,0,0,15,248,0,0,0,15,252,0,0,0,15,252,
-  0,0,0,25,252,0,0,0,25,254,0,0,0,25,254,0,
-  0,0,48,254,0,0,0,48,255,0,0,0,32,255,0,0,
-  0,96,127,0,0,0,96,127,128,0,0,64,127,128,0,0,
-  192,63,128,0,0,192,63,192,0,0,255,255,192,0,1,255,
-  255,192,0,1,128,31,224,0,1,0,31,224,0,3,0,15,
-  224,0,3,0,15,240,0,6,0,15,240,0,6,0,7,240,
-  0,15,0,7,248,0,255,240,255,255,128,255,240,255,255,128,
-  33,44,220,36,2,0,0,1,192,0,0,0,1,224,0,0,
-  0,3,224,0,0,0,7,240,0,0,0,15,120,0,0,0,
-  30,30,0,0,0,120,7,0,0,0,64,1,128,0,0,0,
+  31,0,255,224,13,17,34,19,3,17,15,128,24,192,56,224,
+  112,112,112,112,240,120,240,120,240,120,240,120,240,120,240,120,
+  112,112,112,224,56,224,15,128,0,0,255,248,13,20,40,23,
+  5,1,1,0,193,128,96,192,112,224,48,112,56,112,56,120,
+  60,120,60,120,60,120,60,120,60,120,60,120,56,112,56,112,
+  48,112,96,224,64,192,1,128,1,0,36,36,180,44,5,255,
+  0,0,0,48,0,7,0,0,48,0,7,0,0,96,0,31,
+  0,0,224,0,255,0,0,192,0,31,0,1,192,0,31,0,
+  1,128,0,31,0,3,0,0,31,0,7,0,0,31,0,6,
+  0,0,31,0,14,0,0,31,0,12,0,0,31,0,24,0,
+  0,31,0,24,0,0,31,0,48,0,0,31,0,112,15,0,
+  31,0,96,31,0,31,0,224,31,0,31,0,192,63,0,31,
+  1,128,127,0,255,227,128,127,0,0,3,0,223,0,0,7,
+  1,159,0,0,6,1,159,0,0,12,3,31,0,0,12,2,
+  31,0,0,24,6,31,0,0,56,12,31,0,0,48,15,255,
+  240,0,112,0,31,0,0,96,0,31,0,0,192,0,31,0,
+  1,192,0,31,0,1,128,0,31,0,3,128,1,255,224,3,
+  0,0,0,0,35,36,180,43,5,255,0,0,0,56,0,7,
+  0,0,48,0,7,0,0,112,0,31,0,0,224,0,255,0,
+  0,192,0,31,0,1,192,0,31,0,1,128,0,31,0,3,
+  128,0,31,0,3,0,0,31,0,7,0,0,31,0,14,0,
+  0,31,0,12,0,0,31,0,28,0,0,31,0,24,0,0,
+  31,0,56,126,0,31,0,113,143,128,31,0,99,7,192,31,
+  0,231,3,224,31,0,199,3,224,31,1,199,131,224,255,227,
+  135,195,224,0,3,3,199,192,0,7,1,135,128,0,6,0,
+  15,0,0,14,0,30,0,0,12,0,56,0,0,24,0,96,
+  0,0,56,0,128,32,0,48,1,0,32,0,112,2,0,32,
+  0,96,2,255,224,0,192,7,255,224,1,192,6,255,192,1,
+  128,4,127,192,3,128,4,63,128,3,0,0,0,0,38,36,
+  180,44,3,255,0,0,0,12,0,31,224,0,12,0,48,248,
+  0,24,0,112,124,0,56,0,112,124,0,48,0,124,124,0,
+  112,0,124,124,0,96,0,60,124,0,192,0,0,120,1,192,
+  0,0,224,1,128,0,15,128,3,128,0,0,240,3,0,0,
+  0,124,7,0,0,0,62,6,0,0,16,63,12,0,0,124,
+  63,28,3,192,252,63,24,7,192,252,63,56,7,192,240,63,
+  48,15,192,112,126,112,31,192,112,252,224,31,192,31,240,192,
+  55,192,0,1,192,103,192,0,1,128,103,192,0,3,128,199,
+  192,0,3,0,135,192,0,6,1,135,192,0,14,3,7,192,
+  0,12,3,255,252,0,28,0,7,192,0,24,0,7,192,0,
+  56,0,7,192,0,112,0,7,192,0,96,0,7,192,0,224,
+  0,127,248,0,192,0,0,0,16,35,70,23,3,245,7,0,
+  15,128,31,192,31,192,31,192,15,128,7,0,0,0,0,0,
+  7,128,12,224,16,48,16,48,16,48,16,48,0,96,0,224,
+  0,192,3,192,7,128,15,128,31,0,31,4,62,4,126,6,
+  124,2,252,3,252,3,252,3,252,3,252,6,126,6,63,12,
+  31,248,7,224,33,45,225,36,2,0,0,56,0,0,0,0,
+  60,0,0,0,0,62,0,0,0,0,62,0,0,0,0,31,
+  0,0,0,0,7,0,0,0,0,3,128,0,0,0,1,192,
+  0,0,0,0,64,0,0,0,0,0,0,0,0,0,192,0,
+  0,0,1,192,0,0,0,1,224,0,0,0,1,224,0,0,
+  0,3,224,0,0,0,3,240,0,0,0,3,240,0,0,0,
+  7,240,0,0,0,7,248,0,0,0,7,248,0,0,0,15,
+  248,0,0,0,15,252,0,0,0,15,252,0,0,0,25,252,
+  0,0,0,25,254,0,0,0,25,254,0,0,0,48,254,0,
+  0,0,48,255,0,0,0,32,255,0,0,0,96,127,0,0,
+  0,96,127,128,0,0,64,127,128,0,0,192,63,128,0,0,
+  192,63,192,0,0,255,255,192,0,1,255,255,192,0,1,128,
+  31,224,0,1,0,31,224,0,3,0,15,224,0,3,0,15,
+  240,0,2,0,15,240,0,6,0,7,240,0,15,0,7,248,
+  0,31,0,15,252,0,255,240,255,255,128,33,45,225,36,2,
+  0,0,0,14,0,0,0,0,15,0,0,0,0,31,0,0,
+  0,0,62,0,0,0,0,60,0,0,0,0,120,0,0,0,
+  0,240,0,0,0,0,192,0,0,0,0,128,0,0,0,0,
   0,0,0,0,0,192,0,0,0,1,192,0,0,0,1,224,
   0,0,0,1,224,0,0,0,3,224,0,0,0,3,240,0,
   0,0,3,240,0,0,0,7,240,0,0,0,7,248,0,0,
@@ -61425,289 +61870,289 @@ const u8g_fntpgm_uint8_t u8g_font_osb35[22095] U8G_SECTION(".progmem.u8g_font_os
   0,0,0,96,127,0,0,0,96,127,128,0,0,64,127,128,
   0,0,192,63,128,0,0,192,63,192,0,0,255,255,192,0,
   1,255,255,192,0,1,128,31,224,0,1,0,31,224,0,3,
-  0,15,224,0,3,0,15,240,0,2,0,15,240,0,6,0,
-  7,240,0,15,0,7,248,0,31,0,15,252,0,255,240,255,
-  255,128,33,43,215,36,2,0,0,15,1,0,0,0,31,227,
-  0,0,0,63,254,0,0,0,33,254,0,0,0,32,124,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,192,0,0,0,1,192,0,0,0,1,224,0,0,0,
-  1,224,0,0,0,3,224,0,0,0,3,240,0,0,0,3,
-  240,0,0,0,7,240,0,0,0,7,248,0,0,0,7,248,
-  0,0,0,15,248,0,0,0,15,252,0,0,0,15,252,0,
-  0,0,25,252,0,0,0,25,254,0,0,0,25,254,0,0,
-  0,48,254,0,0,0,48,255,0,0,0,32,255,0,0,0,
-  96,127,0,0,0,96,127,128,0,0,64,127,128,0,0,192,
-  63,128,0,0,192,63,192,0,0,255,255,192,0,1,255,255,
-  192,0,1,128,31,224,0,1,0,31,224,0,3,0,15,224,
-  0,3,0,15,240,0,6,0,15,240,0,6,0,7,240,0,
-  15,0,7,248,0,255,240,255,255,128,255,240,255,255,128,33,
-  43,215,36,2,0,0,60,15,0,0,0,126,31,128,0,0,
-  126,31,128,0,0,126,31,128,0,0,126,31,128,0,0,60,
-  15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,192,0,0,0,1,224,0,0,0,1,224,0,
-  0,0,1,224,0,0,0,3,240,0,0,0,3,240,0,0,
-  0,3,240,0,0,0,7,248,0,0,0,7,248,0,0,0,
-  7,248,0,0,0,15,252,0,0,0,15,252,0,0,0,25,
-  252,0,0,0,25,254,0,0,0,24,254,0,0,0,48,254,
-  0,0,0,48,255,0,0,0,48,127,0,0,0,96,127,0,
-  0,0,96,127,128,0,0,96,63,128,0,0,192,63,128,0,
-  0,192,63,192,0,0,255,255,192,0,1,255,255,192,0,1,
-  128,31,224,0,1,128,15,224,0,3,0,15,224,0,3,0,
-  15,240,0,3,0,7,240,0,7,0,7,240,0,15,0,7,
-  248,0,31,128,15,252,0,255,240,255,255,128,33,45,225,36,
-  2,0,0,1,224,0,0,0,7,248,0,0,0,14,28,0,
-  0,0,12,12,0,0,0,12,12,0,0,0,12,12,0,0,
-  0,14,28,0,0,0,7,248,0,0,0,3,240,0,0,0,
-  0,0,0,0,0,0,192,0,0,0,1,192,0,0,0,1,
-  224,0,0,0,1,224,0,0,0,3,224,0,0,0,3,240,
-  0,0,0,3,240,0,0,0,7,240,0,0,0,7,248,0,
-  0,0,7,248,0,0,0,15,248,0,0,0,13,252,0,0,
-  0,13,252,0,0,0,29,252,0,0,0,25,254,0,0,0,
-  24,254,0,0,0,56,254,0,0,0,48,255,0,0,0,48,
-  127,0,0,0,112,127,0,0,0,96,127,128,0,0,96,63,
-  128,0,0,224,63,128,0,0,192,63,192,0,0,255,255,192,
-  0,1,255,255,192,0,1,128,31,224,0,1,128,31,224,0,
-  3,0,15,224,0,3,0,15,240,0,3,0,15,240,0,7,
-  0,7,240,0,15,0,7,248,0,31,128,15,252,0,255,240,
-  255,255,128,45,34,204,48,1,0,0,0,127,255,255,240,0,
-  0,31,248,7,240,0,0,15,248,1,240,0,0,15,248,0,
-  240,0,0,31,248,0,240,0,0,27,248,0,112,0,0,59,
-  248,0,112,0,0,51,248,0,48,0,0,115,248,0,48,0,
-  0,99,248,12,48,0,0,227,248,12,16,0,0,195,248,12,
-  0,0,1,195,248,28,0,0,1,131,248,28,0,0,3,131,
-  248,60,0,0,3,3,248,124,0,0,7,3,255,252,0,0,
-  6,3,248,124,0,0,14,3,248,60,0,0,12,3,248,28,
-  0,0,28,3,248,28,0,0,24,3,248,12,24,0,56,3,
-  248,12,24,0,63,255,248,12,24,0,96,3,248,0,56,0,
-  224,3,248,0,56,0,192,3,248,0,56,1,192,3,248,0,
-  120,1,128,3,248,0,120,3,128,3,248,0,248,7,128,3,
-  248,1,248,15,128,3,248,3,248,255,248,127,255,255,248,255,
-  248,127,255,255,248,26,45,180,31,3,246,0,127,193,128,1,
-  224,241,128,3,192,63,128,7,128,31,128,15,128,15,128,31,
-  0,15,128,63,0,7,128,63,0,7,128,63,0,3,128,127,
-  0,3,128,127,0,1,128,127,0,1,128,255,0,1,128,255,
-  0,1,128,255,0,1,128,255,0,0,0,255,0,0,0,255,
-  0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,
-  0,0,192,127,0,0,192,127,0,0,192,127,0,0,128,63,
-  0,0,128,63,0,1,128,63,0,1,128,31,128,3,0,15,
-  128,3,0,7,128,6,0,3,192,12,0,1,224,56,0,0,
-  127,224,0,0,12,0,0,0,8,0,0,0,30,0,0,0,
-  31,128,0,0,3,192,0,0,1,224,0,0,1,224,0,0,
-  1,224,0,0,129,192,0,0,199,192,0,0,63,0,0,27,
-  45,180,33,3,0,0,224,0,0,1,240,0,0,1,240,0,
-  0,0,248,0,0,0,124,0,0,0,60,0,0,0,14,0,
-  0,0,6,0,0,0,2,0,0,0,0,0,0,0,0,0,
-  0,255,255,255,224,15,224,31,224,15,224,7,224,15,224,3,
-  224,15,224,1,224,15,224,1,224,15,224,0,224,15,224,0,
-  224,15,224,0,96,15,224,48,96,15,224,48,96,15,224,48,
-  0,15,224,112,0,15,224,112,0,15,224,240,0,15,225,240,
-  0,15,255,240,0,15,225,240,0,15,224,240,0,15,224,112,
-  0,15,224,112,32,15,224,48,96,15,224,48,96,15,224,48,
-  96,15,224,0,96,15,224,0,96,15,224,0,224,15,224,0,
-  224,15,224,1,224,15,224,3,224,15,224,3,224,15,224,15,
-  224,255,255,255,224,255,255,255,224,27,45,180,33,3,0,0,
-  0,56,0,0,0,120,0,0,0,248,0,0,0,248,0,0,
-  1,240,0,0,3,192,0,0,3,128,0,0,6,0,0,0,
-  4,0,0,0,0,0,0,0,0,0,0,255,255,255,224,15,
-  224,31,224,15,224,7,224,15,224,3,224,15,224,1,224,15,
-  224,1,224,15,224,0,224,15,224,0,224,15,224,0,96,15,
-  224,48,96,15,224,48,96,15,224,48,0,15,224,112,0,15,
-  224,112,0,15,224,240,0,15,225,240,0,15,255,240,0,15,
-  225,240,0,15,224,240,0,15,224,112,0,15,224,112,32,15,
-  224,48,96,15,224,48,96,15,224,48,96,15,224,0,96,15,
-  224,0,224,15,224,0,224,15,224,0,224,15,224,1,224,15,
-  224,3,224,15,224,3,224,15,224,15,224,255,255,255,224,255,
-  255,255,224,27,44,176,33,3,0,0,6,0,0,0,15,0,
-  0,0,15,128,0,0,31,192,0,0,57,224,0,0,240,112,
-  0,3,192,28,0,0,0,4,0,0,0,0,0,0,0,0,
-  0,255,255,255,224,15,224,31,224,15,224,7,224,15,224,3,
-  224,15,224,1,224,15,224,1,224,15,224,0,224,15,224,0,
-  224,15,224,0,96,15,224,48,96,15,224,48,96,15,224,48,
-  0,15,224,112,0,15,224,112,0,15,224,240,0,15,225,240,
-  0,15,255,240,0,15,225,240,0,15,224,240,0,15,224,112,
-  0,15,224,112,32,15,224,48,96,15,224,48,96,15,224,48,
-  96,15,224,0,96,15,224,0,96,15,224,0,224,15,224,0,
-  224,15,224,1,224,15,224,3,224,15,224,3,224,15,224,15,
-  224,255,255,255,224,255,255,255,224,27,43,172,33,3,0,1,
-  224,120,0,3,240,252,0,3,240,252,0,3,240,252,0,3,
-  240,252,0,1,224,120,0,0,0,0,0,0,0,0,0,0,
+  0,15,224,0,3,0,15,240,0,6,0,15,240,0,6,0,
+  7,240,0,15,0,7,248,0,255,240,255,255,128,255,240,255,
+  255,128,33,44,220,36,2,0,0,1,192,0,0,0,1,224,
+  0,0,0,3,224,0,0,0,7,240,0,0,0,15,120,0,
+  0,0,30,30,0,0,0,120,7,0,0,0,64,1,128,0,
+  0,0,0,0,0,0,0,192,0,0,0,1,192,0,0,0,
+  1,224,0,0,0,1,224,0,0,0,3,224,0,0,0,3,
+  240,0,0,0,3,240,0,0,0,7,240,0,0,0,7,248,
+  0,0,0,7,248,0,0,0,15,248,0,0,0,15,252,0,
+  0,0,15,252,0,0,0,25,252,0,0,0,25,254,0,0,
+  0,25,254,0,0,0,48,254,0,0,0,48,255,0,0,0,
+  32,255,0,0,0,96,127,0,0,0,96,127,128,0,0,64,
+  127,128,0,0,192,63,128,0,0,192,63,192,0,0,255,255,
+  192,0,1,255,255,192,0,1,128,31,224,0,1,0,31,224,
+  0,3,0,15,224,0,3,0,15,240,0,2,0,15,240,0,
+  6,0,7,240,0,15,0,7,248,0,31,0,15,252,0,255,
+  240,255,255,128,33,43,215,36,2,0,0,15,1,0,0,0,
+  31,227,0,0,0,63,254,0,0,0,33,254,0,0,0,32,
+  124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  0,0,0,0,192,0,0,0,1,192,0,0,0,1,224,0,
+  0,0,1,224,0,0,0,3,224,0,0,0,3,240,0,0,
+  0,3,240,0,0,0,7,240,0,0,0,7,248,0,0,0,
+  7,248,0,0,0,15,248,0,0,0,15,252,0,0,0,15,
+  252,0,0,0,25,252,0,0,0,25,254,0,0,0,25,254,
+  0,0,0,48,254,0,0,0,48,255,0,0,0,32,255,0,
+  0,0,96,127,0,0,0,96,127,128,0,0,64,127,128,0,
+  0,192,63,128,0,0,192,63,192,0,0,255,255,192,0,1,
+  255,255,192,0,1,128,31,224,0,1,0,31,224,0,3,0,
+  15,224,0,3,0,15,240,0,6,0,15,240,0,6,0,7,
+  240,0,15,0,7,248,0,255,240,255,255,128,255,240,255,255,
+  128,33,43,215,36,2,0,0,60,15,0,0,0,126,31,128,
+  0,0,126,31,128,0,0,126,31,128,0,0,126,31,128,0,
+  0,60,15,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,192,0,0,0,1,224,0,0,0,1,
+  224,0,0,0,1,224,0,0,0,3,240,0,0,0,3,240,
+  0,0,0,3,240,0,0,0,7,248,0,0,0,7,248,0,
+  0,0,7,248,0,0,0,15,252,0,0,0,15,252,0,0,
+  0,25,252,0,0,0,25,254,0,0,0,24,254,0,0,0,
+  48,254,0,0,0,48,255,0,0,0,48,127,0,0,0,96,
+  127,0,0,0,96,127,128,0,0,96,63,128,0,0,192,63,
+  128,0,0,192,63,192,0,0,255,255,192,0,1,255,255,192,
+  0,1,128,31,224,0,1,128,15,224,0,3,0,15,224,0,
+  3,0,15,240,0,3,0,7,240,0,7,0,7,240,0,15,
+  0,7,248,0,31,128,15,252,0,255,240,255,255,128,33,45,
+  225,36,2,0,0,1,224,0,0,0,7,248,0,0,0,14,
+  28,0,0,0,12,12,0,0,0,12,12,0,0,0,12,12,
+  0,0,0,14,28,0,0,0,7,248,0,0,0,3,240,0,
+  0,0,0,0,0,0,0,0,192,0,0,0,1,192,0,0,
+  0,1,224,0,0,0,1,224,0,0,0,3,224,0,0,0,
+  3,240,0,0,0,3,240,0,0,0,7,240,0,0,0,7,
+  248,0,0,0,7,248,0,0,0,15,248,0,0,0,13,252,
+  0,0,0,13,252,0,0,0,29,252,0,0,0,25,254,0,
+  0,0,24,254,0,0,0,56,254,0,0,0,48,255,0,0,
+  0,48,127,0,0,0,112,127,0,0,0,96,127,128,0,0,
+  96,63,128,0,0,224,63,128,0,0,192,63,192,0,0,255,
+  255,192,0,1,255,255,192,0,1,128,31,224,0,1,128,31,
+  224,0,3,0,15,224,0,3,0,15,240,0,3,0,15,240,
+  0,7,0,7,240,0,15,0,7,248,0,31,128,15,252,0,
+  255,240,255,255,128,45,34,204,48,1,0,0,0,127,255,255,
+  240,0,0,31,248,7,240,0,0,15,248,1,240,0,0,15,
+  248,0,240,0,0,31,248,0,240,0,0,27,248,0,112,0,
+  0,59,248,0,112,0,0,51,248,0,48,0,0,115,248,0,
+  48,0,0,99,248,12,48,0,0,227,248,12,16,0,0,195,
+  248,12,0,0,1,195,248,28,0,0,1,131,248,28,0,0,
+  3,131,248,60,0,0,3,3,248,124,0,0,7,3,255,252,
+  0,0,6,3,248,124,0,0,14,3,248,60,0,0,12,3,
+  248,28,0,0,28,3,248,28,0,0,24,3,248,12,24,0,
+  56,3,248,12,24,0,63,255,248,12,24,0,96,3,248,0,
+  56,0,224,3,248,0,56,0,192,3,248,0,56,1,192,3,
+  248,0,120,1,128,3,248,0,120,3,128,3,248,0,248,7,
+  128,3,248,1,248,15,128,3,248,3,248,255,248,127,255,255,
+  248,255,248,127,255,255,248,26,45,180,31,3,246,0,127,193,
+  128,1,224,241,128,3,192,63,128,7,128,31,128,15,128,15,
+  128,31,0,15,128,63,0,7,128,63,0,7,128,63,0,3,
+  128,127,0,3,128,127,0,1,128,127,0,1,128,255,0,1,
+  128,255,0,1,128,255,0,1,128,255,0,0,0,255,0,0,
+  0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,
+  0,255,0,0,192,127,0,0,192,127,0,0,192,127,0,0,
+  128,63,0,0,128,63,0,1,128,63,0,1,128,31,128,3,
+  0,15,128,3,0,7,128,6,0,3,192,12,0,1,224,56,
+  0,0,127,224,0,0,12,0,0,0,8,0,0,0,30,0,
+  0,0,31,128,0,0,3,192,0,0,1,224,0,0,1,224,
+  0,0,1,224,0,0,129,192,0,0,199,192,0,0,63,0,
+  0,27,45,180,33,3,0,0,224,0,0,1,240,0,0,1,
+  240,0,0,0,248,0,0,0,124,0,0,0,60,0,0,0,
+  14,0,0,0,6,0,0,0,2,0,0,0,0,0,0,0,
+  0,0,0,255,255,255,224,15,224,31,224,15,224,7,224,15,
+  224,3,224,15,224,1,224,15,224,1,224,15,224,0,224,15,
+  224,0,224,15,224,0,96,15,224,48,96,15,224,48,96,15,
+  224,48,0,15,224,112,0,15,224,112,0,15,224,240,0,15,
+  225,240,0,15,255,240,0,15,225,240,0,15,224,240,0,15,
+  224,112,0,15,224,112,32,15,224,48,96,15,224,48,96,15,
+  224,48,96,15,224,0,96,15,224,0,96,15,224,0,224,15,
+  224,0,224,15,224,1,224,15,224,3,224,15,224,3,224,15,
+  224,15,224,255,255,255,224,255,255,255,224,27,45,180,33,3,
+  0,0,0,56,0,0,0,120,0,0,0,248,0,0,0,248,
+  0,0,1,240,0,0,3,192,0,0,3,128,0,0,6,0,
+  0,0,4,0,0,0,0,0,0,0,0,0,0,255,255,255,
+  224,15,224,31,224,15,224,7,224,15,224,3,224,15,224,1,
+  224,15,224,1,224,15,224,0,224,15,224,0,224,15,224,0,
+  96,15,224,48,96,15,224,48,96,15,224,48,0,15,224,112,
+  0,15,224,112,0,15,224,240,0,15,225,240,0,15,255,240,
+  0,15,225,240,0,15,224,240,0,15,224,112,0,15,224,112,
+  32,15,224,48,96,15,224,48,96,15,224,48,96,15,224,0,
+  96,15,224,0,224,15,224,0,224,15,224,0,224,15,224,1,
+  224,15,224,3,224,15,224,3,224,15,224,15,224,255,255,255,
+  224,255,255,255,224,27,44,176,33,3,0,0,6,0,0,0,
+  15,0,0,0,15,128,0,0,31,192,0,0,57,224,0,0,
+  240,112,0,3,192,28,0,0,0,4,0,0,0,0,0,0,
   0,0,0,255,255,255,224,15,224,31,224,15,224,7,224,15,
   224,3,224,15,224,1,224,15,224,1,224,15,224,0,224,15,
-  224,0,224,15,224,0,224,15,224,48,96,15,224,48,96,15,
+  224,0,224,15,224,0,96,15,224,48,96,15,224,48,96,15,
   224,48,0,15,224,112,0,15,224,112,0,15,224,240,0,15,
   225,240,0,15,255,240,0,15,225,240,0,15,224,240,0,15,
-  224,112,0,15,224,112,96,15,224,48,96,15,224,48,96,15,
-  224,48,96,15,224,0,96,15,224,0,224,15,224,0,224,15,
+  224,112,0,15,224,112,32,15,224,48,96,15,224,48,96,15,
+  224,48,96,15,224,0,96,15,224,0,96,15,224,0,224,15,
   224,0,224,15,224,1,224,15,224,3,224,15,224,3,224,15,
-  224,15,224,255,255,255,224,255,255,255,224,16,45,90,21,3,
-  0,56,0,124,0,124,0,62,0,31,0,15,0,3,128,1,
-  192,0,0,0,0,0,0,255,255,7,240,7,240,7,240,7,
+  224,15,224,255,255,255,224,255,255,255,224,27,43,172,33,3,
+  0,1,224,120,0,3,240,252,0,3,240,252,0,3,240,252,
+  0,3,240,252,0,1,224,120,0,0,0,0,0,0,0,0,
+  0,0,0,0,0,255,255,255,224,15,224,31,224,15,224,7,
+  224,15,224,3,224,15,224,1,224,15,224,1,224,15,224,0,
+  224,15,224,0,224,15,224,0,224,15,224,48,96,15,224,48,
+  96,15,224,48,0,15,224,112,0,15,224,112,0,15,224,240,
+  0,15,225,240,0,15,255,240,0,15,225,240,0,15,224,240,
+  0,15,224,112,0,15,224,112,96,15,224,48,96,15,224,48,
+  96,15,224,48,96,15,224,0,96,15,224,0,224,15,224,0,
+  224,15,224,0,224,15,224,1,224,15,224,3,224,15,224,3,
+  224,15,224,15,224,255,255,255,224,255,255,255,224,16,45,90,
+  21,3,0,56,0,124,0,124,0,62,0,31,0,15,0,3,
+  128,1,192,0,0,0,0,0,0,255,255,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
-  240,7,240,7,240,7,240,7,240,255,255,16,45,90,21,3,
-  0,0,14,0,30,0,62,0,60,0,120,0,240,0,224,1,
-  192,0,0,0,0,0,0,255,255,7,240,7,240,7,240,7,
+  240,7,240,7,240,7,240,7,240,7,240,255,255,16,45,90,
+  21,3,0,0,14,0,30,0,62,0,60,0,120,0,240,0,
+  224,1,192,0,0,0,0,0,0,255,255,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
-  240,7,240,7,240,7,240,7,240,255,255,16,44,88,21,3,
-  0,1,192,3,192,3,224,7,240,31,120,60,28,240,7,0,
-  1,0,0,0,0,255,255,7,240,7,240,7,240,7,240,7,
+  240,7,240,7,240,7,240,7,240,7,240,255,255,16,44,88,
+  21,3,0,1,192,3,192,3,224,7,240,31,120,60,28,240,
+  7,0,1,0,0,0,0,255,255,7,240,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
-  240,7,240,7,240,255,255,255,255,16,43,86,21,3,0,120,
-  30,252,63,252,63,252,63,252,63,120,30,0,0,0,0,0,
-  0,255,255,7,240,7,240,7,240,7,240,7,240,7,240,7,
+  240,7,240,7,240,7,240,255,255,255,255,16,43,86,21,3,
+  0,120,30,252,63,252,63,252,63,252,63,120,30,0,0,0,
+  0,0,0,255,255,7,240,7,240,7,240,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
-  240,7,240,255,255,32,34,136,37,3,0,255,255,248,0,7,
-  240,31,0,7,240,7,128,7,240,3,224,7,240,1,240,7,
-  240,1,240,7,240,0,248,7,240,0,252,7,240,0,252,7,
-  240,0,254,7,240,0,254,7,240,0,254,7,240,0,255,7,
-  240,0,255,7,240,0,255,7,240,0,255,255,255,0,255,7,
-  240,0,255,7,240,0,255,7,240,0,255,7,240,0,255,7,
-  240,0,254,7,240,0,254,7,240,0,254,7,240,0,254,7,
-  240,0,252,7,240,0,252,7,240,0,248,7,240,1,240,7,
-  240,1,224,7,240,3,192,7,240,7,128,7,240,31,0,255,
-  255,248,0,34,44,220,37,2,255,0,7,128,128,0,0,15,
-  241,128,0,0,31,255,0,0,0,16,255,0,0,0,16,60,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,0,0,255,224,15,255,192,31,240,3,255,0,
-  15,240,0,252,0,15,248,0,120,0,7,252,0,48,0,3,
-  254,0,48,0,3,254,0,48,0,3,255,0,48,0,3,255,
-  128,48,0,3,255,128,48,0,3,127,192,48,0,3,63,224,
-  48,0,3,31,224,48,0,3,31,240,48,0,3,15,248,48,
-  0,3,7,248,48,0,3,7,252,48,0,3,3,254,48,0,
-  3,1,255,48,0,3,1,255,48,0,3,0,255,176,0,3,
-  0,127,240,0,3,0,127,240,0,3,0,63,240,0,3,0,
-  31,240,0,3,0,15,240,0,3,0,15,240,0,3,0,7,
-  240,0,3,0,3,240,0,3,0,3,240,0,7,128,1,240,
-  0,15,192,0,240,0,63,240,0,240,0,255,252,0,112,0,
-  0,0,0,48,0,28,45,180,33,3,0,0,192,0,0,1,
-  224,0,0,1,240,0,0,0,248,0,0,0,120,0,0,0,
-  60,0,0,0,28,0,0,0,6,0,0,0,2,0,0,0,
-  0,0,0,0,0,0,0,0,63,192,0,0,224,112,0,3,
-  192,56,0,7,128,30,0,15,128,30,0,15,0,15,0,31,
-  0,15,128,63,0,15,192,63,0,15,192,127,0,15,192,127,
-  0,15,224,127,0,15,224,127,0,15,224,255,0,15,240,255,
-  0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,255,
-  0,15,240,255,0,15,240,255,0,15,240,127,0,15,224,127,
-  0,15,224,127,0,15,224,127,0,15,192,63,0,15,192,63,
-  0,15,192,31,0,15,128,15,0,15,0,15,128,31,0,7,
-  128,30,0,3,192,60,0,0,224,112,0,0,63,192,0,28,
-  45,180,33,3,0,0,0,48,0,0,0,120,0,0,0,248,
-  0,0,1,240,0,0,1,224,0,0,3,192,0,0,3,128,
-  0,0,6,0,0,0,4,0,0,0,0,0,0,0,0,0,
-  0,0,63,192,0,0,224,112,0,3,192,56,0,7,128,30,
-  0,15,128,30,0,15,0,15,0,31,0,15,128,63,0,15,
-  192,63,0,15,192,127,0,15,192,127,0,15,224,127,0,15,
-  224,127,0,15,224,255,0,15,240,255,0,15,240,255,0,15,
+  240,7,240,7,240,255,255,32,34,136,37,3,0,255,255,248,
+  0,7,240,31,0,7,240,7,128,7,240,3,224,7,240,1,
+  240,7,240,1,240,7,240,0,248,7,240,0,252,7,240,0,
+  252,7,240,0,254,7,240,0,254,7,240,0,254,7,240,0,
+  255,7,240,0,255,7,240,0,255,7,240,0,255,255,255,0,
+  255,7,240,0,255,7,240,0,255,7,240,0,255,7,240,0,
+  255,7,240,0,254,7,240,0,254,7,240,0,254,7,240,0,
+  254,7,240,0,252,7,240,0,252,7,240,0,248,7,240,1,
+  240,7,240,1,224,7,240,3,192,7,240,7,128,7,240,31,
+  0,255,255,248,0,34,44,220,37,2,255,0,7,128,128,0,
+  0,15,241,128,0,0,31,255,0,0,0,16,255,0,0,0,
+  16,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0,255,224,15,255,192,31,240,3,
+  255,0,15,240,0,252,0,15,248,0,120,0,7,252,0,48,
+  0,3,254,0,48,0,3,254,0,48,0,3,255,0,48,0,
+  3,255,128,48,0,3,255,128,48,0,3,127,192,48,0,3,
+  63,224,48,0,3,31,224,48,0,3,31,240,48,0,3,15,
+  248,48,0,3,7,248,48,0,3,7,252,48,0,3,3,254,
+  48,0,3,1,255,48,0,3,1,255,48,0,3,0,255,176,
+  0,3,0,127,240,0,3,0,127,240,0,3,0,63,240,0,
+  3,0,31,240,0,3,0,15,240,0,3,0,15,240,0,3,
+  0,7,240,0,3,0,3,240,0,3,0,3,240,0,7,128,
+  1,240,0,15,192,0,240,0,63,240,0,240,0,255,252,0,
+  112,0,0,0,0,48,0,28,45,180,33,3,0,0,192,0,
+  0,1,224,0,0,1,240,0,0,0,248,0,0,0,120,0,
+  0,0,60,0,0,0,28,0,0,0,6,0,0,0,2,0,
+  0,0,0,0,0,0,0,0,0,0,63,192,0,0,224,112,
+  0,3,192,56,0,7,128,30,0,15,128,30,0,15,0,15,
+  0,31,0,15,128,63,0,15,192,63,0,15,192,127,0,15,
+  192,127,0,15,224,127,0,15,224,127,0,15,224,255,0,15,
   240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,
-  240,255,0,15,240,127,0,15,224,127,0,15,224,127,0,15,
-  224,127,0,15,192,63,0,15,192,63,0,15,192,31,0,15,
-  128,15,0,15,0,15,128,31,0,7,128,30,0,3,192,60,
-  0,0,224,112,0,0,63,192,0,28,45,180,33,3,0,0,
-  6,0,0,0,14,0,0,0,15,0,0,0,31,128,0,0,
-  63,192,0,0,121,224,0,0,240,240,0,3,192,60,0,3,
-  0,12,0,0,0,0,0,0,0,0,0,0,63,192,0,0,
-  224,112,0,3,192,56,0,7,128,30,0,15,128,30,0,15,
-  0,15,0,31,0,15,128,63,0,15,192,63,0,15,192,127,
-  0,15,192,127,0,15,224,127,0,15,224,127,0,15,224,255,
+  240,255,0,15,240,255,0,15,240,255,0,15,240,127,0,15,
+  224,127,0,15,224,127,0,15,224,127,0,15,192,63,0,15,
+  192,63,0,15,192,31,0,15,128,15,0,15,0,15,128,31,
+  0,7,128,30,0,3,192,60,0,0,224,112,0,0,63,192,
+  0,28,45,180,33,3,0,0,0,48,0,0,0,120,0,0,
+  0,248,0,0,1,240,0,0,1,224,0,0,3,192,0,0,
+  3,128,0,0,6,0,0,0,4,0,0,0,0,0,0,0,
+  0,0,0,0,63,192,0,0,224,112,0,3,192,56,0,7,
+  128,30,0,15,128,30,0,15,0,15,0,31,0,15,128,63,
+  0,15,192,63,0,15,192,127,0,15,192,127,0,15,224,127,
+  0,15,224,127,0,15,224,255,0,15,240,255,0,15,240,255,
   0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,255,
-  0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,127,
-  0,15,224,127,0,15,224,127,0,15,224,127,0,15,192,63,
-  0,15,192,63,0,15,192,31,0,15,128,15,0,15,0,15,
-  128,31,0,7,128,30,0,3,192,60,0,0,224,112,0,0,
-  63,192,0,28,44,176,33,3,0,0,0,8,0,0,126,24,
-  0,0,255,248,0,1,255,240,0,1,7,224,0,0,0,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,63,192,0,0,224,112,0,3,192,56,0,7,128,30,
-  0,15,128,30,0,15,0,15,0,31,0,15,128,63,0,15,
-  192,63,0,15,192,127,0,15,192,127,0,15,224,127,0,15,
-  224,127,0,15,224,255,0,15,240,255,0,15,240,255,0,15,
+  0,15,240,255,0,15,240,127,0,15,224,127,0,15,224,127,
+  0,15,224,127,0,15,192,63,0,15,192,63,0,15,192,31,
+  0,15,128,15,0,15,0,15,128,31,0,7,128,30,0,3,
+  192,60,0,0,224,112,0,0,63,192,0,28,45,180,33,3,
+  0,0,6,0,0,0,14,0,0,0,15,0,0,0,31,128,
+  0,0,63,192,0,0,121,224,0,0,240,240,0,3,192,60,
+  0,3,0,12,0,0,0,0,0,0,0,0,0,0,63,192,
+  0,0,224,112,0,3,192,56,0,7,128,30,0,15,128,30,
+  0,15,0,15,0,31,0,15,128,63,0,15,192,63,0,15,
+  192,127,0,15,192,127,0,15,224,127,0,15,224,127,0,15,
+  224,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,
   240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,
-  240,255,0,15,240,127,0,15,224,127,0,15,224,127,0,15,
-  224,127,0,15,192,63,0,15,192,63,0,15,192,31,0,15,
-  128,15,0,15,0,15,128,31,0,7,128,30,0,3,192,60,
-  0,0,224,112,0,0,63,192,0,28,44,176,33,3,0,1,
-  224,120,0,3,240,252,0,3,240,252,0,3,240,252,0,3,
-  240,252,0,1,224,120,0,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,0,0,0,0,63,192,0,0,224,112,0,3,
-  192,56,0,7,128,30,0,15,128,30,0,15,0,15,0,31,
-  0,15,128,63,0,15,192,63,0,15,192,127,0,15,192,127,
-  0,15,224,127,0,15,224,127,0,15,224,255,0,15,240,255,
+  240,127,0,15,224,127,0,15,224,127,0,15,224,127,0,15,
+  192,63,0,15,192,63,0,15,192,31,0,15,128,15,0,15,
+  0,15,128,31,0,7,128,30,0,3,192,60,0,0,224,112,
+  0,0,63,192,0,28,44,176,33,3,0,0,0,8,0,0,
+  126,24,0,0,255,248,0,1,255,240,0,1,7,224,0,0,
+  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  0,0,0,0,63,192,0,0,224,112,0,3,192,56,0,7,
+  128,30,0,15,128,30,0,15,0,15,0,31,0,15,128,63,
+  0,15,192,63,0,15,192,127,0,15,192,127,0,15,224,127,
+  0,15,224,127,0,15,224,255,0,15,240,255,0,15,240,255,
   0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,255,
-  0,15,240,255,0,15,240,255,0,15,240,127,0,15,224,127,
-  0,15,224,127,0,15,224,127,0,15,192,63,0,15,192,63,
-  0,15,192,31,0,15,128,15,0,15,0,15,128,31,0,7,
-  128,30,0,3,192,60,0,0,224,112,0,0,63,192,0,31,
-  30,120,45,7,253,32,0,0,0,112,0,0,12,248,0,0,
-  30,124,0,0,60,62,0,0,120,31,0,1,240,15,128,3,
-  224,7,192,7,192,3,224,15,128,1,240,31,0,0,248,62,
-  0,0,124,124,0,0,62,248,0,0,31,240,0,0,15,224,
-  0,0,7,192,0,0,15,224,0,0,31,240,0,0,62,248,
-  0,0,124,60,0,0,248,30,0,1,240,15,0,3,224,7,
-  128,7,192,3,192,15,128,1,224,31,0,0,240,62,0,0,
-  120,124,0,0,60,248,0,0,30,112,0,0,12,28,34,136,
-  33,3,1,0,63,224,48,0,224,112,96,1,192,60,192,7,
-  128,31,192,15,128,31,128,15,0,15,0,31,0,15,128,63,
-  0,15,192,63,0,31,192,63,0,31,224,127,0,63,224,127,
-  0,111,224,127,0,239,224,255,0,207,240,255,1,143,240,255,
-  3,15,240,255,7,15,240,255,14,15,240,255,12,15,240,255,
-  24,15,240,255,48,15,240,255,112,15,224,127,96,15,224,127,
-  192,15,224,127,128,15,192,63,128,15,192,63,0,15,192,31,
-  0,15,128,15,0,15,0,31,128,30,0,63,128,30,0,51,
-  192,56,0,96,224,112,0,192,127,192,0,33,45,225,38,3,
-  0,0,24,0,0,0,0,60,0,0,0,0,62,0,0,0,
-  0,31,0,0,0,0,15,128,0,0,0,7,128,0,0,0,
-  1,192,0,0,0,0,224,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,0,0,0,0,255,255,7,255,128,15,224,1,
-  254,0,15,224,0,120,0,15,224,0,48,0,15,224,0,48,
-  0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,
-  15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,
-  224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,
-  0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,
-  48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,
-  0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,
-  15,224,0,48,0,15,224,0,48,0,7,224,0,48,0,7,
-  224,0,96,0,7,240,0,96,0,3,240,0,192,0,1,248,
-  1,192,0,0,252,3,128,0,0,127,159,0,0,0,31,252,
-  0,0,33,45,225,38,3,0,0,0,7,0,0,0,0,15,
-  0,0,0,0,15,0,0,0,0,31,0,0,0,0,60,0,
-  0,0,0,56,0,0,0,0,112,0,0,0,0,224,0,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,
-  255,7,255,128,15,224,1,254,0,15,224,0,120,0,15,224,
+  0,15,240,255,0,15,240,127,0,15,224,127,0,15,224,127,
+  0,15,224,127,0,15,192,63,0,15,192,63,0,15,192,31,
+  0,15,128,15,0,15,0,15,128,31,0,7,128,30,0,3,
+  192,60,0,0,224,112,0,0,63,192,0,28,44,176,33,3,
+  0,1,224,120,0,3,240,252,0,3,240,252,0,3,240,252,
+  0,3,240,252,0,1,224,120,0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0,0,0,63,192,0,0,224,112,
+  0,3,192,56,0,7,128,30,0,15,128,30,0,15,0,15,
+  0,31,0,15,128,63,0,15,192,63,0,15,192,127,0,15,
+  192,127,0,15,224,127,0,15,224,127,0,15,224,255,0,15,
+  240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,
+  240,255,0,15,240,255,0,15,240,255,0,15,240,127,0,15,
+  224,127,0,15,224,127,0,15,224,127,0,15,192,63,0,15,
+  192,63,0,15,192,31,0,15,128,15,0,15,0,15,128,31,
+  0,7,128,30,0,3,192,60,0,0,224,112,0,0,63,192,
+  0,31,30,120,45,7,253,32,0,0,0,112,0,0,12,248,
+  0,0,30,124,0,0,60,62,0,0,120,31,0,1,240,15,
+  128,3,224,7,192,7,192,3,224,15,128,1,240,31,0,0,
+  248,62,0,0,124,124,0,0,62,248,0,0,31,240,0,0,
+  15,224,0,0,7,192,0,0,15,224,0,0,31,240,0,0,
+  62,248,0,0,124,60,0,0,248,30,0,1,240,15,0,3,
+  224,7,128,7,192,3,192,15,128,1,224,31,0,0,240,62,
+  0,0,120,124,0,0,60,248,0,0,30,112,0,0,12,28,
+  34,136,33,3,1,0,63,224,48,0,224,112,96,1,192,60,
+  192,7,128,31,192,15,128,31,128,15,0,15,0,31,0,15,
+  128,63,0,15,192,63,0,31,192,63,0,31,224,127,0,63,
+  224,127,0,111,224,127,0,239,224,255,0,207,240,255,1,143,
+  240,255,3,15,240,255,7,15,240,255,14,15,240,255,12,15,
+  240,255,24,15,240,255,48,15,240,255,112,15,224,127,96,15,
+  224,127,192,15,224,127,128,15,192,63,128,15,192,63,0,15,
+  192,31,0,15,128,15,0,15,0,31,128,30,0,63,128,30,
+  0,51,192,56,0,96,224,112,0,192,127,192,0,33,45,225,
+  38,3,0,0,24,0,0,0,0,60,0,0,0,0,62,0,
+  0,0,0,31,0,0,0,0,15,128,0,0,0,7,128,0,
+  0,0,1,192,0,0,0,0,224,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0,0,0,255,255,7,255,128,15,
+  224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224,
   0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,
   48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,
   0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,
   15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,
   224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,
   0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,
-  48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,
-  0,7,224,0,48,0,7,224,0,96,0,7,240,0,96,0,
-  3,240,0,192,0,1,248,1,192,0,0,252,3,128,0,0,
-  127,159,0,0,0,31,252,0,0,33,45,225,38,3,0,0,
-  0,64,0,0,0,0,224,0,0,0,1,240,0,0,0,3,
-  240,0,0,0,7,248,0,0,0,15,28,0,0,0,30,15,
-  0,0,0,112,3,128,0,0,0,0,128,0,0,0,0,0,
-  0,0,0,0,0,0,255,255,7,255,128,15,224,1,254,0,
-  15,224,0,120,0,15,224,0,48,0,15,224,0,48,0,15,
+  48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48,
+  0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0,
+  1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0,
+  31,252,0,0,33,45,225,38,3,0,0,0,7,0,0,0,
+  0,15,0,0,0,0,15,0,0,0,0,31,0,0,0,0,
+  60,0,0,0,0,56,0,0,0,0,112,0,0,0,0,224,
+  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  0,255,255,7,255,128,15,224,1,254,0,15,224,0,120,0,
+  15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,
   224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,
   0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,
   48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,
   0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,
   15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,
   224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,
-  0,48,0,15,224,0,48,0,7,224,0,48,0,7,224,0,
-  96,0,7,240,0,96,0,3,240,0,192,0,1,248,1,192,
-  0,0,252,3,128,0,0,127,159,0,0,0,31,252,0,0,
-  33,44,220,38,3,0,0,60,15,0,0,0,126,31,128,0,
-  0,126,31,128,0,0,126,31,128,0,0,126,31,128,0,0,
-  60,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,0,0,0,0,255,254,7,255,128,15,224,1,
+  0,48,0,7,224,0,48,0,7,224,0,96,0,7,240,0,
+  96,0,3,240,0,192,0,1,248,1,192,0,0,252,3,128,
+  0,0,127,159,0,0,0,31,252,0,0,33,45,225,38,3,
+  0,0,0,64,0,0,0,0,224,0,0,0,1,240,0,0,
+  0,3,240,0,0,0,7,248,0,0,0,15,28,0,0,0,
+  30,15,0,0,0,112,3,128,0,0,0,0,128,0,0,0,
+  0,0,0,0,0,0,0,0,255,255,7,255,128,15,224,1,
   254,0,15,224,0,120,0,15,224,0,48,0,15,224,0,48,
   0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,
   15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,
@@ -61718,246 +62163,261 @@ const u8g_fntpgm_uint8_t u8g_font_osb35[22095] U8G_SECTION(".progmem.u8g_font_os
   15,224,0,48,0,15,224,0,48,0,7,224,0,48,0,7,
   224,0,96,0,7,240,0,96,0,3,240,0,192,0,1,248,
   1,192,0,0,252,3,128,0,0,127,159,0,0,0,31,252,
-  0,0,32,45,180,35,2,0,0,0,7,0,0,0,15,0,
-  0,0,31,0,0,0,31,0,0,0,60,0,0,0,120,0,
-  0,0,112,0,0,0,192,0,0,0,128,0,0,0,0,0,
-  0,0,0,0,255,254,15,255,31,248,1,248,15,248,0,240,
-  7,248,0,224,7,248,0,192,3,252,0,192,3,252,0,192,
-  1,252,1,128,1,254,1,128,0,254,3,0,0,255,3,0,
-  0,255,3,0,0,127,134,0,0,127,134,0,0,63,196,0,
-  0,63,204,0,0,31,204,0,0,31,248,0,0,15,248,0,
-  0,15,248,0,0,7,240,0,0,7,240,0,0,7,240,0,
-  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
-  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
-  0,7,240,0,0,7,240,0,0,255,255,0,29,34,136,34,
-  3,0,255,255,128,0,7,240,0,0,7,240,0,0,7,240,
-  0,0,7,240,0,0,7,240,0,0,7,255,248,0,7,240,
-  63,0,7,240,15,192,7,240,15,224,7,240,15,240,7,240,
-  7,240,7,240,7,248,7,240,7,248,7,240,7,248,7,240,
-  7,248,7,240,7,248,7,240,7,248,7,240,7,240,7,240,
-  15,240,7,240,15,224,7,240,15,192,7,240,31,0,7,255,
-  252,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,
-  0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,
-  0,0,7,240,0,0,255,255,128,0,23,34,102,27,2,0,
-  0,127,0,1,227,128,3,195,224,7,193,224,7,193,240,15,
-  129,240,15,129,240,15,129,240,31,129,240,31,129,224,31,129,
-  224,31,129,192,31,131,128,31,188,0,31,131,0,31,129,192,
-  31,128,240,31,128,248,31,128,248,31,128,124,31,128,124,31,
-  128,126,31,128,126,31,128,126,31,128,126,31,128,126,31,128,
-  126,31,184,126,31,252,124,31,252,124,31,248,252,31,248,248,
-  31,184,240,255,159,224,21,34,102,24,2,0,24,0,0,60,
-  0,0,62,0,0,30,0,0,15,0,0,7,128,0,3,128,
-  0,1,192,0,0,192,0,0,0,0,0,0,0,0,0,0,
-  15,248,0,24,62,0,56,63,0,120,31,0,124,31,128,126,
-  31,128,126,31,128,60,31,128,0,127,128,3,223,128,15,31,
-  128,30,31,128,62,31,128,124,31,128,252,31,128,252,31,128,
-  252,31,136,252,31,136,252,31,152,254,63,144,127,127,240,63,
-  143,224,21,34,102,24,2,0,0,12,0,0,30,0,0,62,
-  0,0,62,0,0,124,0,0,120,0,0,224,0,0,192,0,
-  1,128,0,0,0,0,0,0,0,0,0,0,15,248,0,24,
-  62,0,56,63,0,120,31,0,124,31,128,126,31,128,126,31,
-  128,62,31,128,8,63,128,1,255,128,7,159,128,30,31,128,
-  62,31,128,124,31,128,124,31,128,252,31,128,252,31,136,252,
-  31,136,252,31,152,254,63,144,127,127,240,63,143,224,21,34,
-  102,24,2,0,1,192,0,1,224,0,3,224,0,3,224,0,
-  7,240,0,7,56,0,14,28,0,28,14,0,48,7,0,0,
-  0,0,0,0,0,0,0,0,15,248,0,24,62,0,56,63,
-  0,120,31,0,124,31,128,126,31,128,126,31,128,62,31,128,
-  8,63,128,1,255,128,7,159,128,30,31,128,62,31,128,124,
-  31,128,124,31,128,252,31,128,252,31,136,252,31,136,252,31,
-  152,254,63,144,127,127,240,63,143,224,21,32,96,24,2,0,
-  15,3,0,31,195,0,63,254,0,49,252,0,32,120,0,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,248,
+  0,0,33,44,220,38,3,0,0,60,15,0,0,0,126,31,
+  128,0,0,126,31,128,0,0,126,31,128,0,0,126,31,128,
+  0,0,60,15,0,0,0,0,0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0,0,0,255,254,7,255,128,15,
+  224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224,
+  0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,
+  48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,
+  0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,
+  15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,
+  224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,
+  0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,
+  48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48,
+  0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0,
+  1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0,
+  31,252,0,0,32,45,180,35,2,0,0,0,7,0,0,0,
+  15,0,0,0,31,0,0,0,31,0,0,0,60,0,0,0,
+  120,0,0,0,112,0,0,0,192,0,0,0,128,0,0,0,
+  0,0,0,0,0,0,255,254,15,255,31,248,1,248,15,248,
+  0,240,7,248,0,224,7,248,0,192,3,252,0,192,3,252,
+  0,192,1,252,1,128,1,254,1,128,0,254,3,0,0,255,
+  3,0,0,255,3,0,0,127,134,0,0,127,134,0,0,63,
+  196,0,0,63,204,0,0,31,204,0,0,31,248,0,0,15,
+  248,0,0,15,248,0,0,7,240,0,0,7,240,0,0,7,
+  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
+  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
+  240,0,0,7,240,0,0,7,240,0,0,255,255,0,29,34,
+  136,34,3,0,255,255,128,0,7,240,0,0,7,240,0,0,
+  7,240,0,0,7,240,0,0,7,240,0,0,7,255,248,0,
+  7,240,63,0,7,240,15,192,7,240,15,224,7,240,15,240,
+  7,240,7,240,7,240,7,248,7,240,7,248,7,240,7,248,
+  7,240,7,248,7,240,7,248,7,240,7,248,7,240,7,240,
+  7,240,15,240,7,240,15,224,7,240,15,192,7,240,31,0,
+  7,255,252,0,7,240,0,0,7,240,0,0,7,240,0,0,
+  7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,
+  7,240,0,0,7,240,0,0,255,255,128,0,23,34,102,27,
+  2,0,0,127,0,1,227,128,3,195,224,7,193,224,7,193,
+  240,15,129,240,15,129,240,15,129,240,31,129,240,31,129,224,
+  31,129,224,31,129,192,31,131,128,31,188,0,31,131,0,31,
+  129,192,31,128,240,31,128,248,31,128,248,31,128,124,31,128,
+  124,31,128,126,31,128,126,31,128,126,31,128,126,31,128,126,
+  31,128,126,31,184,126,31,252,124,31,252,124,31,248,252,31,
+  248,248,31,184,240,255,159,224,21,34,102,24,2,0,24,0,
+  0,60,0,0,62,0,0,30,0,0,15,0,0,7,128,0,
+  3,128,0,1,192,0,0,192,0,0,0,0,0,0,0,0,
+  0,0,15,248,0,24,62,0,56,63,0,120,31,0,124,31,
+  128,126,31,128,126,31,128,60,31,128,0,127,128,3,223,128,
+  15,31,128,30,31,128,62,31,128,124,31,128,252,31,128,252,
+  31,128,252,31,136,252,31,136,252,31,152,254,63,144,127,127,
+  240,63,143,224,21,34,102,24,2,0,0,12,0,0,30,0,
+  0,62,0,0,62,0,0,124,0,0,120,0,0,224,0,0,
+  192,0,1,128,0,0,0,0,0,0,0,0,0,0,15,248,
   0,24,62,0,56,63,0,120,31,0,124,31,128,126,31,128,
   126,31,128,62,31,128,8,63,128,1,255,128,7,159,128,30,
   31,128,62,31,128,124,31,128,124,31,128,252,31,128,252,31,
   136,252,31,136,252,31,152,254,63,144,127,127,240,63,143,224,
-  21,32,96,24,2,0,60,30,0,126,63,0,126,63,0,126,
-  63,0,126,63,0,60,30,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,15,248,0,24,62,0,56,63,0,120,31,0,
-  124,31,128,126,31,128,126,31,128,62,31,128,8,63,128,1,
-  255,128,7,159,128,30,31,128,62,31,128,124,31,128,124,31,
-  128,252,31,128,252,31,136,252,31,136,252,31,152,254,63,144,
-  127,127,240,63,143,224,21,34,102,24,2,1,3,240,0,7,
-  248,0,14,28,0,12,12,0,12,12,0,12,12,0,14,28,
-  0,7,248,0,1,224,0,0,0,0,0,0,0,0,0,0,
+  21,34,102,24,2,0,1,192,0,1,224,0,3,224,0,3,
+  224,0,7,240,0,7,56,0,14,28,0,28,14,0,48,7,
+  0,0,0,0,0,0,0,0,0,0,15,248,0,24,62,0,
+  56,63,0,120,31,0,124,31,128,126,31,128,126,31,128,62,
+  31,128,8,63,128,1,255,128,7,159,128,30,31,128,62,31,
+  128,124,31,128,124,31,128,252,31,128,252,31,136,252,31,136,
+  252,31,152,254,63,144,127,127,240,63,143,224,21,32,96,24,
+  2,0,15,3,0,31,195,0,63,254,0,49,252,0,32,120,
+  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   15,248,0,24,62,0,56,63,0,120,31,0,124,31,128,126,
-  31,128,126,31,128,62,31,128,8,63,128,1,255,128,7,31,
+  31,128,126,31,128,62,31,128,8,63,128,1,255,128,7,159,
   128,30,31,128,62,31,128,124,31,128,124,31,128,252,31,128,
-  252,31,136,252,31,136,252,31,152,254,63,144,127,111,240,63,
-  199,224,29,22,88,34,2,1,15,240,255,128,24,63,195,192,
-  56,63,195,224,120,31,131,240,124,31,129,240,126,31,129,240,
-  126,31,129,248,62,31,129,248,0,63,129,248,1,255,129,248,
-  7,31,255,248,30,31,128,0,62,31,128,0,124,31,128,0,
-  124,31,128,8,252,31,128,8,252,31,128,24,252,31,192,16,
-  252,31,192,16,254,51,192,32,127,97,240,64,63,192,255,128,
-  18,32,96,22,2,247,3,252,0,15,6,0,31,7,0,62,
-  7,128,62,7,128,126,15,128,124,31,128,252,31,128,252,31,
-  0,252,14,0,252,0,0,252,0,0,252,0,0,252,0,0,
-  252,0,0,124,0,64,124,0,192,62,0,128,62,1,128,30,
-  1,0,15,130,0,3,252,0,0,128,0,0,128,0,1,128,
-  0,0,240,0,0,56,0,0,60,0,0,60,0,0,60,0,
-  4,120,0,3,240,0,18,34,102,23,2,0,28,0,0,30,
-  0,0,30,0,0,31,0,0,15,128,0,7,128,0,3,192,
-  0,0,192,0,0,96,0,0,0,0,0,0,0,0,0,0,
-  3,252,0,14,30,0,30,31,0,62,15,128,60,15,128,124,
-  15,128,124,15,192,252,15,192,252,15,192,252,15,192,255,255,
-  192,252,0,0,252,0,0,252,0,0,252,0,64,124,0,64,
-  124,0,192,62,0,192,62,1,128,31,1,0,15,135,0,3,
-  252,0,18,34,102,23,2,0,0,14,0,0,31,0,0,31,
-  0,0,62,0,0,60,0,0,120,0,0,240,0,0,224,0,
-  1,128,0,0,0,0,0,0,0,0,0,0,3,252,0,14,
-  30,0,30,31,0,62,15,128,60,15,128,124,15,128,124,15,
-  192,252,15,192,252,15,192,252,15,192,255,255,192,252,0,0,
-  252,0,0,252,0,0,252,0,64,124,0,64,124,0,192,62,
-  0,192,62,0,128,31,1,0,15,131,0,3,252,0,18,34,
-  102,23,2,0,1,224,0,1,224,0,1,240,0,3,240,0,
-  3,248,0,7,56,0,14,28,0,28,14,0,56,3,0,0,
-  0,0,0,0,0,0,0,0,3,252,0,14,30,0,30,31,
-  0,62,15,128,60,15,128,124,15,128,124,15,192,252,15,192,
-  252,15,192,252,15,192,255,255,192,252,0,0,252,0,0,252,
-  0,0,252,0,64,124,0,64,124,0,192,62,0,192,62,0,
-  128,31,1,0,15,131,0,3,252,0,18,32,96,23,2,0,
-  30,15,0,63,31,128,63,31,128,63,31,128,63,31,128,30,
-  15,0,0,0,0,0,0,0,0,0,0,0,0,0,3,252,
+  252,31,136,252,31,136,252,31,152,254,63,144,127,127,240,63,
+  143,224,21,32,96,24,2,0,60,30,0,126,63,0,126,63,
+  0,126,63,0,126,63,0,60,30,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,15,248,0,24,62,0,56,63,0,120,
+  31,0,124,31,128,126,31,128,126,31,128,62,31,128,8,63,
+  128,1,255,128,7,159,128,30,31,128,62,31,128,124,31,128,
+  124,31,128,252,31,128,252,31,136,252,31,136,252,31,152,254,
+  63,144,127,127,240,63,143,224,21,34,102,24,2,1,3,240,
+  0,7,248,0,14,28,0,12,12,0,12,12,0,12,12,0,
+  14,28,0,7,248,0,1,224,0,0,0,0,0,0,0,0,
+  0,0,15,248,0,24,62,0,56,63,0,120,31,0,124,31,
+  128,126,31,128,126,31,128,62,31,128,8,63,128,1,255,128,
+  7,31,128,30,31,128,62,31,128,124,31,128,124,31,128,252,
+  31,128,252,31,136,252,31,136,252,31,152,254,63,144,127,111,
+  240,63,199,224,29,22,88,34,2,1,15,240,255,128,24,63,
+  195,192,56,63,195,224,120,31,131,240,124,31,129,240,126,31,
+  129,240,126,31,129,248,62,31,129,248,0,63,129,248,1,255,
+  129,248,7,31,255,248,30,31,128,0,62,31,128,0,124,31,
+  128,0,124,31,128,8,252,31,128,8,252,31,128,24,252,31,
+  192,16,252,31,192,16,254,51,192,32,127,97,240,64,63,192,
+  255,128,18,32,96,22,2,247,3,252,0,15,6,0,31,7,
+  0,62,7,128,62,7,128,126,15,128,124,31,128,252,31,128,
+  252,31,0,252,14,0,252,0,0,252,0,0,252,0,0,252,
+  0,0,252,0,0,124,0,64,124,0,192,62,0,128,62,1,
+  128,30,1,0,15,130,0,3,252,0,0,128,0,0,128,0,
+  1,128,0,0,240,0,0,56,0,0,60,0,0,60,0,0,
+  60,0,4,120,0,3,240,0,18,34,102,23,2,0,28,0,
+  0,30,0,0,30,0,0,31,0,0,15,128,0,7,128,0,
+  3,192,0,0,192,0,0,96,0,0,0,0,0,0,0,0,
+  0,0,3,252,0,14,30,0,30,31,0,62,15,128,60,15,
+  128,124,15,128,124,15,192,252,15,192,252,15,192,252,15,192,
+  255,255,192,252,0,0,252,0,0,252,0,0,252,0,64,124,
+  0,64,124,0,192,62,0,192,62,1,128,31,1,0,15,135,
+  0,3,252,0,18,34,102,23,2,0,0,14,0,0,31,0,
+  0,31,0,0,62,0,0,60,0,0,120,0,0,240,0,0,
+  224,0,1,128,0,0,0,0,0,0,0,0,0,0,3,252,
   0,14,30,0,30,31,0,62,15,128,60,15,128,124,15,128,
   124,15,192,252,15,192,252,15,192,252,15,192,255,255,192,252,
   0,0,252,0,0,252,0,0,252,0,64,124,0,64,124,0,
   192,62,0,192,62,0,128,31,1,0,15,131,0,3,252,0,
-  12,34,68,15,1,0,96,0,240,0,248,0,248,0,124,0,
-  28,0,14,0,7,0,3,0,0,0,0,0,0,0,127,128,
-  31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,
+  18,34,102,23,2,0,1,224,0,1,224,0,1,240,0,3,
+  240,0,3,248,0,7,56,0,14,28,0,28,14,0,56,3,
+  0,0,0,0,0,0,0,0,0,0,3,252,0,14,30,0,
+  30,31,0,62,15,128,60,15,128,124,15,128,124,15,192,252,
+  15,192,252,15,192,252,15,192,255,255,192,252,0,0,252,0,
+  0,252,0,0,252,0,64,124,0,64,124,0,192,62,0,192,
+  62,0,128,31,1,0,15,131,0,3,252,0,18,32,96,23,
+  2,0,30,15,0,63,31,128,63,31,128,63,31,128,63,31,
+  128,30,15,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  3,252,0,14,30,0,30,31,0,62,15,128,60,15,128,124,
+  15,128,124,15,192,252,15,192,252,15,192,252,15,192,255,255,
+  192,252,0,0,252,0,0,252,0,0,252,0,64,124,0,64,
+  124,0,192,62,0,192,62,0,128,31,1,0,15,131,0,3,
+  252,0,12,34,68,15,1,0,96,0,240,0,248,0,248,0,
+  124,0,28,0,14,0,7,0,3,0,0,0,0,0,0,0,
+  127,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,
   31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,
-  31,128,31,128,31,128,31,128,127,240,12,34,68,15,2,0,
-  0,224,1,240,1,240,3,224,7,192,7,128,15,0,28,0,
-  24,0,0,0,0,0,0,0,255,0,63,0,63,0,63,0,
+  31,128,31,128,31,128,31,128,31,128,127,240,12,34,68,15,
+  2,0,0,224,1,240,1,240,3,224,7,192,7,128,15,0,
+  28,0,24,0,0,0,0,0,0,0,255,0,63,0,63,0,
   63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,
   63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,
-  63,0,255,224,14,34,68,14,0,0,7,128,15,128,15,128,
-  15,192,31,224,60,224,56,112,112,60,192,12,0,0,0,0,
-  0,0,63,192,15,192,15,192,15,192,15,192,15,192,15,192,
+  63,0,63,0,255,224,14,34,68,14,0,0,7,128,15,128,
+  15,128,15,192,31,224,60,224,56,112,112,60,192,12,0,0,
+  0,0,0,0,63,192,15,192,15,192,15,192,15,192,15,192,
   15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192,
-  15,192,15,192,15,192,15,192,15,192,15,192,63,248,14,32,
-  64,14,1,0,120,120,252,252,252,252,252,252,252,252,120,120,
-  0,0,0,0,0,0,0,0,63,192,15,192,15,192,15,192,
+  15,192,15,192,15,192,15,192,15,192,15,192,15,192,63,248,
+  14,32,64,14,1,0,120,120,252,252,252,252,252,252,252,252,
+  120,120,0,0,0,0,0,0,0,0,63,192,15,192,15,192,
   15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192,
   15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192,
-  15,192,63,248,20,34,102,24,2,0,15,193,128,15,227,0,
-  7,254,0,3,248,0,1,248,0,1,252,0,3,254,0,14,
-  126,0,24,63,0,0,63,128,0,31,128,0,15,192,7,255,
-  192,15,15,224,30,7,224,62,7,224,62,7,224,124,7,240,
-  124,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,
-  3,240,252,3,240,252,3,240,252,3,240,124,3,224,124,7,
-  224,62,7,192,62,7,192,30,7,128,15,15,0,3,252,0,
-  23,32,96,27,2,0,3,224,96,7,248,64,15,255,192,12,
-  127,128,8,15,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,255,31,192,63,35,224,63,65,240,63,65,248,
-  63,129,248,63,129,248,63,1,248,63,1,248,63,1,248,63,
-  1,248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,
-  248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248,
-  63,1,248,255,199,254,20,34,102,24,2,0,14,0,0,31,
-  0,0,31,0,0,15,128,0,7,192,0,3,192,0,1,224,
-  0,0,96,0,0,48,0,0,0,0,0,0,0,0,0,0,
-  3,252,0,15,15,0,30,7,128,62,7,192,62,7,192,124,
-  3,224,124,3,224,252,3,240,252,3,240,252,3,240,252,3,
+  15,192,15,192,63,248,20,34,102,24,2,0,15,193,128,15,
+  227,0,7,254,0,3,248,0,1,248,0,1,252,0,3,254,
+  0,14,126,0,24,63,0,0,63,128,0,31,128,0,15,192,
+  7,255,192,15,15,224,30,7,224,62,7,224,62,7,224,124,
+  7,240,124,3,240,252,3,240,252,3,240,252,3,240,252,3,
   240,252,3,240,252,3,240,252,3,240,252,3,240,124,3,224,
-  124,3,224,62,7,192,62,7,192,30,7,128,15,15,0,3,
-  252,0,20,34,102,24,2,0,0,7,0,0,15,128,0,15,
-  128,0,31,0,0,62,0,0,60,0,0,120,0,0,224,0,
-  0,192,0,0,0,0,0,0,0,0,0,0,3,252,0,15,
-  15,0,30,7,128,62,7,192,62,7,192,124,3,224,124,3,
-  224,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,
-  252,3,240,252,3,240,252,3,240,124,3,224,124,3,224,62,
-  7,192,62,7,192,30,7,128,15,15,0,3,252,0,20,34,
-  102,24,2,0,0,240,0,0,240,0,1,248,0,1,248,0,
-  3,252,0,3,156,0,7,14,0,14,7,0,24,1,128,0,
-  0,0,0,0,0,0,0,0,3,252,0,15,15,0,30,7,
-  128,62,7,192,62,7,192,124,3,224,124,3,224,252,3,240,
-  252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,
-  3,240,252,3,240,124,3,224,124,3,224,62,7,192,62,7,
-  192,30,7,128,15,15,0,3,252,0,20,32,96,24,2,0,
-  7,192,128,15,240,128,31,255,128,16,255,0,16,62,0,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,252,
+  124,7,224,62,7,192,62,7,192,30,7,128,15,15,0,3,
+  252,0,23,32,96,27,2,0,3,224,96,7,248,64,15,255,
+  192,12,127,128,8,15,0,0,0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,255,31,192,63,35,224,63,65,240,63,
+  65,248,63,129,248,63,129,248,63,1,248,63,1,248,63,1,
+  248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248,
+  63,1,248,63,1,248,63,1,248,63,1,248,63,1,248,63,
+  1,248,63,1,248,255,199,254,20,34,102,24,2,0,14,0,
+  0,31,0,0,31,0,0,15,128,0,7,192,0,3,192,0,
+  1,224,0,0,96,0,0,48,0,0,0,0,0,0,0,0,
+  0,0,3,252,0,15,15,0,30,7,128,62,7,192,62,7,
+  192,124,3,224,124,3,224,252,3,240,252,3,240,252,3,240,
+  252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,124,
+  3,224,124,3,224,62,7,192,62,7,192,30,7,128,15,15,
+  0,3,252,0,20,34,102,24,2,0,0,7,0,0,15,128,
+  0,15,128,0,31,0,0,62,0,0,60,0,0,120,0,0,
+  224,0,0,192,0,0,0,0,0,0,0,0,0,0,3,252,
   0,15,15,0,30,7,128,62,7,192,62,7,192,124,3,224,
   124,3,224,252,3,240,252,3,240,252,3,240,252,3,240,252,
   3,240,252,3,240,252,3,240,252,3,240,124,3,224,124,3,
   224,62,7,192,62,7,192,30,7,128,15,15,0,3,252,0,
-  20,32,96,24,2,0,30,15,0,63,31,128,63,31,128,63,
-  31,128,63,31,128,30,15,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,3,252,0,15,15,0,30,7,128,62,7,192,
-  62,7,192,124,3,224,124,3,224,252,3,240,252,3,240,252,
+  20,34,102,24,2,0,0,240,0,0,240,0,1,248,0,1,
+  248,0,3,252,0,3,156,0,7,14,0,14,7,0,24,1,
+  128,0,0,0,0,0,0,0,0,0,3,252,0,15,15,0,
+  30,7,128,62,7,192,62,7,192,124,3,224,124,3,224,252,
   3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,
-  240,124,3,224,124,3,224,62,7,192,62,7,192,30,7,128,
-  15,15,0,3,252,0,41,32,192,45,2,253,0,0,28,0,
-  0,0,0,0,62,0,0,0,0,0,127,0,0,0,0,0,
-  127,0,0,0,0,0,127,0,0,0,0,0,62,0,0,0,
-  0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  240,252,3,240,252,3,240,124,3,224,124,3,224,62,7,192,
+  62,7,192,30,7,128,15,15,0,3,252,0,20,32,96,24,
+  2,0,7,192,128,15,240,128,31,255,128,16,255,0,16,62,
+  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  3,252,0,15,15,0,30,7,128,62,7,192,62,7,192,124,
+  3,224,124,3,224,252,3,240,252,3,240,252,3,240,252,3,
+  240,252,3,240,252,3,240,252,3,240,252,3,240,124,3,224,
+  124,3,224,62,7,192,62,7,192,30,7,128,15,15,0,3,
+  252,0,20,32,96,24,2,0,30,15,0,63,31,128,63,31,
+  128,63,31,128,63,31,128,30,15,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,3,252,0,15,15,0,30,7,128,62,
+  7,192,62,7,192,124,3,224,124,3,224,252,3,240,252,3,
+  240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,
+  252,3,240,124,3,224,124,3,224,62,7,192,62,7,192,30,
+  7,128,15,15,0,3,252,0,41,32,192,45,2,253,0,0,
+  28,0,0,0,0,0,62,0,0,0,0,0,127,0,0,0,
+  0,0,127,0,0,0,0,0,127,0,0,0,0,0,62,0,
+  0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,
   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  255,255,255,255,255,128,255,255,255,255,255,128,255,255,255,255,
-  255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  0,0,255,255,255,255,255,128,255,255,255,255,255,128,255,255,
+  255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,
   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,28,0,0,0,0,0,62,0,0,0,0,0,
-  127,0,0,0,0,0,127,0,0,0,0,0,127,0,0,0,
-  0,0,62,0,0,0,0,0,28,0,0,0,20,22,66,24,
-  2,1,3,252,48,15,15,96,30,15,192,62,7,192,62,7,
-  192,124,7,224,124,7,224,252,15,240,252,27,240,252,51,240,
-  252,115,240,252,227,240,252,195,240,253,131,240,255,3,240,126,
-  3,224,126,3,224,62,7,192,62,7,192,63,7,128,111,15,
-  0,195,252,0,24,34,102,26,1,0,7,0,0,7,128,0,
-  7,192,0,7,192,0,3,224,0,1,224,0,0,112,0,0,
-  48,0,0,24,0,0,0,0,0,0,0,0,0,0,255,143,
-  248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,
-  31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,
-  129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,131,
-  248,31,131,248,31,133,248,15,133,248,15,201,248,7,241,255,
-  24,34,102,26,1,0,0,3,128,0,3,128,0,7,128,0,
-  15,128,0,15,0,0,30,0,0,28,0,0,56,0,0,48,
-  0,0,0,0,0,0,0,0,0,0,255,143,248,31,129,248,
-  31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,
-  129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,
-  248,31,129,248,31,129,248,31,129,248,31,131,248,31,131,248,
-  31,133,248,15,133,248,15,201,248,7,241,255,24,34,102,26,
-  1,0,0,56,0,0,120,0,0,124,0,0,252,0,0,254,
-  0,1,206,0,3,135,0,7,3,128,14,0,192,0,0,0,
-  0,0,0,0,0,0,255,143,248,31,129,248,31,129,248,31,
+  0,0,0,0,0,0,28,0,0,0,0,0,62,0,0,0,
+  0,0,127,0,0,0,0,0,127,0,0,0,0,0,127,0,
+  0,0,0,0,62,0,0,0,0,0,28,0,0,0,20,22,
+  66,24,2,1,3,252,48,15,15,96,30,15,192,62,7,192,
+  62,7,192,124,7,224,124,7,224,252,15,240,252,27,240,252,
+  51,240,252,115,240,252,227,240,252,195,240,253,131,240,255,3,
+  240,126,3,224,126,3,224,62,7,192,62,7,192,63,7,128,
+  111,15,0,195,252,0,24,34,102,26,1,0,7,0,0,7,
+  128,0,7,192,0,7,192,0,3,224,0,1,224,0,0,112,
+  0,0,48,0,0,24,0,0,0,0,0,0,0,0,0,0,
+  255,143,248,31,129,248,31,129,248,31,129,248,31,129,248,31,
   129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,
   248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,
-  31,129,248,31,129,248,31,131,248,31,131,248,31,133,248,15,
-  133,248,15,201,248,7,241,255,24,32,96,26,1,0,7,131,
-  192,15,199,224,15,199,224,15,199,224,15,199,224,7,131,192,
-  0,0,0,0,0,0,0,0,0,0,0,0,255,135,248,31,
+  31,131,248,31,131,248,31,133,248,15,133,248,15,201,248,7,
+  241,255,24,34,102,26,1,0,0,3,128,0,3,128,0,7,
+  128,0,15,128,0,15,0,0,30,0,0,28,0,0,56,0,
+  0,48,0,0,0,0,0,0,0,0,0,0,255,143,248,31,
   129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,
   248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,
   31,129,248,31,129,248,31,129,248,31,129,248,31,131,248,31,
-  131,248,31,133,248,15,133,248,15,201,248,7,241,255,23,45,
-  135,25,1,245,0,1,192,0,1,224,0,3,224,0,7,192,
-  0,7,128,0,15,0,0,14,0,0,28,0,0,24,0,0,
-  0,0,0,0,0,0,0,0,255,241,254,63,192,120,31,128,
-  48,15,192,32,15,192,32,15,192,96,7,224,64,7,224,64,
-  3,240,192,3,240,128,1,248,128,1,249,128,0,249,0,0,
-  253,0,0,253,0,0,126,0,0,126,0,0,62,0,0,60,
-  0,0,28,0,0,28,0,0,12,0,0,8,0,0,8,0,
-  0,8,0,15,16,0,31,16,0,63,144,0,63,32,0,62,
-  32,0,62,64,0,31,192,0,15,0,0,22,44,132,25,1,
-  244,3,128,0,15,128,0,63,128,0,255,128,0,223,128,0,
+  131,248,31,133,248,15,133,248,15,201,248,7,241,255,24,34,
+  102,26,1,0,0,56,0,0,120,0,0,124,0,0,252,0,
+  0,254,0,1,206,0,3,135,0,7,3,128,14,0,192,0,
+  0,0,0,0,0,0,0,0,255,143,248,31,129,248,31,129,
+  248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,
+  31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,
+  129,248,31,129,248,31,129,248,31,131,248,31,131,248,31,133,
+  248,15,133,248,15,201,248,7,241,255,24,32,96,26,1,0,
+  7,131,192,15,199,224,15,199,224,15,199,224,15,199,224,7,
+  131,192,0,0,0,0,0,0,0,0,0,0,0,0,255,135,
+  248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,
+  31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,
+  129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,131,
+  248,31,131,248,31,133,248,15,133,248,15,201,248,7,241,255,
+  23,45,135,25,1,245,0,1,192,0,1,224,0,3,224,0,
+  7,192,0,7,128,0,15,0,0,14,0,0,28,0,0,24,
+  0,0,0,0,0,0,0,0,0,0,255,241,254,63,192,120,
+  31,128,48,15,192,32,15,192,32,15,192,96,7,224,64,7,
+  224,64,3,240,192,3,240,128,1,248,128,1,249,128,0,249,
+  0,0,253,0,0,253,0,0,126,0,0,126,0,0,62,0,
+  0,60,0,0,28,0,0,28,0,0,12,0,0,8,0,0,
+  8,0,0,8,0,15,16,0,31,16,0,63,144,0,63,32,
+  0,62,32,0,62,64,0,31,192,0,15,0,0,22,44,132,
+  25,1,244,3,128,0,15,128,0,63,128,0,255,128,0,223,
+  128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,
+  0,31,135,240,31,159,248,31,177,248,31,160,252,31,192,252,
+  31,192,252,31,192,252,31,128,252,31,128,252,31,128,248,31,
+  129,248,31,129,240,31,129,240,31,129,224,31,131,192,31,131,
+  128,31,135,128,31,134,0,31,140,0,31,152,0,31,224,0,
   31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,
-  135,240,31,159,248,31,177,248,31,160,252,31,192,252,31,192,
-  252,31,192,252,31,128,252,31,128,252,31,128,248,31,129,248,
-  31,129,240,31,129,240,31,129,224,31,131,192,31,131,128,31,
-  135,128,31,134,0,31,140,0,31,152,0,31,224,0,31,128,
-  0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,
-  31,128,0,31,128,0,31,128,0,30,0,0,120,0,0,224,
-  0,0,128,0,0,23,44,132,25,1,245,3,193,224,7,227,
-  240,7,227,240,7,227,240,7,227,240,3,193,224,0,0,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,255,241,254,63,
-  192,120,31,128,48,15,192,32,15,192,32,15,192,96,7,224,
-  64,7,224,64,3,240,192,3,240,128,1,240,128,1,249,128,
-  0,249,0,0,253,0,0,253,0,0,126,0,0,126,0,0,
-  62,0,0,60,0,0,28,0,0,28,0,0,12,0,0,8,
-  0,0,8,0,0,8,0,15,16,0,31,16,0,63,144,0,
-  63,32,0,62,32,0,62,64,0,31,192,0,15,0,0};
+  128,0,31,128,0,31,128,0,31,128,0,30,0,0,120,0,
+  0,224,0,0,128,0,0,23,44,132,25,1,245,3,193,224,
+  7,227,240,7,227,240,7,227,240,7,227,240,3,193,224,0,
+  0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,241,
+  254,63,192,120,31,128,48,15,192,32,15,192,32,15,192,96,
+  7,224,64,7,224,64,3,240,192,3,240,128,1,240,128,1,
+  249,128,0,249,0,0,253,0,0,253,0,0,126,0,0,126,
+  0,0,62,0,0,60,0,0,28,0,0,28,0,0,12,0,
+  0,8,0,0,8,0,0,8,0,15,16,0,31,16,0,63,
+  144,0,63,32,0,62,32,0,62,64,0,31,192,0,15,0,
+  0};
 /*
   Fontname: -FreeType-Old Standard TT-Bold-R-Normal--48-480-72-72-P-258-ISO10646-1
   Copyright: Copyright (C) 2006-2008 Alexey Kryukov <alexios@thessalonica.org.ru>
@@ -61970,8 +62430,8 @@ const u8g_fntpgm_uint8_t u8g_font_osb35[22095] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =35 descent=-9
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb35n[1539] U8G_SECTION(".progmem.u8g_font_osb35n") = {
-  0,133,60,215,242,34,0,0,0,0,42,57,0,35,247,34,
+const u8g_fntpgm_uint8_t u8g_font_osb35n[1567] U8G_FONT_SECTION("u8g_font_osb35n") = {
+  0,133,60,215,242,34,0,0,0,0,42,58,0,35,247,34,
   0,17,19,57,24,4,13,1,128,0,3,192,0,3,192,0,
   227,195,0,241,135,128,248,143,128,252,159,128,126,191,0,3,
   192,0,3,192,0,126,191,0,252,159,128,248,143,128,241,135,
@@ -62067,7 +62527,8 @@ const u8g_fntpgm_uint8_t u8g_font_osb35n[1539] U8G_SECTION(".progmem.u8g_font_os
   31,15,252,15,255,252,3,243,252,0,3,252,0,3,252,0,
   3,248,7,3,248,31,131,248,31,195,248,63,195,240,63,195,
   240,63,131,224,62,7,224,60,7,192,28,15,128,14,31,0,
-  7,252,0};
+  7,252,0,8,22,22,14,3,1,126,255,255,255,255,126,0,
+  0,0,0,0,0,0,0,0,0,126,255,255,255,255,126};
 /*
   Fontname: -FreeType-Old Standard TT-Bold-R-Normal--48-480-72-72-P-258-ISO10646-1
   Copyright: Copyright (C) 2006-2008 Alexey Kryukov <alexios@thessalonica.org.ru>
@@ -62080,8 +62541,8 @@ const u8g_fntpgm_uint8_t u8g_font_osb35n[1539] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =38 descent=-11
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osb35r[10245] U8G_SECTION(".progmem.u8g_font_osb35r") = {
-  0,133,60,215,242,35,12,218,29,222,32,127,246,38,245,35,
+const u8g_fntpgm_uint8_t u8g_font_osb35r[10247] U8G_FONT_SECTION("u8g_font_osb35r") = {
+  0,133,60,215,242,35,12,220,29,224,32,127,246,38,245,35,
   246,0,0,0,13,0,0,8,34,34,14,3,1,126,126,255,
   255,255,255,255,255,126,126,126,126,60,60,60,60,60,24,24,
   24,24,24,24,24,24,0,0,0,126,255,255,255,255,126,12,
@@ -62235,493 +62696,493 @@ const u8g_fntpgm_uint8_t u8g_font_osb35r[10245] U8G_SECTION(".progmem.u8g_font_o
   3,248,31,131,248,31,195,248,63,195,240,63,195,240,63,131,
   224,62,7,224,60,7,192,28,15,128,14,31,0,7,252,0,
   8,22,22,14,3,1,126,255,255,255,255,126,0,0,0,0,
-  0,0,0,0,0,0,126,255,255,255,255,126,9,31,62,13,
-  2,248,63,0,127,128,127,128,127,128,127,128,63,0,0,0,
+  0,0,0,0,0,0,126,255,255,255,255,126,9,32,64,13,
+  2,247,63,0,127,128,127,128,127,128,127,128,63,0,0,0,
   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,126,0,255,0,255,128,255,128,255,128,127,128,1,128,
-  1,128,1,128,3,0,3,0,6,0,28,0,56,0,96,0,
-  37,40,200,45,4,249,0,0,0,0,48,0,0,0,0,240,
+  0,0,60,0,127,0,255,0,255,128,255,128,255,128,57,128,
+  1,128,1,128,3,0,3,0,6,0,12,0,56,0,240,0,
+  64,0,37,40,200,45,4,249,0,0,0,0,48,0,0,0,
+  0,240,0,0,0,1,248,0,0,0,7,224,0,0,0,31,
+  128,0,0,0,126,0,0,0,1,252,0,0,0,7,240,0,
+  0,0,15,192,0,0,0,63,0,0,0,0,252,0,0,0,
+  3,240,0,0,0,15,224,0,0,0,63,128,0,0,0,126,
   0,0,0,1,248,0,0,0,7,224,0,0,0,31,128,0,
-  0,0,126,0,0,0,1,252,0,0,0,7,240,0,0,0,
-  15,192,0,0,0,63,0,0,0,0,252,0,0,0,3,240,
-  0,0,0,15,224,0,0,0,63,128,0,0,0,126,0,0,
-  0,1,248,0,0,0,7,224,0,0,0,31,128,0,0,0,
-  127,0,0,0,0,252,0,0,0,0,248,0,0,0,0,126,
-  0,0,0,0,31,128,0,0,0,15,224,0,0,0,3,248,
+  0,0,127,0,0,0,0,252,0,0,0,0,248,0,0,0,
+  0,126,0,0,0,0,31,128,0,0,0,15,224,0,0,0,
+  3,248,0,0,0,0,252,0,0,0,0,63,0,0,0,0,
+  15,192,0,0,0,3,240,0,0,0,1,252,0,0,0,0,
+  127,0,0,0,0,31,192,0,0,0,7,224,0,0,0,1,
+  248,0,0,0,0,126,0,0,0,0,63,128,0,0,0,15,
+  224,0,0,0,3,248,0,0,0,0,248,0,0,0,0,48,
+  41,13,78,45,2,6,255,255,255,255,255,128,255,255,255,255,
+  255,128,255,255,255,255,255,128,0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+  0,0,255,255,255,255,255,128,255,255,255,255,255,128,255,255,
+  255,255,255,128,37,40,200,45,4,249,96,0,0,0,0,120,
   0,0,0,0,252,0,0,0,0,63,0,0,0,0,15,192,
   0,0,0,3,240,0,0,0,1,252,0,0,0,0,127,0,
-  0,0,0,31,192,0,0,0,7,224,0,0,0,1,248,0,
+  0,0,0,31,128,0,0,0,7,224,0,0,0,1,248,0,
   0,0,0,126,0,0,0,0,63,128,0,0,0,15,224,0,
-  0,0,3,248,0,0,0,0,248,0,0,0,0,48,41,13,
-  78,45,2,6,255,255,255,255,255,128,255,255,255,255,255,128,
-  255,255,255,255,255,128,0,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-  255,255,255,255,255,128,255,255,255,255,255,128,255,255,255,255,
-  255,128,37,40,200,45,4,249,96,0,0,0,0,120,0,0,
-  0,0,252,0,0,0,0,63,0,0,0,0,15,192,0,0,
-  0,3,240,0,0,0,1,252,0,0,0,0,127,0,0,0,
-  0,31,128,0,0,0,7,224,0,0,0,1,248,0,0,0,
-  0,126,0,0,0,0,63,128,0,0,0,15,224,0,0,0,
-  3,240,0,0,0,0,252,0,0,0,0,63,0,0,0,0,
-  15,192,0,0,0,7,240,0,0,0,1,248,0,0,0,0,
-  248,0,0,0,3,240,0,0,0,15,192,0,0,0,63,128,
-  0,0,0,254,0,0,0,1,248,0,0,0,7,224,0,0,
-  0,31,128,0,0,0,126,0,0,0,1,252,0,0,0,7,
-  240,0,0,0,31,192,0,0,0,63,0,0,0,0,252,0,
-  0,0,3,240,0,0,0,15,224,0,0,0,63,128,0,0,
-  0,254,0,0,0,0,248,0,0,0,0,96,0,0,0,0,
-  15,34,68,22,3,1,31,240,59,248,96,252,96,252,192,126,
-  192,126,192,126,192,126,192,126,64,252,96,252,48,248,1,240,
-  1,224,3,192,3,128,7,0,7,0,14,0,12,16,12,16,
-  12,16,12,16,6,32,3,192,0,0,0,0,0,128,3,224,
-  7,240,7,240,7,240,7,240,3,224,35,34,170,39,2,1,
-  0,15,255,0,0,0,56,1,224,0,0,224,0,112,0,1,
-  128,0,28,0,7,0,0,14,0,14,0,0,7,0,12,0,
-  248,3,0,28,3,205,243,128,56,7,135,241,128,56,15,7,
-  225,192,112,31,7,225,192,112,62,7,224,224,112,62,7,224,
-  224,224,124,7,192,224,224,124,7,192,224,224,124,7,192,224,
-  224,252,15,192,224,224,248,15,128,224,224,248,15,128,224,224,
-  248,15,129,192,224,248,31,129,192,224,248,31,129,128,112,248,
-  31,3,128,112,248,63,3,0,112,120,111,6,0,56,60,199,
-  140,0,56,31,3,240,0,28,0,0,0,0,14,0,0,0,
-  0,7,0,0,0,0,3,128,0,0,0,1,192,0,96,0,
-  0,120,1,192,0,0,31,255,0,0,33,35,175,36,2,0,
-  0,0,192,0,0,0,1,192,0,0,0,1,224,0,0,0,
-  1,224,0,0,0,3,224,0,0,0,3,240,0,0,0,3,
-  240,0,0,0,7,240,0,0,0,7,248,0,0,0,7,248,
-  0,0,0,15,248,0,0,0,15,252,0,0,0,15,252,0,
-  0,0,25,252,0,0,0,25,254,0,0,0,25,254,0,0,
-  0,48,254,0,0,0,48,255,0,0,0,32,255,0,0,0,
-  96,127,0,0,0,96,127,128,0,0,64,127,128,0,0,192,
-  63,128,0,0,192,63,192,0,0,255,255,192,0,1,255,255,
-  192,0,1,128,31,224,0,1,0,31,224,0,3,0,15,224,
-  0,3,0,15,240,0,2,0,15,240,0,6,0,7,240,0,
-  15,0,7,248,0,31,0,15,252,0,255,240,255,255,128,28,
-  34,136,33,3,0,255,255,240,0,15,224,126,0,15,224,31,
-  0,15,224,31,128,15,224,15,192,15,224,15,192,15,224,15,
+  0,0,3,240,0,0,0,0,252,0,0,0,0,63,0,0,
+  0,0,15,192,0,0,0,7,240,0,0,0,1,248,0,0,
+  0,0,248,0,0,0,3,240,0,0,0,15,192,0,0,0,
+  63,128,0,0,0,254,0,0,0,1,248,0,0,0,7,224,
+  0,0,0,31,128,0,0,0,126,0,0,0,1,252,0,0,
+  0,7,240,0,0,0,31,192,0,0,0,63,0,0,0,0,
+  252,0,0,0,3,240,0,0,0,15,224,0,0,0,63,128,
+  0,0,0,254,0,0,0,0,248,0,0,0,0,96,0,0,
+  0,0,15,34,68,22,3,1,31,240,59,248,96,252,96,252,
+  192,126,192,126,192,126,192,126,192,126,64,252,96,252,48,248,
+  1,240,1,224,3,192,3,128,7,0,7,0,14,0,12,16,
+  12,16,12,16,12,16,6,32,3,192,0,0,0,0,0,128,
+  3,224,7,240,7,240,7,240,7,240,3,224,35,34,170,39,
+  2,1,0,15,255,0,0,0,56,1,224,0,0,224,0,112,
+  0,1,128,0,28,0,7,0,0,14,0,14,0,0,7,0,
+  12,0,248,3,0,28,3,205,243,128,56,7,135,241,128,56,
+  15,7,225,192,112,31,7,225,192,112,62,7,224,224,112,62,
+  7,224,224,224,124,7,192,224,224,124,7,192,224,224,124,7,
+  192,224,224,252,15,192,224,224,248,15,128,224,224,248,15,128,
+  224,224,248,15,129,192,224,248,31,129,192,224,248,31,129,128,
+  112,248,31,3,128,112,248,63,3,0,112,120,111,6,0,56,
+  60,199,140,0,56,31,3,240,0,28,0,0,0,0,14,0,
+  0,0,0,7,0,0,0,0,3,128,0,0,0,1,192,0,
+  96,0,0,120,1,192,0,0,31,255,0,0,33,35,175,36,
+  2,0,0,0,192,0,0,0,1,192,0,0,0,1,224,0,
+  0,0,1,224,0,0,0,3,224,0,0,0,3,240,0,0,
+  0,3,240,0,0,0,7,240,0,0,0,7,248,0,0,0,
+  7,248,0,0,0,15,248,0,0,0,15,252,0,0,0,15,
+  252,0,0,0,25,252,0,0,0,25,254,0,0,0,25,254,
+  0,0,0,48,254,0,0,0,48,255,0,0,0,32,255,0,
+  0,0,96,127,0,0,0,96,127,128,0,0,64,127,128,0,
+  0,192,63,128,0,0,192,63,192,0,0,255,255,192,0,1,
+  255,255,192,0,1,128,31,224,0,1,0,31,224,0,3,0,
+  15,224,0,3,0,15,240,0,2,0,15,240,0,6,0,7,
+  240,0,15,0,7,248,0,31,0,15,252,0,255,240,255,255,
+  128,28,34,136,33,3,0,255,255,240,0,15,224,126,0,15,
+  224,31,0,15,224,31,128,15,224,15,192,15,224,15,192,15,
   224,15,224,15,224,15,224,15,224,15,224,15,224,15,224,15,
-  224,15,224,15,192,15,224,15,192,15,224,31,128,15,224,30,
-  0,15,224,60,0,15,255,224,0,15,224,124,0,15,224,63,
-  0,15,224,31,128,15,224,15,192,15,224,15,224,15,224,15,
-  240,15,224,15,240,15,224,15,240,15,224,15,240,15,224,15,
-  240,15,224,15,240,15,224,15,224,15,224,15,224,15,224,31,
-  192,15,224,31,128,15,224,126,0,255,255,248,0,26,34,136,
-  31,3,1,0,127,193,128,1,224,241,128,3,192,63,128,15,
-  128,31,128,15,128,15,128,31,0,15,128,63,0,7,128,63,
-  0,7,128,127,0,3,128,127,0,3,128,127,0,3,128,127,
-  0,1,128,255,0,1,128,255,0,1,128,255,0,1,128,255,
-  0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,
-  0,0,0,255,0,0,0,255,0,0,192,127,0,0,192,127,
-  0,0,192,127,0,0,128,63,0,1,128,63,0,1,128,63,
-  0,1,128,31,128,3,0,15,128,3,0,7,128,6,0,3,
-  192,12,0,1,224,56,0,0,127,224,0,32,34,136,37,3,
-  0,255,255,248,0,15,224,31,0,15,224,7,128,15,224,3,
-  224,15,224,1,240,15,224,1,240,15,224,0,248,15,224,0,
-  252,15,224,0,252,15,224,0,254,15,224,0,254,15,224,0,
-  254,15,224,0,255,15,224,0,255,15,224,0,255,15,224,0,
-  255,15,224,0,255,15,224,0,255,15,224,0,255,15,224,0,
-  255,15,224,0,255,15,224,0,254,15,224,0,254,15,224,0,
-  254,15,224,0,254,15,224,0,252,15,224,0,252,15,224,0,
-  248,15,224,1,240,15,224,1,224,15,224,3,192,15,224,7,
-  128,15,224,30,0,255,255,248,0,27,34,136,33,3,0,255,
-  255,255,224,15,224,31,224,15,224,7,224,15,224,3,224,15,
-  224,1,224,15,224,1,224,15,224,0,224,15,224,0,224,15,
-  224,0,96,15,224,48,96,15,224,48,96,15,224,48,0,15,
-  224,112,0,15,224,112,0,15,224,240,0,15,225,240,0,15,
-  255,240,0,15,225,240,0,15,224,240,0,15,224,112,0,15,
-  224,112,32,15,224,48,96,15,224,48,96,15,224,48,96,15,
-  224,0,96,15,224,0,96,15,224,0,224,15,224,0,224,15,
-  224,1,224,15,224,3,224,15,224,3,224,15,224,15,224,255,
-  255,255,224,255,255,255,224,28,34,136,32,3,0,255,255,255,
-  240,7,240,15,240,7,240,3,240,7,240,1,240,7,240,1,
-  240,7,240,0,240,7,240,0,240,7,240,0,112,7,240,0,
-  112,7,240,24,48,7,240,24,48,7,240,24,48,7,240,56,
-  48,7,240,56,0,7,240,120,0,7,240,248,0,7,255,248,
-  0,7,240,248,0,7,240,120,0,7,240,56,0,7,240,56,
-  0,7,240,24,0,7,240,24,0,7,240,24,0,7,240,0,
-  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
-  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
-  0,255,255,128,0,30,34,136,35,3,1,0,127,224,192,0,
-  224,120,192,3,192,31,192,7,128,15,192,15,128,7,192,31,
-  0,7,192,31,0,3,192,63,0,3,192,63,0,1,192,127,
-  0,1,192,127,0,1,192,127,0,0,192,255,0,0,192,255,
-  0,0,192,255,0,0,0,255,0,0,0,255,0,0,0,255,
-  3,255,252,255,3,255,252,255,0,31,192,255,0,31,192,255,
-  0,31,192,127,0,31,192,127,0,31,192,127,0,31,192,127,
-  0,31,192,63,0,31,192,63,0,31,192,31,0,31,192,15,
-  128,57,192,15,128,49,192,7,192,96,192,1,224,192,192,0,
-  127,128,192,34,34,170,39,3,0,255,255,63,255,192,7,240,
+  224,15,224,15,224,15,192,15,224,15,192,15,224,31,128,15,
+  224,30,0,15,224,60,0,15,255,224,0,15,224,124,0,15,
+  224,63,0,15,224,31,128,15,224,15,192,15,224,15,224,15,
+  224,15,240,15,224,15,240,15,224,15,240,15,224,15,240,15,
+  224,15,240,15,224,15,240,15,224,15,224,15,224,15,224,15,
+  224,31,192,15,224,31,128,15,224,126,0,255,255,248,0,26,
+  34,136,31,3,1,0,127,193,128,1,224,241,128,3,192,63,
+  128,15,128,31,128,15,128,15,128,31,0,15,128,63,0,7,
+  128,63,0,7,128,127,0,3,128,127,0,3,128,127,0,3,
+  128,127,0,1,128,255,0,1,128,255,0,1,128,255,0,1,
+  128,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,
+  0,255,0,0,0,255,0,0,0,255,0,0,192,127,0,0,
+  192,127,0,0,192,127,0,0,128,63,0,1,128,63,0,1,
+  128,63,0,1,128,31,128,3,0,15,128,3,0,7,128,6,
+  0,3,192,12,0,1,224,56,0,0,127,224,0,32,34,136,
+  37,3,0,255,255,248,0,15,224,31,0,15,224,7,128,15,
+  224,3,224,15,224,1,240,15,224,1,240,15,224,0,248,15,
+  224,0,252,15,224,0,252,15,224,0,254,15,224,0,254,15,
+  224,0,254,15,224,0,255,15,224,0,255,15,224,0,255,15,
+  224,0,255,15,224,0,255,15,224,0,255,15,224,0,255,15,
+  224,0,255,15,224,0,255,15,224,0,254,15,224,0,254,15,
+  224,0,254,15,224,0,254,15,224,0,252,15,224,0,252,15,
+  224,0,248,15,224,1,240,15,224,1,224,15,224,3,192,15,
+  224,7,128,15,224,30,0,255,255,248,0,27,34,136,33,3,
+  0,255,255,255,224,15,224,31,224,15,224,7,224,15,224,3,
+  224,15,224,1,224,15,224,1,224,15,224,0,224,15,224,0,
+  224,15,224,0,96,15,224,48,96,15,224,48,96,15,224,48,
+  0,15,224,112,0,15,224,112,0,15,224,240,0,15,225,240,
+  0,15,255,240,0,15,225,240,0,15,224,240,0,15,224,112,
+  0,15,224,112,32,15,224,48,96,15,224,48,96,15,224,48,
+  96,15,224,0,96,15,224,0,96,15,224,0,224,15,224,0,
+  224,15,224,1,224,15,224,3,224,15,224,3,224,15,224,15,
+  224,255,255,255,224,255,255,255,224,28,34,136,32,3,0,255,
+  255,255,240,7,240,15,240,7,240,3,240,7,240,1,240,7,
+  240,1,240,7,240,0,240,7,240,0,240,7,240,0,112,7,
+  240,0,112,7,240,24,48,7,240,24,48,7,240,24,48,7,
+  240,56,48,7,240,56,0,7,240,120,0,7,240,248,0,7,
+  255,248,0,7,240,248,0,7,240,120,0,7,240,56,0,7,
+  240,56,0,7,240,24,0,7,240,24,0,7,240,24,0,7,
+  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
+  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
+  240,0,0,255,255,128,0,30,34,136,35,3,1,0,127,224,
+  192,0,224,120,192,3,192,31,192,7,128,15,192,15,128,7,
+  192,31,0,7,192,31,0,3,192,63,0,3,192,63,0,1,
+  192,127,0,1,192,127,0,1,192,127,0,0,192,255,0,0,
+  192,255,0,0,192,255,0,0,0,255,0,0,0,255,0,0,
+  0,255,3,255,252,255,3,255,252,255,0,31,192,255,0,31,
+  192,255,0,31,192,127,0,31,192,127,0,31,192,127,0,31,
+  192,127,0,31,192,63,0,31,192,63,0,31,192,31,0,31,
+  192,15,128,57,192,15,128,49,192,7,192,96,192,1,224,192,
+  192,0,127,128,192,34,34,170,39,3,0,255,255,63,255,192,
+  7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,
+  240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,
   1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,
   252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,
-  0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,
+  0,7,240,1,252,0,7,240,1,252,0,7,255,255,252,0,
   7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,
-  240,1,252,0,7,240,1,252,0,7,255,255,252,0,7,240,
+  240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,
   1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,
   252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,
   0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,
-  7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,
-  240,1,252,0,7,240,1,252,0,7,240,1,252,0,255,255,
-  63,255,192,16,34,68,21,3,0,255,255,7,240,7,240,7,
+  255,255,63,255,192,16,34,68,21,3,0,255,255,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
   240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,
-  240,7,240,7,240,7,240,7,240,7,240,255,255,23,34,102,
-  26,2,0,1,255,254,0,15,224,0,15,224,0,15,224,0,
-  15,224,0,15,224,0,15,224,0,15,224,0,15,224,0,15,
+  240,7,240,7,240,7,240,7,240,7,240,7,240,255,255,23,
+  34,102,26,2,0,1,255,254,0,15,224,0,15,224,0,15,
   224,0,15,224,0,15,224,0,15,224,0,15,224,0,15,224,
   0,15,224,0,15,224,0,15,224,0,15,224,0,15,224,0,
-  15,224,30,15,224,126,15,224,127,15,224,255,15,224,255,15,
-  224,254,15,224,254,15,224,248,15,192,112,15,192,96,15,128,
-  48,31,0,24,30,0,15,248,0,33,34,170,37,3,0,255,
-  255,31,254,0,7,240,7,240,0,7,240,3,192,0,7,240,
-  3,128,0,7,240,3,0,0,7,240,7,0,0,7,240,14,
-  0,0,7,240,12,0,0,7,240,24,0,0,7,240,48,0,
-  0,7,240,96,0,0,7,240,224,0,0,7,240,224,0,0,
-  7,241,240,0,0,7,243,240,0,0,7,247,248,0,0,7,
-  255,252,0,0,7,255,252,0,0,7,249,254,0,0,7,241,
-  254,0,0,7,240,255,0,0,7,240,255,0,0,7,240,127,
-  128,0,7,240,127,128,0,7,240,63,192,0,7,240,63,192,
-  0,7,240,31,224,0,7,240,31,224,0,7,240,15,240,0,
-  7,240,15,240,0,7,240,7,248,0,7,240,7,248,0,7,
-  240,7,252,0,255,255,63,255,128,28,34,136,32,3,0,255,
-  255,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
-  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
-  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
-  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
-  240,0,0,7,240,0,0,7,240,0,0,7,240,0,48,7,
-  240,0,48,7,240,0,48,7,240,0,112,7,240,0,112,7,
-  240,0,112,7,240,0,240,7,240,0,240,7,240,0,240,7,
-  240,1,240,7,240,3,240,7,240,3,240,7,240,7,240,255,
-  255,255,240,255,255,255,240,39,34,170,43,2,0,255,240,0,
-  63,254,7,240,0,63,192,7,248,0,63,192,7,248,0,63,
-  192,7,248,0,127,192,7,252,0,127,192,7,252,0,95,192,
-  7,252,0,95,192,7,254,0,223,192,6,254,0,223,192,6,
-  255,0,159,192,6,127,0,159,192,6,127,1,159,192,6,127,
-  129,159,192,6,63,129,31,192,6,63,129,31,192,6,63,195,
-  31,192,6,31,194,31,192,6,31,226,31,192,6,15,226,31,
-  192,6,15,230,31,192,6,15,244,31,192,6,7,244,31,192,
-  6,7,244,31,192,6,7,252,31,192,6,3,248,31,192,6,
-  3,248,31,192,6,1,248,31,192,6,1,248,31,192,6,1,
-  240,31,192,6,0,240,31,192,15,0,240,31,192,63,192,240,
-  31,192,255,240,97,255,254,34,35,175,37,2,255,255,224,15,
-  255,192,31,240,3,255,0,15,240,0,252,0,15,248,0,120,
-  0,7,252,0,48,0,3,254,0,48,0,3,254,0,48,0,
-  3,255,0,48,0,3,255,128,48,0,3,255,128,48,0,3,
-  127,192,48,0,3,63,224,48,0,3,31,224,48,0,3,31,
-  240,48,0,3,15,248,48,0,3,7,248,48,0,3,7,252,
-  48,0,3,3,254,48,0,3,1,255,48,0,3,1,255,48,
-  0,3,0,255,176,0,3,0,127,240,0,3,0,127,240,0,
-  3,0,63,240,0,3,0,31,240,0,3,0,15,240,0,3,
-  0,15,240,0,3,0,7,240,0,3,0,3,240,0,3,0,
-  3,240,0,7,128,1,240,0,15,192,0,240,0,63,240,0,
-  240,0,255,252,0,112,0,0,0,0,48,0,28,34,136,33,
-  3,1,0,63,192,0,0,224,112,0,3,192,56,0,7,128,
-  30,0,15,128,30,0,15,0,15,0,31,0,15,128,63,0,
-  15,192,63,0,15,192,127,0,15,192,127,0,15,224,127,0,
-  15,224,127,0,15,224,255,0,15,240,255,0,15,240,255,0,
-  15,240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,
-  15,240,255,0,15,240,127,0,15,224,127,0,15,224,127,0,
-  15,224,127,0,15,192,63,0,15,192,63,0,15,192,31,0,
-  15,128,15,0,15,0,15,128,31,0,7,128,30,0,3,192,
-  60,0,0,224,112,0,0,63,192,0,29,34,136,34,3,0,
-  255,255,248,0,7,240,63,0,7,240,15,192,7,240,15,224,
-  7,240,15,240,7,240,7,240,7,240,7,248,7,240,7,248,
-  7,240,7,248,7,240,7,248,7,240,7,248,7,240,7,248,
-  7,240,7,240,7,240,15,240,7,240,15,224,7,240,15,192,
-  7,240,31,0,7,255,252,0,7,240,0,0,7,240,0,0,
-  7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,
-  7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,
-  7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,
-  7,240,0,0,255,255,128,0,28,45,180,33,3,246,0,63,
-  192,0,0,224,112,0,3,192,56,0,7,128,30,0,15,128,
-  30,0,15,0,15,0,31,0,15,128,63,0,15,128,63,0,
-  15,192,127,0,15,192,127,0,15,224,127,0,15,224,127,0,
-  15,224,255,0,15,240,255,0,15,240,255,0,15,240,255,0,
-  15,240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,
-  15,240,255,0,15,240,127,0,15,224,127,0,15,224,127,0,
-  15,224,63,0,15,192,63,15,15,192,31,17,143,128,15,160,
-  223,0,15,160,223,0,7,160,254,0,3,224,252,16,0,240,
-  248,16,0,127,224,16,0,0,224,16,0,0,224,16,0,0,
-  224,48,0,0,240,48,0,0,248,112,0,0,255,240,0,0,
-  255,224,0,0,127,224,0,0,127,192,0,0,63,128,0,0,
-  31,0,32,36,144,36,3,254,255,255,240,0,7,240,126,0,
-  7,240,63,0,7,240,63,128,7,240,31,192,7,240,31,192,
-  7,240,31,224,7,240,31,224,7,240,31,224,7,240,31,224,
-  7,240,31,224,7,240,31,192,7,240,63,192,7,240,63,0,
-  7,240,126,0,7,255,240,0,7,240,240,0,7,240,62,0,
-  7,240,63,0,7,240,31,128,7,240,31,128,7,240,31,192,
-  7,240,31,192,7,240,31,192,7,240,31,192,7,240,31,195,
-  7,240,31,195,7,240,31,195,7,240,31,195,7,240,31,195,
-  7,240,31,198,7,240,31,198,7,240,15,238,255,255,135,252,
-  0,0,3,248,0,0,0,96,23,34,102,29,4,1,7,252,
-  24,24,15,24,56,3,248,112,1,248,112,0,248,240,0,120,
-  248,0,120,248,0,56,252,0,24,254,0,24,255,128,24,255,
-  224,8,127,240,0,127,252,0,63,254,0,31,255,128,15,255,
-  192,3,255,240,1,255,248,128,127,248,192,31,252,192,15,252,
-  192,3,254,224,1,254,224,0,126,224,0,62,240,0,30,248,
-  0,30,248,0,28,252,0,28,254,0,24,239,0,48,195,128,
-  96,193,255,128,29,34,136,34,3,0,255,255,255,248,255,63,
-  231,248,252,31,193,248,248,31,192,248,248,31,192,248,240,31,
-  192,120,224,31,192,56,224,31,192,56,224,31,192,56,192,31,
-  192,24,192,31,192,24,192,31,192,24,192,31,192,24,128,31,
-  192,8,0,31,192,0,0,31,192,0,0,31,192,0,0,31,
-  192,0,0,31,192,0,0,31,192,0,0,31,192,0,0,31,
-  192,0,0,31,192,0,0,31,192,0,0,31,192,0,0,31,
-  192,0,0,31,192,0,0,31,192,0,0,31,192,0,0,31,
-  192,0,0,31,192,0,0,31,192,0,0,31,192,0,3,255,
-  254,0,33,34,170,38,3,0,255,255,7,255,128,15,224,1,
-  254,0,15,224,0,120,0,15,224,0,48,0,15,224,0,48,
+  15,224,0,15,224,0,15,224,0,15,224,0,15,224,0,15,
+  224,0,15,224,30,15,224,126,15,224,127,15,224,255,15,224,
+  255,15,224,254,15,224,254,15,224,248,15,192,112,15,192,96,
+  15,128,48,31,0,24,30,0,15,248,0,33,34,170,37,3,
+  0,255,255,31,254,0,7,240,7,240,0,7,240,3,192,0,
+  7,240,3,128,0,7,240,3,0,0,7,240,7,0,0,7,
+  240,14,0,0,7,240,12,0,0,7,240,24,0,0,7,240,
+  48,0,0,7,240,96,0,0,7,240,224,0,0,7,240,224,
+  0,0,7,241,240,0,0,7,243,240,0,0,7,247,248,0,
+  0,7,255,252,0,0,7,255,252,0,0,7,249,254,0,0,
+  7,241,254,0,0,7,240,255,0,0,7,240,255,0,0,7,
+  240,127,128,0,7,240,127,128,0,7,240,63,192,0,7,240,
+  63,192,0,7,240,31,224,0,7,240,31,224,0,7,240,15,
+  240,0,7,240,15,240,0,7,240,7,248,0,7,240,7,248,
+  0,7,240,7,252,0,255,255,63,255,128,28,34,136,32,3,
+  0,255,255,0,0,7,240,0,0,7,240,0,0,7,240,0,
+  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
+  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
+  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
+  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
+  48,7,240,0,48,7,240,0,48,7,240,0,112,7,240,0,
+  112,7,240,0,112,7,240,0,240,7,240,0,240,7,240,0,
+  240,7,240,1,240,7,240,3,240,7,240,3,240,7,240,7,
+  240,255,255,255,240,255,255,255,240,39,34,170,43,2,0,255,
+  240,0,63,254,7,240,0,63,192,7,248,0,63,192,7,248,
+  0,63,192,7,248,0,127,192,7,252,0,127,192,7,252,0,
+  95,192,7,252,0,95,192,7,254,0,223,192,6,254,0,223,
+  192,6,255,0,159,192,6,127,0,159,192,6,127,1,159,192,
+  6,127,129,159,192,6,63,129,31,192,6,63,129,31,192,6,
+  63,195,31,192,6,31,194,31,192,6,31,226,31,192,6,15,
+  226,31,192,6,15,230,31,192,6,15,244,31,192,6,7,244,
+  31,192,6,7,244,31,192,6,7,252,31,192,6,3,248,31,
+  192,6,3,248,31,192,6,1,248,31,192,6,1,248,31,192,
+  6,1,240,31,192,6,0,240,31,192,15,0,240,31,192,63,
+  192,240,31,192,255,240,97,255,254,34,35,175,37,2,255,255,
+  224,15,255,192,31,240,3,255,0,15,240,0,252,0,15,248,
+  0,120,0,7,252,0,48,0,3,254,0,48,0,3,254,0,
+  48,0,3,255,0,48,0,3,255,128,48,0,3,255,128,48,
+  0,3,127,192,48,0,3,63,224,48,0,3,31,224,48,0,
+  3,31,240,48,0,3,15,248,48,0,3,7,248,48,0,3,
+  7,252,48,0,3,3,254,48,0,3,1,255,48,0,3,1,
+  255,48,0,3,0,255,176,0,3,0,127,240,0,3,0,127,
+  240,0,3,0,63,240,0,3,0,31,240,0,3,0,15,240,
+  0,3,0,15,240,0,3,0,7,240,0,3,0,3,240,0,
+  3,0,3,240,0,7,128,1,240,0,15,192,0,240,0,63,
+  240,0,240,0,255,252,0,112,0,0,0,0,48,0,28,34,
+  136,33,3,1,0,63,192,0,0,224,112,0,3,192,56,0,
+  7,128,30,0,15,128,30,0,15,0,15,0,31,0,15,128,
+  63,0,15,192,63,0,15,192,127,0,15,192,127,0,15,224,
+  127,0,15,224,127,0,15,224,255,0,15,240,255,0,15,240,
+  255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,
+  255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224,
+  127,0,15,224,127,0,15,192,63,0,15,192,63,0,15,192,
+  31,0,15,128,15,0,15,0,15,128,31,0,7,128,30,0,
+  3,192,60,0,0,224,112,0,0,63,192,0,29,34,136,34,
+  3,0,255,255,248,0,7,240,63,0,7,240,15,192,7,240,
+  15,224,7,240,15,240,7,240,7,240,7,240,7,248,7,240,
+  7,248,7,240,7,248,7,240,7,248,7,240,7,248,7,240,
+  7,248,7,240,7,240,7,240,15,240,7,240,15,224,7,240,
+  15,192,7,240,31,0,7,255,252,0,7,240,0,0,7,240,
+  0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,
+  0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,
+  0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,
+  0,0,7,240,0,0,255,255,128,0,28,45,180,33,3,246,
+  0,63,192,0,0,224,112,0,3,192,56,0,7,128,30,0,
+  15,128,30,0,15,0,15,0,31,0,15,128,63,0,15,128,
+  63,0,15,192,127,0,15,192,127,0,15,224,127,0,15,224,
+  127,0,15,224,255,0,15,240,255,0,15,240,255,0,15,240,
+  255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,
+  255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224,
+  127,0,15,224,63,0,15,192,63,15,15,192,31,17,143,128,
+  15,160,223,0,15,160,223,0,7,160,254,0,3,224,252,16,
+  0,240,248,16,0,127,224,16,0,0,224,16,0,0,224,16,
+  0,0,224,48,0,0,240,48,0,0,248,112,0,0,255,240,
+  0,0,255,224,0,0,127,224,0,0,127,192,0,0,63,128,
+  0,0,31,0,32,36,144,36,3,254,255,255,240,0,7,240,
+  126,0,7,240,63,0,7,240,63,128,7,240,31,192,7,240,
+  31,192,7,240,31,224,7,240,31,224,7,240,31,224,7,240,
+  31,224,7,240,31,224,7,240,31,192,7,240,63,192,7,240,
+  63,0,7,240,126,0,7,255,240,0,7,240,240,0,7,240,
+  62,0,7,240,63,0,7,240,31,128,7,240,31,128,7,240,
+  31,192,7,240,31,192,7,240,31,192,7,240,31,192,7,240,
+  31,195,7,240,31,195,7,240,31,195,7,240,31,195,7,240,
+  31,195,7,240,31,198,7,240,31,198,7,240,15,238,255,255,
+  135,252,0,0,3,248,0,0,0,96,23,34,102,29,4,1,
+  7,252,24,24,15,24,56,3,248,112,1,248,112,0,248,240,
+  0,120,248,0,120,248,0,56,252,0,24,254,0,24,255,128,
+  24,255,224,8,127,240,0,127,252,0,63,254,0,31,255,128,
+  15,255,192,3,255,240,1,255,248,128,127,248,192,31,252,192,
+  15,252,192,3,254,224,1,254,224,0,126,224,0,62,240,0,
+  30,248,0,30,248,0,28,252,0,28,254,0,24,239,0,48,
+  195,128,96,193,255,128,29,34,136,34,3,0,255,255,255,248,
+  255,63,231,248,252,31,193,248,248,31,192,248,248,31,192,248,
+  240,31,192,120,224,31,192,56,224,31,192,56,224,31,192,56,
+  192,31,192,24,192,31,192,24,192,31,192,24,192,31,192,24,
+  128,31,192,8,0,31,192,0,0,31,192,0,0,31,192,0,
+  0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0,
+  0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0,
+  0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0,
+  0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0,
+  3,255,254,0,33,34,170,38,3,0,255,255,7,255,128,15,
+  224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224,
+  0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,
+  48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,
   0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,
   15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,
   224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,
   0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,
-  48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,
-  0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,
-  15,224,0,48,0,15,224,0,48,0,7,224,0,48,0,7,
-  224,0,96,0,7,240,0,96,0,3,240,0,192,0,1,248,
-  1,192,0,0,252,3,128,0,0,127,159,0,0,0,31,252,
-  0,0,34,34,170,37,2,0,255,255,135,255,192,15,248,0,
-  126,0,7,248,0,56,0,7,248,0,56,0,3,248,0,48,
-  0,3,252,0,48,0,3,252,0,48,0,1,254,0,96,0,
-  1,254,0,96,0,0,254,0,96,0,0,255,0,192,0,0,
-  255,0,192,0,0,127,0,192,0,0,127,129,128,0,0,127,
-  129,128,0,0,63,129,128,0,0,63,195,0,0,0,63,195,
-  0,0,0,31,195,0,0,0,31,230,0,0,0,15,230,0,
-  0,0,15,246,0,0,0,15,252,0,0,0,7,252,0,0,
-  0,7,252,0,0,0,7,248,0,0,0,3,248,0,0,0,
-  3,248,0,0,0,3,240,0,0,0,1,240,0,0,0,1,
-  240,0,0,0,0,224,0,0,0,0,224,0,0,0,0,224,
-  0,0,49,34,238,52,2,0,255,255,63,255,207,255,128,31,
-  252,7,254,0,252,0,7,248,3,252,0,112,0,7,248,1,
-  252,0,112,0,3,248,1,254,0,96,0,3,252,1,254,0,
-  96,0,3,252,0,254,0,96,0,1,252,0,254,0,192,0,
-  1,254,1,255,0,192,0,1,254,1,255,0,192,0,0,254,
-  1,255,1,128,0,0,255,3,127,129,128,0,0,255,3,63,
-  129,128,0,0,127,3,63,129,128,0,0,127,135,63,195,0,
-  0,0,127,134,31,195,0,0,0,63,134,31,195,0,0,0,
-  63,198,31,231,0,0,0,31,204,15,230,0,0,0,31,204,
-  15,230,0,0,0,31,236,15,246,0,0,0,15,248,7,252,
-  0,0,0,15,248,7,252,0,0,0,15,248,7,252,0,0,
-  0,7,248,3,252,0,0,0,7,240,3,248,0,0,0,7,
-  240,3,248,0,0,0,3,240,1,248,0,0,0,3,224,1,
-  240,0,0,0,3,224,1,240,0,0,0,1,224,0,240,0,
-  0,0,1,192,0,240,0,0,0,1,192,0,224,0,0,0,
-  0,192,0,96,0,0,33,34,170,36,2,0,127,255,31,254,
-  0,31,252,3,240,0,7,248,3,192,0,3,248,3,128,0,
-  3,252,3,128,0,1,252,3,0,0,1,254,7,0,0,0,
-  255,6,0,0,0,255,12,0,0,0,127,140,0,0,0,127,
-  152,0,0,0,63,240,0,0,0,63,240,0,0,0,31,224,
-  0,0,0,31,224,0,0,0,15,240,0,0,0,15,248,0,
-  0,0,7,248,0,0,0,7,252,0,0,0,7,252,0,0,
-  0,15,254,0,0,0,29,254,0,0,0,24,255,0,0,0,
-  56,255,0,0,0,48,127,128,0,0,96,127,128,0,0,224,
-  63,192,0,0,192,63,224,0,1,128,31,224,0,3,128,31,
-  240,0,3,128,15,240,0,7,128,15,248,0,31,128,31,252,
-  0,255,240,127,255,128,32,34,136,35,2,0,255,254,15,255,
-  31,248,1,248,15,248,0,240,7,248,0,224,7,248,0,192,
-  3,252,0,192,3,252,0,192,1,252,1,128,1,254,1,128,
-  0,254,3,0,0,255,3,0,0,255,3,0,0,127,134,0,
-  0,127,134,0,0,63,196,0,0,63,204,0,0,31,204,0,
-  0,31,248,0,0,15,248,0,0,15,248,0,0,7,240,0,
-  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
-  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
-  0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,
-  0,255,255,0,25,34,136,31,3,0,127,255,255,128,127,128,
-  127,128,126,0,255,0,124,0,255,0,120,1,254,0,120,3,
-  254,0,112,3,252,0,112,7,252,0,96,7,248,0,96,15,
-  248,0,96,15,240,0,64,31,224,0,0,31,224,0,0,63,
-  192,0,0,63,192,0,0,127,128,0,0,127,128,0,0,255,
-  0,0,0,255,0,0,1,254,0,0,3,254,0,128,3,252,
-  0,128,7,248,0,128,7,248,0,128,15,240,1,128,15,240,
-  1,128,31,224,3,128,31,224,3,128,63,192,7,128,63,192,
-  15,128,127,128,31,128,127,128,63,128,255,255,255,128,255,255,
-  255,128,11,42,84,18,4,248,255,224,248,0,248,0,248,0,
+  48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48,
+  0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0,
+  1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0,
+  31,252,0,0,34,34,170,37,2,0,255,255,135,255,192,15,
+  248,0,126,0,7,248,0,56,0,7,248,0,56,0,3,248,
+  0,48,0,3,252,0,48,0,3,252,0,48,0,1,254,0,
+  96,0,1,254,0,96,0,0,254,0,96,0,0,255,0,192,
+  0,0,255,0,192,0,0,127,0,192,0,0,127,129,128,0,
+  0,127,129,128,0,0,63,129,128,0,0,63,195,0,0,0,
+  63,195,0,0,0,31,195,0,0,0,31,230,0,0,0,15,
+  230,0,0,0,15,246,0,0,0,15,252,0,0,0,7,252,
+  0,0,0,7,252,0,0,0,7,248,0,0,0,3,248,0,
+  0,0,3,248,0,0,0,3,240,0,0,0,1,240,0,0,
+  0,1,240,0,0,0,0,224,0,0,0,0,224,0,0,0,
+  0,224,0,0,49,34,238,52,2,0,255,255,63,255,207,255,
+  128,31,252,7,254,0,252,0,7,248,3,252,0,112,0,7,
+  248,1,252,0,112,0,3,248,1,254,0,96,0,3,252,1,
+  254,0,96,0,3,252,0,254,0,96,0,1,252,0,254,0,
+  192,0,1,254,1,255,0,192,0,1,254,1,255,0,192,0,
+  0,254,1,255,1,128,0,0,255,3,127,129,128,0,0,255,
+  3,63,129,128,0,0,127,3,63,129,128,0,0,127,135,63,
+  195,0,0,0,127,134,31,195,0,0,0,63,134,31,195,0,
+  0,0,63,198,31,231,0,0,0,31,204,15,230,0,0,0,
+  31,204,15,230,0,0,0,31,236,15,246,0,0,0,15,248,
+  7,252,0,0,0,15,248,7,252,0,0,0,15,248,7,252,
+  0,0,0,7,248,3,252,0,0,0,7,240,3,248,0,0,
+  0,7,240,3,248,0,0,0,3,240,1,248,0,0,0,3,
+  224,1,240,0,0,0,3,224,1,240,0,0,0,1,224,0,
+  240,0,0,0,1,192,0,240,0,0,0,1,192,0,224,0,
+  0,0,0,192,0,96,0,0,33,34,170,36,2,0,127,255,
+  31,254,0,31,252,3,240,0,7,248,3,192,0,3,248,3,
+  128,0,3,252,3,128,0,1,252,3,0,0,1,254,7,0,
+  0,0,255,6,0,0,0,255,12,0,0,0,127,140,0,0,
+  0,127,152,0,0,0,63,240,0,0,0,63,240,0,0,0,
+  31,224,0,0,0,31,224,0,0,0,15,240,0,0,0,15,
+  248,0,0,0,7,248,0,0,0,7,252,0,0,0,7,252,
+  0,0,0,15,254,0,0,0,29,254,0,0,0,24,255,0,
+  0,0,56,255,0,0,0,48,127,128,0,0,96,127,128,0,
+  0,224,63,192,0,0,192,63,224,0,1,128,31,224,0,3,
+  128,31,240,0,3,128,15,240,0,7,128,15,248,0,31,128,
+  31,252,0,255,240,127,255,128,32,34,136,35,2,0,255,254,
+  15,255,31,248,1,248,15,248,0,240,7,248,0,224,7,248,
+  0,192,3,252,0,192,3,252,0,192,1,252,1,128,1,254,
+  1,128,0,254,3,0,0,255,3,0,0,255,3,0,0,127,
+  134,0,0,127,134,0,0,63,196,0,0,63,204,0,0,31,
+  204,0,0,31,248,0,0,15,248,0,0,15,248,0,0,7,
+  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
+  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
+  240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,
+  240,0,0,255,255,0,25,34,136,31,3,0,127,255,255,128,
+  127,128,127,128,126,0,255,0,124,0,255,0,120,1,254,0,
+  120,3,254,0,112,3,252,0,112,7,252,0,96,7,248,0,
+  96,15,248,0,96,15,240,0,64,31,224,0,0,31,224,0,
+  0,63,192,0,0,63,192,0,0,127,128,0,0,127,128,0,
+  0,255,0,0,0,255,0,0,1,254,0,0,3,254,0,128,
+  3,252,0,128,7,248,0,128,7,248,0,128,15,240,1,128,
+  15,240,1,128,31,224,3,128,31,224,3,128,63,192,7,128,
+  63,192,15,128,127,128,31,128,127,128,63,128,255,255,255,128,
+  255,255,255,128,11,42,84,18,4,248,255,224,248,0,248,0,
   248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,
   248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,
   248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,
   248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,
-  248,0,248,0,248,0,248,0,248,0,255,224,16,44,88,22,
-  3,247,224,0,224,0,224,0,240,0,112,0,112,0,120,0,
-  56,0,56,0,60,0,28,0,28,0,30,0,14,0,14,0,
-  14,0,15,0,7,0,7,0,7,128,3,128,3,128,3,192,
-  1,192,1,192,1,224,0,224,0,224,0,224,0,240,0,112,
-  0,112,0,120,0,56,0,56,0,60,0,28,0,28,0,30,
-  0,14,0,14,0,14,0,15,0,7,11,42,84,18,3,248,
-  255,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,
+  248,0,248,0,248,0,248,0,248,0,248,0,255,224,16,44,
+  88,22,3,247,224,0,224,0,224,0,240,0,112,0,112,0,
+  120,0,56,0,56,0,60,0,28,0,28,0,30,0,14,0,
+  14,0,14,0,15,0,7,0,7,0,7,128,3,128,3,128,
+  3,192,1,192,1,192,1,224,0,224,0,224,0,224,0,240,
+  0,112,0,112,0,120,0,56,0,56,0,60,0,28,0,28,
+  0,30,0,14,0,14,0,14,0,15,0,7,11,42,84,18,
+  3,248,255,224,3,224,3,224,3,224,3,224,3,224,3,224,
   3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,
   3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,
   3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,
   3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,
-  3,224,255,224,22,17,51,28,3,18,0,48,0,0,112,0,
-  0,120,0,0,252,0,0,252,0,1,254,0,3,207,0,3,
-  143,0,7,135,128,15,3,128,15,3,192,30,1,224,60,0,
-  224,60,0,240,120,0,120,112,0,56,240,0,60,25,3,12,
-  25,0,248,255,255,255,128,255,255,255,128,255,255,255,128,8,
-  9,9,21,4,25,96,240,248,124,60,30,15,3,1,21,22,
-  66,24,2,1,15,248,0,24,62,0,56,63,0,120,31,0,
-  124,31,128,126,31,128,126,31,128,62,31,128,8,63,128,1,
-  255,128,7,159,128,30,31,128,62,31,128,124,31,128,124,31,
-  128,252,31,128,252,31,136,252,31,136,252,31,152,254,63,144,
-  127,127,240,63,143,224,22,34,102,25,1,0,255,128,0,31,
-  128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,
-  0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,
-  31,159,128,31,179,224,31,225,224,31,193,240,31,193,248,31,
-  192,248,31,192,248,31,128,252,31,128,252,31,128,252,31,128,
-  252,31,128,252,31,128,252,31,128,252,31,128,252,31,128,248,
-  31,192,248,31,193,248,29,193,240,24,225,224,24,99,192,16,
-  63,128,18,22,66,22,2,1,3,252,0,15,6,0,31,3,
-  0,62,3,128,62,7,128,126,15,128,124,31,128,252,31,128,
-  252,31,0,252,14,0,252,0,0,252,0,0,252,0,0,252,
-  0,0,252,0,0,124,0,64,124,0,192,62,0,128,62,0,
-  128,30,1,0,15,130,0,3,252,0,23,34,102,26,2,0,
-  0,63,224,0,7,224,0,7,224,0,7,224,0,7,224,0,
-  7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,7,
-  224,0,7,224,7,231,224,31,23,224,30,31,224,62,15,224,
-  126,15,224,124,15,224,124,7,224,252,7,224,252,7,224,252,
-  7,224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,
-  224,124,7,224,124,15,224,126,15,224,62,15,224,30,31,224,
-  15,23,224,7,231,254,18,22,66,23,2,1,3,252,0,14,
-  30,0,30,31,0,62,15,128,60,15,128,124,15,128,124,15,
-  192,252,15,192,252,15,192,252,15,192,255,255,192,252,0,0,
-  252,0,0,252,0,0,252,0,64,124,0,64,124,0,192,62,
-  0,192,62,0,128,31,1,0,15,131,0,3,252,0,18,34,
-  102,16,1,1,0,255,0,1,199,128,7,199,128,7,199,192,
-  15,143,192,15,143,192,31,143,192,31,143,128,31,135,128,31,
-  128,0,31,128,0,31,128,0,255,240,0,31,128,0,31,128,
+  3,224,3,224,255,224,22,17,51,28,3,18,0,48,0,0,
+  112,0,0,120,0,0,252,0,0,252,0,1,254,0,3,207,
+  0,3,143,0,7,135,128,15,3,128,15,3,192,30,1,224,
+  60,0,224,60,0,240,120,0,120,112,0,56,240,0,60,25,
+  3,12,25,0,248,255,255,255,128,255,255,255,128,255,255,255,
+  128,8,9,9,21,4,25,96,240,248,124,60,30,15,3,1,
+  21,22,66,24,2,1,15,248,0,24,62,0,56,63,0,120,
+  31,0,124,31,128,126,31,128,126,31,128,62,31,128,8,63,
+  128,1,255,128,7,159,128,30,31,128,62,31,128,124,31,128,
+  124,31,128,252,31,128,252,31,136,252,31,136,252,31,152,254,
+  63,144,127,127,240,63,143,224,22,34,102,25,1,0,255,128,
   0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,
   31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,
+  128,0,31,159,128,31,179,224,31,225,224,31,193,240,31,193,
+  248,31,192,248,31,192,248,31,128,252,31,128,252,31,128,252,
+  31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31,
+  128,248,31,192,248,31,193,248,29,193,240,24,225,224,24,99,
+  192,16,63,128,18,22,66,22,2,1,3,252,0,15,6,0,
+  31,3,0,62,3,128,62,7,128,126,15,128,124,31,128,252,
+  31,128,252,31,0,252,14,0,252,0,0,252,0,0,252,0,
+  0,252,0,0,252,0,0,124,0,64,124,0,192,62,0,128,
+  62,0,128,30,1,0,15,130,0,3,252,0,23,34,102,26,
+  2,0,0,63,224,0,7,224,0,7,224,0,7,224,0,7,
+  224,0,7,224,0,7,224,0,7,224,0,7,224,0,7,224,
+  0,7,224,0,7,224,7,231,224,31,23,224,30,31,224,62,
+  15,224,126,15,224,124,15,224,124,7,224,252,7,224,252,7,
+  224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,224,
+  252,7,224,124,7,224,124,15,224,126,15,224,62,15,224,30,
+  31,224,15,23,224,7,231,254,18,22,66,23,2,1,3,252,
+  0,14,30,0,30,31,0,62,15,128,60,15,128,124,15,128,
+  124,15,192,252,15,192,252,15,192,252,15,192,255,255,192,252,
+  0,0,252,0,0,252,0,0,252,0,64,124,0,64,124,0,
+  192,62,0,192,62,0,128,31,1,0,15,131,0,3,252,0,
+  18,34,102,16,1,1,0,255,0,1,199,128,7,199,128,7,
+  199,192,15,143,192,15,143,192,31,143,192,31,143,128,31,135,
+  128,31,128,0,31,128,0,31,128,0,255,240,0,31,128,0,
+  31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,
   128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,
-  0,31,128,0,31,128,0,255,240,0,24,33,99,27,2,246,
-  7,254,62,31,15,71,63,7,143,62,7,207,126,7,238,126,
-  7,228,126,7,224,126,7,224,126,7,224,62,7,192,31,15,
-  128,15,15,0,3,252,0,12,0,0,48,0,0,48,0,0,
-  112,0,0,112,0,0,127,255,128,127,255,224,63,255,240,31,
-  255,240,7,255,248,60,1,248,96,0,120,192,0,56,192,0,
-  56,192,0,48,192,0,112,96,0,96,48,1,192,30,7,128,
-  3,252,0,24,34,102,27,1,0,255,128,0,31,128,0,31,
-  128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,
-  0,31,128,0,31,128,0,31,128,0,31,128,0,31,143,224,
-  31,145,240,31,160,248,31,160,252,31,192,252,31,192,252,31,
-  192,252,31,128,252,31,128,252,31,128,252,31,128,252,31,128,
-  252,31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,
-  31,128,252,31,128,252,31,128,252,31,128,252,255,227,255,11,
-  35,70,15,2,0,4,0,31,0,63,128,63,128,63,128,63,
-  128,31,0,4,0,0,0,0,0,0,0,0,0,0,0,255,
-  0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,
+  0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,
+  31,128,0,31,128,0,31,128,0,255,240,0,24,33,99,27,
+  2,246,7,254,62,31,15,71,63,7,143,62,7,207,126,7,
+  238,126,7,228,126,7,224,126,7,224,126,7,224,62,7,192,
+  31,15,128,15,15,0,3,252,0,12,0,0,48,0,0,48,
+  0,0,112,0,0,112,0,0,127,255,128,127,255,224,63,255,
+  240,31,255,240,7,255,248,60,1,248,96,0,120,192,0,56,
+  192,0,56,192,0,48,192,0,112,96,0,96,48,1,192,30,
+  7,128,3,252,0,24,34,102,27,1,0,255,128,0,31,128,
+  0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,
+  31,128,0,31,128,0,31,128,0,31,128,0,31,129,0,31,
+  143,224,31,145,240,31,160,248,31,160,252,31,192,252,31,192,
+  252,31,192,252,31,128,252,31,128,252,31,128,252,31,128,252,
+  31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31,
+  128,252,31,128,252,31,128,252,31,128,252,31,128,252,255,227,
+  255,11,35,70,15,2,0,4,0,31,0,63,128,63,128,63,
+  128,63,128,31,0,4,0,0,0,0,0,0,0,0,0,0,
+  0,255,0,63,0,63,0,63,0,63,0,63,0,63,0,63,
   0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,
-  0,63,0,63,0,63,0,63,0,255,224,15,46,92,16,254,
-  245,0,16,0,124,0,254,0,254,0,254,0,254,0,124,0,
-  16,0,0,0,0,0,0,0,0,0,0,7,252,0,252,0,
+  0,63,0,63,0,63,0,63,0,63,0,255,224,15,46,92,
+  16,254,245,0,16,0,124,0,254,0,254,0,254,0,254,0,
+  124,0,16,0,0,0,0,0,0,0,0,0,0,7,252,0,
   252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,
   252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,
-  252,0,252,0,252,0,252,0,252,0,252,56,252,124,252,252,
-  252,252,252,248,248,248,248,113,240,49,224,31,128,25,34,136,
-  27,1,0,255,128,0,0,31,128,0,0,31,128,0,0,31,
-  128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,
-  128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,
-  128,0,0,31,131,254,0,31,128,240,0,31,128,96,0,31,
-  128,192,0,31,128,128,0,31,129,128,0,31,131,0,0,31,
-  134,0,0,31,143,0,0,31,159,0,0,31,159,128,0,31,
-  191,128,0,31,239,192,0,31,199,224,0,31,135,224,0,31,
-  131,240,0,31,129,248,0,31,129,248,0,31,128,252,0,31,
-  128,252,0,31,128,254,0,255,243,255,128,12,34,68,14,1,
-  0,255,128,31,128,31,128,31,128,31,128,31,128,31,128,31,
+  252,0,252,0,252,0,252,0,252,0,252,0,252,56,252,124,
+  252,252,252,252,252,248,248,248,248,113,240,49,224,31,128,25,
+  34,136,27,1,0,255,128,0,0,31,128,0,0,31,128,0,
+  0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0,
+  0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0,
+  0,31,128,0,0,31,131,254,0,31,128,240,0,31,128,96,
+  0,31,128,192,0,31,128,128,0,31,129,128,0,31,131,0,
+  0,31,134,0,0,31,143,0,0,31,159,0,0,31,159,128,
+  0,31,191,128,0,31,239,192,0,31,199,224,0,31,135,224,
+  0,31,131,240,0,31,129,248,0,31,129,248,0,31,128,252,
+  0,31,128,252,0,31,128,254,0,255,243,255,128,12,34,68,
+  14,1,0,255,128,31,128,31,128,31,128,31,128,31,128,31,
   128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,
   128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,
   128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,
-  128,31,128,255,240,34,22,110,37,2,1,255,31,193,248,0,
-  63,35,230,124,0,63,67,228,62,0,63,131,248,63,0,63,
-  131,248,63,0,63,131,248,63,0,63,3,240,63,0,63,3,
+  128,31,128,31,128,255,240,34,22,110,37,2,1,255,31,193,
+  248,0,63,35,230,124,0,63,67,228,62,0,63,131,248,63,
+  0,63,131,248,63,0,63,131,248,63,0,63,3,240,63,0,
+  63,3,240,63,0,63,3,240,63,0,63,3,240,63,0,63,
+  3,240,63,0,63,3,240,63,0,63,3,240,63,0,63,3,
   240,63,0,63,3,240,63,0,63,3,240,63,0,63,3,240,
   63,0,63,3,240,63,0,63,3,240,63,0,63,3,240,63,
-  0,63,3,240,63,0,63,3,240,63,0,63,3,240,63,0,
-  63,3,240,63,0,63,3,240,63,0,63,3,240,63,0,63,
-  3,240,63,0,255,207,252,255,192,23,22,66,27,2,1,255,
-  31,192,63,35,224,63,65,240,63,65,248,63,129,248,63,129,
+  0,63,3,240,63,0,255,207,252,255,192,23,22,66,27,2,
+  1,255,31,192,63,35,224,63,65,240,63,65,248,63,129,248,
+  63,129,248,63,1,248,63,1,248,63,1,248,63,1,248,63,
+  1,248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,
   248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248,
-  63,1,248,63,1,248,63,1,248,63,1,248,63,1,248,63,
-  1,248,63,1,248,63,1,248,63,1,248,63,1,248,255,199,
-  254,20,22,66,24,2,1,3,252,0,15,15,0,30,7,128,
-  62,7,192,62,7,192,124,3,224,124,3,224,252,3,240,252,
-  3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,
-  240,252,3,240,124,3,224,124,3,224,62,7,192,62,7,192,
-  30,7,128,15,15,0,3,252,0,22,33,99,25,1,246,255,
-  159,128,31,163,192,31,225,224,31,193,240,31,192,248,31,192,
-  248,31,192,248,31,128,252,31,128,252,31,128,252,31,128,252,
-  31,128,252,31,128,252,31,128,252,31,128,252,31,192,252,31,
-  192,248,31,192,248,31,193,240,31,225,240,31,179,224,31,159,
-  128,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,
-  31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,255,
-  240,0,22,33,99,25,2,246,7,240,32,15,24,96,30,28,
-  96,62,14,224,126,15,224,124,15,224,124,7,224,252,7,224,
-  252,7,224,252,7,224,252,7,224,252,7,224,252,7,224,252,
-  7,224,252,7,224,124,7,224,124,15,224,126,15,224,62,15,
-  224,30,31,224,31,23,224,7,231,224,0,7,224,0,7,224,
-  0,7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,
-  7,224,0,7,224,0,7,224,0,63,252,17,22,66,20,2,
-  1,255,31,0,63,63,128,63,79,128,63,79,128,63,159,128,
-  63,159,128,63,159,0,63,14,0,63,0,0,63,0,0,63,
-  0,0,63,0,0,63,0,0,63,0,0,63,0,0,63,0,
+  255,199,254,20,22,66,24,2,1,3,252,0,15,15,0,30,
+  7,128,62,7,192,62,7,192,124,3,224,124,3,224,252,3,
+  240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,
+  252,3,240,252,3,240,124,3,224,124,3,224,62,7,192,62,
+  7,192,30,7,128,15,15,0,3,252,0,22,33,99,25,1,
+  246,255,159,128,31,163,192,31,225,224,31,193,240,31,192,248,
+  31,192,248,31,192,248,31,128,252,31,128,252,31,128,252,31,
+  128,252,31,128,252,31,128,252,31,128,252,31,128,252,31,192,
+  252,31,192,248,31,192,248,31,193,240,31,225,240,31,179,224,
+  31,159,128,31,128,0,31,128,0,31,128,0,31,128,0,31,
+  128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,
+  0,255,240,0,22,33,99,25,2,246,7,240,32,15,24,96,
+  30,28,96,62,14,224,126,15,224,124,15,224,124,7,224,252,
+  7,224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,
+  224,252,7,224,252,7,224,124,7,224,124,15,224,126,15,224,
+  62,15,224,30,31,224,31,23,224,7,231,224,0,7,224,0,
+  7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,7,
+  224,0,7,224,0,7,224,0,7,224,0,63,252,17,22,66,
+  20,2,1,255,31,0,63,63,128,63,79,128,63,79,128,63,
+  159,128,63,159,128,63,159,0,63,14,0,63,0,0,63,0,
   0,63,0,0,63,0,0,63,0,0,63,0,0,63,0,0,
-  255,192,0,16,22,44,21,3,1,31,196,48,116,96,60,224,
-  28,224,28,240,12,248,4,254,4,127,128,127,224,63,240,31,
-  252,7,254,129,254,192,127,192,31,224,15,224,7,240,7,248,
-  6,204,14,135,248,15,32,64,17,1,0,1,128,1,128,1,
-  128,1,128,1,128,3,128,3,128,7,128,15,128,63,128,255,
-  248,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,
-  128,31,128,31,128,31,128,31,130,31,130,31,130,31,130,31,
-  134,31,134,31,132,15,196,15,248,7,240,24,22,66,26,1,
-  0,255,143,248,31,129,248,31,129,248,31,129,248,31,129,248,
-  31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,
+  63,0,0,63,0,0,63,0,0,63,0,0,63,0,0,63,
+  0,0,255,192,0,16,22,44,21,3,1,31,196,48,116,96,
+  60,224,28,224,28,240,12,248,4,254,4,127,128,127,224,63,
+  240,31,252,7,254,129,254,192,127,192,31,224,15,224,7,240,
+  7,248,6,204,14,135,248,15,32,64,17,1,0,1,128,1,
+  128,1,128,1,128,1,128,3,128,3,128,7,128,15,128,63,
+  128,255,248,31,128,31,128,31,128,31,128,31,128,31,128,31,
+  128,31,128,31,128,31,128,31,128,31,130,31,130,31,130,31,
+  130,31,134,31,134,31,132,15,196,15,248,7,240,24,22,66,
+  26,1,0,255,143,248,31,129,248,31,129,248,31,129,248,31,
   129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,
-  248,31,131,248,31,131,248,31,133,248,15,133,248,15,201,248,
-  7,241,255,23,23,69,25,1,255,255,241,254,63,192,120,31,
-  128,48,15,192,48,15,192,32,7,192,96,7,224,96,7,224,
-  64,3,224,192,3,240,128,3,240,128,1,241,128,1,249,0,
-  0,249,0,0,255,0,0,254,0,0,126,0,0,126,0,0,
-  124,0,0,60,0,0,60,0,0,24,0,0,24,0,35,23,
-  115,37,1,255,255,231,255,31,224,63,129,252,7,128,31,128,
-  252,3,0,15,128,252,2,0,15,192,124,2,0,15,192,124,
-  6,0,7,192,126,4,0,7,224,254,4,0,3,224,191,12,
-  0,3,224,191,8,0,3,241,159,24,0,1,241,31,144,0,
-  1,241,31,144,0,1,251,31,176,0,0,250,15,224,0,0,
-  250,15,224,0,0,254,15,224,0,0,124,7,192,0,0,124,
-  7,192,0,0,60,7,192,0,0,56,3,128,0,0,56,3,
-  128,0,0,24,3,0,0,23,22,66,25,1,0,255,231,252,
-  63,192,240,31,192,224,15,192,192,15,225,128,7,227,0,3,
-  242,0,3,254,0,1,252,0,1,252,0,0,252,0,0,126,
-  0,0,127,0,0,127,0,0,223,128,1,159,192,3,15,192,
-  2,15,224,6,7,224,14,7,240,30,7,248,255,207,254,23,
-  33,99,25,1,245,255,241,254,63,192,120,31,128,48,15,192,
-  32,15,192,32,15,192,96,7,224,64,7,224,64,3,240,192,
-  3,240,128,1,248,128,1,249,128,0,249,0,0,253,0,0,
-  253,0,0,126,0,0,126,0,0,62,0,0,60,0,0,28,
-  0,0,28,0,0,12,0,0,8,0,0,8,0,0,8,0,
-  15,16,0,31,16,0,63,144,0,63,32,0,62,32,0,62,
-  64,0,31,192,0,15,0,0,18,22,66,22,2,0,127,255,
-  192,124,15,192,120,31,128,112,63,0,96,63,0,96,126,0,
-  64,126,0,64,252,0,1,248,0,1,248,0,3,240,0,3,
-  240,0,7,224,64,15,192,64,15,192,64,31,128,192,31,0,
-  192,63,1,192,126,1,192,126,3,192,252,15,192,255,255,192,
-  14,43,86,20,3,247,0,60,0,240,3,192,7,128,7,128,
-  15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,
-  15,128,15,128,15,128,15,128,15,128,15,0,15,0,28,0,
-  240,0,60,0,30,0,15,0,15,128,15,128,15,128,15,128,
+  248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,
+  31,129,248,31,131,248,31,131,248,31,133,248,15,133,248,15,
+  201,248,7,241,255,23,23,69,25,1,255,255,241,254,63,192,
+  120,31,128,48,15,192,48,15,192,32,7,192,96,7,224,96,
+  7,224,64,3,224,192,3,240,128,3,240,128,1,241,128,1,
+  249,0,0,249,0,0,255,0,0,254,0,0,126,0,0,126,
+  0,0,124,0,0,60,0,0,60,0,0,24,0,0,24,0,
+  35,23,115,37,1,255,255,231,255,31,224,63,129,252,7,128,
+  31,128,252,3,0,15,128,252,2,0,15,192,124,2,0,15,
+  192,124,6,0,7,192,126,4,0,7,224,254,4,0,3,224,
+  191,12,0,3,224,191,8,0,3,241,159,24,0,1,241,31,
+  144,0,1,241,31,144,0,1,251,31,176,0,0,250,15,224,
+  0,0,250,15,224,0,0,254,15,224,0,0,124,7,192,0,
+  0,124,7,192,0,0,60,7,192,0,0,56,3,128,0,0,
+  56,3,128,0,0,24,3,0,0,23,22,66,25,1,0,255,
+  231,252,63,192,240,31,192,224,15,192,192,15,225,128,7,227,
+  0,3,242,0,3,254,0,1,252,0,1,252,0,0,252,0,
+  0,126,0,0,127,0,0,127,0,0,223,128,1,159,192,3,
+  15,192,2,15,224,6,7,224,14,7,240,30,7,248,255,207,
+  254,23,33,99,25,1,245,255,241,254,63,192,120,31,128,48,
+  15,192,32,15,192,32,15,192,96,7,224,64,7,224,64,3,
+  240,192,3,240,128,1,248,128,1,249,128,0,249,0,0,253,
+  0,0,253,0,0,126,0,0,126,0,0,62,0,0,60,0,
+  0,28,0,0,28,0,0,12,0,0,8,0,0,8,0,0,
+  8,0,15,16,0,31,16,0,63,144,0,63,32,0,62,32,
+  0,62,64,0,31,192,0,15,0,0,18,22,66,22,2,0,
+  127,255,192,124,15,192,120,31,128,112,63,0,96,63,0,96,
+  126,0,64,126,0,64,252,0,1,248,0,1,248,0,3,240,
+  0,3,240,0,7,224,64,15,192,64,15,192,64,31,128,192,
+  31,0,192,63,1,192,126,1,192,126,3,192,252,15,192,255,
+  255,192,14,43,86,20,3,247,0,60,0,240,3,192,7,128,
+  7,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,
+  15,128,15,128,15,128,15,128,15,128,15,128,15,0,15,0,
+  28,0,240,0,60,0,30,0,15,0,15,128,15,128,15,128,
   15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,
-  15,128,7,128,7,128,3,192,0,240,0,60,3,44,44,13,
-  5,247,224,224,224,224,224,224,224,224,224,224,224,224,224,224,
+  15,128,15,128,7,128,7,128,3,192,0,240,0,60,3,44,
+  44,13,5,247,224,224,224,224,224,224,224,224,224,224,224,224,
+  224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,
   224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,
-  224,224,224,224,224,224,224,224,224,224,224,224,224,224,15,43,
-  86,20,3,247,240,0,60,0,15,0,7,128,7,128,7,192,
+  15,43,86,20,3,247,240,0,60,0,15,0,7,128,7,128,
   7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,
-  7,192,7,192,7,192,7,192,3,192,3,192,0,240,0,62,
-  0,240,1,224,3,192,7,192,7,192,7,192,7,192,7,192,
+  7,192,7,192,7,192,7,192,7,192,3,192,3,192,0,240,
+  0,62,0,240,1,224,3,192,7,192,7,192,7,192,7,192,
   7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,
-  7,128,7,128,15,0,60,0,240,0,27,9,36,31,2,8,
-  31,128,1,128,63,240,0,192,127,254,0,96,255,255,128,96,
-  193,255,240,96,192,63,255,224,192,15,255,192,96,1,255,128,
-  48,0,63,0,255};
+  7,192,7,128,7,128,15,0,60,0,240,0,27,9,36,31,
+  2,8,31,128,1,128,63,240,0,192,127,254,0,96,255,255,
+  128,96,193,255,240,96,192,63,255,224,192,15,255,192,96,1,
+  255,128,48,0,63,0,255};
 /*
   Fontname: -FreeType-Old Standard TT-Medium-R-Normal--26-260-72-72-P-138-ISO10646-1
   Copyright: Copyright (C) 2006-2008 Alexey Kryukov <alexios@thessalonica.org.ru>
@@ -62734,7 +63195,7 @@ const u8g_fntpgm_uint8_t u8g_font_osb35r[10245] U8G_SECTION(".progmem.u8g_font_o
   Max Font    ascent =25 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr18[7816] U8G_SECTION(".progmem.u8g_font_osr18") = {
+const u8g_fntpgm_uint8_t u8g_font_osr18[7816] U8G_FONT_SECTION("u8g_font_osr18") = {
   0,68,33,235,248,18,4,197,10,125,32,255,250,25,249,19,
   250,0,0,0,7,0,0,3,18,18,7,2,0,224,224,224,
   224,224,224,64,64,64,64,64,64,64,64,0,224,224,224,6,
@@ -62757,7 +63218,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr18[7816] U8G_SECTION(".progmem.u8g_font_osr
   64,96,32,16,24,12,6,23,23,9,1,252,64,32,48,16,
   24,8,8,12,4,4,4,4,4,4,12,8,8,8,16,16,
   32,64,192,10,10,20,14,2,8,12,0,12,0,204,192,201,
-  192,42,0,30,0,235,192,201,192,12,0,12,0,22,22,66,
+  192,43,0,28,0,123,128,201,192,12,0,12,0,22,22,66,
   24,1,252,0,16,0,0,16,0,0,16,0,0,16,0,0,
   16,0,0,16,0,0,16,0,0,16,0,0,16,0,0,16,
   0,255,255,252,0,16,0,0,16,0,0,16,0,0,16,0,
@@ -62793,7 +63254,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr18[7816] U8G_SECTION(".progmem.u8g_font_osr
   0,30,0,49,128,96,192,224,192,192,64,192,96,192,96,192,
   224,96,224,113,96,30,96,0,96,0,64,96,192,96,192,64,
   128,65,0,62,0,3,12,12,7,2,0,224,224,224,0,0,
-  0,0,0,0,224,224,224,4,16,16,8,2,252,96,240,240,
+  0,0,0,0,224,224,224,4,16,16,8,2,252,240,240,240,
   0,0,0,0,0,96,240,240,16,16,32,32,64,20,21,63,
   24,2,253,0,0,48,0,0,192,0,3,0,0,12,0,0,
   48,0,0,224,0,3,128,0,14,0,0,24,0,0,96,0,
@@ -63004,7 +63465,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr18[7816] U8G_SECTION(".progmem.u8g_font_osr
   96,66,254,7,11,11,12,3,7,120,132,198,198,4,120,14,
   70,198,134,120,4,4,4,11,5,13,48,48,96,128,14,19,
   38,17,2,249,192,192,192,192,192,192,192,192,192,192,192,192,
-  192,192,64,192,64,128,64,132,163,252,159,28,128,0,128,0,
+  192,192,64,192,64,128,64,132,163,252,158,56,128,0,128,0,
   192,0,192,0,192,0,224,0,64,0,11,22,44,14,2,252,
   63,224,120,128,248,128,248,128,248,128,248,128,248,128,120,128,
   8,128,8,128,8,128,8,128,8,128,8,128,8,128,8,128,
@@ -63236,10 +63697,10 @@ const u8g_fntpgm_uint8_t u8g_font_osr18[7816] U8G_SECTION(".progmem.u8g_font_osr
   Max Font    ascent =18 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr18n[595] U8G_SECTION(".progmem.u8g_font_osr18n") = {
-  0,68,33,235,248,18,0,0,0,0,42,57,0,18,250,18,
-  0,10,10,20,14,2,8,12,0,12,0,204,192,201,192,42,
-  0,30,0,235,192,201,192,12,0,12,0,22,22,66,24,1,
+const u8g_fntpgm_uint8_t u8g_font_osr18n[613] U8G_FONT_SECTION("u8g_font_osr18n") = {
+  0,68,33,235,248,18,0,0,0,0,42,58,0,18,250,18,
+  0,10,10,20,14,2,8,12,0,12,0,204,192,201,192,43,
+  0,28,0,123,128,201,192,12,0,12,0,22,22,66,24,1,
   252,0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,
   0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,255,
   255,252,0,16,0,0,16,0,0,16,0,0,16,0,0,16,
@@ -63274,7 +63735,8 @@ const u8g_fntpgm_uint8_t u8g_font_osr18n[595] U8G_SECTION(".progmem.u8g_font_osr
   48,192,48,96,96,112,192,31,128,11,18,36,15,2,0,30,
   0,49,128,96,192,224,192,192,64,192,96,192,96,192,224,96,
   224,113,96,30,96,0,96,0,64,96,192,96,192,64,128,65,
-  0,62,0};
+  0,62,0,3,12,12,7,2,0,224,224,224,0,0,0,0,
+  0,0,224,224,224};
 /*
   Fontname: -FreeType-Old Standard TT-Medium-R-Normal--26-260-72-72-P-138-ISO10646-1
   Copyright: Copyright (C) 2006-2008 Alexey Kryukov <alexios@thessalonica.org.ru>
@@ -63287,7 +63749,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr18n[595] U8G_SECTION(".progmem.u8g_font_osr
   Max Font    ascent =20 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr18r[3683] U8G_SECTION(".progmem.u8g_font_osr18r") = {
+const u8g_fntpgm_uint8_t u8g_font_osr18r[3683] U8G_FONT_SECTION("u8g_font_osr18r") = {
   0,68,33,235,248,18,4,197,10,125,32,127,250,20,250,19,
   250,0,0,0,7,0,0,3,18,18,7,2,0,224,224,224,
   224,224,224,64,64,64,64,64,64,64,64,0,224,224,224,6,
@@ -63310,7 +63772,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr18r[3683] U8G_SECTION(".progmem.u8g_font_os
   64,96,32,16,24,12,6,23,23,9,1,252,64,32,48,16,
   24,8,8,12,4,4,4,4,4,4,12,8,8,8,16,16,
   32,64,192,10,10,20,14,2,8,12,0,12,0,204,192,201,
-  192,42,0,30,0,235,192,201,192,12,0,12,0,22,22,66,
+  192,43,0,28,0,123,128,201,192,12,0,12,0,22,22,66,
   24,1,252,0,16,0,0,16,0,0,16,0,0,16,0,0,
   16,0,0,16,0,0,16,0,0,16,0,0,16,0,0,16,
   0,255,255,252,0,16,0,0,16,0,0,16,0,0,16,0,
@@ -63346,7 +63808,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr18r[3683] U8G_SECTION(".progmem.u8g_font_os
   0,30,0,49,128,96,192,224,192,192,64,192,96,192,96,192,
   224,96,224,113,96,30,96,0,96,0,64,96,192,96,192,64,
   128,65,0,62,0,3,12,12,7,2,0,224,224,224,0,0,
-  0,0,0,0,224,224,224,4,16,16,8,2,252,96,240,240,
+  0,0,0,0,224,224,224,4,16,16,8,2,252,240,240,240,
   0,0,0,0,0,96,240,240,16,16,32,32,64,20,21,63,
   24,2,253,0,0,48,0,0,192,0,3,0,0,12,0,0,
   48,0,0,224,0,3,128,0,14,0,0,24,0,0,96,0,
@@ -63520,7 +63982,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr18r[3683] U8G_SECTION(".progmem.u8g_font_os
   32,192,15,5,10,17,1,4,32,4,254,2,143,194,129,254,
   64,124,255};
 /*
-  Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-154-ISO10646-1
+  Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-153-ISO10646-1
   Copyright: Copyright (C) 2006-2008 Alexey Kryukov <alexios@thessalonica.org.ru>
   Capital A Height: 21, '1' Height: 21
   Calculated Max Values w=29 h=28 x= 6 y=17 dx=32 dy= 0 ascent=28 len=88
@@ -63531,7 +63993,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr18r[3683] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =28 descent=-8
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr21[9530] U8G_SECTION(".progmem.u8g_font_osr21") = {
+const u8g_fntpgm_uint8_t u8g_font_osr21[9530] U8G_FONT_SECTION("u8g_font_osr21") = {
   0,76,38,232,247,21,5,131,12,189,32,255,249,28,248,22,
   249,0,0,0,8,0,0,4,21,21,8,2,0,96,240,240,
   240,240,240,96,96,96,96,96,96,96,96,96,64,0,96,240,
@@ -63556,8 +64018,8 @@ const u8g_fntpgm_uint8_t u8g_font_osr21[9530] U8G_SECTION(".progmem.u8g_font_osr
   128,128,128,192,64,64,32,32,16,24,8,4,6,28,28,11,
   2,250,128,192,64,32,48,16,24,8,8,8,4,4,4,4,
   4,4,4,4,12,8,8,24,16,48,32,96,192,128,10,12,
-  24,14,2,9,12,0,14,0,204,64,228,192,53,0,14,0,
-  63,0,229,192,196,192,12,0,14,0,12,0,24,25,75,26,
+  24,14,2,9,12,0,14,0,204,64,228,192,117,192,14,0,
+  30,0,229,192,196,192,12,0,14,0,12,0,24,25,75,26,
   1,252,0,8,0,0,8,0,0,8,0,0,8,0,0,8,
   0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0,
   0,8,0,0,8,0,255,255,255,0,8,0,0,8,0,0,
@@ -63584,8 +64046,8 @@ const u8g_fntpgm_uint8_t u8g_font_osr21[9530] U8G_SECTION(".progmem.u8g_font_osr
   0,0,64,0,192,1,192,1,192,3,192,7,192,5,192,13,
   192,9,192,17,192,49,192,33,192,65,192,193,192,255,252,1,
   192,1,192,1,192,1,192,1,192,15,252,12,21,42,17,2,
-  0,96,64,127,128,127,0,64,0,64,0,64,0,64,0,79,
-  0,112,192,64,96,64,96,0,112,0,112,0,112,96,112,240,
+  0,96,64,127,128,127,0,64,0,64,0,64,0,64,0,95,
+  0,96,192,64,96,64,96,0,112,0,112,0,112,96,112,240,
   112,240,112,224,96,192,224,64,192,63,128,12,21,42,17,2,
   0,7,128,24,64,16,96,48,224,96,224,96,192,96,0,224,
   0,231,128,232,192,240,96,240,96,224,112,224,112,224,112,224,
@@ -63601,7 +64063,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr21[9530] U8G_SECTION(".progmem.u8g_font_osr
   96,112,96,112,64,96,192,96,128,63,0,4,14,14,8,2,
   0,96,240,240,96,0,0,0,0,0,0,96,240,240,96,4,
   18,18,8,2,251,96,240,240,96,0,0,0,0,0,0,224,
-  240,240,16,16,16,32,64,22,24,72,27,2,251,0,0,12,
+  240,240,16,16,48,32,64,22,24,72,27,2,251,0,0,12,
   0,0,56,0,0,96,0,1,128,0,7,0,0,28,0,0,
   112,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0,
   0,224,0,0,48,0,0,12,0,0,7,0,0,1,192,0,
@@ -63740,7 +64202,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr21[9530] U8G_SECTION(".progmem.u8g_font_osr
   192,49,192,97,192,225,192,225,200,225,200,226,216,60,240,13,
   21,42,15,1,0,248,0,56,0,56,0,56,0,56,0,56,
   0,56,0,59,192,60,96,56,48,56,48,56,48,56,48,56,
-  56,56,56,56,48,56,48,56,48,56,32,44,96,35,192,10,
+  56,56,56,56,48,56,48,56,48,56,48,36,96,35,192,10,
   14,28,12,1,0,31,0,48,128,96,64,96,192,225,192,224,
   128,224,0,224,0,224,0,224,0,96,64,96,128,48,128,31,
   0,13,21,42,15,1,0,3,224,0,224,0,224,0,224,0,
@@ -63852,7 +64314,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr21[9530] U8G_SECTION(".progmem.u8g_font_osr
   0,3,0,227,128,227,0,135,0,124,0,5,5,5,13,6,
   16,24,56,48,96,128,15,22,44,18,2,248,192,64,192,96,
   224,224,192,224,192,224,192,96,192,96,192,96,64,96,64,64,
-  64,66,192,194,177,190,143,12,128,0,128,0,192,0,192,0,
+  64,66,192,194,177,190,143,28,128,0,128,0,192,0,192,0,
   192,0,224,0,224,0,96,0,12,26,52,16,2,251,31,240,
   124,64,252,64,252,64,252,64,252,64,252,64,124,64,60,64,
   4,64,4,64,4,64,4,64,4,64,4,64,4,64,4,64,
@@ -64129,7 +64591,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr21[9530] U8G_SECTION(".progmem.u8g_font_osr
   6,64,7,64,3,128,3,128,3,128,1,0,1,0,1,0,
   1,0,114,0,114,0,116,0,56,0};
 /*
-  Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-154-ISO10646-1
+  Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-153-ISO10646-1
   Copyright: Copyright (C) 2006-2008 Alexey Kryukov <alexios@thessalonica.org.ru>
   Capital A Height: 0, '1' Height: 21
   Calculated Max Values w=24 h=28 x= 3 y= 9 dx=26 dy= 0 ascent=22 len=75
@@ -64140,10 +64602,10 @@ const u8g_fntpgm_uint8_t u8g_font_osr21[9530] U8G_SECTION(".progmem.u8g_font_osr
   Max Font    ascent =22 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr21n[702] U8G_SECTION(".progmem.u8g_font_osr21n") = {
-  0,76,38,232,247,21,0,0,0,0,42,57,0,22,250,21,
-  0,10,12,24,14,2,9,12,0,14,0,204,64,228,192,53,
-  0,14,0,63,0,229,192,196,192,12,0,14,0,12,0,24,
+const u8g_fntpgm_uint8_t u8g_font_osr21n[722] U8G_FONT_SECTION("u8g_font_osr21n") = {
+  0,76,38,232,247,21,0,0,0,0,42,58,0,22,250,21,
+  0,10,12,24,14,2,9,12,0,14,0,204,64,228,192,117,
+  192,14,0,30,0,229,192,196,192,12,0,14,0,12,0,24,
   25,75,26,1,252,0,8,0,0,8,0,0,8,0,0,8,
   0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0,
   0,8,0,0,8,0,0,8,0,255,255,255,0,8,0,0,
@@ -64171,7 +64633,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr21n[702] U8G_SECTION(".progmem.u8g_font_osr
   5,192,13,192,9,192,17,192,49,192,33,192,65,192,193,192,
   255,252,1,192,1,192,1,192,1,192,1,192,15,252,12,21,
   42,17,2,0,96,64,127,128,127,0,64,0,64,0,64,0,
-  64,0,79,0,112,192,64,96,64,96,0,112,0,112,0,112,
+  64,0,95,0,96,192,64,96,64,96,0,112,0,112,0,112,
   96,112,240,112,240,112,224,96,192,224,64,192,63,128,12,21,
   42,17,2,0,7,128,24,64,16,96,48,224,96,224,96,192,
   96,0,224,0,231,128,232,192,240,96,240,96,224,112,224,112,
@@ -64184,9 +64646,11 @@ const u8g_fntpgm_uint8_t u8g_font_osr21n[702] U8G_SECTION(".progmem.u8g_font_osr
   224,28,224,28,224,24,224,24,96,24,112,48,31,192,12,21,
   42,17,2,0,15,0,48,128,96,64,96,96,224,96,224,96,
   224,112,224,112,224,112,96,112,96,240,49,176,14,48,0,48,
-  0,32,48,96,112,96,112,64,96,192,96,128,63,0};
+  0,32,48,96,112,96,112,64,96,192,96,128,63,0,4,14,
+  14,8,2,0,96,240,240,96,0,0,0,0,0,0,96,240,
+  240,96};
 /*
-  Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-154-ISO10646-1
+  Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-153-ISO10646-1
   Copyright: Copyright (C) 2006-2008 Alexey Kryukov <alexios@thessalonica.org.ru>
   Capital A Height: 21, '1' Height: 21
   Calculated Max Values w=29 h=28 x= 4 y=17 dx=32 dy= 0 ascent=23 len=88
@@ -64197,7 +64661,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr21n[702] U8G_SECTION(".progmem.u8g_font_osr
   Max Font    ascent =23 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr21r[4396] U8G_SECTION(".progmem.u8g_font_osr21r") = {
+const u8g_fntpgm_uint8_t u8g_font_osr21r[4396] U8G_FONT_SECTION("u8g_font_osr21r") = {
   0,76,38,232,247,21,5,131,12,189,32,127,249,23,249,22,
   249,0,0,0,8,0,0,4,21,21,8,2,0,96,240,240,
   240,240,240,96,96,96,96,96,96,96,96,96,64,0,96,240,
@@ -64222,8 +64686,8 @@ const u8g_fntpgm_uint8_t u8g_font_osr21r[4396] U8G_SECTION(".progmem.u8g_font_os
   128,128,128,192,64,64,32,32,16,24,8,4,6,28,28,11,
   2,250,128,192,64,32,48,16,24,8,8,8,4,4,4,4,
   4,4,4,4,12,8,8,24,16,48,32,96,192,128,10,12,
-  24,14,2,9,12,0,14,0,204,64,228,192,53,0,14,0,
-  63,0,229,192,196,192,12,0,14,0,12,0,24,25,75,26,
+  24,14,2,9,12,0,14,0,204,64,228,192,117,192,14,0,
+  30,0,229,192,196,192,12,0,14,0,12,0,24,25,75,26,
   1,252,0,8,0,0,8,0,0,8,0,0,8,0,0,8,
   0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0,
   0,8,0,0,8,0,255,255,255,0,8,0,0,8,0,0,
@@ -64250,8 +64714,8 @@ const u8g_fntpgm_uint8_t u8g_font_osr21r[4396] U8G_SECTION(".progmem.u8g_font_os
   0,0,64,0,192,1,192,1,192,3,192,7,192,5,192,13,
   192,9,192,17,192,49,192,33,192,65,192,193,192,255,252,1,
   192,1,192,1,192,1,192,1,192,15,252,12,21,42,17,2,
-  0,96,64,127,128,127,0,64,0,64,0,64,0,64,0,79,
-  0,112,192,64,96,64,96,0,112,0,112,0,112,96,112,240,
+  0,96,64,127,128,127,0,64,0,64,0,64,0,64,0,95,
+  0,96,192,64,96,64,96,0,112,0,112,0,112,96,112,240,
   112,240,112,224,96,192,224,64,192,63,128,12,21,42,17,2,
   0,7,128,24,64,16,96,48,224,96,224,96,192,96,0,224,
   0,231,128,232,192,240,96,240,96,224,112,224,112,224,112,224,
@@ -64267,7 +64731,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr21r[4396] U8G_SECTION(".progmem.u8g_font_os
   96,112,96,112,64,96,192,96,128,63,0,4,14,14,8,2,
   0,96,240,240,96,0,0,0,0,0,0,96,240,240,96,4,
   18,18,8,2,251,96,240,240,96,0,0,0,0,0,0,224,
-  240,240,16,16,16,32,64,22,24,72,27,2,251,0,0,12,
+  240,240,16,16,48,32,64,22,24,72,27,2,251,0,0,12,
   0,0,56,0,0,96,0,1,128,0,7,0,0,28,0,0,
   112,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0,
   0,224,0,0,48,0,0,12,0,0,7,0,0,1,192,0,
@@ -64406,7 +64870,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr21r[4396] U8G_SECTION(".progmem.u8g_font_os
   192,49,192,97,192,225,192,225,200,225,200,226,216,60,240,13,
   21,42,15,1,0,248,0,56,0,56,0,56,0,56,0,56,
   0,56,0,59,192,60,96,56,48,56,48,56,48,56,48,56,
-  56,56,56,56,48,56,48,56,48,56,32,44,96,35,192,10,
+  56,56,56,56,48,56,48,56,48,56,48,36,96,35,192,10,
   14,28,12,1,0,31,0,48,128,96,64,96,192,225,192,224,
   128,224,0,224,0,224,0,224,0,96,64,96,128,48,128,31,
   0,13,21,42,15,1,0,3,224,0,224,0,224,0,224,0,
@@ -64485,7 +64949,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr21r[4396] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =35 descent=-10
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr26[13186] U8G_SECTION(".progmem.u8g_font_osr26") = {
+const u8g_fntpgm_uint8_t u8g_font_osr26[13186] U8G_FONT_SECTION("u8g_font_osr26") = {
   0,94,46,227,245,26,7,96,17,82,32,255,248,35,246,27,
   248,0,0,0,10,0,0,4,25,25,10,3,0,96,240,240,
   240,240,240,240,240,96,96,96,96,96,96,96,96,96,96,32,
@@ -64516,7 +64980,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr26[13186] U8G_SECTION(".progmem.u8g_font_os
   33,13,2,250,192,96,96,48,24,24,12,12,6,6,6,2,
   3,3,3,3,3,3,3,3,2,6,6,6,4,12,12,24,
   24,48,96,192,128,13,15,30,18,3,10,7,0,7,0,7,
-  0,195,24,226,56,114,112,10,128,7,0,15,128,122,240,242,
+  0,195,24,226,56,242,120,58,224,7,0,7,128,122,240,242,
   120,226,56,7,0,7,0,7,0,30,31,124,34,2,250,0,
   3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,
   3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,
@@ -64575,7 +65039,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr26[13186] U8G_SECTION(".progmem.u8g_font_os
   112,56,96,112,48,224,31,192,4,17,17,10,3,0,96,240,
   240,240,96,0,0,0,0,0,0,0,96,240,240,240,96,5,
   23,23,11,3,250,112,248,248,248,112,0,0,0,0,0,0,
-  0,112,240,248,120,8,8,8,16,16,32,64,28,29,116,34,
+  0,112,248,248,120,24,24,24,16,48,32,64,28,29,116,34,
   3,251,0,0,0,112,0,0,1,192,0,0,7,0,0,0,
   28,0,0,0,112,0,0,1,224,0,0,3,128,0,0,14,
   0,0,0,56,0,0,0,224,0,0,3,128,0,0,15,0,
@@ -64768,8 +65232,8 @@ const u8g_fntpgm_uint8_t u8g_font_osr26[13186] U8G_SECTION(".progmem.u8g_font_os
   224,113,224,241,225,113,113,126,62,60,16,26,52,18,0,0,
   252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,
   28,0,28,112,29,140,29,14,30,6,30,7,28,7,28,7,
-  28,7,28,7,28,7,28,7,28,7,28,7,30,6,30,14,
-  19,12,16,240,12,17,34,16,2,0,15,128,24,96,48,48,
+  28,7,28,7,28,7,28,7,28,7,28,7,30,6,26,14,
+  17,12,16,240,12,17,34,16,2,0,15,128,24,96,48,48,
   112,48,96,112,224,112,224,112,224,0,224,0,224,0,224,0,
   224,0,96,16,112,16,48,32,24,64,15,128,16,26,52,19,
   2,0,1,248,0,56,0,56,0,56,0,56,0,56,0,56,
@@ -64930,7 +65394,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr26[13186] U8G_SECTION(".progmem.u8g_font_os
   56,48,96,192,19,27,81,22,2,246,96,24,0,224,60,0,
   224,60,0,224,60,0,224,60,0,224,60,0,224,60,0,224,
   60,0,224,60,0,192,24,0,64,24,0,64,24,0,64,56,
-  0,96,48,32,112,124,96,95,227,224,71,193,192,128,0,0,
+  0,96,48,32,112,124,96,95,231,224,71,195,192,128,0,0,
   192,0,0,192,0,0,192,0,0,192,0,0,224,0,0,224,
   0,0,224,0,0,240,0,0,96,0,0,15,31,62,19,2,
   251,31,254,62,16,126,16,254,16,254,16,254,16,254,16,254,
@@ -65323,10 +65787,10 @@ const u8g_fntpgm_uint8_t u8g_font_osr26[13186] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =27 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr26n[932] U8G_SECTION(".progmem.u8g_font_osr26n") = {
-  0,94,46,227,245,25,0,0,0,0,42,57,0,27,249,25,
+const u8g_fntpgm_uint8_t u8g_font_osr26n[955] U8G_FONT_SECTION("u8g_font_osr26n") = {
+  0,94,46,227,245,25,0,0,0,0,42,58,0,27,249,25,
   0,13,15,30,18,3,10,7,0,7,0,7,0,195,24,226,
-  56,114,112,10,128,7,0,15,128,122,240,242,120,226,56,7,
+  56,242,120,58,224,7,0,7,128,122,240,242,120,226,56,7,
   0,7,0,7,0,30,31,124,34,2,250,0,3,0,0,0,
   3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,
   3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,
@@ -65382,7 +65846,8 @@ const u8g_fntpgm_uint8_t u8g_font_osr26n[932] U8G_SECTION(".progmem.u8g_font_osr
   3,0,7,192,24,96,48,48,112,56,112,28,224,28,224,28,
   224,30,224,30,224,30,224,30,112,62,112,62,56,94,15,158,
   0,30,0,28,0,28,56,28,120,28,120,56,112,56,96,112,
-  48,224,31,192};
+  48,224,31,192,4,17,17,10,3,0,96,240,240,240,96,0,
+  0,0,0,0,0,0,96,240,240,240,96};
 /*
   Fontname: -FreeType-Old Standard TT-Medium-R-Normal--36-360-72-72-P-189-ISO10646-1
   Copyright: Copyright (C) 2006-2008 Alexey Kryukov <alexios@thessalonica.org.ru>
@@ -65395,7 +65860,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr26n[932] U8G_SECTION(".progmem.u8g_font_osr
   Max Font    ascent =28 descent=-8
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr26r[6049] U8G_SECTION(".progmem.u8g_font_osr26r") = {
+const u8g_fntpgm_uint8_t u8g_font_osr26r[6049] U8G_FONT_SECTION("u8g_font_osr26r") = {
   0,94,46,227,245,26,7,96,17,82,32,127,248,28,248,27,
   248,0,0,0,10,0,0,4,25,25,10,3,0,96,240,240,
   240,240,240,240,240,96,96,96,96,96,96,96,96,96,96,32,
@@ -65426,7 +65891,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr26r[6049] U8G_SECTION(".progmem.u8g_font_os
   33,13,2,250,192,96,96,48,24,24,12,12,6,6,6,2,
   3,3,3,3,3,3,3,3,2,6,6,6,4,12,12,24,
   24,48,96,192,128,13,15,30,18,3,10,7,0,7,0,7,
-  0,195,24,226,56,114,112,10,128,7,0,15,128,122,240,242,
+  0,195,24,226,56,242,120,58,224,7,0,7,128,122,240,242,
   120,226,56,7,0,7,0,7,0,30,31,124,34,2,250,0,
   3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,
   3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,
@@ -65485,7 +65950,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr26r[6049] U8G_SECTION(".progmem.u8g_font_os
   112,56,96,112,48,224,31,192,4,17,17,10,3,0,96,240,
   240,240,96,0,0,0,0,0,0,0,96,240,240,240,96,5,
   23,23,11,3,250,112,248,248,248,112,0,0,0,0,0,0,
-  0,112,240,248,120,8,8,8,16,16,32,64,28,29,116,34,
+  0,112,248,248,120,24,24,24,16,48,32,64,28,29,116,34,
   3,251,0,0,0,112,0,0,1,192,0,0,7,0,0,0,
   28,0,0,0,112,0,0,1,224,0,0,3,128,0,0,14,
   0,0,0,56,0,0,0,224,0,0,3,128,0,0,15,0,
@@ -65678,8 +66143,8 @@ const u8g_fntpgm_uint8_t u8g_font_osr26r[6049] U8G_SECTION(".progmem.u8g_font_os
   224,113,224,241,225,113,113,126,62,60,16,26,52,18,0,0,
   252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,
   28,0,28,112,29,140,29,14,30,6,30,7,28,7,28,7,
-  28,7,28,7,28,7,28,7,28,7,28,7,30,6,30,14,
-  19,12,16,240,12,17,34,16,2,0,15,128,24,96,48,48,
+  28,7,28,7,28,7,28,7,28,7,28,7,30,6,26,14,
+  17,12,16,240,12,17,34,16,2,0,15,128,24,96,48,48,
   112,48,96,112,224,112,224,112,224,0,224,0,224,0,224,0,
   224,0,96,16,112,16,48,32,24,64,15,128,16,26,52,19,
   2,0,1,248,0,56,0,56,0,56,0,56,0,56,0,56,
@@ -65787,7 +66252,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr26r[6049] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =39 descent=-11
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr29[16232] U8G_SECTION(".progmem.u8g_font_osr29") = {
+const u8g_fntpgm_uint8_t u8g_font_osr29[16232] U8G_FONT_SECTION("u8g_font_osr29") = {
   0,107,51,223,244,29,9,148,21,166,32,255,247,39,245,30,
   247,0,0,0,11,0,0,5,28,28,11,3,0,112,248,248,
   248,248,248,248,248,112,112,112,112,112,112,112,112,32,32,32,
@@ -65832,7 +66297,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr29[16232] U8G_SECTION(".progmem.u8g_font_os
   128,1,128,3,128,3,0,3,0,3,0,6,0,6,0,14,
   0,12,0,24,0,24,0,48,0,96,0,224,0,192,0,15,
   17,34,21,3,11,3,128,3,192,3,128,3,128,225,142,241,
-  30,249,62,29,112,3,128,3,128,29,112,249,62,241,30,227,
+  30,249,62,29,112,3,192,3,192,29,120,249,62,241,30,227,
   142,3,128,3,192,3,128,35,34,170,39,2,250,0,0,192,
   0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,
   0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,
@@ -65906,9 +66371,9 @@ const u8g_fntpgm_uint8_t u8g_font_osr29[16232] U8G_SECTION(".progmem.u8g_font_os
   128,0,7,0,0,7,0,56,7,0,124,7,0,124,14,0,
   120,14,0,112,12,0,112,24,0,48,48,0,31,224,0,5,
   19,19,11,3,0,112,248,248,248,112,0,0,0,0,0,0,
-  0,0,0,112,248,248,248,112,5,26,26,11,3,249,112,248,
-  248,248,112,0,0,0,0,0,0,0,0,0,112,240,248,120,
-  8,8,8,16,16,32,96,64,32,34,136,39,3,250,0,0,
+  0,0,0,112,248,248,248,112,6,26,26,12,3,249,112,248,
+  248,248,112,0,0,0,0,0,0,0,0,0,112,248,252,124,
+  12,12,12,8,24,48,32,64,32,34,136,39,3,250,0,0,
   0,2,0,0,0,7,0,0,0,28,0,0,0,112,0,0,
   1,224,0,0,7,128,0,0,30,0,0,0,120,0,0,1,
   224,0,0,3,128,0,0,14,0,0,0,56,0,0,0,240,
@@ -66336,7 +66801,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr29[16232] U8G_SECTION(".progmem.u8g_font_os
   30,90,25,3,245,96,6,0,224,15,0,240,15,0,240,15,
   0,240,15,0,224,15,0,224,15,0,224,15,0,224,15,0,
   224,15,0,224,6,0,64,6,0,64,6,0,64,6,0,96,
-  12,8,96,14,24,88,59,248,79,241,248,67,224,240,192,0,
+  12,8,96,14,24,88,57,248,79,241,248,67,224,112,192,0,
   0,192,0,0,192,0,0,192,0,0,192,0,0,224,0,0,
   224,0,0,240,0,0,240,0,0,112,0,0,112,0,0,17,
   35,105,23,3,250,15,255,128,63,140,0,127,140,0,127,140,
@@ -66815,10 +67280,10 @@ const u8g_fntpgm_uint8_t u8g_font_osr29[16232] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =30 descent=-8
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr29n[1201] U8G_SECTION(".progmem.u8g_font_osr29n") = {
-  0,107,51,223,244,28,0,0,0,0,42,57,0,30,248,28,
+const u8g_fntpgm_uint8_t u8g_font_osr29n[1226] U8G_FONT_SECTION("u8g_font_osr29n") = {
+  0,107,51,223,244,28,0,0,0,0,42,58,0,30,248,28,
   0,15,17,34,21,3,11,3,128,3,192,3,128,3,128,225,
-  142,241,30,249,62,29,112,3,128,3,128,29,112,249,62,241,
+  142,241,30,249,62,29,112,3,192,3,192,29,120,249,62,241,
   30,227,142,3,128,3,192,3,128,35,34,170,39,2,250,0,
   0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,
   192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,
@@ -66891,7 +67356,8 @@ const u8g_fntpgm_uint8_t u8g_font_osr29n[1201] U8G_SECTION(".progmem.u8g_font_os
   128,112,15,128,112,15,128,56,27,128,28,51,128,7,199,128,
   0,7,128,0,7,0,0,7,0,56,7,0,124,7,0,124,
   14,0,120,14,0,112,12,0,112,24,0,48,48,0,31,224,
-  0};
+  0,5,19,19,11,3,0,112,248,248,248,112,0,0,0,0,
+  0,0,0,0,0,112,248,248,248,112};
 /*
   Fontname: -FreeType-Old Standard TT-Medium-R-Normal--41-410-72-72-P-216-ISO10646-1
   Copyright: Copyright (C) 2006-2008 Alexey Kryukov <alexios@thessalonica.org.ru>
@@ -66904,7 +67370,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr29n[1201] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =31 descent=-9
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr29r[7573] U8G_SECTION(".progmem.u8g_font_osr29r") = {
+const u8g_fntpgm_uint8_t u8g_font_osr29r[7573] U8G_FONT_SECTION("u8g_font_osr29r") = {
   0,107,51,223,244,29,9,148,21,166,32,127,247,31,247,30,
   247,0,0,0,11,0,0,5,28,28,11,3,0,112,248,248,
   248,248,248,248,248,112,112,112,112,112,112,112,112,32,32,32,
@@ -66949,7 +67415,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr29r[7573] U8G_SECTION(".progmem.u8g_font_os
   128,1,128,3,128,3,0,3,0,3,0,6,0,6,0,14,
   0,12,0,24,0,24,0,48,0,96,0,224,0,192,0,15,
   17,34,21,3,11,3,128,3,192,3,128,3,128,225,142,241,
-  30,249,62,29,112,3,128,3,128,29,112,249,62,241,30,227,
+  30,249,62,29,112,3,192,3,192,29,120,249,62,241,30,227,
   142,3,128,3,192,3,128,35,34,170,39,2,250,0,0,192,
   0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,
   0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,
@@ -67023,9 +67489,9 @@ const u8g_fntpgm_uint8_t u8g_font_osr29r[7573] U8G_SECTION(".progmem.u8g_font_os
   128,0,7,0,0,7,0,56,7,0,124,7,0,124,14,0,
   120,14,0,112,12,0,112,24,0,48,48,0,31,224,0,5,
   19,19,11,3,0,112,248,248,248,112,0,0,0,0,0,0,
-  0,0,0,112,248,248,248,112,5,26,26,11,3,249,112,248,
-  248,248,112,0,0,0,0,0,0,0,0,0,112,240,248,120,
-  8,8,8,16,16,32,96,64,32,34,136,39,3,250,0,0,
+  0,0,0,112,248,248,248,112,6,26,26,12,3,249,112,248,
+  248,248,112,0,0,0,0,0,0,0,0,0,112,248,252,124,
+  12,12,12,8,24,48,32,64,32,34,136,39,3,250,0,0,
   0,2,0,0,0,7,0,0,0,28,0,0,0,112,0,0,
   1,224,0,0,7,128,0,0,30,0,0,0,120,0,0,1,
   224,0,0,3,128,0,0,14,0,0,0,56,0,0,0,240,
@@ -67391,7 +67857,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr29r[7573] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =47 descent=-13
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr35[22370] U8G_SECTION(".progmem.u8g_font_osr35") = {
+const u8g_fntpgm_uint8_t u8g_font_osr35[22370] U8G_FONT_SECTION("u8g_font_osr35") = {
   0,128,62,216,241,35,12,236,30,116,32,255,246,47,243,36,
   246,0,0,0,14,0,0,6,34,34,14,4,0,120,252,252,
   252,252,252,252,252,252,120,120,120,120,120,120,48,48,48,48,
@@ -67450,9 +67916,9 @@ const u8g_fntpgm_uint8_t u8g_font_osr35[22370] U8G_SECTION(".progmem.u8g_font_os
   0,96,0,96,0,96,0,96,0,96,0,224,0,192,0,192,
   0,192,1,128,1,128,3,128,3,0,7,0,6,0,14,0,
   12,0,24,0,56,0,112,0,224,0,18,20,60,25,4,14,
-  0,224,0,1,224,0,1,224,0,1,224,0,96,195,128,240,
-  135,192,248,143,192,124,159,128,7,248,0,1,224,0,1,224,
-  0,6,184,0,124,143,128,248,135,192,240,195,192,97,193,128,
+  0,224,0,1,224,0,1,224,0,1,224,0,224,195,128,240,
+  135,192,248,143,192,60,159,128,3,248,0,1,224,0,3,240,
+  0,30,190,0,124,143,128,248,135,192,240,195,192,97,193,128,
   1,224,0,1,224,0,1,224,0,0,224,0,41,41,246,45,
   2,248,0,0,12,0,0,0,0,0,12,0,0,0,0,0,
   12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,
@@ -67921,7 +68387,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr35[22370] U8G_SECTION(".progmem.u8g_font_os
   35,105,27,1,0,255,0,0,15,0,0,15,0,0,15,0,
   0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,
   15,0,0,15,0,0,15,0,0,15,0,0,15,15,192,15,
-  48,240,15,32,112,15,64,120,15,128,120,15,128,120,15,0,
+  48,240,15,96,112,15,64,120,15,128,120,15,128,120,15,0,
   120,15,0,120,15,0,120,15,0,120,15,0,120,15,0,120,
   15,0,120,15,0,120,15,0,120,15,0,120,15,0,120,15,
   0,120,15,0,120,15,0,120,15,0,120,255,195,255,10,34,
@@ -68803,11 +69269,11 @@ const u8g_fntpgm_uint8_t u8g_font_osr35[22370] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =36 descent=-10
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr35n[1560] U8G_SECTION(".progmem.u8g_font_osr35n") = {
-  0,128,62,216,241,34,0,0,0,0,42,57,0,36,246,34,
+const u8g_fntpgm_uint8_t u8g_font_osr35n[1588] U8G_FONT_SECTION("u8g_font_osr35n") = {
+  0,128,62,216,241,34,0,0,0,0,42,58,0,36,246,34,
   0,18,20,60,25,4,14,0,224,0,1,224,0,1,224,0,
-  1,224,0,96,195,128,240,135,192,248,143,192,124,159,128,7,
-  248,0,1,224,0,1,224,0,6,184,0,124,143,128,248,135,
+  1,224,0,224,195,128,240,135,192,248,143,192,60,159,128,3,
+  248,0,1,224,0,3,240,0,30,190,0,124,143,128,248,135,
   192,240,195,192,97,193,128,1,224,0,1,224,0,1,224,0,
   0,224,0,41,41,246,45,2,248,0,0,12,0,0,0,0,
   0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,
@@ -68901,7 +69367,9 @@ const u8g_fntpgm_uint8_t u8g_font_osr35n[1560] U8G_SECTION(".progmem.u8g_font_os
   1,248,120,3,248,60,7,120,30,14,120,15,252,120,3,240,
   120,0,0,240,0,0,240,0,0,240,0,0,240,60,0,224,
   124,0,224,124,1,192,124,1,192,120,3,128,112,3,0,56,
-  6,0,28,28,0,15,248,0};
+  6,0,28,28,0,15,248,0,6,22,22,14,4,1,120,252,
+  252,252,120,0,0,0,0,0,0,0,0,0,0,0,0,120,
+  252,252,252,120};
 /*
   Fontname: -FreeType-Old Standard TT-Medium-R-Normal--49-490-72-72-P-256-ISO10646-1
   Copyright: Copyright (C) 2006-2008 Alexey Kryukov <alexios@thessalonica.org.ru>
@@ -68914,7 +69382,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr35n[1560] U8G_SECTION(".progmem.u8g_font_os
   Max Font    ascent =37 descent=-11
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_osr35r[10371] U8G_SECTION(".progmem.u8g_font_osr35r") = {
+const u8g_fntpgm_uint8_t u8g_font_osr35r[10371] U8G_FONT_SECTION("u8g_font_osr35r") = {
   0,128,62,216,241,35,12,236,30,116,32,127,246,37,245,36,
   246,0,0,0,14,0,0,6,34,34,14,4,0,120,252,252,
   252,252,252,252,252,252,120,120,120,120,120,120,48,48,48,48,
@@ -68973,9 +69441,9 @@ const u8g_fntpgm_uint8_t u8g_font_osr35r[10371] U8G_SECTION(".progmem.u8g_font_o
   0,96,0,96,0,96,0,96,0,96,0,224,0,192,0,192,
   0,192,1,128,1,128,3,128,3,0,7,0,6,0,14,0,
   12,0,24,0,56,0,112,0,224,0,18,20,60,25,4,14,
-  0,224,0,1,224,0,1,224,0,1,224,0,96,195,128,240,
-  135,192,248,143,192,124,159,128,7,248,0,1,224,0,1,224,
-  0,6,184,0,124,143,128,248,135,192,240,195,192,97,193,128,
+  0,224,0,1,224,0,1,224,0,1,224,0,224,195,128,240,
+  135,192,248,143,192,60,159,128,3,248,0,1,224,0,3,240,
+  0,30,190,0,124,143,128,248,135,192,240,195,192,97,193,128,
   1,224,0,1,224,0,1,224,0,0,224,0,41,41,246,45,
   2,248,0,0,12,0,0,0,0,0,12,0,0,0,0,0,
   12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,
@@ -69444,7 +69912,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr35r[10371] U8G_SECTION(".progmem.u8g_font_o
   35,105,27,1,0,255,0,0,15,0,0,15,0,0,15,0,
   0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,
   15,0,0,15,0,0,15,0,0,15,0,0,15,15,192,15,
-  48,240,15,32,112,15,64,120,15,128,120,15,128,120,15,0,
+  48,240,15,96,112,15,64,120,15,128,120,15,128,120,15,0,
   120,15,0,120,15,0,120,15,0,120,15,0,120,15,0,120,
   15,0,120,15,0,120,15,0,120,15,0,120,15,0,120,15,
   0,120,15,0,120,15,0,120,15,0,120,255,195,255,10,34,
@@ -69576,7 +70044,7 @@ const u8g_fntpgm_uint8_t u8g_font_osr35r[10371] U8G_SECTION(".progmem.u8g_font_o
   Max Font    ascent = 4 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_p01type[1163] U8G_SECTION(".progmem.u8g_font_p01type") = {
+const u8g_fntpgm_uint8_t u8g_font_p01type[1163] U8G_FONT_SECTION("u8g_font_p01type") = {
   0,5,6,0,254,4,1,81,2,129,32,255,254,4,254,5,
   254,0,0,0,4,0,0,1,5,5,3,1,255,128,128,128,
   0,128,3,2,2,4,0,2,160,160,5,5,5,6,0,255,
@@ -69662,8 +70130,8 @@ const u8g_fntpgm_uint8_t u8g_font_p01type[1163] U8G_SECTION(".progmem.u8g_font_p
   Max Font    ascent = 4 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_p01typen[177] U8G_SECTION(".progmem.u8g_font_p01typen") = {
-  0,5,6,0,254,5,0,0,0,0,42,57,0,4,255,5,
+const u8g_fntpgm_uint8_t u8g_font_p01typen[186] U8G_FONT_SECTION("u8g_font_p01typen") = {
+  0,5,6,0,254,5,0,0,0,0,42,58,0,4,255,5,
   0,3,3,3,4,0,0,160,64,160,3,3,3,4,0,0,
   64,224,64,2,2,2,3,0,255,64,128,3,1,1,4,0,
   1,224,1,1,1,2,0,0,128,4,4,4,5,0,255,16,
@@ -69674,7 +70142,7 @@ const u8g_fntpgm_uint8_t u8g_font_p01typen[177] U8G_SECTION(".progmem.u8g_font_p
   96,128,224,32,192,3,5,5,4,0,255,96,128,224,160,192,
   3,5,5,4,0,255,224,32,32,64,64,3,5,5,4,0,
   255,96,160,224,160,192,3,5,5,4,0,255,96,160,224,32,
-  192};
+  192,1,3,3,2,0,0,128,0,128};
 /*
   Fontname: -FreeType-P01type-Medium-R-Normal--8-80-72-72-P-35-ISO10646-1
   Copyright: Copyright Patrick Lauke 2012
@@ -69687,7 +70155,7 @@ const u8g_fntpgm_uint8_t u8g_font_p01typen[177] U8G_SECTION(".progmem.u8g_font_p
   Max Font    ascent = 4 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_p01typer[938] U8G_SECTION(".progmem.u8g_font_p01typer") = {
+const u8g_fntpgm_uint8_t u8g_font_p01typer[938] U8G_FONT_SECTION("u8g_font_p01typer") = {
   0,5,6,0,254,4,1,81,2,129,32,127,254,4,254,5,
   254,0,0,0,4,0,0,1,5,5,3,1,255,128,128,128,
   0,128,3,2,2,4,0,2,160,160,5,5,5,6,0,255,
@@ -69759,7 +70227,7 @@ const u8g_fntpgm_uint8_t u8g_font_p01typer[938] U8G_SECTION(".progmem.u8g_font_p
   Max Font    ascent = 6 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_pixelle_micro[1140] U8G_SECTION(".progmem.u8g_font_pixelle_micro") = {
+const u8g_fntpgm_uint8_t u8g_font_pixelle_micro[1140] U8G_FONT_SECTION("u8g_font_pixelle_micro") = {
   0,6,8,255,254,5,1,97,2,188,32,255,254,6,254,6,
   254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128,
   0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,0,
@@ -69844,8 +70312,8 @@ const u8g_fntpgm_uint8_t u8g_font_pixelle_micro[1140] U8G_SECTION(".progmem.u8g_
   Max Font    ascent = 6 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[180] U8G_SECTION(".progmem.u8g_font_pixelle_micron") = {
-  0,6,8,255,254,5,0,0,0,0,42,57,0,6,255,5,
+const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[189] U8G_FONT_SECTION("u8g_font_pixelle_micron") = {
+  0,6,8,255,254,5,0,0,0,0,42,58,0,6,255,5,
   0,3,4,4,4,0,0,64,224,64,160,3,3,3,4,0,
   0,64,224,64,1,2,2,2,0,255,128,128,3,1,1,4,
   0,1,224,1,1,1,2,0,0,128,3,6,6,4,0,0,
@@ -69856,7 +70324,7 @@ const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[180] U8G_SECTION(".progmem.u8g_
   4,0,0,224,128,224,32,192,3,5,5,4,0,0,64,160,
   192,160,64,3,5,5,4,0,0,224,32,64,64,128,3,5,
   5,4,0,0,64,160,64,160,64,3,5,5,4,0,0,64,
-  160,96,160,64};
+  160,96,160,64,1,3,3,2,0,0,128,0,128};
 /*
   Fontname: -FreeType-Pixelle (Micro)-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1
   Copyright: Copyright rdonaghy 2008
@@ -69869,7 +70337,7 @@ const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[180] U8G_SECTION(".progmem.u8g_
   Max Font    ascent = 6 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[1012] U8G_SECTION(".progmem.u8g_font_pixelle_micror") = {
+const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[1012] U8G_FONT_SECTION("u8g_font_pixelle_micror") = {
   0,6,8,255,254,5,1,97,2,188,32,127,254,6,254,6,
   254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128,
   0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,0,
@@ -69934,6 +70402,2896 @@ const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[1012] U8G_SECTION(".progmem.u8g
   32,1,7,7,2,0,255,128,128,128,128,128,128,128,3,7,
   7,4,0,255,128,64,64,32,64,64,128,4,2,2,5,0,
   1,80,160,255};
+/*
+  Fontname: ProFont10
+  Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5
+  Capital A Height: 6, '1' Height: 6
+  Calculated Max Values w= 5 h= 9 x= 2 y= 5 dx= 5 dy= 0 ascent= 8 len= 9
+  Font Bounding box     w= 5 h= 9 x= 0 y=-2
+  Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
+  Pure Font   ascent = 6 descent=-2
+  X Font      ascent = 7 descent=-2
+  Max Font    ascent = 8 descent=-2
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_profont10[2560] U8G_FONT_SECTION("u8g_font_profont10") = {
+  0,5,9,0,254,6,1,126,2,248,32,255,254,8,254,7,
+  254,0,0,0,5,0,0,1,6,6,5,2,0,128,128,128,
+  128,0,128,3,2,2,5,1,5,160,160,5,5,5,5,0,
+  1,80,248,80,248,80,5,8,8,5,0,255,32,120,160,112,
+  40,168,112,32,5,6,6,5,0,0,120,168,176,104,168,144,
+  4,6,6,5,0,0,64,160,64,80,160,80,1,2,2,5,
+  2,4,128,128,3,8,8,5,1,255,32,64,128,128,128,128,
+  64,32,3,8,8,5,0,255,128,64,32,32,32,32,64,128,
+  4,5,5,5,0,1,64,144,96,144,32,3,3,3,5,0,
+  1,64,224,64,2,3,3,5,0,254,64,64,128,2,1,1,
+  5,1,2,192,1,1,1,5,2,0,128,4,8,8,5,0,
+  254,16,16,32,32,64,64,128,128,4,6,6,5,0,0,96,
+  144,176,208,144,96,3,6,6,5,1,0,64,192,64,64,64,
+  224,4,6,6,5,0,0,96,144,16,32,64,240,4,6,6,
+  5,0,0,96,144,32,16,144,96,4,6,6,5,0,0,32,
+  96,160,240,32,112,4,6,6,5,0,0,240,128,224,16,144,
+  96,4,6,6,5,0,0,96,128,224,144,144,96,4,6,6,
+  5,0,0,240,16,32,64,64,64,4,6,6,5,0,0,96,
+  144,96,144,144,96,4,6,6,5,0,0,96,144,144,112,16,
+  96,1,4,4,5,2,0,128,0,0,128,2,6,6,5,0,
+  254,64,0,0,64,64,128,3,5,5,5,1,0,32,64,128,
+  64,32,4,3,3,5,0,1,240,0,240,3,5,5,5,1,
+  0,128,64,32,64,128,4,6,6,5,0,0,96,144,32,64,
+  0,64,4,6,6,5,0,0,96,144,176,176,128,112,4,6,
+  6,5,0,0,96,144,144,240,144,144,4,6,6,5,0,0,
+  224,144,224,144,144,224,4,6,6,5,0,0,96,144,128,128,
+  144,96,4,6,6,5,0,0,224,144,144,144,144,224,4,6,
+  6,5,0,0,240,128,224,128,128,240,4,6,6,5,0,0,
+  240,128,224,128,128,128,4,6,6,5,0,0,96,144,128,176,
+  144,96,4,6,6,5,0,0,144,144,240,144,144,144,3,6,
+  6,5,1,0,224,64,64,64,64,224,4,6,6,5,0,0,
+  16,16,16,16,144,96,4,6,6,5,0,0,144,160,192,192,
+  160,144,4,6,6,5,0,0,128,128,128,128,128,240,4,6,
+  6,5,0,0,144,240,240,144,144,144,4,6,6,5,0,0,
+  144,208,176,144,144,144,4,6,6,5,0,0,96,144,144,144,
+  144,96,4,6,6,5,0,0,224,144,144,224,128,128,4,7,
+  7,5,0,255,96,144,144,144,176,96,16,4,6,6,5,0,
+  0,224,144,144,224,144,144,4,6,6,5,0,0,96,144,96,
+  16,144,96,3,6,6,5,1,0,224,64,64,64,64,64,4,
+  6,6,5,0,0,144,144,144,144,144,96,4,6,6,5,0,
+  0,144,144,144,144,160,64,4,6,6,5,0,0,144,144,144,
+  240,240,144,4,6,6,5,0,0,144,144,96,96,144,144,4,
+  6,6,5,0,0,144,144,160,64,64,64,4,6,6,5,0,
+  0,240,16,32,64,128,240,2,8,8,5,2,255,192,128,128,
+  128,128,128,128,192,4,8,8,5,1,254,128,128,64,64,32,
+  32,16,16,2,8,8,5,1,255,192,64,64,64,64,64,64,
+  192,3,2,2,5,1,4,64,160,5,1,1,5,0,254,248,
+  2,2,2,5,1,5,128,64,4,4,4,5,0,0,112,144,
+  176,80,4,6,6,5,0,0,128,128,224,144,144,224,4,4,
+  4,5,0,0,96,144,128,112,4,6,6,5,0,0,16,16,
+  112,144,144,112,4,4,4,5,0,0,96,240,128,112,3,6,
+  6,5,1,0,32,64,224,64,64,64,4,6,6,5,0,254,
+  112,144,144,112,16,96,4,6,6,5,0,0,128,128,224,144,
+  144,144,3,6,6,5,1,0,64,0,192,64,64,224,2,8,
+  8,5,1,254,64,0,192,64,64,64,64,128,4,6,6,5,
+  0,0,128,128,160,192,160,144,3,6,6,5,1,0,192,64,
+  64,64,64,224,5,4,4,5,0,0,240,168,168,168,4,4,
+  4,5,0,0,160,208,144,144,4,4,4,5,0,0,96,144,
+  144,96,4,6,6,5,0,254,224,144,144,224,128,128,4,6,
+  6,5,0,254,112,144,144,112,16,16,4,4,4,5,0,0,
+  160,208,128,128,4,4,4,5,0,0,112,224,16,224,3,6,
+  6,5,1,0,64,64,224,64,64,32,4,4,4,5,0,0,
+  144,144,176,80,4,4,4,5,0,0,144,144,160,64,5,4,
+  4,5,0,0,168,168,168,80,4,4,4,5,0,0,144,96,
+  96,144,4,6,6,5,0,254,144,144,144,112,16,96,4,4,
+  4,5,0,0,240,32,64,240,3,9,9,5,1,254,32,64,
+  64,64,128,64,64,64,32,1,8,8,5,2,255,128,128,128,
+  128,128,128,128,128,3,9,9,5,1,254,128,64,64,64,32,
+  64,64,64,128,4,2,2,5,0,2,80,160,0,0,0,5,
+  0,0,0,0,0,5,0,0,0,0,0,5,0,0,2,3,
+  3,5,0,255,64,64,128,3,9,9,5,1,254,32,64,64,
+  224,64,64,64,64,128,4,3,3,5,0,255,80,80,160,5,
+  1,1,5,0,0,168,3,5,5,5,1,1,64,224,64,64,
+  64,3,5,5,5,1,1,64,224,64,224,64,3,2,2,5,
+  1,5,64,160,5,6,6,5,0,0,120,208,224,112,248,112,
+  4,8,8,5,0,0,80,32,112,128,96,16,144,96,2,3,
+  3,5,0,0,64,128,64,4,6,6,5,0,0,112,160,176,
+  160,160,112,0,0,0,5,0,0,0,0,0,5,0,0,0,
+  0,0,5,0,0,0,0,0,5,0,0,2,3,3,5,2,
+  3,64,128,128,2,3,3,5,1,3,64,64,128,4,3,3,
+  5,0,3,80,160,160,4,3,3,5,0,3,80,80,160,4,
+  4,4,5,0,1,96,240,240,96,2,1,1,5,1,2,192,
+  5,1,1,5,0,2,248,4,2,2,5,0,5,80,160,5,
+  3,3,5,0,3,248,88,88,4,7,7,5,0,0,80,32,
+  0,112,224,16,224,2,3,3,5,0,0,128,64,128,4,4,
+  4,5,0,0,112,176,160,80,0,0,0,5,0,0,0,0,
+  0,5,0,0,4,8,8,5,0,0,80,0,144,144,160,64,
+  64,64,0,0,0,5,0,0,1,6,6,5,2,0,128,0,
+  128,128,128,128,4,6,6,5,0,255,32,96,176,192,112,64,
+  4,6,6,5,0,0,96,128,192,128,144,224,4,4,4,5,
+  0,0,144,96,96,144,3,6,6,5,1,0,160,64,224,64,
+  224,64,1,8,8,5,2,255,128,128,128,0,0,128,128,128,
+  4,8,8,5,0,255,96,144,64,160,80,32,144,96,2,1,
+  1,5,1,5,192,4,6,6,5,0,0,192,32,208,208,32,
+  192,3,5,5,5,1,2,96,160,96,0,224,5,3,3,5,
+  0,0,72,144,72,4,2,2,5,0,1,240,16,3,1,1,
+  5,0,2,224,4,5,5,5,0,1,192,32,208,208,176,2,
+  1,1,5,1,5,192,3,3,3,5,1,3,64,160,64,3,
+  4,4,5,0,0,64,224,64,224,2,3,3,5,1,4,128,
+  64,192,2,3,3,5,1,4,192,64,192,2,1,1,5,2,
+  5,192,4,5,5,5,0,255,160,160,160,208,128,4,6,6,
+  5,0,0,112,176,176,112,48,48,1,1,1,5,2,2,128,
+  2,2,2,5,1,254,192,192,2,3,3,5,1,4,192,64,
+  64,3,5,5,5,1,2,64,160,64,0,224,5,3,3,5,
+  0,0,144,72,144,5,7,7,5,0,0,192,72,80,32,72,
+  152,8,5,7,7,5,0,0,192,72,80,32,80,136,24,5,
+  7,7,5,0,0,192,72,208,32,72,152,8,4,6,6,5,
+  0,0,32,0,32,64,144,96,4,8,8,5,0,0,64,32,
+  96,144,144,240,144,144,4,8,8,5,0,0,32,64,96,144,
+  144,240,144,144,4,8,8,5,0,0,32,80,0,96,144,240,
+  144,144,4,8,8,5,0,0,80,160,0,96,144,240,144,144,
+  4,8,8,5,0,0,80,0,96,144,144,240,144,144,4,8,
+  8,5,0,0,32,80,32,96,144,240,144,144,4,6,6,5,
+  0,0,112,160,240,160,160,176,4,8,8,5,0,254,96,144,
+  128,128,144,96,32,64,4,8,8,5,0,0,64,32,240,128,
+  224,128,128,240,4,8,8,5,0,0,32,64,240,128,224,128,
+  128,240,4,8,8,5,0,0,32,80,240,128,224,128,128,240,
+  4,8,8,5,0,0,80,0,240,128,224,128,128,240,3,8,
+  8,5,1,0,128,64,224,64,64,64,64,224,3,8,8,5,
+  1,0,32,64,224,64,64,64,64,224,3,8,8,5,1,0,
+  64,160,0,224,64,64,64,224,3,8,8,5,1,0,160,0,
+  224,64,64,64,64,224,4,6,6,5,0,0,96,80,208,80,
+  80,96,4,8,8,5,0,0,80,160,144,208,176,144,144,144,
+  4,8,8,5,0,0,64,32,96,144,144,144,144,96,4,8,
+  8,5,0,0,32,64,96,144,144,144,144,96,4,8,8,5,
+  0,0,32,80,0,96,144,144,144,96,4,8,8,5,0,0,
+  80,160,0,96,144,144,144,96,4,8,8,5,0,0,80,0,
+  96,144,144,144,144,96,3,3,3,5,0,1,160,64,160,4,
+  6,6,5,0,0,96,144,176,208,144,96,4,8,8,5,0,
+  0,64,32,144,144,144,144,144,96,4,8,8,5,0,0,32,
+  64,144,144,144,144,144,96,4,8,8,5,0,0,32,80,0,
+  144,144,144,144,96,4,8,8,5,0,0,80,0,144,144,144,
+  144,144,96,4,8,8,5,0,0,32,64,0,144,144,160,64,
+  64,4,6,6,5,0,0,128,224,144,224,128,128,4,7,7,
+  5,0,255,96,144,160,160,144,160,128,4,7,7,5,0,0,
+  64,32,0,112,144,176,80,4,7,7,5,0,0,32,64,0,
+  112,144,176,80,4,7,7,5,0,0,32,80,0,112,144,176,
+  80,4,7,7,5,0,0,80,160,0,112,144,176,80,4,6,
+  6,5,0,0,80,0,112,144,176,80,4,7,7,5,0,0,
+  32,80,32,112,144,176,80,4,4,4,5,0,0,112,176,160,
+  112,4,6,6,5,0,254,96,144,128,112,32,64,4,7,7,
+  5,0,0,64,32,0,96,240,128,112,4,7,7,5,0,0,
+  32,64,0,96,240,128,112,4,7,7,5,0,0,32,80,0,
+  96,240,128,112,4,6,6,5,0,0,80,0,96,240,128,112,
+  3,7,7,5,1,0,128,64,0,192,64,64,224,3,7,7,
+  5,1,0,64,128,0,192,64,64,224,3,7,7,5,1,0,
+  64,160,0,192,64,64,224,3,6,6,5,1,0,160,0,192,
+  64,64,224,4,7,7,5,0,0,192,192,32,112,144,144,96,
+  4,7,7,5,0,0,80,160,0,160,208,144,144,4,7,7,
+  5,0,0,64,32,0,96,144,144,96,4,7,7,5,0,0,
+  32,64,0,96,144,144,96,4,7,7,5,0,0,32,80,0,
+  96,144,144,96,4,7,7,5,0,0,80,160,0,96,144,144,
+  96,4,6,6,5,0,0,80,0,96,144,144,96,3,5,5,
+  5,0,0,64,0,224,0,64,4,4,4,5,0,0,96,176,
+  208,96,4,7,7,5,0,0,64,32,0,144,144,176,80,4,
+  7,7,5,0,0,32,64,0,144,144,176,80,4,7,7,5,
+  0,0,32,80,0,144,144,176,80,4,6,6,5,0,0,80,
+  0,144,144,176,80,4,9,9,5,0,254,16,32,0,144,144,
+  144,112,16,96,4,8,8,5,0,254,128,128,224,144,144,224,
+  128,128,4,8,8,5,0,254,80,0,144,144,144,112,16,96
+  };
+/*
+  Fontname: ProFont10
+  Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5
+  Capital A Height: 6, '1' Height: 6
+  Calculated Max Values w= 5 h= 9 x= 2 y= 5 dx= 5 dy= 0 ascent= 7 len= 9
+  Font Bounding box     w= 5 h= 9 x= 0 y=-2
+  Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
+  Pure Font   ascent = 6 descent=-2
+  X Font      ascent = 7 descent=-2
+  Max Font    ascent = 7 descent=-2
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_profont10r[1106] U8G_FONT_SECTION("u8g_font_profont10r") = {
+  0,5,9,0,254,6,1,126,2,248,32,127,254,7,254,7,
+  254,0,0,0,5,0,0,1,6,6,5,2,0,128,128,128,
+  128,0,128,3,2,2,5,1,5,160,160,5,5,5,5,0,
+  1,80,248,80,248,80,5,8,8,5,0,255,32,120,160,112,
+  40,168,112,32,5,6,6,5,0,0,120,168,176,104,168,144,
+  4,6,6,5,0,0,64,160,64,80,160,80,1,2,2,5,
+  2,4,128,128,3,8,8,5,1,255,32,64,128,128,128,128,
+  64,32,3,8,8,5,0,255,128,64,32,32,32,32,64,128,
+  4,5,5,5,0,1,64,144,96,144,32,3,3,3,5,0,
+  1,64,224,64,2,3,3,5,0,254,64,64,128,2,1,1,
+  5,1,2,192,1,1,1,5,2,0,128,4,8,8,5,0,
+  254,16,16,32,32,64,64,128,128,4,6,6,5,0,0,96,
+  144,176,208,144,96,3,6,6,5,1,0,64,192,64,64,64,
+  224,4,6,6,5,0,0,96,144,16,32,64,240,4,6,6,
+  5,0,0,96,144,32,16,144,96,4,6,6,5,0,0,32,
+  96,160,240,32,112,4,6,6,5,0,0,240,128,224,16,144,
+  96,4,6,6,5,0,0,96,128,224,144,144,96,4,6,6,
+  5,0,0,240,16,32,64,64,64,4,6,6,5,0,0,96,
+  144,96,144,144,96,4,6,6,5,0,0,96,144,144,112,16,
+  96,1,4,4,5,2,0,128,0,0,128,2,6,6,5,0,
+  254,64,0,0,64,64,128,3,5,5,5,1,0,32,64,128,
+  64,32,4,3,3,5,0,1,240,0,240,3,5,5,5,1,
+  0,128,64,32,64,128,4,6,6,5,0,0,96,144,32,64,
+  0,64,4,6,6,5,0,0,96,144,176,176,128,112,4,6,
+  6,5,0,0,96,144,144,240,144,144,4,6,6,5,0,0,
+  224,144,224,144,144,224,4,6,6,5,0,0,96,144,128,128,
+  144,96,4,6,6,5,0,0,224,144,144,144,144,224,4,6,
+  6,5,0,0,240,128,224,128,128,240,4,6,6,5,0,0,
+  240,128,224,128,128,128,4,6,6,5,0,0,96,144,128,176,
+  144,96,4,6,6,5,0,0,144,144,240,144,144,144,3,6,
+  6,5,1,0,224,64,64,64,64,224,4,6,6,5,0,0,
+  16,16,16,16,144,96,4,6,6,5,0,0,144,160,192,192,
+  160,144,4,6,6,5,0,0,128,128,128,128,128,240,4,6,
+  6,5,0,0,144,240,240,144,144,144,4,6,6,5,0,0,
+  144,208,176,144,144,144,4,6,6,5,0,0,96,144,144,144,
+  144,96,4,6,6,5,0,0,224,144,144,224,128,128,4,7,
+  7,5,0,255,96,144,144,144,176,96,16,4,6,6,5,0,
+  0,224,144,144,224,144,144,4,6,6,5,0,0,96,144,96,
+  16,144,96,3,6,6,5,1,0,224,64,64,64,64,64,4,
+  6,6,5,0,0,144,144,144,144,144,96,4,6,6,5,0,
+  0,144,144,144,144,160,64,4,6,6,5,0,0,144,144,144,
+  240,240,144,4,6,6,5,0,0,144,144,96,96,144,144,4,
+  6,6,5,0,0,144,144,160,64,64,64,4,6,6,5,0,
+  0,240,16,32,64,128,240,2,8,8,5,2,255,192,128,128,
+  128,128,128,128,192,4,8,8,5,1,254,128,128,64,64,32,
+  32,16,16,2,8,8,5,1,255,192,64,64,64,64,64,64,
+  192,3,2,2,5,1,4,64,160,5,1,1,5,0,254,248,
+  2,2,2,5,1,5,128,64,4,4,4,5,0,0,112,144,
+  176,80,4,6,6,5,0,0,128,128,224,144,144,224,4,4,
+  4,5,0,0,96,144,128,112,4,6,6,5,0,0,16,16,
+  112,144,144,112,4,4,4,5,0,0,96,240,128,112,3,6,
+  6,5,1,0,32,64,224,64,64,64,4,6,6,5,0,254,
+  112,144,144,112,16,96,4,6,6,5,0,0,128,128,224,144,
+  144,144,3,6,6,5,1,0,64,0,192,64,64,224,2,8,
+  8,5,1,254,64,0,192,64,64,64,64,128,4,6,6,5,
+  0,0,128,128,160,192,160,144,3,6,6,5,1,0,192,64,
+  64,64,64,224,5,4,4,5,0,0,240,168,168,168,4,4,
+  4,5,0,0,160,208,144,144,4,4,4,5,0,0,96,144,
+  144,96,4,6,6,5,0,254,224,144,144,224,128,128,4,6,
+  6,5,0,254,112,144,144,112,16,16,4,4,4,5,0,0,
+  160,208,128,128,4,4,4,5,0,0,112,224,16,224,3,6,
+  6,5,1,0,64,64,224,64,64,32,4,4,4,5,0,0,
+  144,144,176,80,4,4,4,5,0,0,144,144,160,64,5,4,
+  4,5,0,0,168,168,168,80,4,4,4,5,0,0,144,96,
+  96,144,4,6,6,5,0,254,144,144,144,112,16,96,4,4,
+  4,5,0,0,240,32,64,240,3,9,9,5,1,254,32,64,
+  64,64,128,64,64,64,32,1,8,8,5,2,255,128,128,128,
+  128,128,128,128,128,3,9,9,5,1,254,128,64,64,64,32,
+  64,64,64,128,4,2,2,5,0,2,80,160,0,0,0,5,
+  0,0};
+/*
+  Fontname: ProFont11
+  Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5
+  Capital A Height: 7, '1' Height: 7
+  Calculated Max Values w= 6 h=11 x= 3 y= 6 dx= 6 dy= 0 ascent= 9 len=11
+  Font Bounding box     w= 6 h=10 x= 0 y=-2
+  Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
+  Pure Font   ascent = 7 descent=-2
+  X Font      ascent = 8 descent=-2
+  Max Font    ascent = 9 descent=-2
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_profont11[2768] U8G_FONT_SECTION("u8g_font_profont11") = {
+  0,6,10,0,254,7,1,158,3,55,32,255,254,9,254,8,
+  254,0,0,0,6,0,0,1,7,7,6,2,0,128,128,128,
+  128,128,0,128,3,3,3,6,1,5,160,160,160,5,5,5,
+  6,0,2,80,248,80,248,80,5,9,9,6,0,255,32,112,
+  168,160,112,40,168,112,32,5,7,7,6,0,0,120,168,176,
+  80,104,168,144,5,7,7,6,0,0,96,144,160,64,168,144,
+  104,1,3,3,6,2,5,128,128,128,3,9,9,6,1,255,
+  32,64,128,128,128,128,128,64,32,3,9,9,6,1,255,128,
+  64,32,32,32,32,32,64,128,5,5,5,6,0,2,32,168,
+  112,168,32,5,5,5,6,0,1,32,32,248,32,32,2,4,
+  4,6,1,254,192,192,64,128,3,1,1,6,1,3,224,2,
+  2,2,6,2,0,192,192,5,10,10,6,0,254,8,8,16,
+  16,32,32,64,64,128,128,5,7,7,6,0,0,112,136,152,
+  168,200,136,112,5,7,7,6,0,0,32,224,32,32,32,32,
+  248,5,7,7,6,0,0,112,136,8,16,32,64,248,5,7,
+  7,6,0,0,112,136,8,48,8,136,112,5,7,7,6,0,
+  0,16,48,80,144,248,16,56,5,7,7,6,0,0,248,128,
+  240,8,8,136,112,5,7,7,6,0,0,112,128,240,136,136,
+  136,112,5,7,7,6,0,0,248,8,8,16,32,32,32,5,
+  7,7,6,0,0,112,136,136,112,136,136,112,5,7,7,6,
+  0,0,112,136,136,136,120,8,112,2,5,5,6,2,0,192,
+  192,0,192,192,2,7,7,6,1,254,192,192,0,192,192,64,
+  128,4,7,7,6,1,0,16,32,64,128,64,32,16,5,3,
+  3,6,0,2,248,0,248,4,7,7,6,1,0,128,64,32,
+  16,32,64,128,5,7,7,6,0,0,112,136,8,16,32,0,
+  32,5,7,7,6,0,0,112,136,184,168,184,128,120,5,7,
+  7,6,0,0,32,80,80,136,248,136,136,5,7,7,6,0,
+  0,240,136,136,240,136,136,240,5,7,7,6,0,0,112,136,
+  128,128,128,136,112,5,7,7,6,0,0,240,136,136,136,136,
+  136,240,5,7,7,6,0,0,248,128,128,240,128,128,248,5,
+  7,7,6,0,0,248,128,128,240,128,128,128,5,7,7,6,
+  0,0,112,136,128,152,136,136,112,5,7,7,6,0,0,136,
+  136,136,248,136,136,136,5,7,7,6,0,0,248,32,32,32,
+  32,32,248,5,7,7,6,0,0,8,8,8,8,136,136,112,
+  5,7,7,6,0,0,136,144,160,192,160,144,136,5,7,7,
+  6,0,0,128,128,128,128,128,128,248,5,7,7,6,0,0,
+  136,216,168,168,136,136,136,5,7,7,6,0,0,136,200,168,
+  152,136,136,136,5,7,7,6,0,0,112,136,136,136,136,136,
+  112,5,7,7,6,0,0,240,136,136,240,128,128,128,5,8,
+  8,6,0,255,112,136,136,136,136,168,112,8,5,7,7,6,
+  0,0,240,136,136,240,136,136,136,5,7,7,6,0,0,112,
+  136,128,112,8,136,112,5,7,7,6,0,0,248,32,32,32,
+  32,32,32,5,7,7,6,0,0,136,136,136,136,136,136,112,
+  5,7,7,6,0,0,136,136,136,80,80,32,32,5,7,7,
+  6,0,0,136,136,136,168,168,216,136,5,7,7,6,0,0,
+  136,136,80,32,80,136,136,5,7,7,6,0,0,136,136,136,
+  80,32,32,32,5,7,7,6,0,0,248,8,16,32,64,128,
+  248,2,9,9,6,2,255,192,128,128,128,128,128,128,128,192,
+  5,10,10,6,1,254,128,128,64,64,32,32,16,16,8,8,
+  2,9,9,6,1,255,192,64,64,64,64,64,64,64,192,5,
+  3,3,6,0,4,32,80,136,6,1,1,6,0,254,252,2,
+  2,2,6,1,6,128,64,5,5,5,6,0,0,120,136,136,
+  152,104,5,7,7,6,0,0,128,128,240,136,136,136,240,5,
+  5,5,6,0,0,112,136,128,128,120,5,7,7,6,0,0,
+  8,8,120,136,136,136,120,5,5,5,6,0,0,112,136,248,
+  128,120,4,7,7,6,1,0,48,64,224,64,64,64,64,5,
+  7,7,6,0,254,120,136,136,136,120,8,112,5,7,7,6,
+  0,0,128,128,240,136,136,136,136,3,7,7,6,1,0,64,
+  0,192,64,64,64,224,3,9,9,6,0,254,32,0,96,32,
+  32,32,32,32,192,5,7,7,6,0,0,128,128,144,160,224,
+  144,136,3,7,7,6,1,0,192,64,64,64,64,64,224,5,
+  5,5,6,0,0,240,168,168,168,168,5,5,5,6,0,0,
+  176,200,136,136,136,5,5,5,6,0,0,112,136,136,136,112,
+  5,7,7,6,0,254,240,136,136,136,240,128,128,5,7,7,
+  6,0,254,120,136,136,136,120,8,8,5,5,5,6,0,0,
+  176,200,128,128,128,5,5,5,6,0,0,120,128,112,8,240,
+  4,7,7,6,1,0,64,64,224,64,64,64,48,5,5,5,
+  6,0,0,136,136,136,152,104,5,5,5,6,0,0,136,136,
+  80,80,32,5,5,5,6,0,0,168,168,168,168,80,5,5,
+  5,6,0,0,136,80,32,80,136,5,7,7,6,0,254,136,
+  136,136,136,120,8,112,5,5,5,6,0,0,248,16,32,64,
+  248,3,11,11,6,1,254,32,64,64,64,64,128,64,64,64,
+  64,32,1,9,9,6,2,255,128,128,128,128,128,128,128,128,
+  128,3,11,11,6,1,254,128,64,64,64,64,32,64,64,64,
+  64,128,5,2,2,6,0,3,104,176,0,0,0,6,0,0,
+  0,0,0,6,0,0,0,0,0,6,0,0,2,3,3,6,
+  0,255,64,64,128,5,11,11,6,0,254,24,32,32,32,112,
+  32,32,32,32,32,192,4,3,3,6,0,255,80,80,160,5,
+  1,1,6,0,0,168,3,5,5,6,1,2,64,224,64,64,
+  64,3,5,5,6,1,2,64,224,64,224,64,3,2,2,6,
+  1,6,64,160,6,8,8,6,0,0,124,168,176,96,104,212,
+  84,40,5,9,9,6,0,0,80,32,112,136,128,112,8,136,
+  112,2,4,4,6,0,0,64,128,128,64,5,7,7,6,0,
+  0,120,160,160,176,160,160,120,0,0,0,6,0,0,0,0,
+  0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,
+  2,3,3,6,2,4,64,128,128,2,3,3,6,2,4,64,
+  64,128,4,3,3,6,1,4,80,160,160,4,3,3,6,1,
+  4,80,80,160,5,5,5,6,0,1,112,248,248,248,112,3,
+  1,1,6,1,3,224,6,1,1,6,0,3,252,5,2,2,
+  6,0,6,104,176,6,3,3,6,0,4,244,92,92,5,8,
+  8,6,0,0,80,32,0,120,128,112,8,240,2,4,4,6,
+  0,0,128,64,64,128,5,5,5,6,0,0,80,168,184,160,
+  88,0,0,0,6,0,0,0,0,0,6,0,0,5,9,9,
+  6,0,0,80,0,136,136,136,80,32,32,32,0,0,0,6,
+  0,0,1,7,7,6,3,0,128,0,128,128,128,128,128,5,
+  7,7,6,0,255,32,112,168,160,160,120,32,5,8,8,6,
+  0,0,96,144,128,224,128,128,136,240,5,5,5,6,0,0,
+  136,112,80,112,136,5,7,7,6,0,0,136,80,248,32,248,
+  32,32,1,9,9,6,2,255,128,128,128,128,0,128,128,128,
+  128,5,10,10,6,0,255,112,136,72,160,144,72,40,144,136,
+  112,3,1,1,6,1,6,160,5,7,7,6,0,0,224,16,
+  104,136,104,16,224,4,6,6,6,1,3,112,144,144,112,0,
+  240,5,4,4,6,0,0,72,144,144,72,5,3,3,6,0,
+  1,248,8,8,5,1,1,6,0,3,248,5,6,6,6,0,
+  1,224,16,200,168,200,176,3,1,1,6,1,6,224,4,4,
+  4,6,1,4,96,144,144,96,5,6,6,6,0,0,32,32,
+  248,32,32,248,3,4,4,6,1,5,192,32,64,224,3,5,
+  5,6,1,4,192,32,96,32,192,3,2,2,6,2,6,96,
+  192,5,7,7,6,0,254,144,144,144,144,232,128,128,5,8,
+  8,6,0,0,120,168,168,168,120,40,40,40,2,2,2,6,
+  2,2,192,192,3,3,3,6,1,254,224,96,192,3,4,4,
+  6,1,5,192,64,64,224,4,6,6,6,1,3,96,144,144,
+  96,0,240,5,4,4,6,0,0,144,72,72,144,6,9,9,
+  6,0,0,192,64,68,232,16,40,88,184,8,6,9,9,6,
+  0,0,192,64,68,232,16,56,68,136,28,6,9,9,6,0,
+  0,192,32,100,40,208,40,88,184,8,5,7,7,6,0,0,
+  32,0,32,64,128,136,112,5,9,9,6,0,0,64,32,32,
+  80,80,136,248,136,136,5,9,9,6,0,0,16,32,32,80,
+  80,136,248,136,136,5,9,9,6,0,0,32,80,0,32,80,
+  136,248,136,136,5,9,9,6,0,0,104,176,32,80,80,136,
+  248,136,136,5,9,9,6,0,0,80,0,32,80,80,136,248,
+  136,136,5,9,9,6,0,0,32,80,32,80,136,136,248,136,
+  136,5,7,7,6,0,0,120,160,160,240,160,160,184,5,9,
+  9,6,0,254,112,136,128,128,128,136,112,32,64,5,9,9,
+  6,0,0,64,32,248,128,128,240,128,128,248,5,9,9,6,
+  0,0,16,32,248,128,128,240,128,128,248,5,9,9,6,0,
+  0,32,80,248,128,128,240,128,128,248,5,9,9,6,0,0,
+  80,0,248,128,128,240,128,128,248,5,9,9,6,0,0,64,
+  32,248,32,32,32,32,32,248,5,9,9,6,0,0,16,32,
+  248,32,32,32,32,32,248,5,9,9,6,0,0,32,80,0,
+  248,32,32,32,32,248,5,9,9,6,0,0,80,0,248,32,
+  32,32,32,32,248,5,7,7,6,0,0,112,72,72,232,72,
+  72,112,5,9,9,6,0,0,104,176,136,200,168,152,136,136,
+  136,5,9,9,6,0,0,64,32,112,136,136,136,136,136,112,
+  5,9,9,6,0,0,16,32,112,136,136,136,136,136,112,5,
+  9,9,6,0,0,32,80,0,112,136,136,136,136,112,5,9,
+  9,6,0,0,104,176,112,136,136,136,136,136,112,5,9,9,
+  6,0,0,80,0,112,136,136,136,136,136,112,5,5,5,6,
+  0,1,136,80,32,80,136,5,7,7,6,0,0,112,136,152,
+  168,200,136,112,5,9,9,6,0,0,64,32,136,136,136,136,
+  136,136,112,5,9,9,6,0,0,16,32,136,136,136,136,136,
+  136,112,5,9,9,6,0,0,32,80,0,136,136,136,136,136,
+  112,5,9,9,6,0,0,80,0,136,136,136,136,136,136,112,
+  5,9,9,6,0,0,16,32,136,136,136,80,32,32,32,5,
+  7,7,6,0,0,128,240,136,136,240,128,128,5,9,9,6,
+  0,255,48,72,136,144,144,136,136,176,128,5,8,8,6,0,
+  0,32,16,0,120,136,136,152,104,5,8,8,6,0,0,16,
+  32,0,120,136,136,152,104,5,8,8,6,0,0,32,80,0,
+  120,136,136,152,104,5,8,8,6,0,0,104,176,0,120,136,
+  136,152,104,5,7,7,6,0,0,80,0,120,136,136,152,104,
+  5,8,8,6,0,0,32,80,32,120,136,136,152,104,5,5,
+  5,6,0,0,112,168,184,160,120,5,7,7,6,0,254,112,
+  136,128,128,120,32,64,5,8,8,6,0,0,64,32,0,112,
+  136,248,128,120,5,8,8,6,0,0,16,32,0,112,136,248,
+  128,120,5,8,8,6,0,0,32,80,0,112,136,248,128,120,
+  5,7,7,6,0,0,80,0,112,136,248,128,120,3,8,8,
+  6,1,0,128,64,0,192,64,64,64,224,3,8,8,6,1,
+  0,32,64,0,192,64,64,64,224,3,8,8,6,1,0,64,
+  160,0,192,64,64,64,224,3,7,7,6,1,0,160,0,192,
+  64,64,64,224,5,8,8,6,0,0,96,96,16,120,136,136,
+  136,112,5,8,8,6,0,0,104,176,0,176,200,136,136,136,
+  5,8,8,6,0,0,64,32,0,112,136,136,136,112,5,8,
+  8,6,0,0,16,32,0,112,136,136,136,112,5,8,8,6,
+  0,0,32,80,0,112,136,136,136,112,5,8,8,6,0,0,
+  104,176,0,112,136,136,136,112,5,7,7,6,0,0,80,0,
+  112,136,136,136,112,5,5,5,6,0,1,32,0,248,0,32,
+  5,5,5,6,0,0,112,152,168,200,112,5,8,8,6,0,
+  0,64,32,0,136,136,136,152,104,5,8,8,6,0,0,16,
+  32,0,136,136,136,152,104,5,8,8,6,0,0,32,80,0,
+  136,136,136,152,104,5,7,7,6,0,0,80,0,136,136,136,
+  152,104,5,10,10,6,0,254,16,32,0,136,136,136,136,120,
+  8,112,5,9,9,6,0,254,128,128,240,136,136,136,240,128,
+  128,5,9,9,6,0,254,80,0,136,136,136,136,120,8,112
+  };
+/*
+  Fontname: ProFont11
+  Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5
+  Capital A Height: 7, '1' Height: 7
+  Calculated Max Values w= 6 h=11 x= 2 y= 6 dx= 6 dy= 0 ascent= 9 len=11
+  Font Bounding box     w= 6 h=10 x= 0 y=-2
+  Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
+  Pure Font   ascent = 7 descent=-2
+  X Font      ascent = 8 descent=-2
+  Max Font    ascent = 9 descent=-2
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_profont11r[1200] U8G_FONT_SECTION("u8g_font_profont11r") = {
+  0,6,10,0,254,7,1,158,3,55,32,127,254,9,254,8,
+  254,0,0,0,6,0,0,1,7,7,6,2,0,128,128,128,
+  128,128,0,128,3,3,3,6,1,5,160,160,160,5,5,5,
+  6,0,2,80,248,80,248,80,5,9,9,6,0,255,32,112,
+  168,160,112,40,168,112,32,5,7,7,6,0,0,120,168,176,
+  80,104,168,144,5,7,7,6,0,0,96,144,160,64,168,144,
+  104,1,3,3,6,2,5,128,128,128,3,9,9,6,1,255,
+  32,64,128,128,128,128,128,64,32,3,9,9,6,1,255,128,
+  64,32,32,32,32,32,64,128,5,5,5,6,0,2,32,168,
+  112,168,32,5,5,5,6,0,1,32,32,248,32,32,2,4,
+  4,6,1,254,192,192,64,128,3,1,1,6,1,3,224,2,
+  2,2,6,2,0,192,192,5,10,10,6,0,254,8,8,16,
+  16,32,32,64,64,128,128,5,7,7,6,0,0,112,136,152,
+  168,200,136,112,5,7,7,6,0,0,32,224,32,32,32,32,
+  248,5,7,7,6,0,0,112,136,8,16,32,64,248,5,7,
+  7,6,0,0,112,136,8,48,8,136,112,5,7,7,6,0,
+  0,16,48,80,144,248,16,56,5,7,7,6,0,0,248,128,
+  240,8,8,136,112,5,7,7,6,0,0,112,128,240,136,136,
+  136,112,5,7,7,6,0,0,248,8,8,16,32,32,32,5,
+  7,7,6,0,0,112,136,136,112,136,136,112,5,7,7,6,
+  0,0,112,136,136,136,120,8,112,2,5,5,6,2,0,192,
+  192,0,192,192,2,7,7,6,1,254,192,192,0,192,192,64,
+  128,4,7,7,6,1,0,16,32,64,128,64,32,16,5,3,
+  3,6,0,2,248,0,248,4,7,7,6,1,0,128,64,32,
+  16,32,64,128,5,7,7,6,0,0,112,136,8,16,32,0,
+  32,5,7,7,6,0,0,112,136,184,168,184,128,120,5,7,
+  7,6,0,0,32,80,80,136,248,136,136,5,7,7,6,0,
+  0,240,136,136,240,136,136,240,5,7,7,6,0,0,112,136,
+  128,128,128,136,112,5,7,7,6,0,0,240,136,136,136,136,
+  136,240,5,7,7,6,0,0,248,128,128,240,128,128,248,5,
+  7,7,6,0,0,248,128,128,240,128,128,128,5,7,7,6,
+  0,0,112,136,128,152,136,136,112,5,7,7,6,0,0,136,
+  136,136,248,136,136,136,5,7,7,6,0,0,248,32,32,32,
+  32,32,248,5,7,7,6,0,0,8,8,8,8,136,136,112,
+  5,7,7,6,0,0,136,144,160,192,160,144,136,5,7,7,
+  6,0,0,128,128,128,128,128,128,248,5,7,7,6,0,0,
+  136,216,168,168,136,136,136,5,7,7,6,0,0,136,200,168,
+  152,136,136,136,5,7,7,6,0,0,112,136,136,136,136,136,
+  112,5,7,7,6,0,0,240,136,136,240,128,128,128,5,8,
+  8,6,0,255,112,136,136,136,136,168,112,8,5,7,7,6,
+  0,0,240,136,136,240,136,136,136,5,7,7,6,0,0,112,
+  136,128,112,8,136,112,5,7,7,6,0,0,248,32,32,32,
+  32,32,32,5,7,7,6,0,0,136,136,136,136,136,136,112,
+  5,7,7,6,0,0,136,136,136,80,80,32,32,5,7,7,
+  6,0,0,136,136,136,168,168,216,136,5,7,7,6,0,0,
+  136,136,80,32,80,136,136,5,7,7,6,0,0,136,136,136,
+  80,32,32,32,5,7,7,6,0,0,248,8,16,32,64,128,
+  248,2,9,9,6,2,255,192,128,128,128,128,128,128,128,192,
+  5,10,10,6,1,254,128,128,64,64,32,32,16,16,8,8,
+  2,9,9,6,1,255,192,64,64,64,64,64,64,64,192,5,
+  3,3,6,0,4,32,80,136,6,1,1,6,0,254,252,2,
+  2,2,6,1,6,128,64,5,5,5,6,0,0,120,136,136,
+  152,104,5,7,7,6,0,0,128,128,240,136,136,136,240,5,
+  5,5,6,0,0,112,136,128,128,120,5,7,7,6,0,0,
+  8,8,120,136,136,136,120,5,5,5,6,0,0,112,136,248,
+  128,120,4,7,7,6,1,0,48,64,224,64,64,64,64,5,
+  7,7,6,0,254,120,136,136,136,120,8,112,5,7,7,6,
+  0,0,128,128,240,136,136,136,136,3,7,7,6,1,0,64,
+  0,192,64,64,64,224,3,9,9,6,0,254,32,0,96,32,
+  32,32,32,32,192,5,7,7,6,0,0,128,128,144,160,224,
+  144,136,3,7,7,6,1,0,192,64,64,64,64,64,224,5,
+  5,5,6,0,0,240,168,168,168,168,5,5,5,6,0,0,
+  176,200,136,136,136,5,5,5,6,0,0,112,136,136,136,112,
+  5,7,7,6,0,254,240,136,136,136,240,128,128,5,7,7,
+  6,0,254,120,136,136,136,120,8,8,5,5,5,6,0,0,
+  176,200,128,128,128,5,5,5,6,0,0,120,128,112,8,240,
+  4,7,7,6,1,0,64,64,224,64,64,64,48,5,5,5,
+  6,0,0,136,136,136,152,104,5,5,5,6,0,0,136,136,
+  80,80,32,5,5,5,6,0,0,168,168,168,168,80,5,5,
+  5,6,0,0,136,80,32,80,136,5,7,7,6,0,254,136,
+  136,136,136,120,8,112,5,5,5,6,0,0,248,16,32,64,
+  248,3,11,11,6,1,254,32,64,64,64,64,128,64,64,64,
+  64,32,1,9,9,6,2,255,128,128,128,128,128,128,128,128,
+  128,3,11,11,6,1,254,128,64,64,64,64,32,64,64,64,
+  64,128,5,2,2,6,0,3,104,176,0,0,0,6,0,0
+  };
+/*
+  Fontname: ProFont12
+  Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5
+  Capital A Height: 8, '1' Height: 8
+  Calculated Max Values w= 6 h=12 x= 3 y= 7 dx= 6 dy= 0 ascent=10 len=12
+  Font Bounding box     w= 6 h=11 x= 0 y=-2
+  Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
+  Pure Font   ascent = 8 descent=-2
+  X Font      ascent = 9 descent=-2
+  Max Font    ascent =10 descent=-2
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_profont12[2907] U8G_FONT_SECTION("u8g_font_profont12") = {
+  0,6,11,0,254,8,1,178,3,103,32,255,254,10,254,9,
+  254,0,0,0,6,0,0,1,8,8,6,2,0,128,128,128,
+  128,128,128,0,128,3,3,3,6,1,6,160,160,160,5,5,
+  5,6,0,3,80,248,80,248,80,5,10,10,6,0,255,32,
+  112,168,160,112,40,40,168,112,32,5,8,8,6,0,0,120,
+  168,168,80,48,104,168,144,5,8,8,6,0,0,96,144,160,
+  64,160,168,144,104,1,3,3,6,2,6,128,128,128,3,10,
+  10,6,1,255,32,64,128,128,128,128,128,128,64,32,3,10,
+  10,6,1,255,128,64,32,32,32,32,32,32,64,128,5,5,
+  5,6,0,3,32,168,112,168,32,5,5,5,6,0,1,32,
+  32,248,32,32,2,4,4,6,1,254,192,192,64,128,3,1,
+  1,6,1,3,224,2,2,2,6,2,0,192,192,5,10,10,
+  6,0,254,8,8,16,16,32,32,64,64,128,128,5,8,8,
+  6,0,0,112,136,152,168,200,136,136,112,5,8,8,6,0,
+  0,32,224,32,32,32,32,32,248,5,8,8,6,0,0,112,
+  136,8,16,32,64,128,248,5,8,8,6,0,0,112,136,8,
+  48,8,8,136,112,5,8,8,6,0,0,16,48,80,144,248,
+  16,16,56,5,8,8,6,0,0,248,128,128,240,8,8,136,
+  112,5,8,8,6,0,0,112,128,128,240,136,136,136,112,5,
+  8,8,6,0,0,248,8,8,16,32,32,32,32,5,8,8,
+  6,0,0,112,136,136,112,136,136,136,112,5,8,8,6,0,
+  0,112,136,136,136,120,8,8,112,2,6,6,6,2,0,192,
+  192,0,0,192,192,2,8,8,6,1,254,192,192,0,0,192,
+  192,64,128,4,7,7,6,1,1,16,32,64,128,64,32,16,
+  5,3,3,6,0,3,248,0,248,4,7,7,6,1,1,128,
+  64,32,16,32,64,128,5,8,8,6,0,0,112,136,8,8,
+  16,32,0,32,5,8,8,6,0,0,112,136,184,168,184,128,
+  128,120,5,8,8,6,0,0,32,80,80,136,136,248,136,136,
+  5,8,8,6,0,0,240,136,136,240,136,136,136,240,5,8,
+  8,6,0,0,112,136,128,128,128,128,136,112,5,8,8,6,
+  0,0,240,136,136,136,136,136,136,240,5,8,8,6,0,0,
+  248,128,128,240,128,128,128,248,5,8,8,6,0,0,248,128,
+  128,240,128,128,128,128,5,8,8,6,0,0,112,136,128,128,
+  152,136,136,112,5,8,8,6,0,0,136,136,136,248,136,136,
+  136,136,5,8,8,6,0,0,248,32,32,32,32,32,32,248,
+  5,8,8,6,0,0,8,8,8,8,8,136,136,112,5,8,
+  8,6,0,0,136,144,160,192,192,160,144,136,5,8,8,6,
+  0,0,128,128,128,128,128,128,128,248,5,8,8,6,0,0,
+  136,216,168,168,136,136,136,136,5,8,8,6,0,0,136,200,
+  168,152,136,136,136,136,5,8,8,6,0,0,112,136,136,136,
+  136,136,136,112,5,8,8,6,0,0,240,136,136,240,128,128,
+  128,128,5,9,9,6,0,255,112,136,136,136,136,136,168,112,
+  8,5,8,8,6,0,0,240,136,136,240,136,136,136,136,5,
+  8,8,6,0,0,112,136,128,112,8,8,136,112,5,8,8,
+  6,0,0,248,32,32,32,32,32,32,32,5,8,8,6,0,
+  0,136,136,136,136,136,136,136,112,5,8,8,6,0,0,136,
+  136,136,136,80,80,32,32,5,8,8,6,0,0,136,136,136,
+  136,168,168,216,136,5,8,8,6,0,0,136,136,136,80,32,
+  80,136,136,5,8,8,6,0,0,136,136,136,136,80,32,32,
+  32,5,8,8,6,0,0,248,8,16,32,64,128,128,248,2,
+  10,10,6,2,255,192,128,128,128,128,128,128,128,128,192,5,
+  10,10,6,1,254,128,128,64,64,32,32,16,16,8,8,2,
+  10,10,6,1,255,192,64,64,64,64,64,64,64,64,192,5,
+  3,3,6,0,5,32,80,136,6,1,1,6,0,254,252,2,
+  2,2,6,1,7,128,64,5,5,5,6,0,0,120,136,136,
+  152,104,5,8,8,6,0,0,128,128,128,240,136,136,136,240,
+  5,5,5,6,0,0,112,136,128,128,120,5,8,8,6,0,
+  0,8,8,8,120,136,136,136,120,5,5,5,6,0,0,112,
+  136,248,128,120,4,8,8,6,1,0,48,64,224,64,64,64,
+  64,64,5,7,7,6,0,254,120,136,136,136,120,8,112,5,
+  8,8,6,0,0,128,128,128,240,136,136,136,136,3,8,8,
+  6,1,0,64,0,0,192,64,64,64,224,3,10,10,6,0,
+  254,32,0,0,96,32,32,32,32,32,192,5,8,8,6,0,
+  0,128,128,128,144,160,224,144,136,3,8,8,6,1,0,192,
+  64,64,64,64,64,64,224,5,5,5,6,0,0,240,168,168,
+  168,168,5,5,5,6,0,0,176,200,136,136,136,5,5,5,
+  6,0,0,112,136,136,136,112,5,7,7,6,0,254,240,136,
+  136,136,240,128,128,5,7,7,6,0,254,120,136,136,136,120,
+  8,8,5,5,5,6,0,0,176,200,128,128,128,5,5,5,
+  6,0,0,120,128,112,8,240,4,8,8,6,1,0,64,64,
+  64,224,64,64,64,48,5,5,5,6,0,0,136,136,136,152,
+  104,5,5,5,6,0,0,136,136,80,80,32,5,5,5,6,
+  0,0,168,168,168,168,80,5,5,5,6,0,0,136,80,32,
+  80,136,5,7,7,6,0,254,136,136,136,136,120,8,112,5,
+  5,5,6,0,0,248,16,32,64,248,3,11,11,6,1,254,
+  32,64,64,64,64,128,64,64,64,64,32,1,10,10,6,2,
+  255,128,128,128,128,128,128,128,128,128,128,3,11,11,6,1,
+  254,128,64,64,64,64,32,64,64,64,64,128,5,2,2,6,
+  0,4,104,176,0,0,0,6,0,0,0,0,0,6,0,0,
+  0,0,0,6,0,0,2,3,3,6,0,255,64,64,128,5,
+  12,12,6,0,254,24,32,32,32,32,112,32,32,32,32,32,
+  192,4,3,3,6,0,255,80,80,160,5,1,1,6,0,0,
+  168,3,6,6,6,1,2,64,224,64,64,64,64,3,6,6,
+  6,1,2,64,224,64,64,224,64,3,2,2,6,1,7,64,
+  160,6,9,9,6,0,0,124,164,168,80,32,104,212,84,40,
+  5,10,10,6,0,0,80,32,112,136,128,112,8,8,136,112,
+  2,4,4,6,0,0,64,128,128,64,5,8,8,6,0,0,
+  120,160,160,176,160,160,160,120,0,0,0,6,0,0,0,0,
+  0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,
+  2,3,3,6,2,5,64,128,128,2,3,3,6,2,5,64,
+  64,128,4,3,3,6,1,5,80,160,160,4,3,3,6,1,
+  5,80,80,160,5,5,5,6,0,2,112,248,248,248,112,3,
+  1,1,6,1,3,224,6,1,1,6,0,3,252,5,2,2,
+  6,0,7,104,176,6,3,3,6,0,5,244,92,92,5,9,
+  9,6,0,0,80,32,0,0,120,128,112,8,240,2,4,4,
+  6,0,0,128,64,64,128,5,5,5,6,0,0,80,168,184,
+  160,88,0,0,0,6,0,0,0,0,0,6,0,0,5,10,
+  10,6,0,0,80,0,0,136,136,136,80,32,32,32,0,0,
+  0,6,0,0,1,8,8,6,3,0,128,0,128,128,128,128,
+  128,128,5,7,7,6,0,255,32,112,168,160,160,120,32,5,
+  9,9,6,0,0,96,144,128,224,128,128,128,136,240,5,5,
+  5,6,0,1,136,112,80,112,136,5,8,8,6,0,0,136,
+  80,248,32,248,32,32,32,1,10,10,6,2,255,128,128,128,
+  128,0,0,128,128,128,128,5,11,11,6,0,255,112,136,72,
+  160,144,136,72,40,144,136,112,3,1,1,6,1,7,160,5,
+  8,8,6,0,0,224,16,104,136,136,104,16,224,4,7,7,
+  6,1,3,112,144,144,112,0,0,240,5,4,4,6,0,0,
+  72,144,144,72,5,3,3,6,0,2,248,8,8,5,1,1,
+  6,0,3,248,5,7,7,6,0,1,224,16,200,168,168,200,
+  176,3,1,1,6,1,7,224,4,4,4,6,1,5,96,144,
+  144,96,5,6,6,6,0,1,32,32,248,32,32,248,3,4,
+  4,6,1,6,192,32,64,224,3,5,5,6,1,5,192,32,
+  96,32,192,4,2,2,6,2,7,112,224,5,7,7,6,0,
+  254,144,144,144,144,232,128,128,5,9,9,6,0,0,120,168,
+  168,168,120,40,40,40,40,2,2,2,6,2,3,192,192,4,
+  3,3,6,1,254,240,112,224,3,4,4,6,1,6,192,64,
+  64,224,4,7,7,6,1,3,96,144,144,96,0,0,240,5,
+  4,4,6,0,0,144,72,72,144,6,10,10,6,0,0,192,
+  64,68,232,16,32,72,152,56,8,6,10,10,6,0,0,192,
+  64,68,232,16,32,88,132,8,28,6,10,10,6,0,0,192,
+  32,100,40,208,32,72,152,56,8,5,8,8,6,0,0,32,
+  0,32,64,128,128,136,112,5,10,10,6,0,0,64,32,32,
+  80,80,136,136,248,136,136,5,10,10,6,0,0,16,32,32,
+  80,80,136,136,248,136,136,5,10,10,6,0,0,32,80,0,
+  32,80,80,136,248,136,136,5,10,10,6,0,0,104,176,32,
+  80,80,136,136,248,136,136,5,10,10,6,0,0,80,0,32,
+  80,80,136,136,248,136,136,5,10,10,6,0,0,32,80,32,
+  80,80,136,136,248,136,136,5,8,8,6,0,0,120,160,160,
+  240,160,160,160,184,5,10,10,6,0,254,112,136,128,128,128,
+  128,136,112,32,64,5,10,10,6,0,0,64,32,248,128,128,
+  240,128,128,128,248,5,10,10,6,0,0,16,32,248,128,128,
+  240,128,128,128,248,5,10,10,6,0,0,32,80,248,128,128,
+  240,128,128,128,248,5,10,10,6,0,0,80,0,248,128,128,
+  240,128,128,128,248,5,10,10,6,0,0,64,32,248,32,32,
+  32,32,32,32,248,5,10,10,6,0,0,16,32,248,32,32,
+  32,32,32,32,248,5,10,10,6,0,0,32,80,0,248,32,
+  32,32,32,32,248,5,10,10,6,0,0,80,0,248,32,32,
+  32,32,32,32,248,6,8,8,6,0,0,120,68,68,228,68,
+  68,68,120,5,10,10,6,0,0,104,176,136,200,168,152,136,
+  136,136,136,5,10,10,6,0,0,64,32,112,136,136,136,136,
+  136,136,112,5,10,10,6,0,0,16,32,112,136,136,136,136,
+  136,136,112,5,10,10,6,0,0,32,80,0,112,136,136,136,
+  136,136,112,5,10,10,6,0,0,104,176,112,136,136,136,136,
+  136,136,112,5,10,10,6,0,0,80,0,112,136,136,136,136,
+  136,136,112,5,5,5,6,0,2,136,80,32,80,136,5,8,
+  8,6,0,0,112,136,152,168,200,136,136,112,5,10,10,6,
+  0,0,64,32,136,136,136,136,136,136,136,112,5,10,10,6,
+  0,0,16,32,136,136,136,136,136,136,136,112,5,10,10,6,
+  0,0,32,80,0,136,136,136,136,136,136,112,5,10,10,6,
+  0,0,80,0,136,136,136,136,136,136,136,112,5,10,10,6,
+  0,0,16,32,136,136,136,136,80,32,32,32,5,8,8,6,
+  0,0,128,240,136,136,136,240,128,128,5,10,10,6,0,255,
+  48,72,136,144,144,136,136,136,176,128,5,9,9,6,0,0,
+  32,16,0,0,120,136,136,152,104,5,9,9,6,0,0,16,
+  32,0,0,120,136,136,152,104,5,9,9,6,0,0,32,80,
+  0,0,120,136,136,152,104,5,9,9,6,0,0,104,176,0,
+  0,120,136,136,152,104,5,8,8,6,0,0,80,0,0,120,
+  136,136,152,104,5,9,9,6,0,0,32,80,32,0,120,136,
+  136,152,104,5,5,5,6,0,0,112,168,184,160,120,5,7,
+  7,6,0,254,112,136,128,128,120,32,64,5,9,9,6,0,
+  0,64,32,0,0,112,136,248,128,120,5,9,9,6,0,0,
+  16,32,0,0,112,136,248,128,120,5,9,9,6,0,0,32,
+  80,0,0,112,136,248,128,120,5,8,8,6,0,0,80,0,
+  0,112,136,248,128,120,3,9,9,6,1,0,128,64,0,0,
+  192,64,64,64,224,3,9,9,6,1,0,32,64,0,0,192,
+  64,64,64,224,3,9,9,6,1,0,64,160,0,0,192,64,
+  64,64,224,3,8,8,6,1,0,160,0,0,192,64,64,64,
+  224,5,9,9,6,0,0,96,96,16,8,120,136,136,136,112,
+  5,9,9,6,0,0,104,176,0,0,176,200,136,136,136,5,
+  9,9,6,0,0,64,32,0,0,112,136,136,136,112,5,9,
+  9,6,0,0,16,32,0,0,112,136,136,136,112,5,9,9,
+  6,0,0,32,80,0,0,112,136,136,136,112,5,9,9,6,
+  0,0,104,176,0,0,112,136,136,136,112,5,8,8,6,0,
+  0,80,0,0,112,136,136,136,112,5,5,5,6,0,1,32,
+  0,248,0,32,5,5,5,6,0,0,112,152,168,200,112,5,
+  9,9,6,0,0,64,32,0,0,136,136,136,152,104,5,9,
+  9,6,0,0,16,32,0,0,136,136,136,152,104,5,9,9,
+  6,0,0,32,80,0,0,136,136,136,152,104,5,8,8,6,
+  0,0,80,0,0,136,136,136,152,104,5,11,11,6,0,254,
+  16,32,0,0,136,136,136,136,120,8,112,5,10,10,6,0,
+  254,128,128,128,240,136,136,136,240,128,128,5,10,10,6,0,
+  254,80,0,0,136,136,136,136,120,8,112};
+/*
+  Fontname: ProFont12
+  Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5
+  Capital A Height: 8, '1' Height: 8
+  Calculated Max Values w= 6 h=11 x= 2 y= 7 dx= 6 dy= 0 ascent= 9 len=11
+  Font Bounding box     w= 6 h=11 x= 0 y=-2
+  Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
+  Pure Font   ascent = 8 descent=-2
+  X Font      ascent = 9 descent=-2
+  Max Font    ascent = 9 descent=-2
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_profont12r[1258] U8G_FONT_SECTION("u8g_font_profont12r") = {
+  0,6,11,0,254,8,1,178,3,103,32,127,254,9,254,9,
+  254,0,0,0,6,0,0,1,8,8,6,2,0,128,128,128,
+  128,128,128,0,128,3,3,3,6,1,6,160,160,160,5,5,
+  5,6,0,3,80,248,80,248,80,5,10,10,6,0,255,32,
+  112,168,160,112,40,40,168,112,32,5,8,8,6,0,0,120,
+  168,168,80,48,104,168,144,5,8,8,6,0,0,96,144,160,
+  64,160,168,144,104,1,3,3,6,2,6,128,128,128,3,10,
+  10,6,1,255,32,64,128,128,128,128,128,128,64,32,3,10,
+  10,6,1,255,128,64,32,32,32,32,32,32,64,128,5,5,
+  5,6,0,3,32,168,112,168,32,5,5,5,6,0,1,32,
+  32,248,32,32,2,4,4,6,1,254,192,192,64,128,3,1,
+  1,6,1,3,224,2,2,2,6,2,0,192,192,5,10,10,
+  6,0,254,8,8,16,16,32,32,64,64,128,128,5,8,8,
+  6,0,0,112,136,152,168,200,136,136,112,5,8,8,6,0,
+  0,32,224,32,32,32,32,32,248,5,8,8,6,0,0,112,
+  136,8,16,32,64,128,248,5,8,8,6,0,0,112,136,8,
+  48,8,8,136,112,5,8,8,6,0,0,16,48,80,144,248,
+  16,16,56,5,8,8,6,0,0,248,128,128,240,8,8,136,
+  112,5,8,8,6,0,0,112,128,128,240,136,136,136,112,5,
+  8,8,6,0,0,248,8,8,16,32,32,32,32,5,8,8,
+  6,0,0,112,136,136,112,136,136,136,112,5,8,8,6,0,
+  0,112,136,136,136,120,8,8,112,2,6,6,6,2,0,192,
+  192,0,0,192,192,2,8,8,6,1,254,192,192,0,0,192,
+  192,64,128,4,7,7,6,1,1,16,32,64,128,64,32,16,
+  5,3,3,6,0,3,248,0,248,4,7,7,6,1,1,128,
+  64,32,16,32,64,128,5,8,8,6,0,0,112,136,8,8,
+  16,32,0,32,5,8,8,6,0,0,112,136,184,168,184,128,
+  128,120,5,8,8,6,0,0,32,80,80,136,136,248,136,136,
+  5,8,8,6,0,0,240,136,136,240,136,136,136,240,5,8,
+  8,6,0,0,112,136,128,128,128,128,136,112,5,8,8,6,
+  0,0,240,136,136,136,136,136,136,240,5,8,8,6,0,0,
+  248,128,128,240,128,128,128,248,5,8,8,6,0,0,248,128,
+  128,240,128,128,128,128,5,8,8,6,0,0,112,136,128,128,
+  152,136,136,112,5,8,8,6,0,0,136,136,136,248,136,136,
+  136,136,5,8,8,6,0,0,248,32,32,32,32,32,32,248,
+  5,8,8,6,0,0,8,8,8,8,8,136,136,112,5,8,
+  8,6,0,0,136,144,160,192,192,160,144,136,5,8,8,6,
+  0,0,128,128,128,128,128,128,128,248,5,8,8,6,0,0,
+  136,216,168,168,136,136,136,136,5,8,8,6,0,0,136,200,
+  168,152,136,136,136,136,5,8,8,6,0,0,112,136,136,136,
+  136,136,136,112,5,8,8,6,0,0,240,136,136,240,128,128,
+  128,128,5,9,9,6,0,255,112,136,136,136,136,136,168,112,
+  8,5,8,8,6,0,0,240,136,136,240,136,136,136,136,5,
+  8,8,6,0,0,112,136,128,112,8,8,136,112,5,8,8,
+  6,0,0,248,32,32,32,32,32,32,32,5,8,8,6,0,
+  0,136,136,136,136,136,136,136,112,5,8,8,6,0,0,136,
+  136,136,136,80,80,32,32,5,8,8,6,0,0,136,136,136,
+  136,168,168,216,136,5,8,8,6,0,0,136,136,136,80,32,
+  80,136,136,5,8,8,6,0,0,136,136,136,136,80,32,32,
+  32,5,8,8,6,0,0,248,8,16,32,64,128,128,248,2,
+  10,10,6,2,255,192,128,128,128,128,128,128,128,128,192,5,
+  10,10,6,1,254,128,128,64,64,32,32,16,16,8,8,2,
+  10,10,6,1,255,192,64,64,64,64,64,64,64,64,192,5,
+  3,3,6,0,5,32,80,136,6,1,1,6,0,254,252,2,
+  2,2,6,1,7,128,64,5,5,5,6,0,0,120,136,136,
+  152,104,5,8,8,6,0,0,128,128,128,240,136,136,136,240,
+  5,5,5,6,0,0,112,136,128,128,120,5,8,8,6,0,
+  0,8,8,8,120,136,136,136,120,5,5,5,6,0,0,112,
+  136,248,128,120,4,8,8,6,1,0,48,64,224,64,64,64,
+  64,64,5,7,7,6,0,254,120,136,136,136,120,8,112,5,
+  8,8,6,0,0,128,128,128,240,136,136,136,136,3,8,8,
+  6,1,0,64,0,0,192,64,64,64,224,3,10,10,6,0,
+  254,32,0,0,96,32,32,32,32,32,192,5,8,8,6,0,
+  0,128,128,128,144,160,224,144,136,3,8,8,6,1,0,192,
+  64,64,64,64,64,64,224,5,5,5,6,0,0,240,168,168,
+  168,168,5,5,5,6,0,0,176,200,136,136,136,5,5,5,
+  6,0,0,112,136,136,136,112,5,7,7,6,0,254,240,136,
+  136,136,240,128,128,5,7,7,6,0,254,120,136,136,136,120,
+  8,8,5,5,5,6,0,0,176,200,128,128,128,5,5,5,
+  6,0,0,120,128,112,8,240,4,8,8,6,1,0,64,64,
+  64,224,64,64,64,48,5,5,5,6,0,0,136,136,136,152,
+  104,5,5,5,6,0,0,136,136,80,80,32,5,5,5,6,
+  0,0,168,168,168,168,80,5,5,5,6,0,0,136,80,32,
+  80,136,5,7,7,6,0,254,136,136,136,136,120,8,112,5,
+  5,5,6,0,0,248,16,32,64,248,3,11,11,6,1,254,
+  32,64,64,64,64,128,64,64,64,64,32,1,10,10,6,2,
+  255,128,128,128,128,128,128,128,128,128,128,3,11,11,6,1,
+  254,128,64,64,64,64,32,64,64,64,64,128,5,2,2,6,
+  0,4,104,176,0,0,0,6,0,0};
+/*
+  Fontname: ProFont15
+  Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5
+  Capital A Height: 9, '1' Height: 9
+  Calculated Max Values w= 7 h=15 x= 4 y= 8 dx= 7 dy= 0 ascent=12 len=15
+  Font Bounding box     w= 7 h=14 x= 0 y=-3
+  Calculated Min Values           x= 0 y=-3 dx= 0 dy= 0
+  Pure Font   ascent = 9 descent=-3
+  X Font      ascent =11 descent=-3
+  Max Font    ascent =12 descent=-3
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_profont15[3186] U8G_FONT_SECTION("u8g_font_profont15") = {
+  0,7,14,0,253,9,1,217,3,175,32,255,253,12,253,11,
+  253,0,0,0,7,0,0,1,9,9,7,3,0,128,128,128,
+  128,128,128,128,0,128,4,4,4,7,1,7,144,144,144,144,
+  6,6,6,7,0,3,72,252,72,72,252,72,5,13,13,7,
+  0,254,32,32,112,168,160,160,112,40,40,168,112,32,32,7,
+  9,9,7,0,0,126,162,164,168,84,42,74,138,132,6,9,
+  9,7,0,0,112,136,144,160,64,160,148,136,116,1,4,4,
+  7,3,7,128,128,128,128,4,13,13,7,1,254,16,32,64,
+  128,128,128,128,128,128,128,64,32,16,4,13,13,7,1,254,
+  128,64,32,16,16,16,16,16,16,16,32,64,128,5,6,6,
+  7,0,3,32,168,112,112,168,32,5,5,5,7,0,1,32,
+  32,248,32,32,3,5,5,7,1,253,96,96,32,64,128,4,
+  1,1,7,1,3,240,2,2,2,7,2,0,192,192,6,12,
+  12,7,0,254,4,4,8,8,16,16,32,32,64,64,128,128,
+  6,9,9,7,0,0,120,132,140,148,164,196,132,132,120,7,
+  9,9,7,0,0,16,112,16,16,16,16,16,16,254,6,9,
+  9,7,0,0,120,132,4,4,8,16,32,64,252,6,9,9,
+  7,0,0,120,132,4,4,56,4,4,132,120,6,9,9,7,
+  0,0,8,24,40,72,136,252,8,8,28,6,9,9,7,0,
+  0,252,128,128,248,4,4,4,132,120,6,9,9,7,0,0,
+  120,128,128,248,132,132,132,132,120,6,9,9,7,0,0,252,
+  4,4,8,16,32,32,32,32,6,9,9,7,0,0,120,132,
+  132,132,120,132,132,132,120,6,9,9,7,0,0,120,132,132,
+  132,132,124,4,4,120,2,7,7,7,2,0,192,192,0,0,
+  0,192,192,3,10,10,7,1,253,96,96,0,0,0,96,96,
+  32,64,128,5,9,9,7,1,0,8,16,32,64,128,64,32,
+  16,8,6,4,4,7,0,3,252,0,0,252,5,9,9,7,
+  1,0,128,64,32,16,8,16,32,64,128,6,9,9,7,0,
+  0,120,132,4,4,8,16,32,0,32,6,9,9,7,0,0,
+  120,132,156,164,164,152,128,128,124,6,9,9,7,0,0,48,
+  48,72,72,132,252,132,132,132,6,9,9,7,0,0,248,132,
+  132,132,248,132,132,132,248,6,9,9,7,0,0,120,132,128,
+  128,128,128,128,132,120,6,9,9,7,0,0,248,132,132,132,
+  132,132,132,132,248,6,9,9,7,0,0,252,128,128,128,248,
+  128,128,128,252,6,9,9,7,0,0,252,128,128,128,248,128,
+  128,128,128,6,9,9,7,0,0,120,132,128,128,140,132,132,
+  132,120,6,9,9,7,0,0,132,132,132,132,252,132,132,132,
+  132,7,9,9,7,0,0,254,16,16,16,16,16,16,16,254,
+  6,9,9,7,0,0,4,4,4,4,4,132,132,132,120,6,
+  9,9,7,0,0,132,136,144,160,192,160,144,136,132,6,9,
+  9,7,0,0,128,128,128,128,128,128,128,128,252,7,9,9,
+  7,0,0,130,198,170,146,146,130,130,130,130,6,9,9,7,
+  0,0,132,196,164,148,140,132,132,132,132,6,9,9,7,0,
+  0,120,132,132,132,132,132,132,132,120,6,9,9,7,0,0,
+  248,132,132,132,248,128,128,128,128,6,10,10,7,0,255,120,
+  132,132,132,132,132,164,148,120,4,6,9,9,7,0,0,248,
+  132,132,132,248,132,132,132,132,6,9,9,7,0,0,120,132,
+  128,128,120,4,4,132,120,7,9,9,7,0,0,254,16,16,
+  16,16,16,16,16,16,6,9,9,7,0,0,132,132,132,132,
+  132,132,132,132,120,7,9,9,7,0,0,130,130,130,68,68,
+  40,40,16,16,7,9,9,7,0,0,130,130,130,130,146,146,
+  170,198,130,6,9,9,7,0,0,132,132,132,72,48,48,72,
+  132,132,7,9,9,7,0,0,130,130,130,68,40,16,16,16,
+  16,6,9,9,7,0,0,252,4,8,16,32,64,128,128,252,
+  3,12,12,7,2,255,224,128,128,128,128,128,128,128,128,128,
+  128,224,6,12,12,7,1,254,128,128,64,64,32,32,16,16,
+  8,8,4,4,3,12,12,7,1,255,224,32,32,32,32,32,
+  32,32,32,32,32,224,5,3,3,7,1,6,32,80,136,7,
+  1,1,7,0,254,254,3,3,3,7,1,8,128,64,32,6,
+  6,6,7,0,0,124,132,132,140,148,100,6,9,9,7,0,
+  0,128,128,128,248,132,132,132,132,248,6,6,6,7,0,0,
+  120,132,128,128,128,124,6,9,9,7,0,0,4,4,4,124,
+  132,132,132,132,124,6,6,6,7,0,0,120,132,252,128,128,
+  124,4,9,9,7,1,0,48,64,64,224,64,64,64,64,64,
+  6,9,9,7,0,253,124,132,132,132,132,124,4,4,120,6,
+  9,9,7,0,0,128,128,128,248,132,132,132,132,132,3,9,
+  9,7,2,0,64,0,0,192,64,64,64,64,224,3,12,12,
+  7,1,253,32,0,0,96,32,32,32,32,32,32,32,192,6,
+  9,9,7,0,0,128,128,128,136,144,160,208,136,132,3,9,
+  9,7,2,0,192,64,64,64,64,64,64,64,224,7,6,6,
+  7,0,0,252,146,146,146,146,146,6,6,6,7,0,0,152,
+  164,196,132,132,132,6,6,6,7,0,0,120,132,132,132,132,
+  120,6,9,9,7,0,253,248,132,132,132,132,248,128,128,128,
+  6,9,9,7,0,253,124,132,132,132,132,124,4,4,4,6,
+  6,6,7,0,0,152,164,192,128,128,128,6,6,6,7,0,
+  0,124,128,120,4,4,248,4,9,9,7,1,0,64,64,64,
+  224,64,64,64,64,48,6,6,6,7,0,0,132,132,132,140,
+  148,100,6,6,6,7,0,0,132,132,72,72,48,48,7,6,
+  6,7,0,0,146,146,146,146,146,108,6,6,6,7,0,0,
+  132,72,48,48,72,132,6,9,9,7,0,253,132,132,132,132,
+  132,124,4,4,120,6,6,6,7,0,0,252,8,16,32,64,
+  252,4,15,15,7,1,253,48,64,64,64,64,64,64,128,64,
+  64,64,64,64,64,48,1,13,13,7,3,254,128,128,128,128,
+  128,128,128,128,128,128,128,128,128,4,15,15,7,1,253,192,
+  32,32,32,32,32,32,16,32,32,32,32,32,32,192,6,2,
+  2,7,0,4,100,152,0,0,0,7,0,0,0,0,0,7,
+  0,0,0,0,0,7,0,0,2,4,4,7,0,255,64,64,
+  64,128,7,14,14,7,0,254,6,8,16,16,16,56,16,16,
+  16,16,16,16,32,192,5,4,4,7,0,255,72,72,72,144,
+  7,1,1,7,0,0,146,3,6,6,7,2,3,64,224,64,
+  64,64,64,3,6,6,7,2,3,64,224,64,64,224,64,5,
+  3,3,7,1,8,32,80,136,7,10,10,7,0,0,126,164,
+  168,176,96,84,170,42,42,20,6,12,12,7,0,0,68,40,
+  16,120,132,128,128,120,4,4,132,120,2,5,5,7,0,0,
+  64,128,128,128,64,6,9,9,7,0,0,124,144,144,144,152,
+  144,144,144,124,0,0,0,7,0,0,0,0,0,7,0,0,
+  0,0,0,7,0,0,0,0,0,7,0,0,2,4,4,7,
+  3,5,64,128,128,128,2,4,4,7,3,5,64,64,64,128,
+  5,4,4,7,1,5,72,144,144,144,5,4,4,7,1,5,
+  72,72,72,144,6,6,6,7,0,2,48,120,252,252,120,48,
+  4,1,1,7,1,3,240,7,1,1,7,0,3,254,6,2,
+  2,7,0,8,100,152,7,4,4,7,0,5,242,94,82,82,
+  6,11,11,7,0,0,68,40,16,0,0,124,128,120,4,4,
+  248,2,5,5,7,0,0,128,64,64,64,128,6,6,6,7,
+  0,0,104,148,156,144,144,108,0,0,0,7,0,0,0,0,
+  0,7,0,0,7,12,12,7,0,0,68,0,0,130,130,130,
+  68,40,16,16,16,16,0,0,0,7,0,0,1,9,9,7,
+  4,0,128,0,128,128,128,128,128,128,128,5,10,10,7,0,
+  254,32,32,112,168,160,160,160,120,32,32,6,11,11,7,0,
+  0,96,144,128,128,240,128,128,128,132,136,240,7,7,7,7,
+  0,0,130,68,56,40,56,68,130,7,10,10,7,0,0,130,
+  68,40,254,16,16,254,16,16,16,1,13,13,7,3,254,128,
+  128,128,128,128,0,0,0,128,128,128,128,128,6,13,13,7,
+  0,255,120,132,132,68,160,144,72,36,20,136,132,132,120,4,
+  1,1,7,1,8,144,6,9,9,7,0,0,240,8,116,132,
+  132,132,116,8,240,5,8,8,7,1,4,120,136,136,136,120,
+  0,0,248,6,5,5,7,0,0,68,136,136,136,68,6,4,
+  4,7,0,1,252,4,4,4,5,1,1,7,0,3,248,6,
+  8,8,7,0,1,240,8,100,148,148,228,148,136,4,1,1,
+  7,1,8,240,5,5,5,7,1,6,112,136,136,136,112,5,
+  6,6,7,0,1,32,32,248,32,32,248,4,5,5,7,1,
+  7,96,144,32,64,240,4,5,5,7,1,7,96,144,32,144,
+  96,3,3,3,7,3,8,96,224,192,6,9,9,7,0,253,
+  136,136,136,136,136,244,128,128,128,6,10,10,7,0,0,60,
+  84,148,148,84,60,20,20,20,20,2,2,2,7,3,3,192,
+  192,2,3,3,7,2,254,192,64,128,3,5,5,7,2,7,
+  192,64,64,64,224,5,8,8,7,1,4,112,136,136,136,112,
+  0,0,248,6,5,5,7,0,0,136,68,68,68,136,7,12,
+  12,7,0,0,96,32,32,34,116,8,16,36,76,148,30,4,
+  7,12,12,7,0,0,96,32,32,34,116,8,16,44,82,132,
+  8,30,7,12,12,7,0,0,96,144,32,146,100,8,16,36,
+  76,148,30,4,6,9,9,7,0,0,16,0,16,32,64,128,
+  128,132,120,6,12,12,7,0,0,64,32,16,48,48,72,72,
+  132,252,132,132,132,6,12,12,7,0,0,8,16,32,48,48,
+  72,72,132,252,132,132,132,6,12,12,7,0,0,16,40,68,
+  48,48,72,72,132,252,132,132,132,6,12,12,7,0,0,100,
+  152,0,48,48,72,72,132,252,132,132,132,6,12,12,7,0,
+  0,72,0,0,48,48,72,72,132,252,132,132,132,6,12,12,
+  7,0,0,48,72,72,48,48,72,72,132,252,132,132,132,6,
+  9,9,7,0,0,124,144,144,144,248,144,144,144,156,6,11,
+  11,7,0,254,120,132,128,128,128,128,128,132,120,16,32,6,
+  12,12,7,0,0,64,32,16,252,128,128,128,248,128,128,128,
+  252,6,12,12,7,0,0,8,16,32,252,128,128,128,248,128,
+  128,128,252,6,12,12,7,0,0,16,40,68,252,128,128,128,
+  248,128,128,128,252,6,12,12,7,0,0,72,0,0,252,128,
+  128,128,248,128,128,128,252,7,12,12,7,0,0,64,32,16,
+  254,16,16,16,16,16,16,16,254,7,12,12,7,0,0,4,
+  8,16,254,16,16,16,16,16,16,16,254,7,12,12,7,0,
+  0,16,40,68,254,16,16,16,16,16,16,16,254,7,12,12,
+  7,0,0,72,0,0,254,16,16,16,16,16,16,16,254,6,
+  9,9,7,0,0,120,68,68,68,228,68,68,68,120,6,12,
+  12,7,0,0,100,152,0,132,196,164,148,140,132,132,132,132,
+  6,12,12,7,0,0,64,32,16,120,132,132,132,132,132,132,
+  132,120,6,12,12,7,0,0,8,16,32,120,132,132,132,132,
+  132,132,132,120,6,12,12,7,0,0,16,40,68,120,132,132,
+  132,132,132,132,132,120,6,12,12,7,0,0,100,152,0,120,
+  132,132,132,132,132,132,132,120,6,12,12,7,0,0,72,0,
+  0,120,132,132,132,132,132,132,132,120,5,5,5,7,0,2,
+  136,80,32,80,136,6,9,9,7,0,0,120,132,140,148,164,
+  196,132,132,120,6,12,12,7,0,0,64,32,16,132,132,132,
+  132,132,132,132,132,120,6,12,12,7,0,0,8,16,32,132,
+  132,132,132,132,132,132,132,120,6,12,12,7,0,0,16,40,
+  68,0,132,132,132,132,132,132,132,120,6,12,12,7,0,0,
+  72,0,0,132,132,132,132,132,132,132,132,120,7,12,12,7,
+  0,0,4,8,16,130,130,130,68,40,16,16,16,16,6,9,
+  9,7,0,0,128,248,132,132,132,248,128,128,128,6,11,11,
+  7,0,255,56,68,132,136,144,144,136,132,132,152,128,6,11,
+  11,7,0,0,64,32,16,0,0,124,132,132,140,148,100,6,
+  11,11,7,0,0,4,8,16,0,0,124,132,132,140,148,100,
+  6,11,11,7,0,0,16,40,68,0,0,124,132,132,140,148,
+  100,6,10,10,7,0,0,100,152,0,0,124,132,132,140,148,
+  100,6,9,9,7,0,0,72,0,0,124,132,132,140,148,100,
+  6,10,10,7,0,0,48,72,72,48,124,132,132,140,148,100,
+  6,6,6,7,0,0,120,164,188,160,160,124,6,8,8,7,
+  0,254,120,132,128,128,128,124,16,32,6,11,11,7,0,0,
+  64,32,16,0,0,120,132,252,128,128,124,6,11,11,7,0,
+  0,4,8,16,0,0,120,132,252,128,128,124,6,11,11,7,
+  0,0,16,40,68,0,0,120,132,252,128,128,124,6,9,9,
+  7,0,0,72,0,0,120,132,252,128,128,124,4,11,11,7,
+  1,0,128,64,32,0,0,96,32,32,32,32,112,4,11,11,
+  7,2,0,16,32,64,0,0,192,64,64,64,64,224,5,11,
+  11,7,1,0,32,80,136,0,0,96,32,32,32,32,112,4,
+  9,9,7,1,0,144,0,0,96,32,32,32,32,112,6,11,
+  11,7,0,0,80,32,80,8,4,124,132,132,132,132,120,6,
+  10,10,7,0,0,100,152,0,0,152,164,196,132,132,132,6,
+  11,11,7,0,0,64,32,16,0,0,120,132,132,132,132,120,
+  6,11,11,7,0,0,4,8,16,0,0,120,132,132,132,132,
+  120,6,11,11,7,0,0,16,40,68,0,0,120,132,132,132,
+  132,120,6,10,10,7,0,0,100,152,0,0,120,132,132,132,
+  132,120,6,9,9,7,0,0,72,0,0,120,132,132,132,132,
+  120,5,5,5,7,0,1,32,0,248,0,32,6,6,6,7,
+  0,0,120,140,148,164,196,120,6,11,11,7,0,0,64,32,
+  16,0,0,132,132,132,140,148,100,6,11,11,7,0,0,4,
+  8,16,0,0,132,132,132,140,148,100,6,11,11,7,0,0,
+  16,40,68,0,0,132,132,132,140,148,100,6,9,9,7,0,
+  0,72,0,0,132,132,132,140,148,100,6,14,14,7,0,253,
+  4,8,16,0,0,132,132,132,132,132,124,4,4,120,6,12,
+  12,7,0,253,128,128,128,248,132,132,132,132,248,128,128,128,
+  6,12,12,7,0,253,72,0,0,132,132,132,132,132,124,4,
+  4,120};
+/*
+  Fontname: ProFont15
+  Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5
+  Capital A Height: 9, '1' Height: 9
+  Calculated Max Values w= 7 h=15 x= 3 y= 8 dx= 7 dy= 0 ascent=12 len=15
+  Font Bounding box     w= 7 h=14 x= 0 y=-3
+  Calculated Min Values           x= 0 y=-3 dx= 0 dy= 0
+  Pure Font   ascent = 9 descent=-3
+  X Font      ascent =11 descent=-3
+  Max Font    ascent =12 descent=-3
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_profont15r[1372] U8G_FONT_SECTION("u8g_font_profont15r") = {
+  0,7,14,0,253,9,1,217,3,175,32,127,253,12,253,11,
+  253,0,0,0,7,0,0,1,9,9,7,3,0,128,128,128,
+  128,128,128,128,0,128,4,4,4,7,1,7,144,144,144,144,
+  6,6,6,7,0,3,72,252,72,72,252,72,5,13,13,7,
+  0,254,32,32,112,168,160,160,112,40,40,168,112,32,32,7,
+  9,9,7,0,0,126,162,164,168,84,42,74,138,132,6,9,
+  9,7,0,0,112,136,144,160,64,160,148,136,116,1,4,4,
+  7,3,7,128,128,128,128,4,13,13,7,1,254,16,32,64,
+  128,128,128,128,128,128,128,64,32,16,4,13,13,7,1,254,
+  128,64,32,16,16,16,16,16,16,16,32,64,128,5,6,6,
+  7,0,3,32,168,112,112,168,32,5,5,5,7,0,1,32,
+  32,248,32,32,3,5,5,7,1,253,96,96,32,64,128,4,
+  1,1,7,1,3,240,2,2,2,7,2,0,192,192,6,12,
+  12,7,0,254,4,4,8,8,16,16,32,32,64,64,128,128,
+  6,9,9,7,0,0,120,132,140,148,164,196,132,132,120,7,
+  9,9,7,0,0,16,112,16,16,16,16,16,16,254,6,9,
+  9,7,0,0,120,132,4,4,8,16,32,64,252,6,9,9,
+  7,0,0,120,132,4,4,56,4,4,132,120,6,9,9,7,
+  0,0,8,24,40,72,136,252,8,8,28,6,9,9,7,0,
+  0,252,128,128,248,4,4,4,132,120,6,9,9,7,0,0,
+  120,128,128,248,132,132,132,132,120,6,9,9,7,0,0,252,
+  4,4,8,16,32,32,32,32,6,9,9,7,0,0,120,132,
+  132,132,120,132,132,132,120,6,9,9,7,0,0,120,132,132,
+  132,132,124,4,4,120,2,7,7,7,2,0,192,192,0,0,
+  0,192,192,3,10,10,7,1,253,96,96,0,0,0,96,96,
+  32,64,128,5,9,9,7,1,0,8,16,32,64,128,64,32,
+  16,8,6,4,4,7,0,3,252,0,0,252,5,9,9,7,
+  1,0,128,64,32,16,8,16,32,64,128,6,9,9,7,0,
+  0,120,132,4,4,8,16,32,0,32,6,9,9,7,0,0,
+  120,132,156,164,164,152,128,128,124,6,9,9,7,0,0,48,
+  48,72,72,132,252,132,132,132,6,9,9,7,0,0,248,132,
+  132,132,248,132,132,132,248,6,9,9,7,0,0,120,132,128,
+  128,128,128,128,132,120,6,9,9,7,0,0,248,132,132,132,
+  132,132,132,132,248,6,9,9,7,0,0,252,128,128,128,248,
+  128,128,128,252,6,9,9,7,0,0,252,128,128,128,248,128,
+  128,128,128,6,9,9,7,0,0,120,132,128,128,140,132,132,
+  132,120,6,9,9,7,0,0,132,132,132,132,252,132,132,132,
+  132,7,9,9,7,0,0,254,16,16,16,16,16,16,16,254,
+  6,9,9,7,0,0,4,4,4,4,4,132,132,132,120,6,
+  9,9,7,0,0,132,136,144,160,192,160,144,136,132,6,9,
+  9,7,0,0,128,128,128,128,128,128,128,128,252,7,9,9,
+  7,0,0,130,198,170,146,146,130,130,130,130,6,9,9,7,
+  0,0,132,196,164,148,140,132,132,132,132,6,9,9,7,0,
+  0,120,132,132,132,132,132,132,132,120,6,9,9,7,0,0,
+  248,132,132,132,248,128,128,128,128,6,10,10,7,0,255,120,
+  132,132,132,132,132,164,148,120,4,6,9,9,7,0,0,248,
+  132,132,132,248,132,132,132,132,6,9,9,7,0,0,120,132,
+  128,128,120,4,4,132,120,7,9,9,7,0,0,254,16,16,
+  16,16,16,16,16,16,6,9,9,7,0,0,132,132,132,132,
+  132,132,132,132,120,7,9,9,7,0,0,130,130,130,68,68,
+  40,40,16,16,7,9,9,7,0,0,130,130,130,130,146,146,
+  170,198,130,6,9,9,7,0,0,132,132,132,72,48,48,72,
+  132,132,7,9,9,7,0,0,130,130,130,68,40,16,16,16,
+  16,6,9,9,7,0,0,252,4,8,16,32,64,128,128,252,
+  3,12,12,7,2,255,224,128,128,128,128,128,128,128,128,128,
+  128,224,6,12,12,7,1,254,128,128,64,64,32,32,16,16,
+  8,8,4,4,3,12,12,7,1,255,224,32,32,32,32,32,
+  32,32,32,32,32,224,5,3,3,7,1,6,32,80,136,7,
+  1,1,7,0,254,254,3,3,3,7,1,8,128,64,32,6,
+  6,6,7,0,0,124,132,132,140,148,100,6,9,9,7,0,
+  0,128,128,128,248,132,132,132,132,248,6,6,6,7,0,0,
+  120,132,128,128,128,124,6,9,9,7,0,0,4,4,4,124,
+  132,132,132,132,124,6,6,6,7,0,0,120,132,252,128,128,
+  124,4,9,9,7,1,0,48,64,64,224,64,64,64,64,64,
+  6,9,9,7,0,253,124,132,132,132,132,124,4,4,120,6,
+  9,9,7,0,0,128,128,128,248,132,132,132,132,132,3,9,
+  9,7,2,0,64,0,0,192,64,64,64,64,224,3,12,12,
+  7,1,253,32,0,0,96,32,32,32,32,32,32,32,192,6,
+  9,9,7,0,0,128,128,128,136,144,160,208,136,132,3,9,
+  9,7,2,0,192,64,64,64,64,64,64,64,224,7,6,6,
+  7,0,0,252,146,146,146,146,146,6,6,6,7,0,0,152,
+  164,196,132,132,132,6,6,6,7,0,0,120,132,132,132,132,
+  120,6,9,9,7,0,253,248,132,132,132,132,248,128,128,128,
+  6,9,9,7,0,253,124,132,132,132,132,124,4,4,4,6,
+  6,6,7,0,0,152,164,192,128,128,128,6,6,6,7,0,
+  0,124,128,120,4,4,248,4,9,9,7,1,0,64,64,64,
+  224,64,64,64,64,48,6,6,6,7,0,0,132,132,132,140,
+  148,100,6,6,6,7,0,0,132,132,72,72,48,48,7,6,
+  6,7,0,0,146,146,146,146,146,108,6,6,6,7,0,0,
+  132,72,48,48,72,132,6,9,9,7,0,253,132,132,132,132,
+  132,124,4,4,120,6,6,6,7,0,0,252,8,16,32,64,
+  252,4,15,15,7,1,253,48,64,64,64,64,64,64,128,64,
+  64,64,64,64,64,48,1,13,13,7,3,254,128,128,128,128,
+  128,128,128,128,128,128,128,128,128,4,15,15,7,1,253,192,
+  32,32,32,32,32,32,16,32,32,32,32,32,32,192,6,2,
+  2,7,0,4,100,152,0,0,0,7,0,0};
+/*
+  Fontname: ProFont17
+  Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5
+  Capital A Height: 11, '1' Height: 11
+  Calculated Max Values w= 9 h=17 x= 5 y=10 dx=14 dy= 0 ascent=14 len=32
+  Font Bounding box     w=14 h=16 x= 0 y=-3
+  Calculated Min Values           x= 0 y=-3 dx= 0 dy= 0
+  Pure Font   ascent =11 descent=-3
+  X Font      ascent =13 descent=-3
+  Max Font    ascent =14 descent=-3
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_profont17[3681] U8G_FONT_SECTION("u8g_font_profont17") = {
+  0,14,16,0,253,11,2,35,4,78,32,255,253,14,253,13,
+  253,0,0,0,14,0,0,2,11,11,14,3,0,192,192,192,
+  192,192,192,192,192,0,192,192,5,5,5,14,1,8,216,216,
+  216,216,216,7,7,7,14,1,3,108,254,254,108,254,254,108,
+  8,15,15,14,0,254,24,24,60,126,219,216,124,62,31,219,
+  219,126,60,24,24,8,11,11,14,0,0,63,127,219,222,124,
+  60,62,123,219,206,196,8,11,11,14,0,0,48,120,204,204,
+  216,112,243,222,204,254,123,2,5,5,14,3,8,192,192,192,
+  192,192,6,15,15,14,1,254,12,24,48,96,192,192,192,192,
+  192,192,192,96,48,24,12,6,15,15,14,1,254,192,96,48,
+  24,12,12,12,12,12,12,12,24,48,96,192,8,8,8,14,
+  0,3,24,219,255,60,60,255,219,24,8,8,8,14,0,1,
+  24,24,24,255,255,24,24,24,4,6,6,14,1,253,112,112,
+  112,48,96,192,5,2,2,14,1,4,248,248,3,3,3,14,
+  2,0,224,224,224,9,16,32,14,0,253,1,128,1,128,3,
+  0,3,0,6,0,6,0,12,0,12,0,24,0,24,0,48,
+  0,48,0,96,0,96,0,192,0,192,0,8,11,11,14,0,
+  0,60,126,195,199,207,219,243,227,195,126,60,8,11,11,14,
+  0,0,24,120,120,24,24,24,24,24,24,255,255,8,11,11,
+  14,0,0,60,126,195,195,6,12,24,48,96,255,255,8,11,
+  11,14,0,0,60,126,195,195,30,28,6,195,195,126,60,8,
+  11,11,14,0,0,6,14,30,54,102,198,255,255,6,15,15,
+  8,11,11,14,0,0,255,255,192,252,254,3,3,3,195,126,
+  60,8,11,11,14,0,0,62,126,192,252,254,195,195,195,195,
+  126,60,8,11,11,14,0,0,255,255,3,3,6,12,24,24,
+  24,24,24,8,11,11,14,0,0,60,126,195,195,126,60,126,
+  195,195,126,60,8,11,11,14,0,0,60,126,195,195,195,195,
+  127,63,3,126,124,3,8,8,14,2,0,224,224,224,0,0,
+  224,224,224,4,11,11,14,1,253,112,112,112,0,0,112,112,
+  112,48,96,192,7,11,11,14,1,0,6,12,24,48,96,192,
+  96,48,24,12,6,8,5,5,14,0,3,255,255,0,255,255,
+  7,11,11,14,1,0,192,96,48,24,12,6,12,24,48,96,
+  192,8,11,11,14,0,0,60,126,195,195,6,12,24,16,0,
+  24,24,8,11,11,14,0,0,60,126,195,207,223,219,223,206,
+  192,127,63,8,11,11,14,0,0,24,60,60,102,102,195,255,
+  255,195,195,195,8,11,11,14,0,0,252,254,195,195,254,252,
+  198,195,195,254,252,8,11,11,14,0,0,60,126,195,195,192,
+  192,192,195,195,126,60,8,11,11,14,0,0,252,254,195,195,
+  195,195,195,195,195,254,252,8,11,11,14,0,0,255,255,192,
+  192,252,252,192,192,192,255,255,8,11,11,14,0,0,255,255,
+  192,192,252,252,192,192,192,192,192,8,11,11,14,0,0,60,
+  126,195,195,192,207,207,195,195,126,60,8,11,11,14,0,0,
+  195,195,195,195,255,255,195,195,195,195,195,8,11,11,14,0,
+  0,255,255,24,24,24,24,24,24,24,255,255,8,11,11,14,
+  0,0,3,3,3,3,3,3,195,195,195,126,60,8,11,11,
+  14,0,0,195,198,204,216,240,224,240,216,204,198,195,8,11,
+  11,14,0,0,192,192,192,192,192,192,192,192,192,255,255,8,
+  11,11,14,0,0,195,231,255,255,219,219,219,195,195,195,195,
+  8,11,11,14,0,0,195,227,243,219,207,199,195,195,195,195,
+  195,8,11,11,14,0,0,60,126,195,195,195,195,195,195,195,
+  126,60,8,11,11,14,0,0,252,254,195,195,254,252,192,192,
+  192,192,192,8,13,13,14,0,254,60,126,195,195,195,195,195,
+  219,207,126,62,6,3,8,11,11,14,0,0,252,254,195,195,
+  254,252,198,195,195,195,195,8,11,11,14,0,0,60,126,195,
+  192,124,62,7,195,195,126,60,8,11,11,14,0,0,255,255,
+  24,24,24,24,24,24,24,24,24,8,11,11,14,0,0,195,
+  195,195,195,195,195,195,195,195,126,60,8,11,11,14,0,0,
+  195,195,195,195,195,102,102,60,60,24,24,8,11,11,14,0,
+  0,195,195,195,195,219,219,219,255,255,231,195,8,11,11,14,
+  0,0,195,195,195,102,60,24,60,102,195,195,195,8,11,11,
+  14,0,0,195,195,195,195,231,126,60,24,24,24,24,8,11,
+  11,14,0,0,255,255,3,6,12,24,48,96,192,255,255,4,
+  15,15,14,3,254,240,240,192,192,192,192,192,192,192,192,192,
+  192,192,240,240,9,16,32,14,0,253,192,0,192,0,96,0,
+  96,0,48,0,48,0,24,0,24,0,12,0,12,0,6,0,
+  6,0,3,0,3,0,1,128,1,128,4,15,15,14,1,254,
+  240,240,48,48,48,48,48,48,48,48,48,48,48,240,240,7,
+  5,5,14,1,6,16,56,108,198,130,9,2,4,14,0,253,
+  255,128,255,128,3,4,4,14,1,9,128,192,96,32,8,8,
+  8,14,0,0,63,127,195,195,199,207,123,51,8,11,11,14,
+  0,0,192,192,192,252,254,195,195,195,195,254,252,8,8,8,
+  14,0,0,60,126,195,195,192,192,127,63,8,11,11,14,0,
+  0,3,3,3,63,127,195,195,195,195,127,63,8,8,8,14,
+  0,0,60,126,195,255,255,192,127,63,6,11,11,14,2,0,
+  28,60,96,240,240,96,96,96,96,96,96,8,11,11,14,0,
+  253,63,127,195,195,195,195,127,63,3,62,60,8,11,11,14,
+  0,0,192,192,192,252,254,195,195,195,195,195,195,6,11,11,
+  14,1,0,48,48,0,240,240,48,48,48,48,252,252,5,14,
+  14,14,0,253,24,24,0,120,120,24,24,24,24,24,24,24,
+  240,224,8,11,11,14,0,0,192,192,192,198,204,216,240,248,
+  204,198,195,6,11,11,14,1,0,240,240,48,48,48,48,48,
+  48,48,252,252,8,8,8,14,0,0,252,254,219,219,219,219,
+  219,219,8,8,8,14,0,0,204,222,243,227,195,195,195,195,
+  8,8,8,14,0,0,60,126,195,195,195,195,126,60,8,11,
+  11,14,0,253,252,254,195,195,195,195,254,252,192,192,192,8,
+  11,11,14,0,253,63,127,195,195,195,195,127,63,3,3,3,
+  8,8,8,14,0,0,204,222,243,227,192,192,192,192,8,8,
+  8,14,0,0,63,255,192,252,63,3,255,252,6,11,11,14,
+  2,0,96,96,96,240,240,96,96,96,96,60,28,8,8,8,
+  14,0,0,195,195,195,195,199,207,123,51,8,8,8,14,0,
+  0,195,195,195,102,102,60,60,24,8,8,8,14,0,0,219,
+  219,219,219,219,219,255,102,8,8,8,14,0,0,195,102,60,
+  24,24,60,102,195,8,11,11,14,0,253,195,195,195,195,195,
+  195,127,63,3,62,60,7,8,8,14,0,0,254,254,12,24,
+  48,96,254,254,5,17,17,14,1,253,24,56,48,48,48,48,
+  48,96,192,96,48,48,48,48,48,56,24,2,15,15,14,3,
+  254,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,
+  5,17,17,14,2,253,192,224,96,96,96,96,96,48,24,48,
+  96,96,96,96,96,224,192,8,3,3,14,0,5,113,219,142,
+  0,0,0,14,0,0,0,0,0,14,0,0,0,0,0,14,
+  0,0,4,5,5,14,0,254,48,48,48,96,192,8,17,17,
+  14,0,253,7,15,24,24,24,24,60,60,24,24,24,24,24,
+  24,24,240,224,7,5,5,14,0,254,54,54,54,108,216,8,
+  2,2,14,0,0,219,219,4,9,9,14,2,2,96,96,240,
+  240,96,96,96,96,96,4,9,9,14,2,2,96,96,240,240,
+  96,240,240,96,96,6,3,3,14,1,10,48,120,204,9,13,
+  26,14,0,0,63,128,127,128,217,128,219,0,222,0,124,0,
+  56,0,63,0,127,128,214,128,150,128,31,128,15,0,8,14,
+  14,14,0,0,102,60,24,60,126,195,192,124,62,7,195,195,
+  126,60,4,7,7,14,0,0,48,96,192,192,192,96,48,8,
+  11,11,14,0,0,63,127,216,216,220,220,216,216,216,127,63,
+  0,0,0,14,0,0,0,0,0,14,0,0,0,0,0,14,
+  0,0,0,0,0,14,0,0,4,5,5,14,3,6,48,96,
+  192,192,192,4,5,5,14,3,6,48,48,48,96,192,7,5,
+  5,14,1,6,54,108,216,216,216,7,5,5,14,1,6,54,
+  54,54,108,216,7,7,7,14,0,2,56,124,254,254,254,124,
+  56,5,2,2,14,2,5,248,248,9,2,4,14,0,5,255,
+  128,255,128,8,3,3,14,0,9,113,219,142,9,5,10,14,
+  0,6,252,128,39,128,39,128,36,128,36,128,8,13,13,14,
+  0,0,102,60,24,0,0,63,255,192,252,63,3,255,252,4,
+  7,7,14,0,0,192,96,48,48,48,96,192,8,8,8,14,
+  0,0,36,126,219,223,223,216,127,39,0,0,0,14,0,0,
+  0,0,0,14,0,0,8,14,14,14,0,0,102,102,0,195,
+  195,195,195,231,126,60,24,24,24,24,0,0,0,14,0,0,
+  2,11,11,14,5,0,192,192,0,192,192,192,192,192,192,192,
+  192,8,12,12,14,0,254,24,24,60,126,219,219,216,216,127,
+  63,24,24,8,12,12,14,0,0,120,252,204,192,240,240,192,
+  192,192,199,254,252,8,8,8,14,0,0,129,66,60,36,36,
+  60,66,129,8,11,11,14,0,0,195,102,60,255,255,24,255,
+  255,24,24,24,2,15,15,14,3,254,192,192,192,192,192,192,
+  0,0,0,192,192,192,192,192,192,8,16,16,14,0,254,60,
+  126,99,99,51,216,204,198,99,51,27,204,198,198,126,60,4,
+  2,2,14,2,9,144,240,8,11,11,14,0,0,120,252,134,
+  123,251,195,251,123,134,252,120,6,9,9,14,2,5,60,124,
+  204,204,124,60,0,252,252,8,7,7,14,0,0,51,102,204,
+  204,204,102,51,8,4,4,14,0,2,255,255,3,3,8,2,
+  2,14,0,4,255,255,8,10,10,14,0,1,248,252,6,243,
+  251,219,243,251,222,204,5,2,2,14,2,9,248,248,6,6,
+  6,14,2,6,48,120,204,204,120,48,8,9,9,14,0,0,
+  24,24,24,255,255,24,24,255,255,4,6,6,14,2,8,96,
+  144,16,32,64,240,4,6,6,14,2,8,96,144,32,16,144,
+  96,4,4,4,14,3,9,48,112,224,192,8,11,11,14,0,
+  253,204,204,204,204,204,204,255,243,192,192,192,8,13,13,14,
+  0,0,63,127,219,219,219,219,127,63,27,27,27,27,27,3,
+  3,3,14,3,4,224,224,224,4,5,5,14,1,253,112,112,
+  48,96,192,3,6,6,14,3,8,192,64,64,64,64,224,6,
+  9,9,14,2,5,48,120,204,204,120,48,0,252,252,8,7,
+  7,14,0,0,204,102,51,51,51,102,204,9,14,28,14,0,
+  0,96,0,32,0,32,0,32,128,33,0,114,0,4,0,8,
+  0,17,0,35,0,69,0,137,0,15,128,1,0,9,14,28,
+  14,0,0,96,0,32,0,32,0,32,128,33,0,114,0,4,
+  0,8,0,19,0,36,128,64,128,129,0,2,0,7,128,9,
+  14,28,14,0,0,48,0,72,0,16,0,8,128,73,0,50,
+  0,4,0,8,0,17,0,35,0,69,0,137,0,15,128,1,
+  0,8,11,11,14,0,0,24,24,0,8,24,48,96,195,195,
+  126,60,8,14,14,14,0,0,96,48,24,24,60,60,102,102,
+  195,255,255,195,195,195,8,14,14,14,0,0,6,12,24,24,
+  60,60,102,102,195,255,255,195,195,195,8,14,14,14,0,0,
+  24,60,102,24,60,60,102,102,195,255,255,195,195,195,8,14,
+  14,14,0,0,115,219,142,24,60,60,102,102,195,255,255,195,
+  195,195,8,14,14,14,0,0,102,102,0,24,60,60,102,102,
+  195,255,255,195,195,195,8,14,14,14,0,0,24,60,36,60,
+  24,60,102,102,195,255,255,195,195,195,8,11,11,14,0,0,
+  63,127,216,216,252,252,216,216,216,223,223,8,14,14,14,0,
+  253,60,126,195,195,192,192,192,195,195,126,60,24,48,96,8,
+  14,14,14,0,0,96,48,24,255,255,192,192,252,252,192,192,
+  192,255,255,8,14,14,14,0,0,6,12,24,255,255,192,192,
+  252,252,192,192,192,255,255,8,14,14,14,0,0,24,60,102,
+  255,255,192,192,252,252,192,192,192,255,255,8,14,14,14,0,
+  0,102,102,0,255,255,192,192,252,252,192,192,192,255,255,8,
+  14,14,14,0,0,96,48,24,255,255,24,24,24,24,24,24,
+  24,255,255,8,14,14,14,0,0,6,12,24,255,255,24,24,
+  24,24,24,24,24,255,255,8,14,14,14,0,0,24,60,102,
+  255,255,24,24,24,24,24,24,24,255,255,8,14,14,14,0,
+  0,102,102,0,255,255,24,24,24,24,24,24,24,255,255,8,
+  11,11,14,0,0,124,126,99,99,243,243,99,99,99,126,124,
+  8,14,14,14,0,0,113,219,142,195,227,243,219,207,199,195,
+  195,195,195,195,8,14,14,14,0,0,96,48,24,60,126,195,
+  195,195,195,195,195,195,126,60,8,14,14,14,0,0,6,12,
+  24,60,126,195,195,195,195,195,195,195,126,60,8,14,14,14,
+  0,0,24,60,102,0,60,126,195,195,195,195,195,195,126,60,
+  8,14,14,14,0,0,113,219,142,60,126,195,195,195,195,195,
+  195,195,126,60,8,14,14,14,0,0,102,102,0,60,126,195,
+  195,195,195,195,195,195,126,60,8,7,7,14,0,2,195,102,
+  60,24,60,102,195,8,11,11,14,0,0,60,126,195,199,207,
+  219,243,227,195,126,60,8,14,14,14,0,0,96,48,24,195,
+  195,195,195,195,195,195,195,195,126,60,8,14,14,14,0,0,
+  6,12,24,195,195,195,195,195,195,195,195,195,126,60,8,14,
+  14,14,0,0,24,60,102,0,195,195,195,195,195,195,195,195,
+  126,60,8,14,14,14,0,0,102,102,0,195,195,195,195,195,
+  195,195,195,195,126,60,8,14,14,14,0,0,6,12,24,195,
+  195,195,195,231,126,60,24,24,24,24,8,11,11,14,0,0,
+  192,192,252,254,195,195,254,252,192,192,192,8,15,15,14,0,
+  254,28,62,99,195,195,198,204,204,198,195,195,222,220,192,192,
+  8,13,13,14,0,0,16,24,12,4,0,63,127,195,195,199,
+  207,123,51,8,13,13,14,0,0,4,12,24,16,0,63,127,
+  195,195,199,207,123,51,8,12,12,14,0,0,24,60,102,0,
+  63,127,195,195,199,207,123,51,8,12,12,14,0,0,113,219,
+  142,0,63,127,195,195,199,207,123,51,8,11,11,14,0,0,
+  102,102,0,63,127,195,195,199,207,123,51,8,12,12,14,0,
+  0,24,36,36,24,63,127,195,195,199,207,123,51,8,8,8,
+  14,0,0,60,126,219,223,223,216,127,63,8,11,11,14,0,
+  253,60,126,195,195,192,192,127,63,24,48,96,8,13,13,14,
+  0,0,32,48,24,8,0,60,126,195,255,255,192,127,63,8,
+  13,13,14,0,0,4,12,24,16,0,60,126,195,255,255,192,
+  127,63,8,12,12,14,0,0,24,60,102,0,60,126,195,255,
+  255,192,127,63,8,11,11,14,0,0,102,102,0,60,126,195,
+  255,255,192,127,63,6,13,13,14,1,0,128,192,96,32,0,
+  240,240,48,48,48,48,252,252,6,13,13,14,1,0,8,24,
+  48,32,0,240,240,48,48,48,48,252,252,6,12,12,14,1,
+  0,48,120,204,0,240,240,48,48,48,48,252,252,6,11,11,
+  14,1,0,204,204,0,240,240,48,48,48,48,252,252,8,13,
+  13,14,0,0,72,48,48,72,4,62,127,195,195,195,195,126,
+  60,8,12,12,14,0,0,113,219,142,0,204,222,243,227,195,
+  195,195,195,8,13,13,14,0,0,32,48,24,8,0,60,126,
+  195,195,195,195,126,60,8,13,13,14,0,0,4,12,24,16,
+  0,60,126,195,195,195,195,126,60,8,12,12,14,0,0,24,
+  60,102,0,60,126,195,195,195,195,126,60,8,12,12,14,0,
+  0,113,219,142,0,60,126,195,195,195,195,126,60,8,11,11,
+  14,0,0,102,102,0,60,126,195,195,195,195,126,60,8,8,
+  8,14,0,2,24,24,0,255,255,0,24,24,8,8,8,14,
+  0,0,60,126,199,207,243,227,126,60,8,13,13,14,0,0,
+  32,48,24,8,0,195,195,195,195,199,207,123,51,8,13,13,
+  14,0,0,4,12,24,16,0,195,195,195,195,199,207,123,51,
+  8,12,12,14,0,0,24,60,102,0,195,195,195,195,199,207,
+  123,51,8,11,11,14,0,0,102,102,0,195,195,195,195,199,
+  207,123,51,8,16,16,14,0,253,4,12,24,16,0,195,195,
+  195,195,195,195,127,63,3,62,60,8,14,14,14,0,253,192,
+  192,192,252,254,195,195,195,195,254,252,192,192,192,8,14,14,
+  14,0,253,102,102,0,195,195,195,195,195,195,127,63,3,62,
+  60};
+/*
+  Fontname: ProFont17
+  Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5
+  Capital A Height: 11, '1' Height: 11
+  Calculated Max Values w= 9 h=17 x= 3 y= 9 dx=14 dy= 0 ascent=14 len=32
+  Font Bounding box     w=14 h=16 x= 0 y=-3
+  Calculated Min Values           x= 0 y=-3 dx= 0 dy= 0
+  Pure Font   ascent =11 descent=-3
+  X Font      ascent =13 descent=-3
+  Max Font    ascent =14 descent=-3
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_profont17r[1590] U8G_FONT_SECTION("u8g_font_profont17r") = {
+  0,14,16,0,253,11,2,35,4,78,32,127,253,14,253,13,
+  253,0,0,0,14,0,0,2,11,11,14,3,0,192,192,192,
+  192,192,192,192,192,0,192,192,5,5,5,14,1,8,216,216,
+  216,216,216,7,7,7,14,1,3,108,254,254,108,254,254,108,
+  8,15,15,14,0,254,24,24,60,126,219,216,124,62,31,219,
+  219,126,60,24,24,8,11,11,14,0,0,63,127,219,222,124,
+  60,62,123,219,206,196,8,11,11,14,0,0,48,120,204,204,
+  216,112,243,222,204,254,123,2,5,5,14,3,8,192,192,192,
+  192,192,6,15,15,14,1,254,12,24,48,96,192,192,192,192,
+  192,192,192,96,48,24,12,6,15,15,14,1,254,192,96,48,
+  24,12,12,12,12,12,12,12,24,48,96,192,8,8,8,14,
+  0,3,24,219,255,60,60,255,219,24,8,8,8,14,0,1,
+  24,24,24,255,255,24,24,24,4,6,6,14,1,253,112,112,
+  112,48,96,192,5,2,2,14,1,4,248,248,3,3,3,14,
+  2,0,224,224,224,9,16,32,14,0,253,1,128,1,128,3,
+  0,3,0,6,0,6,0,12,0,12,0,24,0,24,0,48,
+  0,48,0,96,0,96,0,192,0,192,0,8,11,11,14,0,
+  0,60,126,195,199,207,219,243,227,195,126,60,8,11,11,14,
+  0,0,24,120,120,24,24,24,24,24,24,255,255,8,11,11,
+  14,0,0,60,126,195,195,6,12,24,48,96,255,255,8,11,
+  11,14,0,0,60,126,195,195,30,28,6,195,195,126,60,8,
+  11,11,14,0,0,6,14,30,54,102,198,255,255,6,15,15,
+  8,11,11,14,0,0,255,255,192,252,254,3,3,3,195,126,
+  60,8,11,11,14,0,0,62,126,192,252,254,195,195,195,195,
+  126,60,8,11,11,14,0,0,255,255,3,3,6,12,24,24,
+  24,24,24,8,11,11,14,0,0,60,126,195,195,126,60,126,
+  195,195,126,60,8,11,11,14,0,0,60,126,195,195,195,195,
+  127,63,3,126,124,3,8,8,14,2,0,224,224,224,0,0,
+  224,224,224,4,11,11,14,1,253,112,112,112,0,0,112,112,
+  112,48,96,192,7,11,11,14,1,0,6,12,24,48,96,192,
+  96,48,24,12,6,8,5,5,14,0,3,255,255,0,255,255,
+  7,11,11,14,1,0,192,96,48,24,12,6,12,24,48,96,
+  192,8,11,11,14,0,0,60,126,195,195,6,12,24,16,0,
+  24,24,8,11,11,14,0,0,60,126,195,207,223,219,223,206,
+  192,127,63,8,11,11,14,0,0,24,60,60,102,102,195,255,
+  255,195,195,195,8,11,11,14,0,0,252,254,195,195,254,252,
+  198,195,195,254,252,8,11,11,14,0,0,60,126,195,195,192,
+  192,192,195,195,126,60,8,11,11,14,0,0,252,254,195,195,
+  195,195,195,195,195,254,252,8,11,11,14,0,0,255,255,192,
+  192,252,252,192,192,192,255,255,8,11,11,14,0,0,255,255,
+  192,192,252,252,192,192,192,192,192,8,11,11,14,0,0,60,
+  126,195,195,192,207,207,195,195,126,60,8,11,11,14,0,0,
+  195,195,195,195,255,255,195,195,195,195,195,8,11,11,14,0,
+  0,255,255,24,24,24,24,24,24,24,255,255,8,11,11,14,
+  0,0,3,3,3,3,3,3,195,195,195,126,60,8,11,11,
+  14,0,0,195,198,204,216,240,224,240,216,204,198,195,8,11,
+  11,14,0,0,192,192,192,192,192,192,192,192,192,255,255,8,
+  11,11,14,0,0,195,231,255,255,219,219,219,195,195,195,195,
+  8,11,11,14,0,0,195,227,243,219,207,199,195,195,195,195,
+  195,8,11,11,14,0,0,60,126,195,195,195,195,195,195,195,
+  126,60,8,11,11,14,0,0,252,254,195,195,254,252,192,192,
+  192,192,192,8,13,13,14,0,254,60,126,195,195,195,195,195,
+  219,207,126,62,6,3,8,11,11,14,0,0,252,254,195,195,
+  254,252,198,195,195,195,195,8,11,11,14,0,0,60,126,195,
+  192,124,62,7,195,195,126,60,8,11,11,14,0,0,255,255,
+  24,24,24,24,24,24,24,24,24,8,11,11,14,0,0,195,
+  195,195,195,195,195,195,195,195,126,60,8,11,11,14,0,0,
+  195,195,195,195,195,102,102,60,60,24,24,8,11,11,14,0,
+  0,195,195,195,195,219,219,219,255,255,231,195,8,11,11,14,
+  0,0,195,195,195,102,60,24,60,102,195,195,195,8,11,11,
+  14,0,0,195,195,195,195,231,126,60,24,24,24,24,8,11,
+  11,14,0,0,255,255,3,6,12,24,48,96,192,255,255,4,
+  15,15,14,3,254,240,240,192,192,192,192,192,192,192,192,192,
+  192,192,240,240,9,16,32,14,0,253,192,0,192,0,96,0,
+  96,0,48,0,48,0,24,0,24,0,12,0,12,0,6,0,
+  6,0,3,0,3,0,1,128,1,128,4,15,15,14,1,254,
+  240,240,48,48,48,48,48,48,48,48,48,48,48,240,240,7,
+  5,5,14,1,6,16,56,108,198,130,9,2,4,14,0,253,
+  255,128,255,128,3,4,4,14,1,9,128,192,96,32,8,8,
+  8,14,0,0,63,127,195,195,199,207,123,51,8,11,11,14,
+  0,0,192,192,192,252,254,195,195,195,195,254,252,8,8,8,
+  14,0,0,60,126,195,195,192,192,127,63,8,11,11,14,0,
+  0,3,3,3,63,127,195,195,195,195,127,63,8,8,8,14,
+  0,0,60,126,195,255,255,192,127,63,6,11,11,14,2,0,
+  28,60,96,240,240,96,96,96,96,96,96,8,11,11,14,0,
+  253,63,127,195,195,195,195,127,63,3,62,60,8,11,11,14,
+  0,0,192,192,192,252,254,195,195,195,195,195,195,6,11,11,
+  14,1,0,48,48,0,240,240,48,48,48,48,252,252,5,14,
+  14,14,0,253,24,24,0,120,120,24,24,24,24,24,24,24,
+  240,224,8,11,11,14,0,0,192,192,192,198,204,216,240,248,
+  204,198,195,6,11,11,14,1,0,240,240,48,48,48,48,48,
+  48,48,252,252,8,8,8,14,0,0,252,254,219,219,219,219,
+  219,219,8,8,8,14,0,0,204,222,243,227,195,195,195,195,
+  8,8,8,14,0,0,60,126,195,195,195,195,126,60,8,11,
+  11,14,0,253,252,254,195,195,195,195,254,252,192,192,192,8,
+  11,11,14,0,253,63,127,195,195,195,195,127,63,3,3,3,
+  8,8,8,14,0,0,204,222,243,227,192,192,192,192,8,8,
+  8,14,0,0,63,255,192,252,63,3,255,252,6,11,11,14,
+  2,0,96,96,96,240,240,96,96,96,96,60,28,8,8,8,
+  14,0,0,195,195,195,195,199,207,123,51,8,8,8,14,0,
+  0,195,195,195,102,102,60,60,24,8,8,8,14,0,0,219,
+  219,219,219,219,219,255,102,8,8,8,14,0,0,195,102,60,
+  24,24,60,102,195,8,11,11,14,0,253,195,195,195,195,195,
+  195,127,63,3,62,60,7,8,8,14,0,0,254,254,12,24,
+  48,96,254,254,5,17,17,14,1,253,24,56,48,48,48,48,
+  48,96,192,96,48,48,48,48,48,56,24,2,15,15,14,3,
+  254,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,
+  5,17,17,14,2,253,192,224,96,96,96,96,96,48,24,48,
+  96,96,96,96,96,224,192,8,3,3,14,0,5,113,219,142,
+  0,0,0,14,0,0};
+/*
+  Fontname: ProFont22
+  Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5
+  Capital A Height: 14, '1' Height: 14
+  Calculated Max Values w=12 h=22 x= 6 y=12 dx=12 dy= 0 ascent=18 len=44
+  Font Bounding box     w=12 h=21 x= 0 y=-4
+  Calculated Min Values           x= 0 y=-4 dx= 0 dy= 0
+  Pure Font   ascent =14 descent=-4
+  X Font      ascent =16 descent=-4
+  Max Font    ascent =18 descent=-4
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_profont22[6454] U8G_FONT_SECTION("u8g_font_profont22") = {
+  0,12,21,0,252,14,3,117,7,113,32,255,252,18,252,16,
+  252,0,0,0,12,0,0,2,14,14,12,4,0,192,192,192,
+  192,192,192,192,192,192,192,0,0,192,192,6,6,6,12,2,
+  10,204,204,204,204,204,204,10,10,20,12,0,4,51,0,51,
+  0,255,192,255,192,51,0,51,0,255,192,255,192,51,0,51,
+  0,10,18,36,12,0,254,12,0,12,0,63,0,127,128,237,
+  192,204,192,204,0,236,0,127,0,63,128,13,192,12,192,204,
+  192,237,192,127,128,63,0,12,0,12,0,10,14,28,12,0,
+  0,63,192,127,192,204,192,205,192,207,128,207,0,127,0,63,
+  128,60,192,124,192,236,192,204,192,199,128,195,0,10,14,28,
+  12,0,0,62,0,127,0,227,0,199,0,206,0,252,0,120,
+  0,120,0,252,192,207,192,199,128,231,128,127,192,60,192,2,
+  6,6,12,4,10,192,192,192,192,192,192,6,18,18,12,2,
+  254,12,28,56,112,224,192,192,192,192,192,192,192,192,224,112,
+  56,28,12,6,18,18,12,2,254,192,224,112,56,28,12,12,
+  12,12,12,12,12,12,28,56,112,224,192,10,10,20,12,0,
+  4,12,0,12,0,204,192,255,192,63,0,63,0,255,192,204,
+  192,12,0,12,0,10,10,20,12,0,2,12,0,12,0,12,
+  0,12,0,255,192,255,192,12,0,12,0,12,0,12,0,5,
+  9,9,12,2,252,48,120,120,56,24,56,112,224,64,6,2,
+  2,12,2,6,252,252,4,4,4,12,3,1,96,240,240,96,
+  11,20,40,12,0,252,0,96,0,96,0,192,0,192,1,128,
+  1,128,3,0,3,0,6,0,6,0,12,0,12,0,24,0,
+  24,0,48,0,48,0,96,0,96,0,192,0,192,0,10,14,
+  28,12,0,0,63,0,127,128,225,192,193,192,195,192,199,192,
+  206,192,220,192,248,192,240,192,224,192,225,192,127,128,63,0,
+  10,14,28,12,0,0,12,0,12,0,124,0,124,0,12,0,
+  12,0,12,0,12,0,12,0,12,0,12,0,12,0,255,192,
+  255,192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,
+  0,192,1,192,3,128,7,0,14,0,28,0,56,0,112,0,
+  255,192,255,192,10,14,28,12,0,0,63,0,127,128,225,192,
+  192,192,0,192,1,128,15,0,15,128,1,192,0,192,192,192,
+  225,192,127,128,63,0,10,14,28,12,0,0,3,0,7,0,
+  15,0,31,0,59,0,115,0,227,0,195,0,255,192,255,192,
+  3,0,3,0,15,192,15,192,10,14,28,12,0,0,255,192,
+  255,192,192,0,192,0,255,0,255,128,1,192,0,192,0,192,
+  0,192,192,192,225,192,127,128,63,0,10,14,28,12,0,0,
+  63,0,127,0,224,0,192,0,255,0,255,128,193,192,192,192,
+  192,192,192,192,192,192,225,192,127,128,63,0,10,14,28,12,
+  0,0,255,192,255,192,0,192,0,192,0,192,1,192,3,128,
+  7,0,14,0,12,0,12,0,12,0,12,0,12,0,10,14,
+  28,12,0,0,63,0,127,128,225,192,192,192,192,192,97,128,
+  63,0,127,128,225,192,192,192,192,192,225,192,127,128,63,0,
+  10,14,28,12,0,0,63,0,127,128,225,192,192,192,192,192,
+  192,192,192,192,224,192,127,192,63,192,0,192,1,192,63,128,
+  63,0,4,10,10,12,3,1,96,240,240,96,0,0,96,240,
+  240,96,5,15,15,12,2,252,48,120,120,48,0,0,48,120,
+  120,56,24,56,112,224,64,8,14,14,12,2,0,3,7,14,
+  28,56,112,224,224,112,56,28,14,7,3,10,6,12,12,0,
+  4,255,192,255,192,0,0,0,0,255,192,255,192,8,14,14,
+  12,2,0,192,224,112,56,28,14,7,7,14,28,56,112,224,
+  192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,0,
+  192,1,192,3,128,7,0,14,0,12,0,0,0,0,0,12,
+  0,12,0,10,14,28,12,0,0,63,0,127,128,225,192,192,
+  192,199,192,207,192,204,192,204,192,207,192,199,128,192,0,224,
+  0,127,192,63,192,10,14,28,12,0,0,12,0,30,0,30,
+  0,51,0,51,0,97,128,97,128,192,192,255,192,255,192,192,
+  192,192,192,192,192,192,192,10,14,28,12,0,0,255,0,255,
+  128,193,192,192,192,192,192,193,128,255,0,255,128,193,192,192,
+  192,192,192,193,192,255,128,255,0,10,14,28,12,0,0,63,
+  0,127,128,225,192,192,192,192,0,192,0,192,0,192,0,192,
+  0,192,0,192,192,225,192,127,128,63,0,10,14,28,12,0,
+  0,255,0,255,128,193,192,192,192,192,192,192,192,192,192,192,
+  192,192,192,192,192,192,192,193,192,255,128,255,0,10,14,28,
+  12,0,0,255,192,255,192,192,0,192,0,192,0,192,0,255,
+  0,255,0,192,0,192,0,192,0,192,0,255,192,255,192,10,
+  14,28,12,0,0,255,192,255,192,192,0,192,0,192,0,192,
+  0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192,
+  0,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192,
+  0,192,0,195,192,195,192,192,192,192,192,192,192,225,192,127,
+  128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192,
+  192,192,192,192,192,255,192,255,192,192,192,192,192,192,192,192,
+  192,192,192,192,192,10,14,28,12,0,0,255,192,255,192,12,
+  0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,
+  0,12,0,255,192,255,192,10,14,28,12,0,0,0,192,0,
+  192,0,192,0,192,0,192,0,192,0,192,0,192,192,192,192,
+  192,192,192,225,192,127,128,63,0,10,14,28,12,0,0,193,
+  192,195,128,199,0,206,0,220,0,248,0,240,0,248,0,220,
+  0,206,0,199,0,195,128,193,192,192,192,10,14,28,12,0,
+  0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,
+  0,192,0,192,0,192,0,192,0,255,192,255,192,10,14,28,
+  12,0,0,192,192,225,192,243,192,255,192,222,192,204,192,204,
+  192,204,192,192,192,192,192,192,192,192,192,192,192,192,192,10,
+  14,28,12,0,0,192,192,224,192,240,192,248,192,220,192,206,
+  192,199,192,195,192,193,192,192,192,192,192,192,192,192,192,192,
+  192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192,
+  192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127,
+  128,63,0,10,14,28,12,0,0,255,0,255,128,193,192,192,
+  192,192,192,193,192,255,128,255,0,192,0,192,0,192,0,192,
+  0,192,0,192,0,10,16,32,12,0,254,63,0,127,128,225,
+  192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,204,
+  192,239,192,127,128,63,128,1,192,0,192,10,14,28,12,0,
+  0,255,0,255,128,193,192,192,192,192,192,193,128,255,0,255,
+  128,193,192,192,192,192,192,192,192,192,192,192,192,10,14,28,
+  12,0,0,63,0,127,128,225,192,192,192,192,0,224,0,127,
+  0,63,128,1,192,0,192,192,192,225,192,127,128,63,0,10,
+  14,28,12,0,0,255,192,255,192,12,0,12,0,12,0,12,
+  0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,
+  0,10,14,28,12,0,0,192,192,192,192,192,192,192,192,192,
+  192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127,
+  128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192,
+  192,192,192,192,192,97,128,97,128,51,0,51,0,30,0,30,
+  0,12,0,12,0,10,14,28,12,0,0,192,192,192,192,192,
+  192,192,192,192,192,192,192,204,192,204,192,204,192,222,192,255,
+  192,243,192,225,192,192,192,10,14,28,12,0,0,192,192,192,
+  192,192,192,225,192,115,128,63,0,30,0,30,0,63,0,115,
+  128,225,192,192,192,192,192,192,192,10,14,28,12,0,0,192,
+  192,192,192,192,192,192,192,192,192,225,192,115,128,63,0,30,
+  0,12,0,12,0,12,0,12,0,12,0,10,14,28,12,0,
+  0,255,192,255,192,0,192,1,192,3,128,7,0,14,0,28,
+  0,56,0,112,0,224,0,192,0,255,192,255,192,4,18,18,
+  12,4,254,240,240,192,192,192,192,192,192,192,192,192,192,192,
+  192,192,192,240,240,11,20,40,12,1,252,192,0,192,0,96,
+  0,96,0,48,0,48,0,24,0,24,0,12,0,12,0,6,
+  0,6,0,3,0,3,0,1,128,1,128,0,192,0,192,0,
+  96,0,96,4,18,18,12,2,254,240,240,48,48,48,48,48,
+  48,48,48,48,48,48,48,48,48,240,240,10,6,12,12,0,
+  8,12,0,30,0,63,0,115,128,225,192,64,128,12,2,4,
+  12,0,252,255,240,255,240,4,4,4,12,2,12,192,224,112,
+  48,10,10,20,12,0,0,63,192,127,192,224,192,192,192,192,
+  192,193,192,195,192,231,192,126,192,60,192,10,14,28,12,0,
+  0,192,0,192,0,192,0,192,0,255,0,255,128,193,192,192,
+  192,192,192,192,192,192,192,193,192,255,128,255,0,10,10,20,
+  12,0,0,63,0,127,128,225,192,192,192,192,0,192,0,192,
+  0,224,0,127,192,63,192,10,14,28,12,0,0,0,192,0,
+  192,0,192,0,192,63,192,127,192,224,192,192,192,192,192,192,
+  192,192,192,224,192,127,192,63,192,10,10,20,12,0,0,63,
+  0,127,128,225,192,192,192,255,192,255,192,192,0,224,0,127,
+  192,63,192,8,14,14,12,2,0,15,31,56,48,252,252,48,
+  48,48,48,48,48,48,48,10,14,28,12,0,252,63,192,127,
+  192,224,192,192,192,192,192,192,192,192,192,224,192,127,192,63,
+  192,0,192,1,192,63,128,63,0,10,14,28,12,0,0,192,
+  0,192,0,192,0,192,0,255,0,255,128,193,192,192,192,192,
+  192,192,192,192,192,192,192,192,192,192,192,6,14,14,12,2,
+  0,48,48,0,0,240,240,48,48,48,48,48,48,252,252,6,
+  18,18,12,0,252,12,12,0,0,60,60,12,12,12,12,12,
+  12,12,12,12,28,248,240,10,14,28,12,0,0,192,0,192,
+  0,192,0,192,0,195,128,199,0,206,0,220,0,252,0,254,
+  0,231,0,195,128,193,192,192,192,6,14,14,12,2,0,240,
+  240,48,48,48,48,48,48,48,48,48,48,252,252,10,10,20,
+  12,0,0,255,0,255,128,205,192,204,192,204,192,204,192,204,
+  192,204,192,204,192,204,192,10,10,20,12,0,0,207,0,223,
+  128,249,192,240,192,224,192,192,192,192,192,192,192,192,192,192,
+  192,10,10,20,12,0,0,63,0,127,128,225,192,192,192,192,
+  192,192,192,192,192,225,192,127,128,63,0,10,14,28,12,0,
+  252,255,0,255,128,193,192,192,192,192,192,192,192,192,192,193,
+  192,255,128,255,0,192,0,192,0,192,0,192,0,10,14,28,
+  12,0,252,63,192,127,192,224,192,192,192,192,192,192,192,192,
+  192,224,192,127,192,63,192,0,192,0,192,0,192,0,192,10,
+  10,20,12,0,0,207,0,223,128,249,192,240,192,224,0,192,
+  0,192,0,192,0,192,0,192,0,10,10,20,12,0,0,63,
+  192,127,192,192,0,192,0,127,0,63,128,0,192,0,192,255,
+  128,255,0,8,14,14,12,2,0,48,48,48,48,252,252,48,
+  48,48,48,48,56,31,15,10,10,20,12,0,0,192,192,192,
+  192,192,192,192,192,192,192,193,192,195,192,231,192,126,192,60,
+  192,10,10,20,12,0,0,192,192,192,192,192,192,97,128,97,
+  128,51,128,51,0,30,0,30,0,12,0,10,10,20,12,0,
+  0,204,192,204,192,204,192,204,192,204,192,204,192,204,192,204,
+  192,127,128,51,0,10,10,20,12,0,0,192,192,225,192,115,
+  128,63,0,30,0,30,0,63,0,115,128,225,192,192,192,10,
+  14,28,12,0,252,192,192,192,192,192,192,192,192,192,192,192,
+  192,192,192,224,192,127,192,63,192,0,192,1,192,63,128,63,
+  0,10,10,20,12,0,0,255,192,255,192,3,128,7,0,14,
+  0,28,0,56,0,112,0,255,192,255,192,6,22,22,12,2,
+  252,12,28,56,48,48,48,48,48,48,112,224,224,112,48,48,
+  48,48,48,48,56,28,12,2,18,18,12,4,254,192,192,192,
+  192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,6,
+  22,22,12,2,252,192,224,112,48,48,48,48,48,48,56,28,
+  28,56,48,48,48,48,48,48,112,224,192,10,4,8,12,0,
+  6,48,192,124,192,207,128,195,0,0,0,0,12,0,0,0,
+  0,0,12,0,0,0,0,0,12,0,0,4,7,7,12,0,
+  253,48,48,48,48,112,224,64,10,22,44,12,0,252,3,192,
+  7,192,14,0,12,0,12,0,12,0,12,0,12,0,63,0,
+  63,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,
+  12,0,12,0,28,0,248,0,240,0,8,7,7,12,0,253,
+  51,51,51,51,119,238,68,10,2,4,12,0,0,204,192,204,
+  192,6,10,10,12,2,4,48,48,252,252,48,48,48,48,48,
+  48,6,10,10,12,2,4,48,48,252,252,48,48,252,252,48,
+  48,6,4,4,12,2,12,48,120,252,204,12,16,32,12,0,
+  0,63,240,127,240,204,224,205,192,207,128,207,0,126,0,60,
+  0,60,192,127,224,243,48,243,48,179,48,51,48,31,224,12,
+  192,10,18,36,12,0,0,51,0,63,0,30,0,12,0,63,
+  0,127,128,225,192,192,192,192,0,224,0,127,0,63,128,1,
+  192,0,192,192,192,225,192,127,128,63,0,4,10,10,12,0,
+  255,48,112,96,224,192,192,224,96,112,48,10,14,28,12,0,
+  0,63,192,127,192,236,0,204,0,204,0,204,0,207,0,207,
+  0,204,0,204,0,204,0,236,0,127,192,63,192,0,0,0,
+  12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,
+  0,0,12,0,0,4,7,7,12,4,8,32,112,224,192,192,
+  192,192,4,7,7,12,4,7,48,48,48,48,112,224,64,8,
+  7,7,12,2,8,34,119,238,204,204,204,204,8,7,7,12,
+  2,7,51,51,51,51,119,238,68,10,10,20,12,0,2,30,
+  0,127,128,127,128,255,192,255,192,255,192,255,192,127,128,127,
+  128,30,0,6,2,2,12,2,6,252,252,12,2,4,12,0,
+  6,255,240,255,240,10,4,8,12,0,12,48,192,124,192,207,
+  128,195,0,12,6,12,12,0,8,255,48,255,240,51,240,51,
+  240,51,48,51,48,10,16,32,12,0,0,51,0,63,0,30,
+  0,12,0,0,0,0,0,63,192,127,192,192,0,192,0,127,
+  0,63,128,0,192,0,192,255,128,255,0,4,10,10,12,0,
+  255,192,224,96,112,48,48,112,96,224,192,10,10,20,12,0,
+  0,51,0,127,128,204,192,204,192,207,192,207,192,204,0,204,
+  0,127,192,51,192,0,0,0,12,0,0,0,0,0,12,0,
+  0,10,18,36,12,0,0,51,0,51,0,0,0,0,0,192,
+  192,192,192,192,192,192,192,192,192,225,192,115,128,63,0,30,
+  0,12,0,12,0,12,0,12,0,12,0,0,0,0,12,0,
+  0,2,14,14,12,6,0,192,192,0,0,192,192,192,192,192,
+  192,192,192,192,192,10,14,28,12,0,254,12,0,12,0,63,
+  0,127,128,237,192,204,192,204,0,204,0,204,0,236,0,127,
+  192,63,192,12,0,12,0,10,16,32,12,0,0,60,0,126,
+  0,231,0,195,0,192,0,192,0,252,0,252,0,192,0,192,
+  0,192,0,192,0,192,192,193,192,255,128,255,0,10,10,20,
+  12,0,0,64,128,225,192,127,128,63,0,51,0,51,0,63,
+  0,127,128,225,192,64,128,10,14,28,12,0,0,192,192,225,
+  192,115,128,63,0,255,192,255,192,12,0,12,0,255,192,255,
+  192,12,0,12,0,12,0,12,0,2,18,18,12,4,254,192,
+  192,192,192,192,192,192,192,0,0,192,192,192,192,192,192,192,
+  192,10,20,40,12,0,254,31,0,127,128,97,192,224,192,112,
+  192,56,192,220,0,206,0,199,0,227,128,113,192,56,192,28,
+  192,14,192,199,0,195,128,193,192,225,128,127,128,62,0,6,
+  2,2,12,2,12,204,204,10,14,28,12,0,0,120,0,254,
+  0,135,0,1,128,61,128,124,192,192,192,192,192,124,192,61,
+  128,1,128,135,0,254,0,120,0,8,12,12,12,2,6,63,
+  127,227,195,195,227,127,63,0,0,255,255,10,10,20,12,0,
+  255,48,192,113,192,97,128,227,128,195,0,195,0,227,128,97,
+  128,113,192,48,192,10,6,12,12,0,2,255,192,255,192,0,
+  192,0,192,0,192,0,192,10,2,4,12,0,6,255,192,255,
+  192,10,12,24,12,0,2,120,0,254,0,135,0,1,128,241,
+  128,248,192,204,192,204,192,248,192,249,192,223,128,207,0,6,
+  2,2,12,2,12,252,252,8,8,8,12,2,8,60,126,231,
+  195,195,231,126,60,10,12,24,12,0,0,12,0,12,0,12,
+  0,12,0,255,192,255,192,12,0,12,0,12,0,12,0,255,
+  192,255,192,5,7,7,12,3,11,112,136,8,16,32,64,248,
+  5,7,7,12,3,11,112,136,8,48,8,136,112,4,4,4,
+  12,4,12,48,112,224,192,10,14,28,12,0,252,195,0,195,
+  0,195,0,195,0,195,0,195,0,195,0,199,128,255,192,252,
+  192,192,0,192,0,192,0,192,0,10,16,32,12,0,0,31,
+  192,127,192,124,192,236,192,204,192,204,192,236,192,124,192,127,
+  192,31,192,12,192,12,192,12,192,12,192,12,192,12,192,4,
+  4,4,12,4,4,96,240,240,96,4,6,6,12,2,252,240,
+  240,48,112,224,64,5,7,7,12,3,11,32,224,32,32,32,
+  32,248,8,12,12,12,2,6,60,126,231,195,195,231,126,60,
+  0,0,255,255,10,10,20,12,0,255,195,0,227,128,97,128,
+  113,192,48,192,48,192,113,192,97,128,227,128,195,0,12,18,
+  36,12,0,0,16,0,112,0,16,0,16,0,16,16,16,32,
+  124,64,0,128,1,0,2,0,4,0,8,64,16,192,33,64,
+  66,64,131,224,0,64,0,224,12,18,36,12,0,0,16,0,
+  112,0,16,0,16,0,16,16,16,32,124,64,0,128,1,0,
+  2,0,4,0,9,192,18,32,32,32,64,64,128,128,1,0,
+  3,224,12,18,36,12,0,0,56,0,68,0,4,0,24,0,
+  4,16,68,32,56,64,0,128,1,0,2,0,4,0,8,64,
+  16,192,33,64,66,64,131,224,0,64,0,224,10,14,28,12,
+  0,0,12,0,12,0,0,0,0,0,12,0,28,0,56,0,
+  112,0,224,0,192,0,192,192,225,192,127,128,63,0,10,18,
+  36,12,0,0,48,0,56,0,28,0,12,0,12,0,30,0,
+  30,0,51,0,51,0,97,128,97,128,192,192,255,192,255,192,
+  192,192,192,192,192,192,192,192,10,18,36,12,0,0,3,0,
+  7,0,14,0,12,0,12,0,30,0,30,0,51,0,51,0,
+  97,128,97,128,192,192,255,192,255,192,192,192,192,192,192,192,
+  192,192,10,18,36,12,0,0,12,0,30,0,63,0,51,0,
+  12,0,30,0,30,0,51,0,51,0,97,128,97,128,192,192,
+  255,192,255,192,192,192,192,192,192,192,192,192,10,18,36,12,
+  0,0,48,192,124,192,207,128,195,0,12,0,30,0,30,0,
+  51,0,51,0,97,128,97,128,192,192,255,192,255,192,192,192,
+  192,192,192,192,192,192,10,18,36,12,0,0,51,0,51,0,
+  0,0,0,0,12,0,30,0,30,0,51,0,51,0,97,128,
+  97,128,192,192,255,192,255,192,192,192,192,192,192,192,192,192,
+  10,18,36,12,0,0,12,0,30,0,51,0,51,0,30,0,
+  30,0,30,0,51,0,51,0,97,128,97,128,192,192,255,192,
+  255,192,192,192,192,192,192,192,192,192,10,14,28,12,0,0,
+  63,192,127,192,236,0,204,0,204,0,204,0,255,0,255,0,
+  204,0,204,0,204,0,204,0,207,192,207,192,10,18,36,12,
+  0,252,63,0,127,128,225,192,192,192,192,0,192,0,192,0,
+  192,0,192,0,192,0,192,192,225,192,127,128,63,0,12,0,
+  28,0,56,0,16,0,10,18,36,12,0,0,48,0,56,0,
+  28,0,12,0,255,192,255,192,192,0,192,0,192,0,192,0,
+  255,0,255,0,192,0,192,0,192,0,192,0,255,192,255,192,
+  10,18,36,12,0,0,3,0,7,0,14,0,12,0,255,192,
+  255,192,192,0,192,0,192,0,192,0,255,0,255,0,192,0,
+  192,0,192,0,192,0,255,192,255,192,10,18,36,12,0,0,
+  12,0,30,0,63,0,51,0,255,192,255,192,192,0,192,0,
+  192,0,192,0,255,0,255,0,192,0,192,0,192,0,192,0,
+  255,192,255,192,10,18,36,12,0,0,51,0,51,0,0,0,
+  0,0,255,192,255,192,192,0,192,0,192,0,192,0,255,0,
+  255,0,192,0,192,0,192,0,192,0,255,192,255,192,10,18,
+  36,12,0,0,48,0,56,0,28,0,12,0,255,192,255,192,
+  12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,
+  12,0,12,0,255,192,255,192,10,18,36,12,0,0,3,0,
+  7,0,14,0,12,0,255,192,255,192,12,0,12,0,12,0,
+  12,0,12,0,12,0,12,0,12,0,12,0,12,0,255,192,
+  255,192,10,18,36,12,0,0,12,0,30,0,63,0,51,0,
+  255,192,255,192,12,0,12,0,12,0,12,0,12,0,12,0,
+  12,0,12,0,12,0,12,0,255,192,255,192,10,18,36,12,
+  0,0,51,0,51,0,0,0,0,0,255,192,255,192,12,0,
+  12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,
+  12,0,255,192,255,192,10,14,28,12,0,0,63,0,63,128,
+  49,192,48,192,48,192,48,192,252,192,252,192,48,192,48,192,
+  48,192,49,192,63,128,63,0,10,18,36,12,0,0,48,192,
+  124,192,207,128,199,0,192,192,224,192,240,192,248,192,220,192,
+  206,192,199,192,195,192,193,192,192,192,192,192,192,192,192,192,
+  192,192,10,18,36,12,0,0,48,0,56,0,28,0,12,0,
+  63,0,127,128,225,192,192,192,192,192,192,192,192,192,192,192,
+  192,192,192,192,192,192,225,192,127,128,63,0,10,18,36,12,
+  0,0,3,0,7,0,14,0,12,0,63,0,127,128,225,192,
+  192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,
+  225,192,127,128,63,0,10,18,36,12,0,0,12,0,30,0,
+  63,0,51,0,0,0,63,0,127,128,225,192,192,192,192,192,
+  192,192,192,192,192,192,192,192,192,192,225,192,127,128,63,0,
+  10,18,36,12,0,0,48,192,124,192,207,128,199,0,63,0,
+  127,128,225,192,192,192,192,192,192,192,192,192,192,192,192,192,
+  192,192,192,192,225,192,127,128,63,0,10,18,36,12,0,0,
+  51,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192,
+  192,192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,
+  127,128,63,0,10,10,20,12,0,2,64,128,225,192,115,128,
+  63,0,30,0,30,0,63,0,115,128,225,192,64,128,10,14,
+  28,12,0,0,63,0,127,128,225,192,193,192,195,192,199,192,
+  206,192,220,192,248,192,240,192,224,192,225,192,127,128,63,0,
+  10,18,36,12,0,0,48,0,56,0,28,0,12,0,192,192,
+  192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,
+  192,192,192,192,225,192,127,128,63,0,10,18,36,12,0,0,
+  3,0,7,0,14,0,12,0,192,192,192,192,192,192,192,192,
+  192,192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,
+  127,128,63,0,10,18,36,12,0,0,12,0,30,0,63,0,
+  51,0,0,0,192,192,192,192,192,192,192,192,192,192,192,192,
+  192,192,192,192,192,192,192,192,225,192,127,128,63,0,10,18,
+  36,12,0,0,51,0,51,0,0,0,0,0,192,192,192,192,
+  192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,
+  192,192,225,192,127,128,63,0,10,18,36,12,0,0,3,0,
+  7,0,14,0,12,0,192,192,192,192,192,192,192,192,192,192,
+  225,192,115,128,63,0,30,0,12,0,12,0,12,0,12,0,
+  12,0,10,14,28,12,0,0,192,0,192,0,255,0,255,128,
+  193,192,192,192,192,192,193,192,255,128,255,0,192,0,192,0,
+  192,0,192,0,10,18,36,12,0,254,15,0,31,128,57,192,
+  112,192,224,192,193,192,195,128,195,0,195,0,195,128,193,192,
+  192,192,192,192,193,192,207,128,207,0,192,0,192,0,10,16,
+  32,12,0,0,12,0,14,0,7,0,3,0,0,0,0,0,
+  63,192,127,192,224,192,192,192,192,192,193,192,195,192,231,192,
+  126,192,60,192,10,16,32,12,0,0,3,0,7,0,14,0,
+  12,0,0,0,0,0,63,192,127,192,224,192,192,192,192,192,
+  193,192,195,192,231,192,126,192,60,192,10,16,32,12,0,0,
+  12,0,30,0,63,0,51,0,0,0,0,0,63,192,127,192,
+  224,192,192,192,192,192,193,192,195,192,231,192,126,192,60,192,
+  10,16,32,12,0,0,48,192,124,192,207,128,199,0,0,0,
+  0,0,63,192,127,192,224,192,192,192,192,192,193,192,195,192,
+  231,192,126,192,60,192,10,14,28,12,0,0,51,0,51,0,
+  0,0,0,0,63,192,127,192,224,192,192,192,192,192,193,192,
+  195,192,231,192,126,192,60,192,10,16,32,12,0,0,12,0,
+  30,0,51,0,51,0,30,0,12,0,63,192,127,192,224,192,
+  192,192,192,192,193,192,195,192,231,192,126,192,60,192,10,10,
+  20,12,0,0,63,0,127,128,237,192,204,192,207,192,207,192,
+  204,0,236,0,127,192,63,192,10,14,28,12,0,252,63,0,
+  127,128,225,192,192,192,192,0,192,0,192,0,224,0,127,192,
+  63,192,12,0,28,0,56,0,16,0,10,16,32,12,0,0,
+  48,0,56,0,28,0,12,0,0,0,0,0,63,0,127,128,
+  225,192,192,192,255,192,255,192,192,0,224,0,127,192,63,192,
+  10,16,32,12,0,0,3,0,7,0,14,0,12,0,0,0,
+  0,0,63,0,127,128,225,192,192,192,255,192,255,192,192,0,
+  224,0,127,192,63,192,10,16,32,12,0,0,12,0,30,0,
+  63,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192,
+  255,192,255,192,192,0,224,0,127,192,63,192,10,14,28,12,
+  0,0,51,0,51,0,0,0,0,0,63,0,127,128,225,192,
+  192,192,255,192,255,192,192,0,224,0,127,192,63,192,6,16,
+  16,12,2,0,192,224,112,48,0,0,240,240,48,48,48,48,
+  48,48,252,252,6,16,16,12,2,0,12,28,56,48,0,0,
+  240,240,48,48,48,48,48,48,252,252,6,16,16,12,2,0,
+  48,120,252,204,0,0,240,240,48,48,48,48,48,48,252,252,
+  6,14,14,12,2,0,204,204,0,0,240,240,48,48,48,48,
+  48,48,252,252,10,17,34,12,0,0,36,0,126,0,60,0,
+  60,0,126,0,39,0,3,128,63,192,127,192,225,192,192,192,
+  192,192,192,192,192,192,225,192,127,128,63,0,10,16,32,12,
+  0,0,48,192,124,192,207,128,199,0,0,0,0,0,207,0,
+  223,128,249,192,240,192,224,192,192,192,192,192,192,192,192,192,
+  192,192,10,16,32,12,0,0,48,0,56,0,28,0,12,0,
+  0,0,0,0,63,0,127,128,225,192,192,192,192,192,192,192,
+  192,192,225,192,127,128,63,0,10,16,32,12,0,0,3,0,
+  7,0,14,0,12,0,0,0,0,0,63,0,127,128,225,192,
+  192,192,192,192,192,192,192,192,225,192,127,128,63,0,10,16,
+  32,12,0,0,12,0,30,0,63,0,51,0,0,0,0,0,
+  63,0,127,128,225,192,192,192,192,192,192,192,192,192,225,192,
+  127,128,63,0,10,16,32,12,0,0,48,192,124,192,207,128,
+  199,0,0,0,0,0,63,0,127,128,225,192,192,192,192,192,
+  192,192,192,192,225,192,127,128,63,0,10,14,28,12,0,0,
+  51,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192,
+  192,192,192,192,192,192,225,192,127,128,63,0,10,10,20,12,
+  0,2,12,0,12,0,0,0,0,0,255,192,255,192,0,0,
+  0,0,12,0,12,0,10,10,20,12,0,0,63,0,127,128,
+  227,192,199,192,206,192,220,192,248,192,241,192,127,128,63,0,
+  10,16,32,12,0,0,48,0,56,0,28,0,12,0,0,0,
+  0,0,192,192,192,192,192,192,192,192,192,192,193,192,195,192,
+  231,192,126,192,60,192,10,16,32,12,0,0,3,0,7,0,
+  14,0,12,0,0,0,0,0,192,192,192,192,192,192,192,192,
+  192,192,193,192,195,192,231,192,126,192,60,192,10,16,32,12,
+  0,0,12,0,30,0,63,0,51,0,0,0,0,0,192,192,
+  192,192,192,192,192,192,192,192,193,192,195,192,231,192,126,192,
+  60,192,10,14,28,12,0,0,51,0,51,0,0,0,0,0,
+  192,192,192,192,192,192,192,192,192,192,193,192,195,192,231,192,
+  126,192,60,192,10,20,40,12,0,252,3,0,7,0,14,0,
+  12,0,0,0,0,0,192,192,192,192,192,192,192,192,192,192,
+  192,192,192,192,224,192,127,192,63,192,0,192,1,192,63,128,
+  63,0,10,18,36,12,0,252,192,0,192,0,192,0,192,0,
+  255,0,255,128,193,192,192,192,192,192,192,192,192,192,193,192,
+  255,128,255,0,192,0,192,0,192,0,192,0,10,18,36,12,
+  0,252,51,0,51,0,0,0,0,0,192,192,192,192,192,192,
+  192,192,192,192,192,192,192,192,224,192,127,192,63,192,0,192,
+  1,192,63,128,63,0};
+/*
+  Fontname: ProFont22
+  Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5
+  Capital A Height: 14, '1' Height: 14
+  Calculated Max Values w=12 h=22 x= 4 y=12 dx=12 dy= 0 ascent=18 len=40
+  Font Bounding box     w=12 h=21 x= 0 y=-4
+  Calculated Min Values           x= 0 y=-4 dx= 0 dy= 0
+  Pure Font   ascent =14 descent=-4
+  X Font      ascent =16 descent=-4
+  Max Font    ascent =18 descent=-4
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_profont22r[2719] U8G_FONT_SECTION("u8g_font_profont22r") = {
+  0,12,21,0,252,14,3,117,7,113,32,127,252,18,252,16,
+  252,0,0,0,12,0,0,2,14,14,12,4,0,192,192,192,
+  192,192,192,192,192,192,192,0,0,192,192,6,6,6,12,2,
+  10,204,204,204,204,204,204,10,10,20,12,0,4,51,0,51,
+  0,255,192,255,192,51,0,51,0,255,192,255,192,51,0,51,
+  0,10,18,36,12,0,254,12,0,12,0,63,0,127,128,237,
+  192,204,192,204,0,236,0,127,0,63,128,13,192,12,192,204,
+  192,237,192,127,128,63,0,12,0,12,0,10,14,28,12,0,
+  0,63,192,127,192,204,192,205,192,207,128,207,0,127,0,63,
+  128,60,192,124,192,236,192,204,192,199,128,195,0,10,14,28,
+  12,0,0,62,0,127,0,227,0,199,0,206,0,252,0,120,
+  0,120,0,252,192,207,192,199,128,231,128,127,192,60,192,2,
+  6,6,12,4,10,192,192,192,192,192,192,6,18,18,12,2,
+  254,12,28,56,112,224,192,192,192,192,192,192,192,192,224,112,
+  56,28,12,6,18,18,12,2,254,192,224,112,56,28,12,12,
+  12,12,12,12,12,12,28,56,112,224,192,10,10,20,12,0,
+  4,12,0,12,0,204,192,255,192,63,0,63,0,255,192,204,
+  192,12,0,12,0,10,10,20,12,0,2,12,0,12,0,12,
+  0,12,0,255,192,255,192,12,0,12,0,12,0,12,0,5,
+  9,9,12,2,252,48,120,120,56,24,56,112,224,64,6,2,
+  2,12,2,6,252,252,4,4,4,12,3,1,96,240,240,96,
+  11,20,40,12,0,252,0,96,0,96,0,192,0,192,1,128,
+  1,128,3,0,3,0,6,0,6,0,12,0,12,0,24,0,
+  24,0,48,0,48,0,96,0,96,0,192,0,192,0,10,14,
+  28,12,0,0,63,0,127,128,225,192,193,192,195,192,199,192,
+  206,192,220,192,248,192,240,192,224,192,225,192,127,128,63,0,
+  10,14,28,12,0,0,12,0,12,0,124,0,124,0,12,0,
+  12,0,12,0,12,0,12,0,12,0,12,0,12,0,255,192,
+  255,192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,
+  0,192,1,192,3,128,7,0,14,0,28,0,56,0,112,0,
+  255,192,255,192,10,14,28,12,0,0,63,0,127,128,225,192,
+  192,192,0,192,1,128,15,0,15,128,1,192,0,192,192,192,
+  225,192,127,128,63,0,10,14,28,12,0,0,3,0,7,0,
+  15,0,31,0,59,0,115,0,227,0,195,0,255,192,255,192,
+  3,0,3,0,15,192,15,192,10,14,28,12,0,0,255,192,
+  255,192,192,0,192,0,255,0,255,128,1,192,0,192,0,192,
+  0,192,192,192,225,192,127,128,63,0,10,14,28,12,0,0,
+  63,0,127,0,224,0,192,0,255,0,255,128,193,192,192,192,
+  192,192,192,192,192,192,225,192,127,128,63,0,10,14,28,12,
+  0,0,255,192,255,192,0,192,0,192,0,192,1,192,3,128,
+  7,0,14,0,12,0,12,0,12,0,12,0,12,0,10,14,
+  28,12,0,0,63,0,127,128,225,192,192,192,192,192,97,128,
+  63,0,127,128,225,192,192,192,192,192,225,192,127,128,63,0,
+  10,14,28,12,0,0,63,0,127,128,225,192,192,192,192,192,
+  192,192,192,192,224,192,127,192,63,192,0,192,1,192,63,128,
+  63,0,4,10,10,12,3,1,96,240,240,96,0,0,96,240,
+  240,96,5,15,15,12,2,252,48,120,120,48,0,0,48,120,
+  120,56,24,56,112,224,64,8,14,14,12,2,0,3,7,14,
+  28,56,112,224,224,112,56,28,14,7,3,10,6,12,12,0,
+  4,255,192,255,192,0,0,0,0,255,192,255,192,8,14,14,
+  12,2,0,192,224,112,56,28,14,7,7,14,28,56,112,224,
+  192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,0,
+  192,1,192,3,128,7,0,14,0,12,0,0,0,0,0,12,
+  0,12,0,10,14,28,12,0,0,63,0,127,128,225,192,192,
+  192,199,192,207,192,204,192,204,192,207,192,199,128,192,0,224,
+  0,127,192,63,192,10,14,28,12,0,0,12,0,30,0,30,
+  0,51,0,51,0,97,128,97,128,192,192,255,192,255,192,192,
+  192,192,192,192,192,192,192,10,14,28,12,0,0,255,0,255,
+  128,193,192,192,192,192,192,193,128,255,0,255,128,193,192,192,
+  192,192,192,193,192,255,128,255,0,10,14,28,12,0,0,63,
+  0,127,128,225,192,192,192,192,0,192,0,192,0,192,0,192,
+  0,192,0,192,192,225,192,127,128,63,0,10,14,28,12,0,
+  0,255,0,255,128,193,192,192,192,192,192,192,192,192,192,192,
+  192,192,192,192,192,192,192,193,192,255,128,255,0,10,14,28,
+  12,0,0,255,192,255,192,192,0,192,0,192,0,192,0,255,
+  0,255,0,192,0,192,0,192,0,192,0,255,192,255,192,10,
+  14,28,12,0,0,255,192,255,192,192,0,192,0,192,0,192,
+  0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192,
+  0,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192,
+  0,192,0,195,192,195,192,192,192,192,192,192,192,225,192,127,
+  128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192,
+  192,192,192,192,192,255,192,255,192,192,192,192,192,192,192,192,
+  192,192,192,192,192,10,14,28,12,0,0,255,192,255,192,12,
+  0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,
+  0,12,0,255,192,255,192,10,14,28,12,0,0,0,192,0,
+  192,0,192,0,192,0,192,0,192,0,192,0,192,192,192,192,
+  192,192,192,225,192,127,128,63,0,10,14,28,12,0,0,193,
+  192,195,128,199,0,206,0,220,0,248,0,240,0,248,0,220,
+  0,206,0,199,0,195,128,193,192,192,192,10,14,28,12,0,
+  0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,
+  0,192,0,192,0,192,0,192,0,255,192,255,192,10,14,28,
+  12,0,0,192,192,225,192,243,192,255,192,222,192,204,192,204,
+  192,204,192,192,192,192,192,192,192,192,192,192,192,192,192,10,
+  14,28,12,0,0,192,192,224,192,240,192,248,192,220,192,206,
+  192,199,192,195,192,193,192,192,192,192,192,192,192,192,192,192,
+  192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192,
+  192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127,
+  128,63,0,10,14,28,12,0,0,255,0,255,128,193,192,192,
+  192,192,192,193,192,255,128,255,0,192,0,192,0,192,0,192,
+  0,192,0,192,0,10,16,32,12,0,254,63,0,127,128,225,
+  192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,204,
+  192,239,192,127,128,63,128,1,192,0,192,10,14,28,12,0,
+  0,255,0,255,128,193,192,192,192,192,192,193,128,255,0,255,
+  128,193,192,192,192,192,192,192,192,192,192,192,192,10,14,28,
+  12,0,0,63,0,127,128,225,192,192,192,192,0,224,0,127,
+  0,63,128,1,192,0,192,192,192,225,192,127,128,63,0,10,
+  14,28,12,0,0,255,192,255,192,12,0,12,0,12,0,12,
+  0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,
+  0,10,14,28,12,0,0,192,192,192,192,192,192,192,192,192,
+  192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127,
+  128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192,
+  192,192,192,192,192,97,128,97,128,51,0,51,0,30,0,30,
+  0,12,0,12,0,10,14,28,12,0,0,192,192,192,192,192,
+  192,192,192,192,192,192,192,204,192,204,192,204,192,222,192,255,
+  192,243,192,225,192,192,192,10,14,28,12,0,0,192,192,192,
+  192,192,192,225,192,115,128,63,0,30,0,30,0,63,0,115,
+  128,225,192,192,192,192,192,192,192,10,14,28,12,0,0,192,
+  192,192,192,192,192,192,192,192,192,225,192,115,128,63,0,30,
+  0,12,0,12,0,12,0,12,0,12,0,10,14,28,12,0,
+  0,255,192,255,192,0,192,1,192,3,128,7,0,14,0,28,
+  0,56,0,112,0,224,0,192,0,255,192,255,192,4,18,18,
+  12,4,254,240,240,192,192,192,192,192,192,192,192,192,192,192,
+  192,192,192,240,240,11,20,40,12,1,252,192,0,192,0,96,
+  0,96,0,48,0,48,0,24,0,24,0,12,0,12,0,6,
+  0,6,0,3,0,3,0,1,128,1,128,0,192,0,192,0,
+  96,0,96,4,18,18,12,2,254,240,240,48,48,48,48,48,
+  48,48,48,48,48,48,48,48,48,240,240,10,6,12,12,0,
+  8,12,0,30,0,63,0,115,128,225,192,64,128,12,2,4,
+  12,0,252,255,240,255,240,4,4,4,12,2,12,192,224,112,
+  48,10,10,20,12,0,0,63,192,127,192,224,192,192,192,192,
+  192,193,192,195,192,231,192,126,192,60,192,10,14,28,12,0,
+  0,192,0,192,0,192,0,192,0,255,0,255,128,193,192,192,
+  192,192,192,192,192,192,192,193,192,255,128,255,0,10,10,20,
+  12,0,0,63,0,127,128,225,192,192,192,192,0,192,0,192,
+  0,224,0,127,192,63,192,10,14,28,12,0,0,0,192,0,
+  192,0,192,0,192,63,192,127,192,224,192,192,192,192,192,192,
+  192,192,192,224,192,127,192,63,192,10,10,20,12,0,0,63,
+  0,127,128,225,192,192,192,255,192,255,192,192,0,224,0,127,
+  192,63,192,8,14,14,12,2,0,15,31,56,48,252,252,48,
+  48,48,48,48,48,48,48,10,14,28,12,0,252,63,192,127,
+  192,224,192,192,192,192,192,192,192,192,192,224,192,127,192,63,
+  192,0,192,1,192,63,128,63,0,10,14,28,12,0,0,192,
+  0,192,0,192,0,192,0,255,0,255,128,193,192,192,192,192,
+  192,192,192,192,192,192,192,192,192,192,192,6,14,14,12,2,
+  0,48,48,0,0,240,240,48,48,48,48,48,48,252,252,6,
+  18,18,12,0,252,12,12,0,0,60,60,12,12,12,12,12,
+  12,12,12,12,28,248,240,10,14,28,12,0,0,192,0,192,
+  0,192,0,192,0,195,128,199,0,206,0,220,0,252,0,254,
+  0,231,0,195,128,193,192,192,192,6,14,14,12,2,0,240,
+  240,48,48,48,48,48,48,48,48,48,48,252,252,10,10,20,
+  12,0,0,255,0,255,128,205,192,204,192,204,192,204,192,204,
+  192,204,192,204,192,204,192,10,10,20,12,0,0,207,0,223,
+  128,249,192,240,192,224,192,192,192,192,192,192,192,192,192,192,
+  192,10,10,20,12,0,0,63,0,127,128,225,192,192,192,192,
+  192,192,192,192,192,225,192,127,128,63,0,10,14,28,12,0,
+  252,255,0,255,128,193,192,192,192,192,192,192,192,192,192,193,
+  192,255,128,255,0,192,0,192,0,192,0,192,0,10,14,28,
+  12,0,252,63,192,127,192,224,192,192,192,192,192,192,192,192,
+  192,224,192,127,192,63,192,0,192,0,192,0,192,0,192,10,
+  10,20,12,0,0,207,0,223,128,249,192,240,192,224,0,192,
+  0,192,0,192,0,192,0,192,0,10,10,20,12,0,0,63,
+  192,127,192,192,0,192,0,127,0,63,128,0,192,0,192,255,
+  128,255,0,8,14,14,12,2,0,48,48,48,48,252,252,48,
+  48,48,48,48,56,31,15,10,10,20,12,0,0,192,192,192,
+  192,192,192,192,192,192,192,193,192,195,192,231,192,126,192,60,
+  192,10,10,20,12,0,0,192,192,192,192,192,192,97,128,97,
+  128,51,128,51,0,30,0,30,0,12,0,10,10,20,12,0,
+  0,204,192,204,192,204,192,204,192,204,192,204,192,204,192,204,
+  192,127,128,51,0,10,10,20,12,0,0,192,192,225,192,115,
+  128,63,0,30,0,30,0,63,0,115,128,225,192,192,192,10,
+  14,28,12,0,252,192,192,192,192,192,192,192,192,192,192,192,
+  192,192,192,224,192,127,192,63,192,0,192,1,192,63,128,63,
+  0,10,10,20,12,0,0,255,192,255,192,3,128,7,0,14,
+  0,28,0,56,0,112,0,255,192,255,192,6,22,22,12,2,
+  252,12,28,56,48,48,48,48,48,48,112,224,224,112,48,48,
+  48,48,48,48,56,28,12,2,18,18,12,4,254,192,192,192,
+  192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,6,
+  22,22,12,2,252,192,224,112,48,48,48,48,48,48,56,28,
+  28,56,48,48,48,48,48,48,112,224,192,10,4,8,12,0,
+  6,48,192,124,192,207,128,195,0,0,0,0,12,0,0};
+/*
+  Fontname: ProFont29
+  Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5
+  Capital A Height: 19, '1' Height: 19
+  Calculated Max Values w=16 h=29 x= 8 y=16 dx=16 dy= 0 ascent=24 len=58
+  Font Bounding box     w=16 h=28 x= 0 y=-5
+  Calculated Min Values           x= 0 y=-5 dx= 0 dy= 0
+  Pure Font   ascent =19 descent=-5
+  X Font      ascent =22 descent=-5
+  Max Font    ascent =24 descent=-5
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_profont29[8666] U8G_FONT_SECTION("u8g_font_profont29") = {
+  0,16,28,0,251,19,4,198,9,234,32,255,251,24,251,22,
+  251,0,0,0,16,0,0,3,19,19,16,5,0,224,224,224,
+  224,224,224,224,224,224,224,224,224,224,224,0,0,224,224,224,
+  9,9,18,16,2,13,227,128,227,128,227,128,227,128,227,128,
+  227,128,227,128,227,128,227,128,15,15,30,16,0,5,28,112,
+  28,112,28,112,255,254,255,254,255,254,28,112,28,112,28,112,
+  255,254,255,254,255,254,28,112,28,112,28,112,13,25,50,16,
+  0,253,7,0,7,0,7,0,15,128,63,224,127,240,119,112,
+  231,56,231,56,231,0,119,0,127,128,63,224,15,240,7,112,
+  7,56,231,56,231,56,119,112,127,240,63,224,15,128,7,0,
+  7,0,7,0,14,19,38,16,0,0,31,252,63,252,127,252,
+  102,28,231,60,231,120,231,240,103,224,127,224,63,192,31,240,
+  31,48,63,56,127,56,247,56,227,48,227,240,225,224,224,192,
+  14,19,38,16,0,0,15,0,63,192,127,224,112,224,225,224,
+  227,192,231,128,127,0,126,0,60,0,126,8,127,28,231,188,
+  227,248,225,240,113,240,127,248,63,188,14,24,3,9,9,16,
+  5,13,224,224,224,224,224,224,224,224,224,9,25,50,16,3,
+  253,3,0,7,128,15,0,30,0,60,0,120,0,240,0,224,
+  0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,
+  0,224,0,224,0,240,0,120,0,60,0,30,0,15,0,7,
+  128,3,0,9,25,50,16,2,253,96,0,240,0,120,0,60,
+  0,30,0,15,0,7,128,3,128,3,128,3,128,3,128,3,
+  128,3,128,3,128,3,128,3,128,3,128,3,128,7,128,15,
+  0,30,0,60,0,120,0,240,0,96,0,13,13,26,16,0,
+  5,7,0,7,0,103,48,247,248,127,240,31,192,31,192,127,
+  240,255,248,103,48,7,0,7,0,7,0,13,13,26,16,0,
+  3,7,0,7,0,7,0,7,0,7,0,255,248,255,248,255,
+  248,7,0,7,0,7,0,7,0,7,0,6,11,11,16,3,
+  251,56,124,124,124,60,28,28,60,120,240,96,8,3,3,16,
+  3,8,255,255,255,5,5,5,16,4,1,112,248,248,248,112,
+  15,26,52,16,0,251,0,14,0,14,0,28,0,28,0,56,
+  0,56,0,112,0,112,0,224,0,224,1,192,1,192,3,128,
+  3,128,7,0,7,0,14,0,14,0,28,0,28,0,56,0,
+  56,0,112,0,112,0,224,0,224,0,14,19,38,16,0,0,
+  15,192,63,240,127,248,112,56,224,60,224,124,224,252,225,252,
+  227,220,231,156,239,28,254,28,252,28,248,28,240,28,112,56,
+  127,248,63,240,15,192,13,19,38,16,0,0,7,0,7,0,
+  15,0,127,0,127,0,127,0,7,0,7,0,7,0,7,0,
+  7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248,
+  255,248,14,19,38,16,0,0,15,192,63,240,127,248,112,56,
+  224,28,224,28,0,28,0,56,0,120,0,240,1,224,3,192,
+  7,128,15,0,30,0,60,0,127,252,255,252,255,252,14,19,
+  38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28,
+  0,28,0,120,3,240,3,224,3,240,0,120,0,28,224,28,
+  224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0,
+  0,224,1,224,3,224,7,224,15,224,30,224,60,224,120,224,
+  240,224,224,224,255,252,255,252,255,252,0,224,0,224,0,224,
+  7,252,7,252,7,252,14,19,38,16,0,0,255,252,255,252,
+  255,252,224,0,224,0,255,192,255,240,255,248,0,56,0,28,
+  0,28,0,28,0,28,224,28,224,28,112,56,127,248,63,240,
+  15,192,14,19,38,16,0,0,15,224,63,224,127,224,112,0,
+  224,0,255,192,255,240,255,248,224,56,224,28,224,28,224,28,
+  224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,19,
+  38,16,0,0,255,252,255,252,255,252,0,28,0,28,0,28,
+  0,60,0,120,0,240,1,224,3,192,7,128,7,0,7,0,
+  7,0,7,0,7,0,7,0,7,0,14,19,38,16,0,0,
+  15,192,63,240,127,248,112,56,224,28,224,28,224,28,120,120,
+  63,240,31,224,63,240,120,120,224,28,224,28,224,28,112,56,
+  127,248,63,240,15,192,14,19,38,16,0,0,15,192,63,240,
+  127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28,
+  112,28,127,252,63,252,15,252,0,28,0,56,31,248,31,240,
+  31,192,5,13,13,16,4,1,112,248,248,248,112,0,0,0,
+  112,248,248,248,112,6,19,19,16,3,251,56,124,124,124,56,
+  0,0,0,56,124,124,124,60,28,28,60,120,240,96,12,19,
+  38,16,2,0,0,96,0,240,1,224,3,192,7,128,15,0,
+  30,0,60,0,120,0,240,0,120,0,60,0,30,0,15,0,
+  7,128,3,192,1,224,0,240,0,96,14,9,18,16,0,5,
+  255,252,255,252,255,252,0,0,0,0,0,0,255,252,255,252,
+  255,252,12,19,38,16,2,0,96,0,240,0,120,0,60,0,
+  30,0,15,0,7,128,3,192,1,224,0,240,1,224,3,192,
+  7,128,15,0,30,0,60,0,120,0,240,0,96,0,14,19,
+  38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28,
+  0,28,0,60,0,120,0,240,1,224,3,192,7,128,7,0,
+  0,0,0,0,7,0,7,0,7,0,14,19,38,16,0,0,
+  15,192,63,240,127,248,112,56,224,28,225,252,227,252,231,252,
+  231,28,231,28,231,28,231,252,227,248,225,240,224,0,112,0,
+  127,252,63,252,15,252,14,19,38,16,0,0,7,128,7,128,
+  15,192,15,192,28,224,28,224,56,112,56,112,112,56,112,56,
+  224,28,255,252,255,252,255,252,224,28,224,28,224,28,224,28,
+  224,28,14,19,38,16,0,0,255,192,255,240,255,248,224,56,
+  224,28,224,28,224,28,224,120,255,240,255,224,255,240,224,120,
+  224,28,224,28,224,28,224,56,255,248,255,240,255,192,14,19,
+  38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28,
+  224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,28,
+  224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0,
+  255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,56,
+  255,248,255,240,255,192,14,19,38,16,0,0,255,252,255,252,
+  255,252,224,0,224,0,224,0,224,0,224,0,255,224,255,224,
+  255,224,224,0,224,0,224,0,224,0,224,0,255,252,255,252,
+  255,252,14,19,38,16,0,0,255,252,255,252,255,252,224,0,
+  224,0,224,0,224,0,224,0,255,224,255,224,255,224,224,0,
+  224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,19,
+  38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28,
+  224,0,224,0,224,252,224,252,224,252,224,28,224,28,224,28,
+  224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  255,252,255,252,255,252,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,13,19,38,16,0,0,255,248,255,248,
+  255,248,7,0,7,0,7,0,7,0,7,0,7,0,7,0,
+  7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248,
+  255,248,14,19,38,16,0,0,0,28,0,28,0,28,0,28,
+  0,28,0,28,0,28,0,28,0,28,0,28,0,28,224,28,
+  224,28,224,28,224,28,112,56,127,248,63,240,15,192,13,19,
+  38,16,0,0,224,56,224,120,224,240,225,224,227,192,231,128,
+  239,0,254,0,252,0,248,0,252,0,254,0,239,0,231,128,
+  227,192,225,224,224,240,224,120,224,56,14,19,38,16,0,0,
+  224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,
+  224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,
+  255,252,255,252,255,252,15,19,38,16,0,0,224,14,240,30,
+  248,62,252,126,254,254,239,238,231,206,227,142,227,142,227,142,
+  227,142,224,14,224,14,224,14,224,14,224,14,224,14,224,14,
+  224,14,14,19,38,16,0,0,224,28,240,28,248,28,252,28,
+  254,28,239,28,231,156,227,220,225,252,224,252,224,124,224,60,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,14,19,
+  38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0,
+  255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,56,
+  255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0,
+  224,0,224,0,224,0,14,22,44,16,0,253,15,192,63,240,
+  127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,230,28,239,28,119,248,127,248,63,240,
+  15,240,0,120,0,60,0,24,14,19,38,16,0,0,255,192,
+  255,240,255,248,224,56,224,28,224,28,224,28,224,120,255,240,
+  255,224,255,240,224,120,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,14,19,38,16,0,0,15,192,63,240,127,248,
+  112,56,224,28,224,28,224,0,112,0,127,192,63,240,15,248,
+  0,56,0,28,224,28,224,28,112,56,127,248,63,240,15,192,
+  13,19,38,16,0,0,255,248,255,248,255,248,7,0,7,0,
+  7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,
+  7,0,7,0,7,0,7,0,7,0,7,0,14,19,38,16,
+  0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  112,56,127,248,63,240,15,192,14,19,38,16,0,0,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,112,56,112,56,
+  56,112,56,112,28,224,28,224,15,192,15,192,7,128,7,128,
+  3,0,3,0,15,19,38,16,0,0,224,14,224,14,224,14,
+  224,14,224,14,224,14,224,14,224,14,227,142,227,142,227,142,
+  227,142,231,206,239,254,254,254,252,126,248,62,240,30,224,14,
+  14,19,38,16,0,0,224,28,224,28,224,28,224,28,240,60,
+  120,120,60,240,31,224,15,192,7,128,15,192,31,224,60,240,
+  120,120,240,60,224,28,224,28,224,28,224,28,13,19,38,16,
+  0,0,224,56,224,56,224,56,224,56,224,56,224,56,224,56,
+  240,120,120,240,61,224,31,192,15,128,7,0,7,0,7,0,
+  7,0,7,0,7,0,7,0,14,19,38,16,0,0,255,252,
+  255,252,255,252,0,28,0,60,0,120,0,240,1,224,3,192,
+  7,128,15,0,30,0,60,0,120,0,240,0,224,0,255,252,
+  255,252,255,252,6,25,25,16,5,253,252,252,252,224,224,224,
+  224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,
+  252,252,252,15,26,52,16,1,251,224,0,224,0,112,0,112,
+  0,56,0,56,0,28,0,28,0,14,0,14,0,7,0,7,
+  0,3,128,3,128,1,192,1,192,0,224,0,224,0,112,0,
+  112,0,56,0,56,0,28,0,28,0,14,0,14,6,25,25,
+  16,2,253,252,252,252,28,28,28,28,28,28,28,28,28,28,
+  28,28,28,28,28,28,28,28,28,252,252,252,14,8,16,16,
+  0,11,3,0,7,128,15,192,31,224,60,240,120,120,240,60,
+  96,24,16,3,6,16,0,251,255,255,255,255,255,255,7,6,
+  6,16,2,15,96,240,120,60,30,12,14,14,28,16,0,0,
+  15,252,63,252,127,252,112,28,224,28,224,28,224,28,224,28,
+  224,60,224,124,113,252,127,220,63,156,14,28,14,19,38,16,
+  0,0,224,0,224,0,224,0,224,0,224,0,255,192,255,240,
+  255,248,224,56,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,56,255,248,255,240,255,192,14,14,28,16,0,0,15,192,
+  63,240,127,248,112,56,224,28,224,28,224,0,224,0,224,0,
+  224,0,112,0,127,252,63,252,15,252,14,19,38,16,0,0,
+  0,28,0,28,0,28,0,28,0,28,15,252,63,252,127,252,
+  112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28,
+  127,252,63,252,15,252,14,14,28,16,0,0,15,192,63,240,
+  127,248,112,56,224,28,224,28,255,252,255,252,255,252,224,0,
+  112,0,127,252,63,252,15,252,11,19,38,16,2,0,1,224,
+  7,224,15,224,14,0,28,0,255,128,255,128,255,128,28,0,
+  28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,
+  28,0,28,0,14,19,38,16,0,251,15,252,63,252,127,252,
+  112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28,
+  127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192,
+  14,19,38,16,0,0,224,0,224,0,224,0,224,0,224,0,
+  255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,9,19,38,16,
+  2,0,28,0,28,0,28,0,0,0,0,0,252,0,252,0,
+  252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,
+  28,0,255,128,255,128,255,128,8,24,24,16,0,251,7,7,
+  7,0,0,63,63,63,7,7,7,7,7,7,7,7,7,7,
+  7,7,14,254,252,240,14,19,38,16,0,0,224,0,224,0,
+  224,0,224,0,224,0,224,120,224,240,225,224,227,192,231,128,
+  239,0,255,0,255,128,251,192,241,224,224,240,224,120,224,60,
+  224,28,9,19,38,16,2,0,252,0,252,0,252,0,28,0,
+  28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,
+  28,0,28,0,28,0,28,0,255,128,255,128,255,128,15,14,
+  28,16,0,0,255,224,255,248,255,252,227,156,227,142,227,142,
+  227,142,227,142,227,142,227,142,227,142,227,142,227,142,227,142,
+  14,14,28,16,0,0,225,192,231,240,239,248,254,56,248,28,
+  240,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,14,14,28,16,0,0,15,192,63,240,127,248,112,56,
+  224,28,224,28,224,28,224,28,224,28,224,28,112,56,127,248,
+  63,240,15,192,14,19,38,16,0,251,255,192,255,240,255,248,
+  224,56,224,28,224,28,224,28,224,28,224,28,224,28,224,56,
+  255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0,
+  14,19,38,16,0,251,15,252,63,252,127,252,112,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,112,28,127,252,63,252,
+  15,252,0,28,0,28,0,28,0,28,0,28,14,14,28,16,
+  0,0,225,192,231,240,239,248,254,56,248,28,240,28,224,0,
+  224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,14,
+  28,16,0,0,15,252,63,252,127,252,240,0,224,0,255,192,
+  127,240,31,248,0,60,0,28,0,60,255,248,255,240,255,192,
+  11,19,38,16,2,0,28,0,28,0,28,0,28,0,28,0,
+  255,128,255,128,255,128,28,0,28,0,28,0,28,0,28,0,
+  28,0,28,0,14,0,15,224,7,224,1,224,14,14,28,16,
+  0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,60,224,124,113,252,127,220,63,156,14,28,14,14,
+  28,16,0,0,224,28,224,28,224,28,224,28,224,28,112,56,
+  112,56,56,112,56,112,28,224,28,224,15,192,15,192,7,128,
+  15,14,28,16,0,0,227,142,227,142,227,142,227,142,227,142,
+  227,142,227,142,227,142,227,142,227,142,247,222,127,252,126,252,
+  28,112,14,14,28,16,0,0,224,28,224,28,240,60,120,120,
+  60,240,31,224,15,192,15,192,31,224,60,240,120,120,240,60,
+  224,28,224,28,14,19,38,16,0,251,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28,
+  127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192,
+  13,14,28,16,0,0,255,248,255,248,255,248,0,240,1,224,
+  3,192,7,128,15,0,30,0,60,0,120,0,255,248,255,248,
+  255,248,9,29,58,16,3,251,3,128,15,128,15,128,30,0,
+  28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,
+  60,0,248,0,224,0,248,0,60,0,28,0,28,0,28,0,
+  28,0,28,0,28,0,28,0,28,0,30,0,15,128,15,128,
+  3,128,3,25,25,16,5,253,224,224,224,224,224,224,224,224,
+  224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,
+  224,9,29,58,16,2,251,224,0,248,0,248,0,60,0,28,
+  0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,
+  0,15,128,3,128,15,128,30,0,28,0,28,0,28,0,28,
+  0,28,0,28,0,28,0,28,0,60,0,248,0,248,0,224,
+  0,13,5,10,16,0,8,60,56,127,56,255,248,231,240,225,
+  224,0,0,0,16,0,0,0,0,0,16,0,0,0,0,0,
+  16,0,0,5,8,8,16,0,253,56,56,56,56,56,120,240,
+  96,13,29,58,16,0,251,0,120,1,248,3,248,3,128,7,
+  0,7,0,7,0,7,0,7,0,7,0,31,192,31,192,31,
+  192,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,
+  0,7,0,7,0,7,0,7,0,14,0,254,0,252,0,240,
+  0,11,8,16,16,0,253,56,224,56,224,56,224,56,224,56,
+  224,121,224,243,192,97,128,13,3,6,16,0,0,231,56,231,
+  56,231,56,9,14,28,16,2,5,28,0,28,0,28,0,255,
+  128,255,128,255,128,28,0,28,0,28,0,28,0,28,0,28,
+  0,28,0,28,0,9,14,28,16,2,5,28,0,28,0,28,
+  0,255,128,255,128,255,128,28,0,28,0,255,128,255,128,255,
+  128,28,0,28,0,28,0,10,6,12,16,2,16,12,0,30,
+  0,63,0,127,128,243,192,97,128,15,22,44,16,0,0,31,
+  254,63,254,127,254,119,30,227,60,227,120,227,240,247,224,127,
+  192,127,128,63,0,15,56,63,252,127,252,253,238,248,198,216,
+  198,152,198,29,238,15,252,15,252,7,56,14,24,48,16,0,
+  0,24,192,61,224,31,192,15,128,7,0,15,192,63,240,127,
+  248,112,56,224,28,224,28,224,0,112,0,127,192,63,240,15,
+  248,0,56,0,28,224,28,224,28,112,56,127,248,63,240,15,
+  192,5,13,13,16,0,255,48,56,112,112,224,224,224,224,224,
+  112,112,56,48,14,19,38,16,0,0,15,252,63,252,127,252,
+  119,0,231,0,231,0,231,0,231,0,231,224,231,224,231,224,
+  231,0,231,0,231,0,231,0,119,0,127,252,63,252,15,252,
+  0,0,0,16,0,0,0,0,0,16,0,0,0,0,0,16,
+  0,0,0,0,0,16,0,0,5,8,8,16,5,11,48,120,
+  240,224,224,224,224,224,5,8,8,16,6,11,56,56,56,56,
+  56,120,240,96,11,8,16,16,2,11,48,192,121,224,243,192,
+  227,128,227,128,227,128,227,128,227,128,11,8,16,16,3,11,
+  56,224,56,224,56,224,56,224,56,224,121,224,243,192,97,128,
+  13,13,26,16,0,3,15,128,63,224,127,240,127,240,255,248,
+  255,248,255,248,255,248,255,248,127,240,127,240,63,224,15,128,
+  8,3,3,16,3,8,255,255,255,16,3,6,16,0,8,255,
+  255,255,255,255,255,13,5,10,16,0,16,60,56,127,56,255,
+  248,231,240,225,224,15,8,16,16,0,11,255,206,255,254,255,
+  254,57,254,57,254,57,206,57,206,57,206,14,22,44,16,0,
+  0,24,96,60,240,31,224,15,192,7,128,3,0,0,0,0,
+  0,15,252,63,252,127,252,240,0,224,0,255,192,127,240,31,
+  248,0,60,0,28,0,60,255,248,255,240,255,192,5,13,13,
+  16,0,255,96,224,112,112,56,56,56,56,56,120,112,224,96,
+  14,14,28,16,0,0,60,240,127,248,127,248,231,28,231,28,
+  231,28,231,252,231,252,231,252,231,0,231,0,127,252,127,252,
+  60,252,0,0,0,16,0,0,0,0,0,16,0,0,13,24,
+  48,16,0,0,56,224,56,224,56,224,0,0,0,0,224,56,
+  224,56,224,56,224,56,224,56,224,56,224,56,240,120,120,240,
+  61,224,31,192,15,128,7,0,7,0,7,0,7,0,7,0,
+  7,0,7,0,0,0,0,16,0,0,3,19,19,16,8,0,
+  224,224,224,0,0,224,224,224,224,224,224,224,224,224,224,224,
+  224,224,224,13,20,40,16,0,253,7,0,7,0,7,0,15,
+  128,63,224,127,240,119,112,231,56,231,56,231,0,231,0,231,
+  0,231,0,119,0,127,248,63,248,15,248,7,0,7,0,7,
+  0,13,22,44,16,0,0,14,0,63,128,127,128,113,192,224,
+  224,224,224,224,0,224,0,255,0,255,0,255,0,224,0,224,
+  0,224,0,224,0,224,0,224,56,224,56,224,112,255,240,255,
+  224,255,128,13,13,26,16,0,0,64,16,224,56,112,112,63,
+  224,31,192,29,192,24,192,29,192,31,192,63,224,112,112,224,
+  56,64,16,15,19,38,16,0,0,96,12,240,30,120,60,60,
+  120,30,240,127,252,127,252,127,252,3,128,3,128,3,128,127,
+  252,127,252,127,252,3,128,3,128,3,128,3,128,3,128,3,
+  25,25,16,5,253,224,224,224,224,224,224,224,224,224,224,224,
+  0,0,0,224,224,224,224,224,224,224,224,224,224,224,14,27,
+  54,16,0,253,15,192,63,240,63,248,112,56,112,28,120,28,
+  60,28,30,28,239,0,231,128,227,192,225,224,240,240,120,120,
+  60,60,30,28,15,28,7,156,3,220,225,224,224,240,224,120,
+  224,56,112,56,127,240,63,240,15,128,8,3,3,16,3,16,
+  231,231,231,14,19,38,16,0,0,28,0,255,128,255,224,193,
+  240,0,112,31,56,127,56,127,24,224,28,224,28,224,28,127,
+  24,127,56,31,56,0,112,193,240,255,224,255,128,28,0,12,
+  16,32,16,2,8,15,240,63,240,127,240,112,112,224,112,224,
+  112,224,112,112,112,127,240,63,240,15,240,0,0,0,0,255,
+  240,255,240,255,240,13,13,26,16,0,255,48,48,56,56,112,
+  112,112,112,224,224,224,224,224,224,224,224,224,224,112,112,112,
+  112,56,56,48,48,14,8,16,16,0,3,255,252,255,252,255,
+  252,0,28,0,28,0,28,0,28,0,28,13,3,6,16,0,
+  8,255,248,255,248,255,248,14,17,34,16,0,2,28,0,255,
+  128,255,224,193,240,0,112,248,56,254,56,254,24,231,28,231,
+  28,231,28,254,24,254,56,254,56,239,240,231,240,227,192,8,
+  3,3,16,3,16,255,255,255,12,12,24,16,2,10,15,0,
+  63,192,127,224,112,224,224,112,224,112,224,112,224,112,112,224,
+  127,224,63,192,15,0,13,16,32,16,0,0,7,0,7,0,
+  7,0,7,0,7,0,255,248,255,248,255,248,7,0,7,0,
+  7,0,7,0,7,0,255,248,255,248,255,248,6,9,9,16,
+  4,15,120,132,4,4,8,16,32,64,252,6,9,9,16,4,
+  15,120,132,4,8,48,8,4,132,120,7,6,6,16,5,16,
+  12,30,60,120,240,96,14,18,36,16,0,251,224,224,224,224,
+  224,224,224,224,224,224,224,224,224,224,224,224,224,224,225,240,
+  255,252,255,188,254,12,224,0,224,0,224,0,224,0,224,0,
+  14,22,44,16,0,0,7,252,31,252,63,252,127,28,119,28,
+  231,28,231,28,231,28,231,28,119,28,127,28,63,252,31,252,
+  7,252,7,28,7,28,7,28,7,28,7,28,7,28,7,28,
+  7,28,5,5,5,16,5,6,112,248,248,248,112,6,8,8,
+  16,3,251,252,252,252,60,124,248,240,96,7,9,9,16,4,
+  15,16,112,16,16,16,16,16,16,254,11,16,32,16,3,8,
+  14,0,63,128,127,192,113,192,224,224,224,224,224,224,113,192,
+  127,192,63,128,14,0,0,0,0,0,255,224,255,224,255,224,
+  13,13,26,16,0,255,96,96,224,224,112,112,112,112,56,56,
+  56,56,56,56,56,56,56,56,112,112,112,112,224,224,96,96,
+  15,24,48,16,0,0,8,0,56,0,8,0,8,0,8,0,
+  8,0,8,2,8,4,127,8,0,16,0,32,0,64,0,128,
+  1,0,2,0,4,8,8,24,16,40,32,72,64,136,128,254,
+  0,8,0,8,0,62,15,24,48,16,0,0,8,0,56,0,
+  8,0,8,0,8,0,8,0,8,2,8,4,127,8,0,16,
+  0,32,0,64,0,128,1,0,2,0,4,120,8,132,16,4,
+  32,4,64,8,128,16,0,32,0,64,0,252,15,24,48,16,
+  0,0,30,0,33,0,1,0,2,0,12,0,2,0,1,2,
+  33,4,30,8,0,16,0,32,0,64,0,128,1,0,2,0,
+  4,8,8,24,16,40,32,72,64,136,128,254,0,8,0,8,
+  0,62,14,19,38,16,0,0,3,128,3,128,3,128,0,0,
+  0,0,3,128,7,128,15,0,30,0,60,0,120,0,240,0,
+  224,0,224,28,224,28,112,56,127,248,63,240,15,192,14,24,
+  48,16,0,0,24,0,60,0,30,0,15,0,7,128,7,128,
+  7,128,15,192,15,192,28,224,28,224,56,112,56,112,112,56,
+  112,56,224,28,255,252,255,252,255,252,224,28,224,28,224,28,
+  224,28,224,28,14,24,48,16,0,0,0,96,0,240,1,224,
+  3,192,7,128,7,128,7,128,15,192,15,192,28,224,28,224,
+  56,112,56,112,112,56,112,56,224,28,255,252,255,252,255,252,
+  224,28,224,28,224,28,224,28,224,28,14,24,48,16,0,0,
+  3,0,7,128,15,192,31,224,28,224,11,64,7,128,15,192,
+  15,192,28,224,28,224,56,112,56,112,112,56,112,56,224,28,
+  255,252,255,252,255,252,224,28,224,28,224,28,224,28,224,28,
+  14,24,48,16,0,0,60,56,127,56,255,248,231,240,225,224,
+  7,128,7,128,15,192,15,192,28,224,28,224,56,112,56,112,
+  112,56,112,56,224,28,255,252,255,252,255,252,224,28,224,28,
+  224,28,224,28,224,28,14,24,48,16,0,0,56,112,56,112,
+  56,112,0,0,0,0,7,128,7,128,15,192,15,192,28,224,
+  28,224,56,112,56,112,112,56,112,56,224,28,255,252,255,252,
+  255,252,224,28,224,28,224,28,224,28,224,28,14,24,48,16,
+  0,0,7,128,15,192,28,224,24,96,28,224,15,192,7,128,
+  15,192,15,192,28,224,28,224,56,112,56,112,112,56,112,56,
+  224,28,255,252,255,252,255,252,224,28,224,28,224,28,224,28,
+  224,28,14,19,38,16,0,0,15,252,63,252,127,252,119,0,
+  231,0,231,0,231,0,231,0,255,224,255,224,255,224,231,0,
+  231,0,231,0,231,0,231,0,231,252,231,252,231,252,14,24,
+  48,16,0,251,15,192,63,240,127,248,112,56,224,28,224,28,
+  224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,28,
+  224,28,112,56,127,248,63,240,15,192,7,0,15,0,30,0,
+  60,0,24,0,14,24,48,16,0,0,24,0,60,0,30,0,
+  15,0,7,128,255,252,255,252,255,252,224,0,224,0,224,0,
+  224,0,224,0,255,224,255,224,255,224,224,0,224,0,224,0,
+  224,0,224,0,255,252,255,252,255,252,14,24,48,16,0,0,
+  0,96,0,240,1,224,3,192,7,128,255,252,255,252,255,252,
+  224,0,224,0,224,0,224,0,224,0,255,224,255,224,255,224,
+  224,0,224,0,224,0,224,0,224,0,255,252,255,252,255,252,
+  14,24,48,16,0,0,3,0,7,128,15,192,31,224,28,224,
+  255,252,255,252,255,252,224,0,224,0,224,0,224,0,224,0,
+  255,224,255,224,255,224,224,0,224,0,224,0,224,0,224,0,
+  255,252,255,252,255,252,14,24,48,16,0,0,56,112,56,112,
+  56,112,0,0,0,0,255,252,255,252,255,252,224,0,224,0,
+  224,0,224,0,224,0,255,224,255,224,255,224,224,0,224,0,
+  224,0,224,0,224,0,255,252,255,252,255,252,13,24,48,16,
+  0,0,24,0,60,0,30,0,15,0,7,0,255,248,255,248,
+  255,248,7,0,7,0,7,0,7,0,7,0,7,0,7,0,
+  7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248,
+  255,248,13,24,48,16,0,0,0,192,1,224,3,192,7,128,
+  7,0,255,248,255,248,255,248,7,0,7,0,7,0,7,0,
+  7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,
+  7,0,255,248,255,248,255,248,13,24,48,16,0,0,2,0,
+  7,0,15,128,31,192,56,224,255,248,255,248,255,248,7,0,
+  7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,
+  7,0,7,0,7,0,7,0,255,248,255,248,255,248,13,24,
+  48,16,0,0,56,224,56,224,56,224,0,0,0,0,255,248,
+  255,248,255,248,7,0,7,0,7,0,7,0,7,0,7,0,
+  7,0,7,0,7,0,7,0,7,0,7,0,7,0,255,248,
+  255,248,255,248,14,19,38,16,0,0,31,192,31,240,31,248,
+  28,56,28,28,28,28,28,28,28,28,255,156,255,156,255,156,
+  28,28,28,28,28,28,28,28,28,56,31,248,31,240,31,192,
+  14,24,48,16,0,0,60,56,127,56,255,248,231,240,225,224,
+  224,28,240,28,248,28,252,28,254,28,239,28,231,156,227,220,
+  225,252,224,252,224,124,224,60,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,14,24,48,16,0,0,12,0,30,0,
+  15,0,7,128,3,128,15,192,63,240,127,248,112,56,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,112,56,127,248,63,240,15,192,14,24,48,16,
+  0,0,0,192,1,224,3,192,7,128,7,0,15,192,63,240,
+  127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,112,56,127,248,63,240,
+  15,192,14,24,48,16,0,0,3,0,7,128,15,192,31,224,
+  60,240,24,96,15,192,63,240,127,248,112,56,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  112,56,127,248,63,240,15,192,14,24,48,16,0,0,60,56,
+  127,56,255,248,231,240,225,224,15,192,63,240,127,248,112,56,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,24,
+  48,16,0,0,56,112,56,112,56,112,0,0,0,0,15,192,
+  63,240,127,248,112,56,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,112,56,127,248,
+  63,240,15,192,14,13,26,16,0,3,96,24,240,60,120,120,
+  60,240,31,224,15,192,7,128,15,192,31,224,60,240,120,120,
+  240,60,96,24,14,19,38,16,0,0,15,192,63,240,127,248,
+  112,56,224,60,224,124,224,252,225,252,227,220,231,156,239,28,
+  254,28,252,28,248,28,240,28,112,56,127,248,63,240,15,192,
+  14,24,48,16,0,0,24,0,60,0,30,0,15,0,7,128,
+  227,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,56,
+  127,248,63,240,15,192,14,24,48,16,0,0,0,96,0,240,
+  1,224,3,192,7,128,227,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,112,56,127,248,63,240,15,192,14,24,48,16,
+  0,0,3,0,7,128,15,192,31,224,60,240,24,96,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,112,56,127,248,63,240,
+  15,192,14,24,48,16,0,0,56,112,56,112,56,112,0,0,
+  0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  112,56,127,248,63,240,15,192,13,24,48,16,0,0,0,96,
+  0,240,1,224,3,192,7,128,227,56,224,56,224,56,224,56,
+  224,56,224,56,224,56,240,120,120,240,61,224,31,192,15,128,
+  7,0,7,0,7,0,7,0,7,0,7,0,7,0,14,19,
+  38,16,0,0,224,0,224,0,224,0,255,192,255,240,255,248,
+  224,56,224,28,224,28,224,28,224,56,255,248,255,240,255,192,
+  224,0,224,0,224,0,224,0,224,0,13,25,50,16,0,253,
+  3,192,7,224,15,240,30,120,60,56,120,56,240,56,224,56,
+  224,112,224,224,224,224,224,224,224,224,224,112,224,56,224,56,
+  224,56,224,56,224,120,227,240,227,224,227,192,224,0,224,0,
+  224,0,14,22,44,16,0,0,6,0,15,0,7,128,3,192,
+  1,224,0,192,0,0,0,0,15,252,63,252,127,252,112,28,
+  224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220,
+  63,156,14,28,14,22,44,16,0,0,0,96,0,240,1,224,
+  3,192,7,128,3,0,0,0,0,0,15,252,63,252,127,252,
+  112,28,224,28,224,28,224,28,224,28,224,60,224,124,113,252,
+  127,220,63,156,14,28,14,22,44,16,0,0,3,0,7,128,
+  15,192,31,224,60,240,24,96,0,0,0,0,15,252,63,252,
+  127,252,112,28,224,28,224,28,224,28,224,28,224,60,224,124,
+  113,252,127,220,63,156,14,28,14,21,42,16,0,0,60,56,
+  127,56,255,248,231,240,225,224,0,0,0,0,15,252,63,252,
+  127,252,112,28,224,28,224,28,224,28,224,28,224,60,224,124,
+  113,252,127,220,63,156,14,28,14,19,38,16,0,0,56,112,
+  56,112,56,112,0,0,0,0,15,252,63,252,127,252,112,28,
+  224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220,
+  63,156,14,28,14,21,42,16,0,0,7,192,15,224,12,96,
+  12,96,12,96,15,224,7,192,15,252,63,252,127,252,112,28,
+  224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220,
+  63,156,14,28,14,14,28,16,0,0,15,192,63,240,127,248,
+  119,120,231,60,231,28,231,252,231,252,231,252,231,0,119,0,
+  127,252,63,252,15,252,14,19,38,16,0,251,15,192,63,240,
+  127,248,112,56,224,28,224,28,224,0,224,0,224,0,224,0,
+  112,0,127,252,63,252,15,252,7,0,15,0,30,0,60,0,
+  24,0,14,22,44,16,0,0,24,0,60,0,30,0,15,0,
+  7,128,3,0,0,0,0,0,15,192,63,240,127,248,112,56,
+  224,28,224,28,255,252,255,252,255,252,224,0,112,0,127,252,
+  63,252,15,252,14,22,44,16,0,0,0,96,0,240,1,224,
+  3,192,7,128,3,0,0,0,0,0,15,192,63,240,127,248,
+  112,56,224,28,224,28,255,252,255,252,255,252,224,0,112,0,
+  127,252,63,252,15,252,14,22,44,16,0,0,3,0,7,128,
+  15,192,31,224,60,240,24,96,0,0,0,0,15,192,63,240,
+  127,248,112,56,224,28,224,28,255,252,255,252,255,252,224,0,
+  112,0,127,252,63,252,15,252,14,19,38,16,0,0,56,112,
+  56,112,56,112,0,0,0,0,15,192,63,240,127,248,112,56,
+  224,28,224,28,255,252,255,252,255,252,224,0,112,0,127,252,
+  63,252,15,252,9,22,44,16,2,0,96,0,240,0,120,0,
+  60,0,30,0,12,0,0,0,0,0,252,0,252,0,252,0,
+  28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,
+  255,128,255,128,255,128,9,22,44,16,2,0,3,0,7,128,
+  15,0,30,0,60,0,24,0,0,0,0,0,252,0,252,0,
+  252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,
+  28,0,255,128,255,128,255,128,10,22,44,16,2,0,12,0,
+  30,0,63,0,127,128,243,192,97,128,0,0,0,0,252,0,
+  252,0,252,0,28,0,28,0,28,0,28,0,28,0,28,0,
+  28,0,28,0,255,128,255,128,255,128,9,19,38,16,2,0,
+  227,128,227,128,227,128,0,0,0,0,252,0,252,0,252,0,
+  28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,
+  255,128,255,128,255,128,14,23,46,16,0,0,49,128,123,192,
+  63,128,31,0,31,0,63,128,123,192,49,224,0,240,15,248,
+  63,252,127,252,112,60,224,28,224,28,224,28,224,28,224,28,
+  224,28,112,56,127,248,63,240,15,192,14,21,42,16,0,0,
+  60,56,127,56,255,248,231,240,225,224,0,0,0,0,225,192,
+  231,240,239,248,254,56,248,28,240,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,14,22,44,16,0,0,
+  24,0,60,0,30,0,15,0,7,128,3,0,0,0,0,0,
+  15,192,63,240,127,248,112,56,224,28,224,28,224,28,224,28,
+  224,28,224,28,112,56,127,248,63,240,15,192,14,22,44,16,
+  0,0,0,96,0,240,1,224,3,192,7,128,3,0,0,0,
+  0,0,15,192,63,240,127,248,112,56,224,28,224,28,224,28,
+  224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,22,
+  44,16,0,0,3,0,7,128,15,192,31,224,60,240,24,96,
+  0,0,0,0,15,192,63,240,127,248,112,56,224,28,224,28,
+  224,28,224,28,224,28,224,28,112,56,127,248,63,240,15,192,
+  14,21,42,16,0,0,60,56,127,56,255,248,231,240,225,224,
+  0,0,0,0,15,192,63,240,127,248,112,56,224,28,224,28,
+  224,28,224,28,224,28,224,28,112,56,127,248,63,240,15,192,
+  14,19,38,16,0,0,56,112,56,112,56,112,0,0,0,0,
+  15,192,63,240,127,248,112,56,224,28,224,28,224,28,224,28,
+  224,28,224,28,112,56,127,248,63,240,15,192,13,14,28,16,
+  0,2,7,0,7,0,7,0,0,0,0,0,255,248,255,248,
+  255,248,0,0,0,0,0,0,7,0,7,0,7,0,14,14,
+  28,16,0,0,15,192,63,240,127,248,112,120,224,252,225,220,
+  227,156,231,28,238,28,252,28,120,56,127,248,63,240,15,192,
+  14,22,44,16,0,0,24,0,60,0,30,0,15,0,7,128,
+  3,0,0,0,0,0,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,60,224,124,113,252,127,220,63,156,
+  14,28,14,22,44,16,0,0,0,96,0,240,1,224,3,192,
+  7,128,3,0,0,0,0,0,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220,
+  63,156,14,28,14,22,44,16,0,0,3,0,7,128,15,192,
+  31,224,60,240,24,96,0,0,0,0,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,60,224,124,113,252,
+  127,220,63,156,14,28,14,19,38,16,0,0,56,112,56,112,
+  56,112,0,0,0,0,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,60,224,124,113,252,127,220,63,156,
+  14,28,14,27,54,16,0,251,0,96,0,240,1,224,3,192,
+  7,128,3,0,0,0,0,0,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,112,28,127,252,
+  63,252,15,252,0,28,0,56,31,248,31,240,31,192,14,24,
+  48,16,0,251,224,0,224,0,224,0,224,0,224,0,255,192,
+  255,240,255,248,224,56,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,56,255,248,255,240,255,192,224,0,224,0,224,0,
+  224,0,224,0,14,24,48,16,0,251,56,112,56,112,56,112,
+  0,0,0,0,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,112,28,127,252,63,252,31,252,
+  0,28,0,56,31,248,31,240,31,224};
+/*
+  Fontname: ProFont29
+  Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5
+  Capital A Height: 19, '1' Height: 19
+  Calculated Max Values w=16 h=29 x= 5 y=15 dx=16 dy= 0 ascent=24 len=58
+  Font Bounding box     w=16 h=28 x= 0 y=-5
+  Calculated Min Values           x= 0 y=-5 dx= 0 dy= 0
+  Pure Font   ascent =19 descent=-5
+  X Font      ascent =22 descent=-5
+  Max Font    ascent =24 descent=-5
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_profont29r[3719] U8G_FONT_SECTION("u8g_font_profont29r") = {
+  0,16,28,0,251,19,4,198,9,234,32,127,251,24,251,22,
+  251,0,0,0,16,0,0,3,19,19,16,5,0,224,224,224,
+  224,224,224,224,224,224,224,224,224,224,224,0,0,224,224,224,
+  9,9,18,16,2,13,227,128,227,128,227,128,227,128,227,128,
+  227,128,227,128,227,128,227,128,15,15,30,16,0,5,28,112,
+  28,112,28,112,255,254,255,254,255,254,28,112,28,112,28,112,
+  255,254,255,254,255,254,28,112,28,112,28,112,13,25,50,16,
+  0,253,7,0,7,0,7,0,15,128,63,224,127,240,119,112,
+  231,56,231,56,231,0,119,0,127,128,63,224,15,240,7,112,
+  7,56,231,56,231,56,119,112,127,240,63,224,15,128,7,0,
+  7,0,7,0,14,19,38,16,0,0,31,252,63,252,127,252,
+  102,28,231,60,231,120,231,240,103,224,127,224,63,192,31,240,
+  31,48,63,56,127,56,247,56,227,48,227,240,225,224,224,192,
+  14,19,38,16,0,0,15,0,63,192,127,224,112,224,225,224,
+  227,192,231,128,127,0,126,0,60,0,126,8,127,28,231,188,
+  227,248,225,240,113,240,127,248,63,188,14,24,3,9,9,16,
+  5,13,224,224,224,224,224,224,224,224,224,9,25,50,16,3,
+  253,3,0,7,128,15,0,30,0,60,0,120,0,240,0,224,
+  0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,
+  0,224,0,224,0,240,0,120,0,60,0,30,0,15,0,7,
+  128,3,0,9,25,50,16,2,253,96,0,240,0,120,0,60,
+  0,30,0,15,0,7,128,3,128,3,128,3,128,3,128,3,
+  128,3,128,3,128,3,128,3,128,3,128,3,128,7,128,15,
+  0,30,0,60,0,120,0,240,0,96,0,13,13,26,16,0,
+  5,7,0,7,0,103,48,247,248,127,240,31,192,31,192,127,
+  240,255,248,103,48,7,0,7,0,7,0,13,13,26,16,0,
+  3,7,0,7,0,7,0,7,0,7,0,255,248,255,248,255,
+  248,7,0,7,0,7,0,7,0,7,0,6,11,11,16,3,
+  251,56,124,124,124,60,28,28,60,120,240,96,8,3,3,16,
+  3,8,255,255,255,5,5,5,16,4,1,112,248,248,248,112,
+  15,26,52,16,0,251,0,14,0,14,0,28,0,28,0,56,
+  0,56,0,112,0,112,0,224,0,224,1,192,1,192,3,128,
+  3,128,7,0,7,0,14,0,14,0,28,0,28,0,56,0,
+  56,0,112,0,112,0,224,0,224,0,14,19,38,16,0,0,
+  15,192,63,240,127,248,112,56,224,60,224,124,224,252,225,252,
+  227,220,231,156,239,28,254,28,252,28,248,28,240,28,112,56,
+  127,248,63,240,15,192,13,19,38,16,0,0,7,0,7,0,
+  15,0,127,0,127,0,127,0,7,0,7,0,7,0,7,0,
+  7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248,
+  255,248,14,19,38,16,0,0,15,192,63,240,127,248,112,56,
+  224,28,224,28,0,28,0,56,0,120,0,240,1,224,3,192,
+  7,128,15,0,30,0,60,0,127,252,255,252,255,252,14,19,
+  38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28,
+  0,28,0,120,3,240,3,224,3,240,0,120,0,28,224,28,
+  224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0,
+  0,224,1,224,3,224,7,224,15,224,30,224,60,224,120,224,
+  240,224,224,224,255,252,255,252,255,252,0,224,0,224,0,224,
+  7,252,7,252,7,252,14,19,38,16,0,0,255,252,255,252,
+  255,252,224,0,224,0,255,192,255,240,255,248,0,56,0,28,
+  0,28,0,28,0,28,224,28,224,28,112,56,127,248,63,240,
+  15,192,14,19,38,16,0,0,15,224,63,224,127,224,112,0,
+  224,0,255,192,255,240,255,248,224,56,224,28,224,28,224,28,
+  224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,19,
+  38,16,0,0,255,252,255,252,255,252,0,28,0,28,0,28,
+  0,60,0,120,0,240,1,224,3,192,7,128,7,0,7,0,
+  7,0,7,0,7,0,7,0,7,0,14,19,38,16,0,0,
+  15,192,63,240,127,248,112,56,224,28,224,28,224,28,120,120,
+  63,240,31,224,63,240,120,120,224,28,224,28,224,28,112,56,
+  127,248,63,240,15,192,14,19,38,16,0,0,15,192,63,240,
+  127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28,
+  112,28,127,252,63,252,15,252,0,28,0,56,31,248,31,240,
+  31,192,5,13,13,16,4,1,112,248,248,248,112,0,0,0,
+  112,248,248,248,112,6,19,19,16,3,251,56,124,124,124,56,
+  0,0,0,56,124,124,124,60,28,28,60,120,240,96,12,19,
+  38,16,2,0,0,96,0,240,1,224,3,192,7,128,15,0,
+  30,0,60,0,120,0,240,0,120,0,60,0,30,0,15,0,
+  7,128,3,192,1,224,0,240,0,96,14,9,18,16,0,5,
+  255,252,255,252,255,252,0,0,0,0,0,0,255,252,255,252,
+  255,252,12,19,38,16,2,0,96,0,240,0,120,0,60,0,
+  30,0,15,0,7,128,3,192,1,224,0,240,1,224,3,192,
+  7,128,15,0,30,0,60,0,120,0,240,0,96,0,14,19,
+  38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28,
+  0,28,0,60,0,120,0,240,1,224,3,192,7,128,7,0,
+  0,0,0,0,7,0,7,0,7,0,14,19,38,16,0,0,
+  15,192,63,240,127,248,112,56,224,28,225,252,227,252,231,252,
+  231,28,231,28,231,28,231,252,227,248,225,240,224,0,112,0,
+  127,252,63,252,15,252,14,19,38,16,0,0,7,128,7,128,
+  15,192,15,192,28,224,28,224,56,112,56,112,112,56,112,56,
+  224,28,255,252,255,252,255,252,224,28,224,28,224,28,224,28,
+  224,28,14,19,38,16,0,0,255,192,255,240,255,248,224,56,
+  224,28,224,28,224,28,224,120,255,240,255,224,255,240,224,120,
+  224,28,224,28,224,28,224,56,255,248,255,240,255,192,14,19,
+  38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28,
+  224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,28,
+  224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0,
+  255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,56,
+  255,248,255,240,255,192,14,19,38,16,0,0,255,252,255,252,
+  255,252,224,0,224,0,224,0,224,0,224,0,255,224,255,224,
+  255,224,224,0,224,0,224,0,224,0,224,0,255,252,255,252,
+  255,252,14,19,38,16,0,0,255,252,255,252,255,252,224,0,
+  224,0,224,0,224,0,224,0,255,224,255,224,255,224,224,0,
+  224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,19,
+  38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28,
+  224,0,224,0,224,252,224,252,224,252,224,28,224,28,224,28,
+  224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  255,252,255,252,255,252,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,13,19,38,16,0,0,255,248,255,248,
+  255,248,7,0,7,0,7,0,7,0,7,0,7,0,7,0,
+  7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248,
+  255,248,14,19,38,16,0,0,0,28,0,28,0,28,0,28,
+  0,28,0,28,0,28,0,28,0,28,0,28,0,28,224,28,
+  224,28,224,28,224,28,112,56,127,248,63,240,15,192,13,19,
+  38,16,0,0,224,56,224,120,224,240,225,224,227,192,231,128,
+  239,0,254,0,252,0,248,0,252,0,254,0,239,0,231,128,
+  227,192,225,224,224,240,224,120,224,56,14,19,38,16,0,0,
+  224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,
+  224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,
+  255,252,255,252,255,252,15,19,38,16,0,0,224,14,240,30,
+  248,62,252,126,254,254,239,238,231,206,227,142,227,142,227,142,
+  227,142,224,14,224,14,224,14,224,14,224,14,224,14,224,14,
+  224,14,14,19,38,16,0,0,224,28,240,28,248,28,252,28,
+  254,28,239,28,231,156,227,220,225,252,224,252,224,124,224,60,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,14,19,
+  38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0,
+  255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,56,
+  255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0,
+  224,0,224,0,224,0,14,22,44,16,0,253,15,192,63,240,
+  127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,230,28,239,28,119,248,127,248,63,240,
+  15,240,0,120,0,60,0,24,14,19,38,16,0,0,255,192,
+  255,240,255,248,224,56,224,28,224,28,224,28,224,120,255,240,
+  255,224,255,240,224,120,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,14,19,38,16,0,0,15,192,63,240,127,248,
+  112,56,224,28,224,28,224,0,112,0,127,192,63,240,15,248,
+  0,56,0,28,224,28,224,28,112,56,127,248,63,240,15,192,
+  13,19,38,16,0,0,255,248,255,248,255,248,7,0,7,0,
+  7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,
+  7,0,7,0,7,0,7,0,7,0,7,0,14,19,38,16,
+  0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  112,56,127,248,63,240,15,192,14,19,38,16,0,0,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,112,56,112,56,
+  56,112,56,112,28,224,28,224,15,192,15,192,7,128,7,128,
+  3,0,3,0,15,19,38,16,0,0,224,14,224,14,224,14,
+  224,14,224,14,224,14,224,14,224,14,227,142,227,142,227,142,
+  227,142,231,206,239,254,254,254,252,126,248,62,240,30,224,14,
+  14,19,38,16,0,0,224,28,224,28,224,28,224,28,240,60,
+  120,120,60,240,31,224,15,192,7,128,15,192,31,224,60,240,
+  120,120,240,60,224,28,224,28,224,28,224,28,13,19,38,16,
+  0,0,224,56,224,56,224,56,224,56,224,56,224,56,224,56,
+  240,120,120,240,61,224,31,192,15,128,7,0,7,0,7,0,
+  7,0,7,0,7,0,7,0,14,19,38,16,0,0,255,252,
+  255,252,255,252,0,28,0,60,0,120,0,240,1,224,3,192,
+  7,128,15,0,30,0,60,0,120,0,240,0,224,0,255,252,
+  255,252,255,252,6,25,25,16,5,253,252,252,252,224,224,224,
+  224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,
+  252,252,252,15,26,52,16,1,251,224,0,224,0,112,0,112,
+  0,56,0,56,0,28,0,28,0,14,0,14,0,7,0,7,
+  0,3,128,3,128,1,192,1,192,0,224,0,224,0,112,0,
+  112,0,56,0,56,0,28,0,28,0,14,0,14,6,25,25,
+  16,2,253,252,252,252,28,28,28,28,28,28,28,28,28,28,
+  28,28,28,28,28,28,28,28,28,252,252,252,14,8,16,16,
+  0,11,3,0,7,128,15,192,31,224,60,240,120,120,240,60,
+  96,24,16,3,6,16,0,251,255,255,255,255,255,255,7,6,
+  6,16,2,15,96,240,120,60,30,12,14,14,28,16,0,0,
+  15,252,63,252,127,252,112,28,224,28,224,28,224,28,224,28,
+  224,60,224,124,113,252,127,220,63,156,14,28,14,19,38,16,
+  0,0,224,0,224,0,224,0,224,0,224,0,255,192,255,240,
+  255,248,224,56,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,56,255,248,255,240,255,192,14,14,28,16,0,0,15,192,
+  63,240,127,248,112,56,224,28,224,28,224,0,224,0,224,0,
+  224,0,112,0,127,252,63,252,15,252,14,19,38,16,0,0,
+  0,28,0,28,0,28,0,28,0,28,15,252,63,252,127,252,
+  112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28,
+  127,252,63,252,15,252,14,14,28,16,0,0,15,192,63,240,
+  127,248,112,56,224,28,224,28,255,252,255,252,255,252,224,0,
+  112,0,127,252,63,252,15,252,11,19,38,16,2,0,1,224,
+  7,224,15,224,14,0,28,0,255,128,255,128,255,128,28,0,
+  28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,
+  28,0,28,0,14,19,38,16,0,251,15,252,63,252,127,252,
+  112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28,
+  127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192,
+  14,19,38,16,0,0,224,0,224,0,224,0,224,0,224,0,
+  255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,9,19,38,16,
+  2,0,28,0,28,0,28,0,0,0,0,0,252,0,252,0,
+  252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,
+  28,0,255,128,255,128,255,128,8,24,24,16,0,251,7,7,
+  7,0,0,63,63,63,7,7,7,7,7,7,7,7,7,7,
+  7,7,14,254,252,240,14,19,38,16,0,0,224,0,224,0,
+  224,0,224,0,224,0,224,120,224,240,225,224,227,192,231,128,
+  239,0,255,0,255,128,251,192,241,224,224,240,224,120,224,60,
+  224,28,9,19,38,16,2,0,252,0,252,0,252,0,28,0,
+  28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,
+  28,0,28,0,28,0,28,0,255,128,255,128,255,128,15,14,
+  28,16,0,0,255,224,255,248,255,252,227,156,227,142,227,142,
+  227,142,227,142,227,142,227,142,227,142,227,142,227,142,227,142,
+  14,14,28,16,0,0,225,192,231,240,239,248,254,56,248,28,
+  240,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,14,14,28,16,0,0,15,192,63,240,127,248,112,56,
+  224,28,224,28,224,28,224,28,224,28,224,28,112,56,127,248,
+  63,240,15,192,14,19,38,16,0,251,255,192,255,240,255,248,
+  224,56,224,28,224,28,224,28,224,28,224,28,224,28,224,56,
+  255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0,
+  14,19,38,16,0,251,15,252,63,252,127,252,112,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,112,28,127,252,63,252,
+  15,252,0,28,0,28,0,28,0,28,0,28,14,14,28,16,
+  0,0,225,192,231,240,239,248,254,56,248,28,240,28,224,0,
+  224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,14,
+  28,16,0,0,15,252,63,252,127,252,240,0,224,0,255,192,
+  127,240,31,248,0,60,0,28,0,60,255,248,255,240,255,192,
+  11,19,38,16,2,0,28,0,28,0,28,0,28,0,28,0,
+  255,128,255,128,255,128,28,0,28,0,28,0,28,0,28,0,
+  28,0,28,0,14,0,15,224,7,224,1,224,14,14,28,16,
+  0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28,
+  224,28,224,60,224,124,113,252,127,220,63,156,14,28,14,14,
+  28,16,0,0,224,28,224,28,224,28,224,28,224,28,112,56,
+  112,56,56,112,56,112,28,224,28,224,15,192,15,192,7,128,
+  15,14,28,16,0,0,227,142,227,142,227,142,227,142,227,142,
+  227,142,227,142,227,142,227,142,227,142,247,222,127,252,126,252,
+  28,112,14,14,28,16,0,0,224,28,224,28,240,60,120,120,
+  60,240,31,224,15,192,15,192,31,224,60,240,120,120,240,60,
+  224,28,224,28,14,19,38,16,0,251,224,28,224,28,224,28,
+  224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28,
+  127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192,
+  13,14,28,16,0,0,255,248,255,248,255,248,0,240,1,224,
+  3,192,7,128,15,0,30,0,60,0,120,0,255,248,255,248,
+  255,248,9,29,58,16,3,251,3,128,15,128,15,128,30,0,
+  28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,
+  60,0,248,0,224,0,248,0,60,0,28,0,28,0,28,0,
+  28,0,28,0,28,0,28,0,28,0,30,0,15,128,15,128,
+  3,128,3,25,25,16,5,253,224,224,224,224,224,224,224,224,
+  224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,
+  224,9,29,58,16,2,251,224,0,248,0,248,0,60,0,28,
+  0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,
+  0,15,128,3,128,15,128,30,0,28,0,28,0,28,0,28,
+  0,28,0,28,0,28,0,28,0,60,0,248,0,248,0,224,
+  0,13,5,10,16,0,8,60,56,127,56,255,248,231,240,225,
+  224,0,0,0,16,0,0};
 /*
   Fontname: -FreeType-Robot de Niro-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1
   Copyright: Copyright BMoser 2008
@@ -69946,7 +73304,7 @@ const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[1012] U8G_SECTION(".progmem.u8g
   Max Font    ascent =10 descent= 0
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_robot_de_niro[1376] U8G_SECTION(".progmem.u8g_font_robot_de_niro") = {
+const u8g_fntpgm_uint8_t u8g_font_robot_de_niro[1376] U8G_FONT_SECTION("u8g_font_robot_de_niro") = {
   0,10,10,255,0,6,1,97,2,193,32,255,1,10,0,9,
   0,0,0,0,2,0,0,2,5,5,3,0,3,192,128,128,
   0,128,3,2,2,4,0,6,160,160,5,5,5,6,0,3,
@@ -70046,8 +73404,8 @@ const u8g_fntpgm_uint8_t u8g_font_robot_de_niro[1376] U8G_SECTION(".progmem.u8g_
   Max Font    ascent = 9 descent= 0
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[178] U8G_SECTION(".progmem.u8g_font_robot_de_niron") = {
-  0,10,10,255,0,5,0,0,0,0,42,57,0,9,0,5,
+const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[187] U8G_FONT_SECTION("u8g_font_robot_de_niron") = {
+  0,10,10,255,0,5,0,0,0,0,42,58,0,9,0,5,
   0,3,3,3,4,0,6,160,64,160,3,3,3,4,0,4,
   64,224,64,2,2,2,3,0,2,64,128,3,1,1,4,0,
   5,224,1,1,1,2,0,3,128,3,5,5,4,0,3,32,
@@ -70058,7 +73416,7 @@ const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[178] U8G_SECTION(".progmem.u8g_
   3,96,128,224,32,224,3,5,5,4,0,3,96,128,224,160,
   64,4,5,5,5,0,3,224,32,112,32,32,3,5,5,4,
   0,3,96,160,224,160,192,3,5,5,4,0,3,96,160,224,
-  32,192};
+  32,192,1,3,3,2,0,4,128,0,128};
 /*
   Fontname: -FreeType-Robot de Niro-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1
   Copyright: Copyright BMoser 2008
@@ -70071,7 +73429,7 @@ const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[178] U8G_SECTION(".progmem.u8g_
   Max Font    ascent =10 descent= 0
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_robot_de_niror[1041] U8G_SECTION(".progmem.u8g_font_robot_de_niror") = {
+const u8g_fntpgm_uint8_t u8g_font_robot_de_niror[1041] U8G_FONT_SECTION("u8g_font_robot_de_niror") = {
   0,10,10,255,0,6,1,97,2,193,32,127,1,10,0,9,
   0,0,0,0,2,0,0,2,5,5,3,0,3,192,128,128,
   0,128,3,2,2,4,0,6,160,160,5,5,5,6,0,3,
@@ -70150,7 +73508,7 @@ const u8g_fntpgm_uint8_t u8g_font_robot_de_niror[1041] U8G_SECTION(".progmem.u8g
   Max Font    ascent =11 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_symb08[2612] U8G_SECTION(".progmem.u8g_font_symb08") = {
+const u8g_fntpgm_uint8_t u8g_font_symb08[2612] U8G_FONT_SECTION("u8g_font_symb08") = {
   0,11,15,255,252,7,1,152,3,60,32,255,254,11,252,7,
   254,0,0,0,3,0,1,1,7,7,3,1,0,128,128,128,
   128,128,0,128,7,7,7,7,0,0,130,68,124,40,40,16,
@@ -70327,7 +73685,7 @@ const u8g_fntpgm_uint8_t u8g_font_symb08[2612] U8G_SECTION(".progmem.u8g_font_sy
   Max Font    ascent =10 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_symb08r[1211] U8G_SECTION(".progmem.u8g_font_symb08r") = {
+const u8g_fntpgm_uint8_t u8g_font_symb08r[1211] U8G_FONT_SECTION("u8g_font_symb08r") = {
   0,11,15,255,252,7,1,152,3,60,32,127,254,10,253,7,
   254,0,0,0,3,0,1,1,7,7,3,1,0,128,128,128,
   128,128,0,128,7,7,7,7,0,0,130,68,124,40,40,16,
@@ -70416,7 +73774,7 @@ const u8g_fntpgm_uint8_t u8g_font_symb08r[1211] U8G_SECTION(".progmem.u8g_font_s
   Max Font    ascent =12 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_symb10[3433] U8G_SECTION(".progmem.u8g_font_symb10") = {
+const u8g_fntpgm_uint8_t u8g_font_symb10[3433] U8G_FONT_SECTION("u8g_font_symb10") = {
   0,16,15,255,253,10,2,6,4,121,32,255,253,12,253,10,
   253,0,0,0,4,0,1,1,10,10,5,2,0,128,128,128,
   128,128,128,128,0,128,128,9,10,20,9,0,0,128,128,65,
@@ -70644,7 +74002,7 @@ const u8g_fntpgm_uint8_t u8g_font_symb10[3433] U8G_SECTION(".progmem.u8g_font_sy
   Max Font    ascent =12 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_symb10r[1633] U8G_SECTION(".progmem.u8g_font_symb10r") = {
+const u8g_fntpgm_uint8_t u8g_font_symb10r[1633] U8G_FONT_SECTION("u8g_font_symb10r") = {
   0,16,15,255,253,10,2,6,4,121,32,127,253,12,253,10,
   253,0,0,0,4,0,1,1,10,10,5,2,0,128,128,128,
   128,128,128,128,0,128,128,9,10,20,9,0,0,128,128,65,
@@ -70760,7 +74118,7 @@ const u8g_fntpgm_uint8_t u8g_font_symb10r[1633] U8G_SECTION(".progmem.u8g_font_s
   Max Font    ascent =13 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_symb12[4136] U8G_SECTION(".progmem.u8g_font_symb12") = {
+const u8g_fntpgm_uint8_t u8g_font_symb12[4136] U8G_FONT_SECTION("u8g_font_symb12") = {
   0,20,17,253,252,11,2,70,5,85,32,255,252,13,252,12,
   252,0,0,0,4,0,1,3,11,11,5,1,0,64,224,224,
   224,64,64,64,0,64,224,64,11,12,24,11,0,0,128,32,
@@ -71032,7 +74390,7 @@ const u8g_fntpgm_uint8_t u8g_font_symb12[4136] U8G_SECTION(".progmem.u8g_font_sy
   Max Font    ascent =13 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_symb12r[1985] U8G_SECTION(".progmem.u8g_font_symb12r") = {
+const u8g_fntpgm_uint8_t u8g_font_symb12r[1985] U8G_FONT_SECTION("u8g_font_symb12r") = {
   0,20,17,253,252,11,2,70,5,85,32,127,252,13,252,12,
   252,0,0,0,4,0,1,3,11,11,5,1,0,64,224,224,
   224,64,64,64,0,64,224,64,11,12,24,11,0,0,128,32,
@@ -71170,7 +74528,7 @@ const u8g_fntpgm_uint8_t u8g_font_symb12r[1985] U8G_SECTION(".progmem.u8g_font_s
   Max Font    ascent =14 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_symb14[4665] U8G_SECTION(".progmem.u8g_font_symb14") = {
+const u8g_fntpgm_uint8_t u8g_font_symb14[4665] U8G_FONT_SECTION("u8g_font_symb14") = {
   0,20,19,255,251,13,2,127,6,16,32,255,252,14,251,13,
   252,0,0,0,5,0,1,2,13,13,6,2,0,192,192,192,
   192,192,192,192,64,64,0,0,192,192,13,13,26,13,0,0,
@@ -71475,7 +74833,7 @@ const u8g_fntpgm_uint8_t u8g_font_symb14[4665] U8G_SECTION(".progmem.u8g_font_sy
   Max Font    ascent =14 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_symb14r[2261] U8G_SECTION(".progmem.u8g_font_symb14r") = {
+const u8g_fntpgm_uint8_t u8g_font_symb14r[2261] U8G_FONT_SECTION("u8g_font_symb14r") = {
   0,20,19,255,251,13,2,127,6,16,32,127,252,14,251,13,
   252,0,0,0,5,0,1,2,13,13,6,2,0,192,192,192,
   192,192,192,192,64,64,0,0,192,192,13,13,26,13,0,0,
@@ -71630,7 +74988,7 @@ const u8g_fntpgm_uint8_t u8g_font_symb14r[2261] U8G_SECTION(".progmem.u8g_font_s
   Max Font    ascent =19 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_symb18[6604] U8G_SECTION(".progmem.u8g_font_symb18") = {
+const u8g_fntpgm_uint8_t u8g_font_symb18[6604] U8G_FONT_SECTION("u8g_font_symb18") = {
   0,27,24,255,251,17,3,215,8,151,32,255,251,19,251,17,
   251,0,0,0,6,0,1,3,17,17,7,2,0,64,224,224,
   224,224,224,224,224,64,64,64,64,0,0,0,192,192,15,17,
@@ -72056,7 +75414,7 @@ const u8g_fntpgm_uint8_t u8g_font_symb18[6604] U8G_SECTION(".progmem.u8g_font_sy
   Max Font    ascent =19 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_symb18r[3303] U8G_SECTION(".progmem.u8g_font_symb18r") = {
+const u8g_fntpgm_uint8_t u8g_font_symb18r[3303] U8G_FONT_SECTION("u8g_font_symb18r") = {
   0,27,24,255,251,17,3,215,8,151,32,127,251,19,251,17,
   251,0,0,0,6,0,1,3,17,17,7,2,0,64,224,224,
   224,224,224,224,224,64,64,64,64,0,0,0,192,192,15,17,
@@ -72276,7 +75634,7 @@ const u8g_fntpgm_uint8_t u8g_font_symb18r[3303] U8G_SECTION(".progmem.u8g_font_s
   Max Font    ascent =27 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_symb24[10727] U8G_SECTION(".progmem.u8g_font_symb24") = {
+const u8g_fntpgm_uint8_t u8g_font_symb24[10727] U8G_FONT_SECTION("u8g_font_symb24") = {
   0,40,34,251,249,23,5,133,13,247,32,255,249,27,249,23,
   249,0,0,0,8,0,1,4,23,23,11,4,0,96,240,240,
   240,240,240,96,96,96,96,96,96,96,96,96,96,0,0,0,
@@ -72960,7 +76318,7 @@ const u8g_fntpgm_uint8_t u8g_font_symb24[10727] U8G_SECTION(".progmem.u8g_font_s
   Max Font    ascent =27 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_symb24r[5335] U8G_SECTION(".progmem.u8g_font_symb24r") = {
+const u8g_fntpgm_uint8_t u8g_font_symb24r[5335] U8G_FONT_SECTION("u8g_font_symb24r") = {
   0,40,34,251,249,23,5,133,13,247,32,127,249,27,249,23,
   249,0,0,0,8,0,1,4,23,23,11,4,0,96,240,240,
   240,240,240,96,96,96,96,96,96,96,96,96,96,0,0,0,
@@ -73307,7 +76665,7 @@ const u8g_fntpgm_uint8_t u8g_font_symb24r[5335] U8G_SECTION(".progmem.u8g_font_s
   Max Font    ascent =10 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timB08[2551] U8G_SECTION(".progmem.u8g_font_timB08") = {
+const u8g_fntpgm_uint8_t u8g_font_timB08[2551] U8G_FONT_SECTION("u8g_font_timB08") = {
   0,13,18,254,251,7,1,164,3,77,32,255,253,10,253,7,
   253,0,0,0,2,0,1,2,7,7,4,1,0,192,192,192,
   192,0,192,192,3,3,3,5,1,4,160,160,160,5,7,7,
@@ -73480,7 +76838,7 @@ const u8g_fntpgm_uint8_t u8g_font_timB08[2551] U8G_SECTION(".progmem.u8g_font_ti
   Max Font    ascent = 8 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timB08r[1221] U8G_SECTION(".progmem.u8g_font_timB08r") = {
+const u8g_fntpgm_uint8_t u8g_font_timB08r[1221] U8G_FONT_SECTION("u8g_font_timB08r") = {
   0,13,18,254,251,7,1,164,3,77,32,127,253,8,253,7,
   253,0,0,0,2,0,1,2,7,7,4,1,0,192,192,192,
   192,0,192,192,3,3,3,5,1,4,160,160,160,5,7,7,
@@ -73570,7 +76928,7 @@ const u8g_fntpgm_uint8_t u8g_font_timB08r[1221] U8G_SECTION(".progmem.u8g_font_t
   Max Font    ascent =14 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timB10[3539] U8G_SECTION(".progmem.u8g_font_timB10") = {
+const u8g_fntpgm_uint8_t u8g_font_timB10[3539] U8G_FONT_SECTION("u8g_font_timB10") = {
   0,17,24,254,250,10,2,6,4,148,32,255,253,14,253,10,
   253,0,0,0,3,0,1,2,10,10,4,1,0,192,192,192,
   192,192,192,192,0,192,192,5,4,4,7,1,6,216,216,216,
@@ -73805,7 +77163,7 @@ const u8g_fntpgm_uint8_t u8g_font_timB10[3539] U8G_SECTION(".progmem.u8g_font_ti
   Max Font    ascent =11 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timB10r[1632] U8G_SECTION(".progmem.u8g_font_timB10r") = {
+const u8g_fntpgm_uint8_t u8g_font_timB10r[1632] U8G_FONT_SECTION("u8g_font_timB10r") = {
   0,17,24,254,250,10,2,6,4,148,32,127,253,11,253,10,
   253,0,0,0,3,0,1,2,10,10,4,1,0,192,192,192,
   192,192,192,192,0,192,192,5,4,4,7,1,6,216,216,216,
@@ -73921,7 +77279,7 @@ const u8g_fntpgm_uint8_t u8g_font_timB10r[1632] U8G_SECTION(".progmem.u8g_font_t
   Max Font    ascent =16 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timB12[3887] U8G_SECTION(".progmem.u8g_font_timB12") = {
+const u8g_fntpgm_uint8_t u8g_font_timB12[3887] U8G_FONT_SECTION("u8g_font_timB12") = {
   0,19,27,254,249,11,2,42,5,41,32,255,252,16,252,11,
   252,0,0,0,5,0,1,2,11,11,6,2,0,192,192,192,
   192,192,128,128,0,0,192,192,5,5,5,9,1,6,216,216,
@@ -74177,7 +77535,7 @@ const u8g_fntpgm_uint8_t u8g_font_timB12[3887] U8G_SECTION(".progmem.u8g_font_ti
   Max Font    ascent =12 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timB12r[1834] U8G_SECTION(".progmem.u8g_font_timB12r") = {
+const u8g_fntpgm_uint8_t u8g_font_timB12r[1834] U8G_FONT_SECTION("u8g_font_timB12r") = {
   0,19,27,254,249,11,2,42,5,41,32,127,252,12,252,11,
   252,0,0,0,5,0,1,2,11,11,6,2,0,192,192,192,
   192,192,128,128,0,0,192,192,5,5,5,9,1,6,216,216,
@@ -74305,7 +77663,7 @@ const u8g_fntpgm_uint8_t u8g_font_timB12r[1834] U8G_SECTION(".progmem.u8g_font_t
   Max Font    ascent =17 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timB14[4851] U8G_SECTION(".progmem.u8g_font_timB14") = {
+const u8g_fntpgm_uint8_t u8g_font_timB14[4851] U8G_FONT_SECTION("u8g_font_timB14") = {
   0,22,28,254,249,13,2,178,6,78,32,255,252,17,252,13,
   252,0,0,0,5,0,1,3,13,13,6,1,0,64,224,224,
   224,224,224,224,64,64,0,224,224,224,6,6,6,10,2,7,
@@ -74622,7 +77980,7 @@ const u8g_fntpgm_uint8_t u8g_font_timB14[4851] U8G_SECTION(".progmem.u8g_font_ti
   Max Font    ascent =14 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timB14r[2295] U8G_SECTION(".progmem.u8g_font_timB14r") = {
+const u8g_fntpgm_uint8_t u8g_font_timB14r[2295] U8G_FONT_SECTION("u8g_font_timB14r") = {
   0,22,28,254,249,13,2,178,6,78,32,127,252,14,252,13,
   252,0,0,0,5,0,1,3,13,13,6,1,0,64,224,224,
   224,224,224,224,64,64,0,224,224,224,6,6,6,10,2,7,
@@ -74779,7 +78137,7 @@ const u8g_fntpgm_uint8_t u8g_font_timB14r[2295] U8G_SECTION(".progmem.u8g_font_t
   Max Font    ascent =23 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timB18[7223] U8G_SECTION(".progmem.u8g_font_timB18") = {
+const u8g_fntpgm_uint8_t u8g_font_timB18[7223] U8G_FONT_SECTION("u8g_font_timB18") = {
   0,27,38,254,246,17,4,47,9,109,32,255,251,23,250,17,
   251,0,0,0,6,0,1,4,17,17,8,2,0,96,240,240,
   240,240,240,96,96,96,96,96,0,0,96,240,240,96,8,8,
@@ -75244,7 +78602,7 @@ const u8g_fntpgm_uint8_t u8g_font_timB18[7223] U8G_SECTION(".progmem.u8g_font_ti
   Max Font    ascent =18 descent=-5
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timB18r[3355] U8G_SECTION(".progmem.u8g_font_timB18r") = {
+const u8g_fntpgm_uint8_t u8g_font_timB18r[3355] U8G_FONT_SECTION("u8g_font_timB18r") = {
   0,27,38,254,246,17,4,47,9,109,32,127,251,18,251,17,
   251,0,0,0,6,0,1,4,17,17,8,2,0,96,240,240,
   240,240,240,96,96,96,96,96,0,0,96,240,240,96,8,8,
@@ -75467,7 +78825,7 @@ const u8g_fntpgm_uint8_t u8g_font_timB18r[3355] U8G_SECTION(".progmem.u8g_font_t
   Max Font    ascent =30 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timB24[10820] U8G_SECTION(".progmem.u8g_font_timB24") = {
+const u8g_fntpgm_uint8_t u8g_font_timB24[10820] U8G_FONT_SECTION("u8g_font_timB24") = {
   0,38,49,251,244,23,5,149,13,202,32,255,249,30,249,23,
   249,0,0,0,8,0,1,5,23,23,11,3,0,112,248,248,
   248,248,248,248,112,112,112,112,32,32,32,32,0,0,0,112,
@@ -76149,7 +79507,7 @@ const u8g_fntpgm_uint8_t u8g_font_timB24[10820] U8G_SECTION(".progmem.u8g_font_t
   Fontname: -Adobe-Times-Bold-R-Normal--34-240-100-100-P-177-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
   Capital A Height: 0, '1' Height: 23
-  Calculated Max Values w=16 h=25 x= 2 y= 9 dx=19 dy= 0 ascent=25 len=50
+  Calculated Max Values w=16 h=25 x= 3 y= 9 dx=19 dy= 0 ascent=25 len=50
   Font Bounding box     w=38 h=49 x=-5 y=-12
   Calculated Min Values           x= 0 y=-6 dx= 0 dy= 0
   Pure Font   ascent =23 descent= 0
@@ -76157,8 +79515,8 @@ const u8g_fntpgm_uint8_t u8g_font_timB24[10820] U8G_SECTION(".progmem.u8g_font_t
   Max Font    ascent =25 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timB24n[701] U8G_SECTION(".progmem.u8g_font_timB24n") = {
-  0,38,49,251,244,23,0,0,0,0,42,57,0,25,250,23,
+const u8g_fntpgm_uint8_t u8g_font_timB24n[723] U8G_FONT_SECTION("u8g_font_timB24n") = {
+  0,38,49,251,244,23,0,0,0,0,42,58,0,25,250,23,
   0,13,14,28,17,1,9,3,0,7,0,7,0,231,56,242,
   120,122,240,15,128,15,128,122,240,242,120,231,56,7,0,7,
   0,6,0,15,15,30,19,2,0,3,128,3,128,3,128,3,
@@ -76201,7 +79559,9 @@ const u8g_fntpgm_uint8_t u8g_font_timB24n[701] U8G_SECTION(".progmem.u8g_font_ti
   60,240,56,120,120,127,240,31,192,14,23,46,16,1,0,15,
   192,28,224,56,112,120,120,120,120,248,120,248,124,248,124,248,
   124,248,124,120,124,124,124,62,252,31,248,0,248,0,240,1,
-  240,1,224,3,192,7,128,15,0,60,0,224,0};
+  240,1,224,3,192,7,128,15,0,60,0,224,0,5,16,16,
+  11,3,0,112,248,248,248,112,0,0,0,0,0,0,112,248,
+  248,248,112};
 /*
   Fontname: -Adobe-Times-Bold-R-Normal--34-240-100-100-P-177-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -76214,7 +79574,7 @@ const u8g_fntpgm_uint8_t u8g_font_timB24n[701] U8G_SECTION(".progmem.u8g_font_ti
   Max Font    ascent =26 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timB24r[5003] U8G_SECTION(".progmem.u8g_font_timB24r") = {
+const u8g_fntpgm_uint8_t u8g_font_timB24r[5003] U8G_FONT_SECTION("u8g_font_timB24r") = {
   0,38,49,251,244,23,5,149,13,202,32,127,249,26,249,23,
   249,0,0,0,8,0,1,5,23,23,11,3,0,112,248,248,
   248,248,248,248,112,112,112,112,32,32,32,32,0,0,0,112,
@@ -76540,7 +79900,7 @@ const u8g_fntpgm_uint8_t u8g_font_timB24r[5003] U8G_SECTION(".progmem.u8g_font_t
   Max Font    ascent =10 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timR08[2512] U8G_SECTION(".progmem.u8g_font_timR08") = {
+const u8g_fntpgm_uint8_t u8g_font_timR08[2512] U8G_FONT_SECTION("u8g_font_timR08") = {
   0,12,17,254,252,7,1,147,3,56,32,255,254,10,253,7,
   254,0,0,0,2,0,1,1,7,7,3,1,0,128,128,128,
   128,128,0,128,3,2,2,4,0,5,160,160,5,7,7,5,
@@ -76711,7 +80071,7 @@ const u8g_fntpgm_uint8_t u8g_font_timR08[2512] U8G_SECTION(".progmem.u8g_font_ti
   Max Font    ascent = 8 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timR08r[1198] U8G_SECTION(".progmem.u8g_font_timR08r") = {
+const u8g_fntpgm_uint8_t u8g_font_timR08r[1198] U8G_FONT_SECTION("u8g_font_timR08r") = {
   0,12,17,254,252,7,1,147,3,56,32,127,254,8,253,7,
   254,0,0,0,2,0,1,1,7,7,3,1,0,128,128,128,
   128,128,0,128,3,2,2,4,0,5,160,160,5,7,7,5,
@@ -76799,7 +80159,7 @@ const u8g_fntpgm_uint8_t u8g_font_timR08r[1198] U8G_SECTION(".progmem.u8g_font_t
   Max Font    ascent =14 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timR10[3359] U8G_SECTION(".progmem.u8g_font_timR10") = {
+const u8g_fntpgm_uint8_t u8g_font_timR10[3359] U8G_FONT_SECTION("u8g_font_timR10") = {
   0,17,24,254,250,10,2,4,4,92,32,255,253,14,253,10,
   253,0,0,0,3,0,1,1,10,10,5,2,0,128,128,128,
   128,128,128,128,0,128,128,3,3,3,6,1,7,160,160,160,
@@ -77022,7 +80382,7 @@ const u8g_fntpgm_uint8_t u8g_font_timR10[3359] U8G_SECTION(".progmem.u8g_font_ti
   Max Font    ascent =11 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timR10r[1571] U8G_SECTION(".progmem.u8g_font_timR10r") = {
+const u8g_fntpgm_uint8_t u8g_font_timR10r[1571] U8G_FONT_SECTION("u8g_font_timR10r") = {
   0,17,24,254,250,10,2,4,4,92,32,127,253,11,253,10,
   253,0,0,0,3,0,1,1,10,10,5,2,0,128,128,128,
   128,128,128,128,0,128,128,3,3,3,6,1,7,160,160,160,
@@ -77134,7 +80494,7 @@ const u8g_fntpgm_uint8_t u8g_font_timR10r[1571] U8G_SECTION(".progmem.u8g_font_t
   Max Font    ascent =15 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timR12[3905] U8G_SECTION(".progmem.u8g_font_timR12") = {
+const u8g_fntpgm_uint8_t u8g_font_timR12[3905] U8G_FONT_SECTION("u8g_font_timR12") = {
   0,19,26,254,249,11,2,36,5,11,32,255,252,15,252,11,
   252,0,0,0,4,0,1,1,11,11,5,2,0,128,128,128,
   128,128,128,128,0,0,128,128,4,3,3,7,1,8,144,144,
@@ -77392,7 +80752,7 @@ const u8g_fntpgm_uint8_t u8g_font_timR12[3905] U8G_SECTION(".progmem.u8g_font_ti
   Max Font    ascent =12 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timR12r[1784] U8G_SECTION(".progmem.u8g_font_timR12r") = {
+const u8g_fntpgm_uint8_t u8g_font_timR12r[1784] U8G_FONT_SECTION("u8g_font_timR12r") = {
   0,19,26,254,249,11,2,36,5,11,32,127,252,12,252,11,
   252,0,0,0,4,0,1,1,11,11,5,2,0,128,128,128,
   128,128,128,128,0,0,128,128,4,3,3,7,1,8,144,144,
@@ -77517,7 +80877,7 @@ const u8g_fntpgm_uint8_t u8g_font_timR12r[1784] U8G_SECTION(".progmem.u8g_font_t
   Max Font    ascent =18 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timR14[4577] U8G_SECTION(".progmem.u8g_font_timR14") = {
+const u8g_fntpgm_uint8_t u8g_font_timR14[4577] U8G_FONT_SECTION("u8g_font_timR14") = {
   0,22,29,253,249,13,2,131,6,16,32,255,252,18,252,13,
   252,0,0,0,5,0,1,2,13,13,4,1,0,192,192,192,
   192,192,192,64,64,64,0,0,192,192,6,4,4,8,1,9,
@@ -77817,7 +81177,7 @@ const u8g_fntpgm_uint8_t u8g_font_timR14[4577] U8G_SECTION(".progmem.u8g_font_ti
   Max Font    ascent =14 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timR14r[2156] U8G_SECTION(".progmem.u8g_font_timR14r") = {
+const u8g_fntpgm_uint8_t u8g_font_timR14r[2156] U8G_FONT_SECTION("u8g_font_timR14r") = {
   0,22,29,253,249,13,2,131,6,16,32,127,252,14,252,13,
   252,0,0,0,5,0,1,2,13,13,4,1,0,192,192,192,
   192,192,192,64,64,64,0,0,192,192,6,4,4,8,1,9,
@@ -77965,7 +81325,7 @@ const u8g_fntpgm_uint8_t u8g_font_timR14r[2156] U8G_SECTION(".progmem.u8g_font_t
   Max Font    ascent =23 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timR18[6850] U8G_SECTION(".progmem.u8g_font_timR18") = {
+const u8g_fntpgm_uint8_t u8g_font_timR18[6850] U8G_FONT_SECTION("u8g_font_timR18") = {
   0,29,37,252,247,17,4,9,8,241,32,255,250,23,250,17,
   250,0,0,0,6,0,1,3,17,17,8,3,0,64,224,224,
   224,224,224,224,224,64,64,64,64,0,0,0,192,192,6,5,
@@ -78407,7 +81767,7 @@ const u8g_fntpgm_uint8_t u8g_font_timR18[6850] U8G_SECTION(".progmem.u8g_font_ti
   Max Font    ascent =19 descent=-6
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timR18r[3208] U8G_SECTION(".progmem.u8g_font_timR18r") = {
+const u8g_fntpgm_uint8_t u8g_font_timR18r[3208] U8G_FONT_SECTION("u8g_font_timR18r") = {
   0,29,37,252,247,17,4,9,8,241,32,127,250,19,250,17,
   250,0,0,0,6,0,1,3,17,17,8,3,0,64,224,224,
   224,224,224,224,224,64,64,64,64,0,0,0,192,192,6,5,
@@ -78621,7 +81981,7 @@ const u8g_fntpgm_uint8_t u8g_font_timR18r[3208] U8G_SECTION(".progmem.u8g_font_t
   Max Font    ascent =30 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timR24[10419] U8G_SECTION(".progmem.u8g_font_timR24") = {
+const u8g_fntpgm_uint8_t u8g_font_timR24[10419] U8G_FONT_SECTION("u8g_font_timR24") = {
   0,38,48,251,245,23,5,140,13,213,32,255,249,30,249,23,
   249,0,0,0,8,0,1,4,23,23,11,3,0,96,240,240,
   240,240,240,96,96,96,96,96,96,96,96,96,96,96,0,0,
@@ -79286,8 +82646,8 @@ const u8g_fntpgm_uint8_t u8g_font_timR24[10419] U8G_SECTION(".progmem.u8g_font_t
   Max Font    ascent =23 descent=-3
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timR24n[696] U8G_SECTION(".progmem.u8g_font_timR24n") = {
-  0,38,48,251,245,23,0,0,0,0,42,57,0,23,253,23,
+const u8g_fntpgm_uint8_t u8g_font_timR24n[717] U8G_FONT_SECTION("u8g_font_timR24n") = {
+  0,38,48,251,245,23,0,0,0,0,42,58,0,23,253,23,
   0,12,13,26,17,2,10,6,0,15,0,6,0,198,48,246,
   240,118,224,15,0,118,224,246,240,198,48,6,0,15,0,6,
   0,16,16,32,19,1,1,1,128,1,128,1,128,1,128,1,
@@ -79330,7 +82690,8 @@ const u8g_fntpgm_uint8_t u8g_font_timR24n[696] U8G_SECTION(".progmem.u8g_font_ti
   112,224,31,192,14,23,46,16,1,0,7,128,24,224,48,112,
   112,56,96,56,224,28,224,28,224,28,224,28,224,28,240,28,
   112,28,120,60,62,252,15,184,0,56,0,112,0,112,0,224,
-  1,192,3,128,15,0,120,0};
+  1,192,3,128,15,0,120,0,4,15,15,9,2,0,96,240,
+  240,96,0,0,0,0,0,0,0,96,240,240,96};
 /*
   Fontname: -Adobe-Times-Medium-R-Normal--34-240-100-100-P-170-ISO10646-1
   Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.
@@ -79343,7 +82704,7 @@ const u8g_fntpgm_uint8_t u8g_font_timR24n[696] U8G_SECTION(".progmem.u8g_font_ti
   Max Font    ascent =25 descent=-7
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_timR24r[4764] U8G_SECTION(".progmem.u8g_font_timR24r") = {
+const u8g_fntpgm_uint8_t u8g_font_timR24r[4764] U8G_FONT_SECTION("u8g_font_timR24r") = {
   0,38,48,251,245,23,5,140,13,213,32,127,249,25,249,23,
   249,0,0,0,8,0,1,4,23,23,11,3,0,96,240,240,
   240,240,240,96,96,96,96,96,96,96,96,96,96,96,0,0,
@@ -79654,7 +83015,7 @@ const u8g_fntpgm_uint8_t u8g_font_timR24r[4764] U8G_SECTION(".progmem.u8g_font_t
   Max Font    ascent =13 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_tpssb[2656] U8G_SECTION(".progmem.u8g_font_tpssb") = {
+const u8g_fntpgm_uint8_t u8g_font_tpssb[2656] U8G_FONT_SECTION("u8g_font_tpssb") = {
   0,11,17,0,252,9,1,205,3,159,32,255,252,13,252,9,
   252,0,0,0,4,0,0,2,9,9,4,1,0,192,192,192,
   192,192,192,0,192,192,5,2,2,7,1,7,216,216,5,5,
@@ -79834,8 +83195,8 @@ const u8g_fntpgm_uint8_t u8g_font_tpssb[2656] U8G_SECTION(".progmem.u8g_font_tps
   Max Font    ascent = 9 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_tpssbn[230] U8G_SECTION(".progmem.u8g_font_tpssbn") = {
-  0,11,17,0,252,9,0,0,0,0,42,57,0,9,255,9,
+const u8g_fntpgm_uint8_t u8g_font_tpssbn[240] U8G_FONT_SECTION("u8g_font_tpssbn") = {
+  0,11,17,0,252,9,0,0,0,0,42,58,0,9,255,9,
   0,5,7,7,7,1,1,32,168,112,32,112,168,32,6,6,
   6,8,1,1,48,48,252,252,48,48,3,2,2,5,1,255,
   96,192,5,2,2,7,1,3,248,248,2,1,1,4,1,0,
@@ -79849,7 +83210,8 @@ const u8g_fntpgm_uint8_t u8g_font_tpssbn[230] U8G_SECTION(".progmem.u8g_font_tps
   120,204,192,248,204,204,204,204,120,6,9,9,7,0,0,252,
   12,24,48,96,96,96,96,96,6,9,9,7,0,0,120,204,
   204,120,204,204,204,204,120,6,9,9,7,0,0,120,204,204,
-  204,124,12,12,204,120};
+  204,124,12,12,204,120,2,4,4,4,1,0,192,0,0,192
+  };
 /*
   Fontname: -FreeType-Teachers Pet Sans Serif Bold-Medium-R-Normal--8-80-72-72-P-61-ISO10646-1
   Copyright: © www.orgdot.com
@@ -79862,7 +83224,7 @@ const u8g_fntpgm_uint8_t u8g_font_tpssbn[230] U8G_SECTION(".progmem.u8g_font_tps
   Max Font    ascent =12 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_tpssbr[1346] U8G_SECTION(".progmem.u8g_font_tpssbr") = {
+const u8g_fntpgm_uint8_t u8g_font_tpssbr[1346] U8G_FONT_SECTION("u8g_font_tpssbr") = {
   0,11,17,0,252,9,1,205,3,159,32,127,252,12,252,9,
   252,0,0,0,4,0,0,2,9,9,4,1,0,192,192,192,
   192,192,192,0,192,192,5,2,2,7,1,7,216,216,5,5,
@@ -79960,7 +83322,7 @@ const u8g_fntpgm_uint8_t u8g_font_tpssbr[1346] U8G_SECTION(".progmem.u8g_font_tp
   Max Font    ascent =13 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_tpss[2605] U8G_SECTION(".progmem.u8g_font_tpss") = {
+const u8g_fntpgm_uint8_t u8g_font_tpss[2605] U8G_FONT_SECTION("u8g_font_tpss") = {
   0,11,17,255,252,9,1,192,3,136,32,255,252,13,252,9,
   252,0,0,0,4,0,0,1,9,9,3,1,0,128,128,128,
   128,128,128,0,128,128,3,2,2,5,1,7,160,160,5,5,
@@ -80136,8 +83498,8 @@ const u8g_fntpgm_uint8_t u8g_font_tpss[2605] U8G_SECTION(".progmem.u8g_font_tpss
   Max Font    ascent = 9 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_tpssn[228] U8G_SECTION(".progmem.u8g_font_tpssn") = {
-  0,11,17,255,252,9,0,0,0,0,42,57,0,9,255,9,
+const u8g_fntpgm_uint8_t u8g_font_tpssn[238] U8G_FONT_SECTION("u8g_font_tpssn") = {
+  0,11,17,255,252,9,0,0,0,0,42,58,0,9,255,9,
   0,5,7,7,7,1,1,32,168,112,32,112,168,32,5,5,
   5,7,1,1,32,32,248,32,32,2,2,2,4,1,255,64,
   128,5,1,1,7,1,3,248,1,1,1,3,1,0,128,5,
@@ -80151,7 +83513,7 @@ const u8g_fntpgm_uint8_t u8g_font_tpssn[228] U8G_SECTION(".progmem.u8g_font_tpss
   128,240,136,136,136,136,112,5,9,9,6,0,0,248,8,16,
   32,64,64,64,64,64,5,9,9,6,0,0,112,136,136,112,
   136,136,136,136,112,5,9,9,6,0,0,112,136,136,136,120,
-  8,8,136,112};
+  8,8,136,112,1,4,4,3,1,0,128,0,0,128};
 /*
   Fontname: -FreeType-Teachers Pet Sans Serif-Medium-R-Normal--8-80-72-72-P-18-ISO10646-1
   Copyright: © www.orgdot.com
@@ -80164,7 +83526,7 @@ const u8g_fntpgm_uint8_t u8g_font_tpssn[228] U8G_SECTION(".progmem.u8g_font_tpss
   Max Font    ascent =12 descent=-4
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_tpssr[1317] U8G_SECTION(".progmem.u8g_font_tpssr") = {
+const u8g_fntpgm_uint8_t u8g_font_tpssr[1317] U8G_FONT_SECTION("u8g_font_tpssr") = {
   0,11,17,255,252,9,1,192,3,136,32,127,252,12,252,9,
   252,0,0,0,4,0,0,1,9,9,3,1,0,128,128,128,
   128,128,128,0,128,128,3,2,2,5,1,7,160,160,5,5,
@@ -80260,7 +83622,7 @@ const u8g_fntpgm_uint8_t u8g_font_tpssr[1317] U8G_SECTION(".progmem.u8g_font_tps
   Max Font    ascent = 7 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_trixel_square[1236] U8G_SECTION(".progmem.u8g_font_trixel_square") = {
+const u8g_fntpgm_uint8_t u8g_font_trixel_square[1236] U8G_FONT_SECTION("u8g_font_trixel_square") = {
   0,5,9,0,254,5,1,91,2,177,32,255,254,7,254,5,
   254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128,
   0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,255,
@@ -80351,8 +83713,8 @@ const u8g_fntpgm_uint8_t u8g_font_trixel_square[1236] U8G_SECTION(".progmem.u8g_
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[178] U8G_SECTION(".progmem.u8g_font_trixel_squaren") = {
-  0,5,9,0,254,5,0,0,0,0,42,57,0,5,255,5,
+const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[187] U8G_FONT_SECTION("u8g_font_trixel_squaren") = {
+  0,5,9,0,254,5,0,0,0,0,42,58,0,5,255,5,
   0,3,3,3,4,0,2,160,64,160,3,3,3,4,0,0,
   64,224,64,1,2,2,2,0,255,128,128,3,1,1,4,0,
   1,224,1,1,1,2,0,0,128,3,5,5,4,0,0,32,
@@ -80363,7 +83725,7 @@ const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[178] U8G_SECTION(".progmem.u8g_
   0,224,128,224,32,224,3,5,5,4,0,0,224,128,224,160,
   224,3,5,5,4,0,0,224,32,32,32,32,3,5,5,4,
   0,0,224,160,224,160,224,3,5,5,4,0,0,224,160,224,
-  32,224};
+  32,224,1,3,3,2,0,0,128,0,128};
 /*
   Fontname: -FreeType-Trixel Square-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1
   Copyright: Copyright julischka 2008
@@ -80376,7 +83738,7 @@ const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[178] U8G_SECTION(".progmem.u8g_
   Max Font    ascent = 6 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_trixel_squarer[994] U8G_SECTION(".progmem.u8g_font_trixel_squarer") = {
+const u8g_fntpgm_uint8_t u8g_font_trixel_squarer[994] U8G_FONT_SECTION("u8g_font_trixel_squarer") = {
   0,5,9,0,254,5,1,91,2,177,32,127,254,6,254,5,
   254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128,
   0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,255,
@@ -80445,15 +83807,15 @@ const u8g_fntpgm_uint8_t u8g_font_trixel_squarer[994] U8G_SECTION(".progmem.u8g_
   Copyright: public domain
   Capital A Height: 4, '1' Height: 4
   Calculated Max Values w= 8 h= 7 x= 1 y= 4 dx= 9 dy= 0 ascent= 6 len= 7
-  Font Bounding box     w=10 h= 6 x= 0 y=-1
+  Font Bounding box     w= 9 h= 6 x= 0 y=-1
   Calculated Min Values           x= 0 y=-1 dx= 0 dy= 0
   Pure Font   ascent = 4 descent=-1
   X Font      ascent = 5 descent=-1
   Max Font    ascent = 6 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_u8glib_4[1660] U8G_SECTION(".progmem.u8g_font_u8glib_4") = {
-  1,10,6,0,255,4,0,233,1,198,32,255,255,6,255,5,
+const u8g_fntpgm_uint8_t u8g_font_u8glib_4[1660] U8G_FONT_SECTION("u8g_font_u8glib_4") = {
+  1,9,6,0,255,4,0,233,1,198,32,255,255,6,255,5,
   255,2,0,32,2,20,36,128,128,0,128,5,50,66,160,160,
   1,85,101,80,248,80,248,80,1,86,102,32,120,224,56,240,
   32,2,68,84,144,32,64,144,2,69,85,64,160,64,160,240,
@@ -80483,7 +83845,7 @@ const u8g_fntpgm_uint8_t u8g_font_u8glib_4[1660] U8G_SECTION(".progmem.u8g_font_
   38,54,192,64,64,64,64,192,5,50,66,64,160,1,65,81,
   240,5,34,50,128,64,2,51,67,96,160,224,2,52,68,128,
   192,160,192,2,35,51,192,128,192,2,52,68,32,96,160,96,
-  2,51,67,224,192,224,2,52,68,32,64,224,64,1,52,68,
+  2,51,67,224,160,192,2,52,68,32,64,224,64,1,52,68,
   224,224,32,96,2,52,68,128,192,160,160,2,20,36,128,0,
   128,128,1,37,53,64,0,64,64,128,2,52,68,128,160,192,
   160,2,20,36,128,128,128,128,2,83,99,208,168,168,2,51,
@@ -80544,9 +83906,9 @@ const u8g_fntpgm_uint8_t u8g_font_u8glib_4[1660] U8G_SECTION(".progmem.u8g_font_
   70,64,160,0,96,160,224,2,70,70,80,160,0,96,160,224,
   2,53,69,160,0,96,160,224,2,54,70,64,160,64,96,160,
   224,2,83,99,120,176,248,1,36,52,192,128,192,192,2,54,
-  70,64,32,0,224,192,224,2,54,70,64,128,0,224,192,224,
-  2,54,70,64,160,0,224,192,224,2,53,69,160,0,224,192,
-  224,2,37,53,128,64,0,64,64,2,37,53,64,128,0,128,
+  70,64,32,0,224,160,192,2,54,70,64,128,0,224,160,192,
+  2,54,70,64,160,0,224,160,192,2,53,69,160,0,224,160,
+  192,2,37,53,128,64,0,64,64,2,37,53,64,128,0,128,
   128,2,53,69,64,160,0,64,64,2,52,68,160,0,64,64,
   2,70,86,96,96,16,112,144,96,2,70,70,80,160,0,192,
   160,160,2,54,70,64,32,0,224,160,224,2,54,70,64,128,
@@ -80556,21 +83918,21 @@ const u8g_fntpgm_uint8_t u8g_font_u8glib_4[1660] U8G_SECTION(".progmem.u8g_font_
   70,64,32,0,160,160,224,2,54,70,64,128,0,160,160,224,
   2,54,70,64,160,0,160,160,224,2,53,69,160,0,160,160,
   224,1,55,71,64,128,0,160,224,32,96,1,53,69,128,192,
-  160,192,128,1,54,150,160,0,160,224,32,96};
+  160,192,128,1,54,70,160,0,160,224,32,96};
 /*
   Fontname: u8glib_4
   Copyright: public domain
   Capital A Height: 4, '1' Height: 4
   Calculated Max Values w= 5 h= 6 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 6
-  Font Bounding box     w=10 h= 6 x= 0 y=-1
+  Font Bounding box     w= 9 h= 6 x= 0 y=-1
   Calculated Min Values           x= 0 y=-1 dx= 0 dy= 0
   Pure Font   ascent = 4 descent=-1
   X Font      ascent = 5 descent=-1
   Max Font    ascent = 5 descent=-1
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[664] U8G_SECTION(".progmem.u8g_font_u8glib_4r") = {
-  1,10,6,0,255,4,0,233,1,198,32,127,255,5,255,5,
+const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[664] U8G_FONT_SECTION("u8g_font_u8glib_4r") = {
+  1,9,6,0,255,4,0,233,1,198,32,127,255,5,255,5,
   255,2,0,32,2,20,36,128,128,0,128,5,50,66,160,160,
   1,85,101,80,248,80,248,80,1,86,102,32,120,224,56,240,
   32,2,68,84,144,32,64,144,2,69,85,64,160,64,160,240,
@@ -80600,7 +83962,7 @@ const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[664] U8G_SECTION(".progmem.u8g_font_
   38,54,192,64,64,64,64,192,5,50,66,64,160,1,65,81,
   240,5,34,50,128,64,2,51,67,96,160,224,2,52,68,128,
   192,160,192,2,35,51,192,128,192,2,52,68,32,96,160,96,
-  2,51,67,224,192,224,2,52,68,32,64,224,64,1,52,68,
+  2,51,67,224,160,192,2,52,68,32,64,224,64,1,52,68,
   224,224,32,96,2,52,68,128,192,160,160,2,20,36,128,0,
   128,128,1,37,53,64,0,64,64,128,2,52,68,128,160,192,
   160,2,20,36,128,128,128,128,2,83,99,208,168,168,2,51,
@@ -80624,7 +83986,342 @@ const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[664] U8G_SECTION(".progmem.u8g_font_
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[4239] U8G_SECTION(".progmem.u8g_font_unifont_0_8") = {
+const u8g_fntpgm_uint8_t u8g_font_unifont_0_10[5136] U8G_FONT_SECTION("u8g_font_unifont_0_10") = {
+  0,16,16,0,254,10,5,43,7,25,10,255,254,14,254,11,
+  254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
+  0,65,241,193,0,65,241,193,0,125,1,128,0,0,1,128,
+  0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
+  1,128,0,0,1,128,0,69,241,196,64,68,65,168,64,16,
+  65,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,125,241,193,
+  0,125,241,193,0,65,1,128,0,0,1,128,0,0,1,128,
+  0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
+  1,128,0,61,225,193,16,65,225,193,32,61,17,128,0,0,
+  1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
+  170,0,1,128,0,0,1,128,0,60,225,193,16,57,17,133,
+  16,120,225,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,61,
+  241,192,64,56,65,132,64,121,241,128,0,0,1,128,0,0,
+  1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
+  0,0,1,128,0,114,57,202,32,74,57,202,32,115,185,128,
+  0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
+  254,170,170,0,1,128,0,0,1,128,0,113,137,202,24,74,
+  9,202,8,113,157,128,0,0,1,128,0,0,1,128,0,85,
+  85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
+  0,113,153,202,4,74,9,202,16,113,157,128,0,0,1,128,
+  0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
+  1,128,0,0,1,128,0,113,153,202,4,74,25,202,4,113,
+  153,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,113,133,202,
+  12,74,21,202,28,113,133,128,0,0,1,128,0,0,1,128,
+  0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
+  1,128,0,73,147,234,84,106,89,219,212,74,83,128,0,0,
+  1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
+  170,0,1,128,0,0,1,128,0,52,83,194,154,49,23,137,
+  18,113,19,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,123,
+  185,193,36,121,57,193,36,121,57,128,0,0,1,128,0,0,
+  1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
+  0,0,1,128,0,51,37,196,180,71,173,196,164,52,165,128,
+  0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
+  254,170,170,0,1,128,0,0,1,128,0,125,17,193,176,125,
+  81,193,16,125,17,128,0,0,1,128,0,0,1,128,0,85,
+  85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
+  0,58,93,194,82,50,93,138,82,113,157,128,0,0,1,128,
+  0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
+  1,128,0,0,1,128,0,121,207,194,16,121,145,192,80,123,
+  143,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,121,193,194,
+  0,121,129,192,64,67,129,128,0,0,1,128,0,0,1,128,
+  0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
+  1,128,0,57,193,194,0,89,129,200,64,59,129,128,0,0,
+  1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
+  170,0,1,128,0,0,1,128,0,113,193,202,0,113,129,208,
+  64,75,129,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,73,
+  193,202,0,73,129,200,64,51,129,128,0,0,1,128,0,0,
+  1,128,0,85,85,0,0,0,8,0,14,1,10,10,8,4,
+  0,128,128,128,128,128,128,128,0,128,128,5,4,4,8,2,
+  8,136,136,136,136,6,10,10,8,1,0,36,36,36,252,72,
+  72,252,144,144,144,7,10,10,8,1,0,16,124,146,144,112,
+  28,18,146,124,16,7,10,10,8,1,0,98,148,148,104,16,
+  16,44,82,82,140,7,10,10,8,1,0,56,68,68,68,56,
+  114,138,132,140,114,1,4,4,8,4,8,128,128,128,128,3,
+  12,12,8,3,255,32,64,64,128,128,128,128,128,128,64,64,
+  32,3,12,12,8,2,255,128,64,64,32,32,32,32,32,32,
+  64,64,128,7,7,7,8,1,1,16,146,84,56,84,146,16,
+  7,7,7,8,1,1,16,16,16,254,16,16,16,2,4,4,
+  8,3,254,192,64,64,128,6,1,1,8,1,4,252,2,2,
+  2,8,3,0,192,192,6,10,10,8,1,0,4,4,8,16,
+  16,32,32,64,128,128,6,10,10,8,1,0,48,72,132,132,
+  132,132,132,132,72,48,5,10,10,8,2,0,32,96,160,32,
+  32,32,32,32,32,248,6,10,10,8,1,0,120,132,132,4,
+  24,32,64,128,128,252,6,10,10,8,1,0,120,132,132,4,
+  56,4,4,132,132,120,6,10,10,8,1,0,8,24,40,72,
+  136,136,252,8,8,8,6,10,10,8,1,0,252,128,128,128,
+  248,4,4,4,132,120,6,10,10,8,1,0,56,64,128,128,
+  248,132,132,132,132,120,6,10,10,8,1,0,252,4,4,8,
+  8,8,16,16,16,16,6,10,10,8,1,0,120,132,132,132,
+  120,132,132,132,132,120,6,10,10,8,1,0,120,132,132,132,
+  124,4,4,4,8,112,2,7,7,8,3,1,192,192,0,0,
+  0,192,192,2,9,9,8,3,255,192,192,0,0,0,192,64,
+  64,128,5,9,9,8,2,0,8,16,32,64,128,64,32,16,
+  8,6,5,5,8,1,2,252,0,0,0,252,5,9,9,8,
+  1,0,128,64,32,16,8,16,32,64,128,6,10,10,8,1,
+  0,120,132,132,4,8,16,16,0,16,16,6,10,10,8,1,
+  0,56,68,148,172,164,164,164,156,64,60,6,10,10,8,1,
+  0,48,72,72,132,132,252,132,132,132,132,6,10,10,8,1,
+  0,248,132,132,132,248,132,132,132,132,248,6,10,10,8,1,
+  0,120,132,132,128,128,128,128,132,132,120,6,10,10,8,1,
+  0,240,136,132,132,132,132,132,132,136,240,6,10,10,8,1,
+  0,252,128,128,128,248,128,128,128,128,252,6,10,10,8,1,
+  0,252,128,128,128,248,128,128,128,128,128,6,10,10,8,1,
+  0,120,132,132,128,128,156,132,132,140,116,6,10,10,8,1,
+  0,132,132,132,132,252,132,132,132,132,132,5,10,10,8,2,
+  0,248,32,32,32,32,32,32,32,32,248,7,10,10,8,1,
+  0,62,8,8,8,8,8,8,136,136,112,6,10,10,8,1,
+  0,132,136,144,160,192,192,160,144,136,132,6,10,10,8,1,
+  0,128,128,128,128,128,128,128,128,128,252,6,10,10,8,1,
+  0,132,132,204,204,180,180,132,132,132,132,6,10,10,8,1,
+  0,132,196,196,164,164,148,148,140,140,132,6,10,10,8,1,
+  0,120,132,132,132,132,132,132,132,132,120,6,10,10,8,1,
+  0,248,132,132,132,248,128,128,128,128,128,7,11,11,8,1,
+  255,120,132,132,132,132,132,132,180,204,120,6,6,10,10,8,
+  1,0,248,132,132,132,248,144,136,136,132,132,6,10,10,8,
+  1,0,120,132,132,128,96,24,4,132,132,120,7,10,10,8,
+  1,0,254,16,16,16,16,16,16,16,16,16,6,10,10,8,
+  1,0,132,132,132,132,132,132,132,132,132,120,7,10,10,8,
+  1,0,130,130,130,68,68,68,40,40,16,16,6,10,10,8,
+  1,0,132,132,132,132,180,180,204,204,132,132,6,10,10,8,
+  1,0,132,132,72,72,48,48,72,72,132,132,7,10,10,8,
+  1,0,130,130,68,68,40,16,16,16,16,16,6,10,10,8,
+  1,0,252,4,4,8,16,32,64,128,128,252,3,12,12,8,
+  4,255,224,128,128,128,128,128,128,128,128,128,128,224,6,10,
+  10,8,1,0,128,128,64,32,32,16,16,8,4,4,3,12,
+  12,8,1,255,224,32,32,32,32,32,32,32,32,32,32,224,
+  6,3,3,8,1,9,48,72,132,7,1,1,8,1,255,254,
+  3,3,3,8,2,10,128,64,32,6,8,8,8,1,0,120,
+  132,4,124,132,132,140,116,6,11,11,8,1,0,128,128,128,
+  184,196,132,132,132,132,196,184,6,8,8,8,1,0,120,132,
+  128,128,128,128,132,120,6,11,11,8,1,0,4,4,4,116,
+  140,132,132,132,132,140,116,6,8,8,8,1,0,120,132,132,
+  252,128,128,132,120,5,11,11,8,1,0,24,32,32,32,248,
+  32,32,32,32,32,32,6,11,11,8,1,254,4,116,136,136,
+  136,112,64,120,132,132,120,6,11,11,8,1,0,128,128,128,
+  184,196,132,132,132,132,132,132,5,11,11,8,2,0,32,32,
+  0,96,32,32,32,32,32,32,248,5,13,13,8,1,254,8,
+  8,0,24,8,8,8,8,8,8,8,144,96,6,10,10,8,
+  1,0,128,128,136,144,160,192,160,144,136,132,5,10,10,8,
+  2,0,96,32,32,32,32,32,32,32,32,248,7,8,8,8,
+  1,0,236,146,146,146,146,146,146,146,6,8,8,8,1,0,
+  184,196,132,132,132,132,132,132,6,8,8,8,1,0,120,132,
+  132,132,132,132,132,120,6,10,10,8,1,254,184,196,132,132,
+  132,132,196,184,128,128,6,10,10,8,1,254,116,140,132,132,
+  132,132,140,116,4,4,6,8,8,8,1,0,184,196,132,128,
+  128,128,128,128,6,8,8,8,1,0,120,132,128,96,24,4,
+  132,120,5,10,10,8,1,0,32,32,248,32,32,32,32,32,
+  32,24,6,8,8,8,1,0,132,132,132,132,132,132,140,116,
+  6,8,8,8,1,0,132,132,132,72,72,72,48,48,7,8,
+  8,8,1,0,130,146,146,146,146,146,146,108,6,8,8,8,
+  1,0,132,132,72,48,48,72,132,132,6,10,10,8,1,254,
+  132,132,132,132,132,76,52,4,4,120,6,8,8,8,1,0,
+  252,4,8,16,32,64,128,252,3,12,12,8,3,255,96,128,
+  128,64,64,128,128,64,64,128,128,96,1,14,14,8,4,254,
+  128,128,128,128,128,128,128,128,128,128,128,128,128,128,3,12,
+  12,8,2,255,192,32,32,64,64,32,32,64,64,32,32,192,
+  7,3,3,8,1,8,98,146,140,16,16,32,16,0,254,170,
+  170,0,1,128,0,0,1,128,0,115,209,202,16,75,209,202,
+  16,115,223,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,113,
+  157,202,82,115,211,194,82,66,93,128,0,0,1,128,0,0,
+  1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
+  0,0,1,128,0,73,157,202,82,122,93,202,80,73,145,128,
+  0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
+  254,170,170,0,1,128,0,0,1,128,0,115,147,202,82,115,
+  159,202,18,114,19,128,0,0,1,128,0,0,1,128,0,85,
+  85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
+  0,75,147,234,82,91,159,202,82,75,147,128,0,0,1,128,
+  0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
+  1,128,0,0,1,128,0,116,185,166,164,37,165,164,164,116,
+  185,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,75,209,234,
+  16,91,209,202,16,75,223,128,0,0,1,128,0,0,1,128,
+  0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
+  1,128,0,57,205,194,18,49,159,136,82,115,147,128,0,0,
+  1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
+  170,0,1,128,0,0,1,128,0,121,205,194,18,121,159,192,
+  82,123,147,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,75,
+  157,201,32,121,25,201,4,73,57,128,0,0,1,128,0,0,
+  1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
+  0,0,1,128,0,75,185,201,8,121,9,201,8,73,49,128,
+  0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
+  254,170,170,0,1,128,0,0,1,128,0,69,205,196,144,68,
+  137,168,132,16,153,128,0,0,1,128,0,0,1,128,0,85,
+  85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
+  0,114,29,202,18,114,19,194,18,67,221,128,0,0,1,128,
+  0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
+  1,128,0,0,1,128,0,114,19,202,18,114,19,194,18,67,
+  205,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,14,33,137,
+  32,14,33,138,32,9,33,128,0,0,1,128,0,0,1,128,
+  0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
+  1,128,0,57,221,194,2,49,141,136,80,115,159,128,0,0,
+  1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
+  170,0,1,128,0,0,1,128,0,57,221,194,2,49,141,136,
+  66,115,157,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,113,
+  207,202,16,74,13,202,2,113,221,128,0,0,1,128,0,0,
+  1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
+  0,0,1,128,0,114,69,202,76,114,69,194,68,65,143,128,
+  0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
+  254,170,170,0,1,128,0,0,1,128,0,114,93,202,66,114,
+  77,194,80,65,159,128,0,0,1,128,0,0,1,128,0,85,
+  85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
+  0,59,157,193,32,49,25,137,4,113,57,128,0,0,1,128,
+  0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
+  1,128,0,0,1,128,0,57,211,194,18,66,31,194,18,57,
+  211,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,69,17,237,
+  16,85,81,197,176,69,17,128,0,0,1,128,0,0,1,128,
+  0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
+  1,128,0,59,141,194,82,51,159,138,18,114,19,128,0,0,
+  1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
+  170,0,1,128,0,0,1,128,0,123,141,194,82,123,159,194,
+  18,122,19,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57,
+  143,194,80,50,77,138,66,113,157,128,0,0,1,128,0,0,
+  1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
+  0,0,1,128,0,51,155,196,34,37,163,148,162,99,155,128,
+  0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
+  254,170,170,0,1,128,0,0,1,128,0,57,221,194,8,50,
+  9,138,8,113,221,128,0,0,1,128,0,0,1,128,0,85,
+  85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
+  0,57,221,194,8,65,137,192,72,59,157,128,0,0,1,128,
+  0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
+  1,128,0,0,1,128,0,14,249,144,32,12,33,130,32,28,
+  33,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,49,207,202,
+  16,73,145,200,80,51,143,128,0,0,1,128,0,0,1,128,
+  0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
+  1,128,0,114,33,203,96,114,161,194,32,66,33,128,0,0,
+  1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
+  170,0,1,128,0,0,1,128,0,51,143,202,80,123,145,202,
+  16,74,15,128,0,0,1,128,0,0,1,128,0,85,85,0,
+  0,0,8,0,14,1,10,10,8,4,0,128,128,0,128,128,
+  128,128,128,128,128,7,10,10,8,1,0,16,16,124,146,144,
+  144,146,124,16,16,7,10,10,8,1,0,28,32,32,32,248,
+  32,32,32,124,194,6,8,8,8,1,1,132,72,120,72,72,
+  120,72,132,7,10,10,8,1,0,130,68,40,16,254,16,254,
+  16,16,16,1,10,10,8,4,0,128,128,128,128,0,0,128,
+  128,128,128,6,10,10,8,1,0,120,132,128,120,132,132,120,
+  4,132,120,4,2,2,8,2,12,144,144,8,10,10,8,0,
+  0,60,66,153,165,161,161,165,153,66,60,5,7,7,8,2,
+  5,112,8,120,136,120,0,248,6,9,9,8,1,0,36,36,
+  72,72,144,72,72,36,36,6,4,4,8,1,0,252,4,4,
+  4,6,1,1,8,1,4,252,8,10,10,8,0,0,60,66,
+  185,165,165,185,169,165,66,60,6,1,1,8,1,11,252,3,
+  4,4,8,2,10,64,160,160,64,7,9,9,8,1,1,16,
+  16,16,254,16,16,16,0,254,5,7,7,8,2,5,112,136,
+  8,112,128,128,248,5,7,7,8,2,5,112,136,8,112,8,
+  136,112,3,3,3,8,3,10,32,64,128,5,8,8,8,2,
+  254,136,136,136,136,216,168,128,128,6,12,12,8,1,255,124,
+  244,244,244,244,116,20,20,20,20,20,28,2,2,2,8,3,
+  4,192,192,3,2,2,8,2,254,32,192,3,7,7,8,2,
+  5,32,96,160,32,32,32,32,5,7,7,8,2,5,112,136,
+  136,136,112,0,248,6,9,9,8,1,0,144,144,72,72,36,
+  72,72,144,144,6,10,10,8,1,0,68,196,72,80,80,36,
+  44,84,156,132,6,10,10,8,1,0,68,196,72,80,80,40,
+  52,68,136,156,6,10,10,8,1,0,196,36,72,48,208,36,
+  44,84,156,132,6,10,10,8,1,0,16,16,0,16,16,96,
+  132,132,132,120,6,14,14,8,1,0,96,24,0,0,48,72,
+  72,132,132,252,132,132,132,132,6,14,14,8,1,0,24,96,
+  0,0,48,72,72,132,132,252,132,132,132,132,6,14,14,8,
+  1,0,48,72,0,0,48,72,72,132,132,252,132,132,132,132,
+  6,14,14,8,1,0,100,152,0,0,48,72,72,132,132,252,
+  132,132,132,132,6,14,14,8,1,0,72,72,0,0,48,72,
+  72,132,132,252,132,132,132,132,6,14,14,8,1,0,48,72,
+  48,0,48,72,72,132,132,252,132,132,132,132,7,10,10,8,
+  1,0,62,80,144,144,254,144,144,144,144,158,6,12,12,8,
+  1,254,120,132,132,128,128,128,128,132,132,120,16,96,6,14,
+  14,8,1,0,96,24,0,0,252,128,128,128,248,128,128,128,
+  128,252,6,14,14,8,1,0,24,96,0,0,252,128,128,128,
+  248,128,128,128,128,252,6,14,14,8,1,0,48,72,0,0,
+  252,128,128,128,248,128,128,128,128,252,6,14,14,8,1,0,
+  72,72,0,0,252,128,128,128,248,128,128,128,128,252,5,14,
+  14,8,2,0,96,24,0,0,248,32,32,32,32,32,32,32,
+  32,248,5,14,14,8,2,0,48,192,0,0,248,32,32,32,
+  32,32,32,32,32,248,5,14,14,8,2,0,96,144,0,0,
+  248,32,32,32,32,32,32,32,32,248,5,14,14,8,2,0,
+  144,144,0,0,248,32,32,32,32,32,32,32,32,248,7,10,
+  10,8,0,0,120,68,66,66,242,66,66,66,68,120,6,14,
+  14,8,1,0,100,152,0,0,132,196,196,164,164,148,148,140,
+  140,132,6,14,14,8,1,0,96,24,0,0,120,132,132,132,
+  132,132,132,132,132,120,6,14,14,8,1,0,24,96,0,0,
+  120,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0,
+  48,72,0,0,120,132,132,132,132,132,132,132,132,120,6,14,
+  14,8,1,0,100,152,0,0,120,132,132,132,132,132,132,132,
+  132,120,6,14,14,8,1,0,72,72,0,0,120,132,132,132,
+  132,132,132,132,132,120,6,5,5,8,1,2,132,72,48,72,
+  132,6,12,12,8,1,255,4,116,136,140,148,148,164,164,196,
+  68,184,128,6,14,14,8,1,0,96,24,0,0,132,132,132,
+  132,132,132,132,132,132,120,6,14,14,8,1,0,24,96,0,
+  0,132,132,132,132,132,132,132,132,132,120,6,14,14,8,1,
+  0,48,72,0,0,132,132,132,132,132,132,132,132,132,120,6,
+  14,14,8,1,0,72,72,0,0,132,132,132,132,132,132,132,
+  132,132,120,7,14,14,8,1,0,24,96,0,0,130,130,68,
+  68,40,16,16,16,16,16,6,11,11,8,1,0,128,128,240,
+  136,132,132,136,240,128,128,128,6,10,10,8,1,0,112,136,
+  136,136,248,132,132,132,196,184,6,12,12,8,1,0,96,24,
+  0,0,120,132,4,124,132,132,140,116,6,12,12,8,1,0,
+  24,96,0,0,120,132,4,124,132,132,140,116,6,12,12,8,
+  1,0,48,72,0,0,120,132,4,124,132,132,140,116,6,12,
+  12,8,1,0,100,152,0,0,120,132,4,124,132,132,140,116,
+  6,12,12,8,1,0,72,72,0,0,120,132,4,124,132,132,
+  140,116,6,13,13,8,1,0,48,72,48,0,0,120,132,4,
+  124,132,132,140,116,7,8,8,8,1,0,124,146,18,126,144,
+  144,146,124,6,10,10,8,1,254,120,132,128,128,128,128,132,
+  120,16,96,6,12,12,8,1,0,96,24,0,0,120,132,132,
+  252,128,128,132,120,6,12,12,8,1,0,24,96,0,0,120,
+  132,132,252,128,128,132,120,6,12,12,8,1,0,48,72,0,
+  0,120,132,132,252,128,128,132,120,6,12,12,8,1,0,72,
+  72,0,0,120,132,132,252,128,128,132,120,5,12,12,8,2,
+  0,192,48,0,0,96,32,32,32,32,32,32,248,5,12,12,
+  8,2,0,48,192,0,0,96,32,32,32,32,32,32,248,5,
+  12,12,8,2,0,96,144,0,0,96,32,32,32,32,32,32,
+  248,5,12,12,8,2,0,144,144,0,0,96,32,32,32,32,
+  32,32,248,6,12,12,8,1,0,100,24,40,68,4,124,132,
+  132,132,132,132,120,6,12,12,8,1,0,100,152,0,0,184,
+  196,132,132,132,132,132,132,6,12,12,8,1,0,96,24,0,
+  0,120,132,132,132,132,132,132,120,6,12,12,8,1,0,24,
+  96,0,0,120,132,132,132,132,132,132,120,6,12,12,8,1,
+  0,48,72,0,0,120,132,132,132,132,132,132,120,6,12,12,
+  8,1,0,100,152,0,0,120,132,132,132,132,132,132,120,6,
+  12,12,8,1,0,72,72,0,0,120,132,132,132,132,132,132,
+  120,6,7,7,8,1,1,48,0,0,252,0,0,48,6,10,
+  10,8,1,255,4,120,140,148,148,164,164,196,120,128,6,12,
+  12,8,1,0,96,24,0,0,132,132,132,132,132,132,140,116,
+  6,12,12,8,1,0,24,96,0,0,132,132,132,132,132,132,
+  140,116,6,12,12,8,1,0,48,72,0,0,132,132,132,132,
+  132,132,140,116,6,12,12,8,1,0,72,72,0,0,132,132,
+  132,132,132,132,140,116,6,14,14,8,1,254,24,96,0,0,
+  132,132,132,132,132,76,52,4,4,120,5,12,12,8,2,254,
+  128,128,240,136,136,136,144,160,192,128,128,128,6,14,14,8,
+  1,254,72,72,0,0,132,132,132,132,132,76,52,4,4,120
+  };
+/*
+  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
+  Copyright: 
+  Capital A Height: 10, '1' Height: 10
+  Calculated Max Values w=16 h=16 x= 5 y=14 dx=16 dy= 0 ascent=14 len=32
+  Font Bounding box     w=16 h=16 x= 0 y=-2
+  Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
+  Pure Font   ascent =10 descent=-2
+  X Font      ascent =11 descent=-2
+  Max Font    ascent =14 descent=-2
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_unifont_0_11[3240] U8G_FONT_SECTION("u8g_font_unifont_0_11") = {
   0,16,16,0,254,10,1,231,3,213,32,255,254,14,254,11,
   254,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128,
   128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136,
@@ -80717,182 +84414,399 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[4239] U8G_SECTION(".progmem.u8g_fo
   192,32,32,64,64,32,32,64,64,32,32,192,7,3,3,8,
   1,8,98,146,140,16,16,32,16,0,254,170,170,0,1,128,
   0,0,1,128,0,115,209,202,16,75,209,202,16,115,223,128,
-  0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
-  254,170,170,0,1,128,0,0,1,128,0,113,157,202,82,115,
-  211,194,82,66,93,128,0,0,1,128,0,0,1,128,0,85,
-  85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
-  0,73,157,202,82,122,93,202,80,73,145,128,0,0,1,128,
-  0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
-  1,128,0,0,1,128,0,115,147,202,82,115,159,202,18,114,
-  19,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
-  16,0,254,170,170,0,1,128,0,0,1,128,0,75,147,234,
-  82,91,159,202,82,75,147,128,0,0,1,128,0,0,1,128,
+  0,0,1,128,0,0,1,128,0,85,85,6,10,10,8,1,
+  254,184,196,132,132,132,132,132,132,128,128,6,10,10,8,1,
+  254,116,140,132,132,132,140,116,4,132,120,4,8,8,8,3,
+  0,192,64,64,64,64,64,64,112,7,12,12,8,1,254,16,
+  16,148,154,146,146,146,146,178,82,16,16,7,11,11,8,1,
+  0,28,34,32,32,248,32,32,32,32,32,32,6,8,8,8,
+  1,0,120,132,132,132,132,132,132,120,7,12,12,8,1,254,
+  112,144,144,112,28,18,18,18,146,124,16,16,7,10,10,8,
+  1,0,128,128,128,136,136,136,136,136,136,118,6,14,14,8,
+  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
+  2,7,7,8,3,1,192,192,0,0,0,192,192,6,2,2,
+  8,1,1,196,120,6,14,14,8,1,255,168,84,168,84,168,
+  84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,
+  84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,
+  8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,
+  84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,
+  84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,
+  84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,
+  84,168,84,168,84,168,84,168,84,168,84,168,84,5,4,4,
+  8,2,255,32,32,112,136,6,3,3,8,1,9,48,0,204,
+  4,6,6,8,2,8,48,192,48,192,48,192,2,3,3,8,
+  3,10,192,0,192,4,3,3,8,2,10,176,128,176,3,3,
+  3,8,3,255,128,128,96,5,5,5,8,2,9,32,112,248,
+  112,32,6,4,4,8,1,9,72,164,148,72,3,3,3,8,
+  0,9,192,32,32,2,3,3,8,5,255,64,128,64,4,4,
+  4,8,1,254,208,208,16,224,3,3,3,8,3,10,96,128,
+  128,3,3,3,8,5,9,96,128,128,5,5,5,8,3,9,
+  48,64,152,160,32,8,4,4,8,0,9,66,165,66,36,3,
+  4,4,8,5,9,64,160,64,128,4,3,3,8,0,8,80,
+  96,128,5,3,3,8,1,254,136,112,32,3,3,3,8,2,
+  255,32,32,224,2,3,3,8,3,255,64,128,64,3,3,3,
+  8,2,255,32,32,192,5,4,4,8,1,254,40,200,16,96,
+  4,5,5,8,2,254,96,128,96,16,96,3,3,3,8,2,
+  9,192,32,32,3,4,4,8,1,9,64,160,64,32,5,4,
+  4,8,2,254,136,112,32,32,2,3,3,8,2,10,64,128,
+  64,3,3,3,8,3,10,32,32,224,3,3,3,8,5,255,
+  128,128,96,5,4,4,8,0,9,72,168,168,144,4,4,4,
+  8,2,9,96,144,144,96,2,3,3,8,3,255,192,0,192,
+  5,3,3,8,2,255,168,0,72,5,3,3,8,2,255,232,
+  0,8,5,3,3,8,2,255,232,64,72,2,2,2,8,3,
+  0,192,192,6,2,2,8,1,0,204,204,6,3,3,8,1,
+  254,204,0,48,4,1,1,8,2,0,240,5,3,3,8,2,
+  254,248,32,32,2,2,2,8,2,10,192,192,2,2,2,8,
+  1,10,192,192,5,3,3,8,2,255,128,32,8,2,1,1,
+  8,3,5,192,1,3,3,8,4,255,128,128,128,6,2,2,
+  8,1,10,124,248,4,1,1,8,2,10,240,1,9,9,8,
+  4,0,128,128,128,128,128,128,128,128,128,2,2,2,8,5,
+  10,192,192,2,2,2,8,1,10,192,192,3,8,8,8,3,
+  0,64,224,64,0,0,64,224,64,2,2,2,8,3,10,192,
+  192,2,2,2,8,3,10,192,192,4,9,9,8,2,0,224,
+  128,128,128,128,128,128,128,240,5,4,4,8,2,254,248,32,
+  32,32,6,14,14,8,1,255,168,84,168,84,168,84,168,84,
+  168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,
+  168,84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,
+  168,84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,
+  14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,
+  168,84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,
+  168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,
+  168,84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,
+  168,84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,
+  14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,
+  168,84,6,9,9,8,1,0,132,132,68,36,88,144,136,132,
+  132,7,9,9,8,1,0,248,8,8,8,8,8,8,8,254,
+  6,9,9,8,1,0,96,16,16,16,8,24,40,68,132,6,
+  9,9,8,1,0,252,8,8,8,8,8,8,8,8,6,9,
+  9,8,1,0,252,4,4,68,68,68,68,68,68,3,9,9,
+  8,2,0,224,32,32,32,32,32,32,32,32,5,9,9,8,
+  2,0,192,48,40,32,32,32,32,32,32,6,9,9,8,1,
+  0,252,68,68,68,68,68,68,68,68,6,9,9,8,1,0,
+  140,148,132,132,132,132,132,132,252,3,4,4,8,2,5,224,
+  32,32,32,6,11,11,8,1,254,252,4,4,4,4,4,4,
+  4,4,4,4,6,9,9,8,1,0,252,4,4,4,4,4,
+  4,4,248,5,11,11,8,2,0,128,128,248,8,8,8,8,
+  16,16,32,192,7,9,9,8,0,0,254,34,34,34,34,34,
+  34,34,62,7,9,9,8,1,0,156,98,66,130,130,130,130,
+  130,142,3,11,11,8,2,254,224,32,32,32,32,32,32,32,
+  32,32,32,4,9,9,8,2,0,112,16,16,16,16,16,16,
+  16,240,6,9,9,8,1,0,252,132,132,132,132,132,132,136,
+  240,7,9,9,8,0,0,18,18,18,18,18,18,18,18,254,
+  6,11,11,8,1,254,252,132,132,132,228,4,4,4,4,4,
+  4,6,9,9,8,1,0,252,132,132,132,228,4,4,4,252,
+  5,11,11,8,2,254,136,136,144,160,192,128,128,128,128,128,
+  128,6,9,9,8,1,0,132,132,72,48,16,8,4,4,252,
+  6,11,11,8,1,254,252,68,68,72,72,80,64,64,64,64,
+  64,6,9,9,8,1,0,252,4,4,4,4,4,4,4,4,
+  7,9,9,8,1,0,146,146,146,146,146,146,146,146,254,6,
+  9,9,8,1,0,124,68,68,68,68,68,68,68,196,6,14,
+  14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,
+  168,84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,
+  168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,
+  168,84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,
+  168,84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,
+  14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,
+  168,84,7,9,9,8,1,0,238,34,34,34,34,34,34,34,
+  34,7,9,9,8,1,0,238,34,34,34,2,2,2,2,2,
+  7,4,4,8,1,5,238,34,34,34,3,3,3,8,4,9,
+  32,64,128,6,3,3,8,1,9,36,72,144,6,14,14,8,
+  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
+  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
+  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
+  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
+  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
+  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
+  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
+  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
+  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
+  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
+  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
+  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
+  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
+  168,84,168,84,168,84,168,84};
+/*
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
+  Capital A Height: 10, '1' Height: 10
+  Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=32
+  Font Bounding box     w=16 h=16 x= 0 y=-2
+  Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
+  Pure Font   ascent =10 descent=-2
+  X Font      ascent =11 descent=-2
+  Max Font    ascent =14 descent=-2
+*/
+#include "u8g.h"
+const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[4249] U8G_FONT_SECTION("u8g_font_unifont_0_8") = {
+  0,16,16,0,254,10,1,231,3,213,32,255,254,14,254,11,
+  254,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128,
+  128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136,
+  136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144,
+  144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124,
+  16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82,
+  140,7,10,10,8,1,0,56,68,68,40,48,82,138,132,140,
+  114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3,
+  255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12,
+  8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7,
+  7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8,
+  1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192,
+  64,64,128,4,1,1,8,2,4,240,2,2,2,8,3,0,
+  192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64,
+  128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132,
+  72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32,
+  32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128,
+  128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132,
+  132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8,
+  8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4,
+  132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132,
+  132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16,
+  16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132,
+  132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4,
+  8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2,
+  9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9,
+  9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5,
+  8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64,
+  32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132,
+  4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148,
+  172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72,
+  132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132,
+  132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132,
+  128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132,
+  132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128,
+  128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128,
+  128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132,
+  128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132,
+  132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32,
+  32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8,
+  8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144,
+  160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128,
+  128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204,
+  204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196,
+  164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132,
+  132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132,
+  132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132,
+  132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132,
+  132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132,
+  132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16,
+  16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132,
+  132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130,
+  130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132,
+  132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132,
+  72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130,
+  68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4,
+  4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128,
+  128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0,
+  128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255,
+  224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8,
+  1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8,
+  2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132,
+  132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132,
+  132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128,
+  132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132,
+  132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132,
+  120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32,
+  32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120,
+  132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132,
+  132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32,
+  32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8,
+  8,8,8,8,8,8,144,96,6,11,11,8,1,0,128,128,
+  128,136,144,160,192,160,144,136,132,5,11,11,8,2,0,96,
+  32,32,32,32,32,32,32,32,32,248,7,8,8,8,1,0,
+  236,146,146,146,146,146,146,146,6,8,8,8,1,0,184,196,
+  132,132,132,132,132,132,6,8,8,8,1,0,120,132,132,132,
+  132,132,132,120,6,10,10,8,1,254,184,196,132,132,132,132,
+  196,184,128,128,6,10,10,8,1,254,116,140,132,132,132,132,
+  140,116,4,4,6,8,8,8,1,0,184,196,132,128,128,128,
+  128,128,6,8,8,8,1,0,120,132,128,96,24,4,132,120,
+  5,10,10,8,1,0,32,32,32,248,32,32,32,32,32,24,
+  6,8,8,8,1,0,132,132,132,132,132,132,140,116,6,8,
+  8,8,1,0,132,132,132,72,72,72,48,48,7,8,8,8,
+  1,0,130,146,146,146,146,146,146,108,6,8,8,8,1,0,
+  132,132,72,48,48,72,132,132,6,10,10,8,1,254,132,132,
+  132,132,132,76,52,4,4,120,6,8,8,8,1,0,252,4,
+  8,16,32,64,128,252,3,12,12,8,3,255,96,128,128,64,
+  64,128,128,64,64,128,128,96,1,14,14,8,4,254,128,128,
+  128,128,128,128,128,128,128,128,128,128,128,128,3,12,12,8,
+  2,255,192,32,32,64,64,32,32,64,64,32,32,192,7,3,
+  3,8,1,8,98,146,140,16,16,32,16,0,254,170,170,0,
+  1,128,0,0,1,128,0,115,209,202,16,75,209,202,16,115,
+  223,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,113,157,202,
+  82,115,211,194,82,66,93,128,0,0,1,128,0,0,1,128,
   0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
-  1,128,0,116,185,166,164,37,165,164,164,116,185,128,0,0,
+  1,128,0,73,157,202,82,122,93,202,80,73,145,128,0,0,
   1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
-  170,0,1,128,0,0,1,128,0,75,209,234,16,91,209,202,
-  16,75,223,128,0,0,1,128,0,0,1,128,0,85,85,16,
-  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57,
-  205,194,18,49,159,136,82,115,147,128,0,0,1,128,0,0,
+  170,0,1,128,0,0,1,128,0,115,147,202,82,115,159,202,
+  18,114,19,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,75,
+  147,234,82,91,159,202,82,75,147,128,0,0,1,128,0,0,
   1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
-  0,0,1,128,0,121,205,194,18,121,159,192,82,123,147,128,
+  0,0,1,128,0,116,185,166,164,37,165,164,164,116,185,128,
   0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
-  254,170,170,0,1,128,0,0,1,128,0,75,157,201,32,121,
-  25,201,4,73,57,128,0,0,1,128,0,0,1,128,0,85,
+  254,170,170,0,1,128,0,0,1,128,0,75,209,234,16,91,
+  209,202,16,75,223,128,0,0,1,128,0,0,1,128,0,85,
   85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
-  0,75,185,201,8,121,9,201,8,73,49,128,0,0,1,128,
+  0,57,205,194,18,49,159,136,82,115,147,128,0,0,1,128,
   0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
-  1,128,0,0,1,128,0,69,205,196,144,68,137,168,132,16,
-  153,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
-  16,0,254,170,170,0,1,128,0,0,1,128,0,114,29,202,
-  18,114,19,194,18,67,221,128,0,0,1,128,0,0,1,128,
+  1,128,0,0,1,128,0,121,205,194,18,121,159,192,82,123,
+  147,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,75,157,201,
+  32,121,25,201,4,73,57,128,0,0,1,128,0,0,1,128,
   0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
-  1,128,0,114,19,202,18,114,19,194,18,67,205,128,0,0,
+  1,128,0,37,221,164,132,60,133,164,132,36,153,128,0,0,
   1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
-  170,0,1,128,0,0,1,128,0,14,33,137,32,14,33,138,
-  32,9,33,128,0,0,1,128,0,0,1,128,0,85,85,16,
-  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57,
-  221,194,2,49,141,136,80,115,159,128,0,0,1,128,0,0,
+  170,0,1,128,0,0,1,128,0,69,205,196,144,68,137,168,
+  132,16,153,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,114,
+  29,202,18,114,19,194,18,67,221,128,0,0,1,128,0,0,
   1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
-  0,0,1,128,0,57,221,194,2,49,141,136,66,115,157,128,
+  0,0,1,128,0,114,19,202,18,114,19,194,18,67,205,128,
   0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
-  254,170,170,0,1,128,0,0,1,128,0,113,207,202,16,74,
-  13,202,2,113,221,128,0,0,1,128,0,0,1,128,0,85,
+  254,170,170,0,1,128,0,0,1,128,0,14,33,137,32,14,
+  33,138,32,9,33,128,0,0,1,128,0,0,1,128,0,85,
   85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
-  0,114,69,202,76,114,69,194,68,65,143,128,0,0,1,128,
+  0,57,221,194,2,49,141,136,80,115,159,128,0,0,1,128,
   0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
-  1,128,0,0,1,128,0,114,93,202,66,114,77,194,80,65,
-  159,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
-  16,0,254,170,170,0,1,128,0,0,1,128,0,59,157,193,
-  32,49,25,137,4,113,57,128,0,0,1,128,0,0,1,128,
+  1,128,0,0,1,128,0,57,221,194,2,49,141,136,66,115,
+  157,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,113,207,202,
+  16,74,13,202,2,113,221,128,0,0,1,128,0,0,1,128,
   0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
-  1,128,0,57,211,194,18,66,31,194,18,57,211,128,0,0,
+  1,128,0,114,69,202,76,114,69,194,68,65,143,128,0,0,
   1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
-  170,0,1,128,0,0,1,128,0,69,17,237,16,85,81,197,
-  176,69,17,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  170,0,1,128,0,0,1,128,0,114,93,202,66,114,77,194,
+  80,65,159,128,0,0,1,128,0,0,1,128,0,85,85,16,
   16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,59,
-  141,194,82,51,159,138,18,114,19,128,0,0,1,128,0,0,
+  157,193,32,49,25,137,4,113,57,128,0,0,1,128,0,0,
   1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
-  0,0,1,128,0,123,141,194,82,123,159,194,18,122,19,128,
+  0,0,1,128,0,57,211,194,18,66,31,194,18,57,211,128,
   0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
-  254,170,170,0,1,128,0,0,1,128,0,57,143,194,80,50,
-  77,138,66,113,157,128,0,0,1,128,0,0,1,128,0,85,
+  254,170,170,0,1,128,0,0,1,128,0,34,137,182,136,42,
+  169,162,216,34,137,128,0,0,1,128,0,0,1,128,0,85,
   85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
-  0,51,155,196,34,37,163,148,162,99,155,128,0,0,1,128,
+  0,59,141,194,82,51,159,138,18,114,19,128,0,0,1,128,
   0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
-  1,128,0,0,1,128,0,57,221,194,8,50,9,138,8,113,
-  221,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
-  16,0,254,170,170,0,1,128,0,0,1,128,0,57,221,194,
-  8,65,137,192,72,59,157,128,0,0,1,128,0,0,1,128,
+  1,128,0,0,1,128,0,123,141,194,82,123,159,194,18,122,
+  19,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,57,143,194,
+  80,50,77,138,66,113,157,128,0,0,1,128,0,0,1,128,
   0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
-  1,128,0,14,249,144,32,12,33,130,32,28,33,128,0,0,
+  1,128,0,51,155,196,34,37,163,148,162,99,155,128,0,0,
   1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
-  170,0,1,128,0,0,1,128,0,49,207,202,16,73,145,200,
-  80,51,143,128,0,0,1,128,0,0,1,128,0,85,85,16,
-  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,114,
-  33,203,96,114,161,194,32,66,33,128,0,0,1,128,0,0,
+  170,0,1,128,0,0,1,128,0,57,221,194,8,50,9,138,
+  8,113,221,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57,
+  221,194,8,65,137,192,72,59,157,128,0,0,1,128,0,0,
   1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
-  0,0,1,128,0,51,143,202,80,123,145,202,16,74,15,128,
-  0,0,1,128,0,0,1,128,0,85,85,6,13,13,8,1,
-  0,96,24,0,252,128,128,128,248,128,128,128,128,252,6,14,
-  14,8,1,0,72,72,0,0,252,128,128,128,248,128,128,128,
-  128,252,7,10,10,8,1,0,252,32,32,32,60,34,34,34,
-  34,44,6,14,14,8,1,0,24,96,0,0,252,128,128,128,
-  128,128,128,128,128,128,6,10,10,8,1,0,56,68,128,128,
-  248,128,128,128,68,56,6,10,10,8,1,0,120,132,132,128,
-  96,24,4,132,132,120,5,10,10,8,2,0,248,32,32,32,
-  32,32,32,32,32,248,5,14,14,8,2,0,144,144,0,0,
-  248,32,32,32,32,32,32,32,32,248,6,10,10,8,1,0,
-  28,8,8,8,8,8,8,136,136,112,8,10,10,8,0,0,
-  120,72,72,72,78,73,73,73,73,142,7,10,10,8,1,0,
-  144,144,144,144,252,146,146,146,146,156,7,10,10,8,1,0,
-  252,32,32,32,60,34,34,34,34,34,6,14,14,8,1,0,
-  24,96,0,0,128,140,144,160,192,192,160,144,136,132,6,13,
-  13,8,1,0,96,24,0,132,140,140,148,148,164,164,196,196,
-  132,7,14,14,8,1,0,132,132,120,0,130,130,68,68,40,
-  40,16,16,32,96,7,10,10,8,1,0,130,130,130,130,130,
-  130,254,16,16,16,6,10,10,8,1,0,48,72,72,132,132,
-  132,252,132,132,132,6,10,10,8,1,0,248,128,128,128,248,
-  132,132,132,132,248,6,10,10,8,1,0,248,132,132,132,248,
-  132,132,132,132,248,6,10,10,8,1,0,252,128,128,128,128,
-  128,128,128,128,128,8,12,12,8,0,254,14,18,18,18,34,
-  34,34,66,66,255,129,129,6,10,10,8,1,0,252,128,128,
-  128,248,128,128,128,128,252,7,10,10,8,1,0,146,146,84,
-  84,56,56,84,84,146,146,6,10,10,8,1,0,120,132,4,
-  4,120,8,4,4,132,120,6,10,10,8,1,0,132,140,140,
-  148,148,164,164,196,196,132,6,13,13,8,1,0,72,48,0,
-  132,140,140,148,148,164,164,196,196,132,6,10,10,8,1,0,
-  128,140,144,160,192,192,160,144,136,132,6,10,10,8,1,0,
-  60,36,36,36,36,36,36,68,68,132,6,10,10,8,1,0,
-  132,132,204,204,180,180,132,132,132,132,6,10,10,8,1,0,
-  132,132,132,132,252,132,132,132,132,132,6,10,10,8,1,0,
-  120,132,132,132,132,132,132,132,132,120,6,10,10,8,1,0,
-  252,132,132,132,132,132,132,132,132,132,6,10,10,8,1,0,
-  248,132,132,132,248,128,128,128,128,128,6,10,10,8,1,0,
-  120,132,132,128,128,128,128,132,132,120,7,10,10,8,1,0,
-  254,16,16,16,16,16,16,16,16,16,7,10,10,8,1,0,
-  130,130,68,68,40,40,16,16,32,96,7,11,11,8,1,0,
-  16,124,146,146,146,146,146,124,16,16,16,6,10,10,8,1,
-  0,132,132,72,72,48,48,72,72,132,132,7,12,12,8,1,
-  254,132,132,132,132,132,132,132,132,132,254,2,2,6,10,10,
-  8,1,0,132,132,132,132,132,252,4,4,4,4,7,10,10,
-  8,1,0,146,146,146,146,146,146,146,146,146,254,8,12,12,
-  8,0,254,146,146,146,146,146,146,146,146,146,255,1,1,7,
-  10,10,8,1,0,224,32,32,32,60,34,34,34,34,60,6,
-  10,10,8,1,0,132,132,132,132,228,148,148,148,148,228,6,
-  10,10,8,1,0,128,128,128,128,248,132,132,132,132,248,6,
-  10,10,8,1,0,112,136,4,4,124,4,4,4,136,112,6,
-  10,10,8,1,0,152,164,164,164,228,164,164,164,164,152,6,
-  10,10,8,1,0,124,132,132,132,124,36,68,68,132,132,6,
-  8,8,8,1,0,120,132,4,124,132,132,140,116,6,12,12,
-  8,1,0,4,56,64,128,248,132,132,132,132,132,132,120,6,
-  8,8,8,1,0,248,132,132,248,132,132,132,248,6,8,8,
-  8,1,0,252,128,128,128,128,128,128,128,7,9,9,8,1,
-  255,60,36,68,68,132,132,132,254,130,6,8,8,8,1,0,
-  120,132,132,252,128,128,132,120,7,8,8,8,1,0,146,146,
-  84,56,56,84,146,146,6,8,8,8,1,0,120,132,4,120,
-  8,4,132,120,6,8,8,8,1,0,140,140,148,148,164,164,
-  196,196,6,12,12,8,1,0,72,48,0,0,140,140,148,148,
-  164,164,196,196,6,8,8,8,1,0,140,144,160,192,160,144,
-  136,132,6,8,8,8,1,0,60,36,36,36,36,68,68,132,
-  6,8,8,8,1,0,132,204,204,180,180,132,132,132,6,8,
-  8,8,1,0,132,132,132,252,132,132,132,132,6,8,8,8,
-  1,0,120,132,132,132,132,132,132,120,6,8,8,8,1,0,
-  252,132,132,132,132,132,132,132,6,10,10,8,1,254,248,132,
-  132,132,132,248,128,128,128,128,6,8,8,8,1,0,120,132,
-  128,128,128,128,132,120,7,8,8,8,1,0,254,16,16,16,
-  16,16,16,16,6,10,10,8,1,254,132,132,72,72,48,48,
-  32,32,64,192,7,10,10,8,1,255,16,16,124,146,146,146,
-  146,124,16,16,6,8,8,8,1,0,132,132,72,48,48,72,
-  132,132,7,10,10,8,1,254,132,132,132,132,132,132,132,254,
-  2,2,6,8,8,8,1,0,132,132,132,132,252,4,4,4,
-  7,8,8,8,1,0,146,146,146,146,146,146,146,254,8,10,
-  10,8,0,254,146,146,146,146,146,146,146,255,1,1,7,8,
-  8,8,1,0,224,32,32,60,34,34,34,60,6,8,8,8,
-  1,0,132,132,132,228,148,148,148,228,6,8,8,8,1,0,
-  128,128,128,248,132,132,132,248,6,8,8,8,1,0,112,136,
-  4,124,4,4,136,112,6,8,8,8,1,0,152,164,164,228,
-  164,164,164,152,6,8,8,8,1,0,124,132,132,132,124,36,
-  68,132,6,12,12,8,1,0,96,24,0,0,120,132,132,252,
-  128,128,132,120,6,12,12,8,1,0,72,72,0,0,120,132,
-  132,252,128,128,132,120,6,11,11,8,1,255,64,64,240,64,
-  64,120,68,68,68,68,24,6,12,12,8,1,0,24,96,0,
-  0,252,128,128,128,128,128,128,128,6,8,8,8,1,0,56,
-  68,128,248,128,128,68,56,6,8,8,8,1,0,120,132,128,
-  96,24,4,132,120,5,11,11,8,2,0,32,32,0,96,32,
-  32,32,32,32,32,248,5,11,11,8,2,0,144,144,0,96,
-  32,32,32,32,32,32,248,5,13,13,8,1,254,8,8,0,
-  24,8,8,8,8,8,8,8,144,96,8,8,8,8,0,0,
-  120,72,72,78,73,73,73,142,7,8,8,8,1,0,144,144,
-  144,252,146,146,146,156,6,10,10,8,1,0,64,64,240,64,
-  64,88,100,68,68,68,6,12,12,8,1,0,24,96,0,0,
-  140,144,160,192,160,144,136,132,6,12,12,8,1,0,96,24,
-  0,0,140,140,148,148,164,164,196,196,6,15,15,8,1,254,
-  132,132,120,0,0,132,132,72,72,48,48,32,32,64,192,5,
-  10,10,8,2,254,136,136,136,136,136,136,248,32,32,32};
+  0,0,1,128,0,14,249,144,32,12,33,130,32,28,33,128,
+  0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
+  254,170,170,0,1,128,0,0,1,128,0,49,207,202,16,73,
+  145,200,80,51,143,128,0,0,1,128,0,0,1,128,0,85,
+  85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
+  0,28,137,146,216,28,169,144,136,16,137,128,0,0,1,128,
+  0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
+  1,128,0,0,1,128,0,51,143,202,80,123,145,202,16,74,
+  15,128,0,0,1,128,0,0,1,128,0,85,85,6,13,13,
+  8,1,0,96,24,0,252,128,128,128,248,128,128,128,128,252,
+  6,14,14,8,1,0,72,72,0,0,252,128,128,128,248,128,
+  128,128,128,252,7,10,10,8,1,0,252,32,32,32,60,34,
+  34,34,34,44,6,14,14,8,1,0,24,96,0,0,252,128,
+  128,128,128,128,128,128,128,128,6,10,10,8,1,0,56,68,
+  128,128,248,128,128,128,68,56,6,10,10,8,1,0,120,132,
+  132,128,96,24,4,132,132,120,5,10,10,8,2,0,248,32,
+  32,32,32,32,32,32,32,248,5,14,14,8,2,0,144,144,
+  0,0,248,32,32,32,32,32,32,32,32,248,6,10,10,8,
+  1,0,28,8,8,8,8,8,8,136,136,112,8,10,10,8,
+  0,0,120,72,72,72,78,73,73,73,73,142,7,10,10,8,
+  1,0,144,144,144,144,252,146,146,146,146,156,7,10,10,8,
+  1,0,252,32,32,32,60,34,34,34,34,34,6,14,14,8,
+  1,0,24,96,0,0,128,140,144,160,192,192,160,144,136,132,
+  6,13,13,8,1,0,96,24,0,132,140,140,148,148,164,164,
+  196,196,132,7,14,14,8,1,0,132,132,120,0,130,130,68,
+  68,40,40,16,16,32,96,7,12,12,8,1,254,130,130,130,
+  130,130,130,130,130,130,254,16,16,6,10,10,8,1,0,48,
+  72,72,132,132,252,132,132,132,132,6,10,10,8,1,0,248,
+  128,128,128,248,132,132,132,132,248,6,10,10,8,1,0,248,
+  132,132,132,248,132,132,132,132,248,6,10,10,8,1,0,252,
+  128,128,128,128,128,128,128,128,128,8,12,12,8,0,254,14,
+  18,18,18,34,34,34,66,66,255,129,129,6,10,10,8,1,
+  0,252,128,128,128,248,128,128,128,128,252,7,10,10,8,1,
+  0,146,146,84,84,56,56,84,84,146,146,6,10,10,8,1,
+  0,120,132,4,4,120,8,4,4,132,120,6,10,10,8,1,
+  0,132,140,140,148,148,164,164,196,196,132,6,13,13,8,1,
+  0,72,48,0,132,140,140,148,148,164,164,196,196,132,6,10,
+  10,8,1,0,140,144,144,160,160,192,160,144,136,132,6,10,
+  10,8,1,0,60,36,36,36,36,36,36,68,68,132,6,10,
+  10,8,1,0,132,132,204,204,180,180,132,132,132,132,6,10,
+  10,8,1,0,132,132,132,132,252,132,132,132,132,132,6,10,
+  10,8,1,0,120,132,132,132,132,132,132,132,132,120,6,10,
+  10,8,1,0,252,132,132,132,132,132,132,132,132,132,6,10,
+  10,8,1,0,248,132,132,132,248,128,128,128,128,128,6,10,
+  10,8,1,0,120,132,132,128,128,128,128,132,132,120,7,10,
+  10,8,1,0,254,16,16,16,16,16,16,16,16,16,7,10,
+  10,8,1,0,130,130,68,68,40,40,16,16,32,96,7,11,
+  11,8,1,0,16,124,146,146,146,146,146,124,16,16,16,6,
+  10,10,8,1,0,132,132,72,72,48,48,72,72,132,132,7,
+  12,12,8,1,254,132,132,132,132,132,132,132,132,132,254,2,
+  2,6,10,10,8,1,0,132,132,132,132,132,252,4,4,4,
+  4,7,10,10,8,1,0,146,146,146,146,146,146,146,146,146,
+  254,8,12,12,8,0,254,146,146,146,146,146,146,146,146,146,
+  255,1,1,7,10,10,8,1,0,224,32,32,32,60,34,34,
+  34,34,60,6,10,10,8,1,0,132,132,132,132,228,148,148,
+  148,148,228,6,10,10,8,1,0,128,128,128,128,248,132,132,
+  132,132,248,6,10,10,8,1,0,112,136,4,4,124,4,4,
+  4,136,112,6,10,10,8,1,0,152,164,164,164,228,164,164,
+  164,164,152,6,10,10,8,1,0,124,132,132,132,124,36,68,
+  68,132,132,6,8,8,8,1,0,120,132,4,124,132,132,140,
+  116,6,12,12,8,1,0,4,56,64,128,248,132,132,132,132,
+  132,132,120,6,8,8,8,1,0,248,132,132,248,132,132,132,
+  248,6,8,8,8,1,0,252,128,128,128,128,128,128,128,7,
+  9,9,8,1,255,60,36,68,68,132,132,132,254,130,6,8,
+  8,8,1,0,120,132,132,252,128,128,132,120,7,8,8,8,
+  1,0,146,146,84,56,56,84,146,146,6,8,8,8,1,0,
+  120,132,4,120,8,4,132,120,6,8,8,8,1,0,140,140,
+  148,148,164,164,196,196,6,12,12,8,1,0,72,48,0,0,
+  140,140,148,148,164,164,196,196,6,8,8,8,1,0,140,144,
+  160,192,160,144,136,132,6,8,8,8,1,0,60,36,36,36,
+  36,68,68,132,6,8,8,8,1,0,132,204,204,180,180,132,
+  132,132,6,8,8,8,1,0,132,132,132,252,132,132,132,132,
+  6,8,8,8,1,0,120,132,132,132,132,132,132,120,6,8,
+  8,8,1,0,252,132,132,132,132,132,132,132,6,10,10,8,
+  1,254,184,196,132,132,132,132,196,184,128,128,6,8,8,8,
+  1,0,120,132,128,128,128,128,132,120,7,8,8,8,1,0,
+  254,16,16,16,16,16,16,16,6,10,10,8,1,254,132,132,
+  72,72,48,48,32,32,64,192,7,13,13,8,1,254,16,16,
+  16,124,146,146,146,146,146,146,124,16,16,6,8,8,8,1,
+  0,132,132,72,48,48,72,132,132,7,10,10,8,1,254,132,
+  132,132,132,132,132,132,254,2,2,6,8,8,8,1,0,132,
+  132,132,132,252,4,4,4,7,8,8,8,1,0,146,146,146,
+  146,146,146,146,254,8,10,10,8,0,254,146,146,146,146,146,
+  146,146,255,1,1,7,8,8,8,1,0,224,32,32,60,34,
+  34,34,60,6,8,8,8,1,0,132,132,132,228,148,148,148,
+  228,6,8,8,8,1,0,128,128,128,248,132,132,132,248,6,
+  8,8,8,1,0,112,136,4,124,4,4,136,112,6,8,8,
+  8,1,0,152,164,164,228,164,164,164,152,6,8,8,8,1,
+  0,124,132,132,132,124,36,68,132,6,12,12,8,1,0,96,
+  24,0,0,120,132,132,252,128,128,132,120,6,12,12,8,1,
+  0,72,72,0,0,120,132,132,252,128,128,132,120,7,13,13,
+  8,0,254,64,240,64,92,98,66,66,66,66,66,66,2,12,
+  6,12,12,8,1,0,24,96,0,0,252,128,128,128,128,128,
+  128,128,6,8,8,8,1,0,56,68,128,248,128,128,68,56,
+  6,8,8,8,1,0,120,132,128,96,24,4,132,120,5,11,
+  11,8,2,0,32,32,0,96,32,32,32,32,32,32,248,5,
+  11,11,8,2,0,144,144,0,96,32,32,32,32,32,32,248,
+  5,13,13,8,1,254,8,8,0,24,8,8,8,8,8,8,
+  8,144,96,8,8,8,8,0,0,120,72,72,78,73,73,73,
+  142,7,8,8,8,1,0,144,144,144,252,146,146,146,156,7,
+  11,11,8,0,0,64,240,64,92,98,66,66,66,66,66,66,
+  6,12,12,8,1,0,24,96,0,0,140,144,160,192,160,144,
+  136,132,6,12,12,8,1,0,96,24,0,0,140,140,148,148,
+  164,164,196,196,6,15,15,8,1,254,132,132,120,0,0,132,
+  132,72,72,48,48,32,32,64,192,5,10,10,8,2,254,136,
+  136,136,136,136,136,136,248,32,32};
 /*
-  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
-  Copyright: 
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
   Capital A Height: 8, '1' Height: 7
   Calculated Max Values w=16 h=16 x= 9 y=11 dx=16 dy= 0 ascent=14 len=32
   Font Bounding box     w=16 h=16 x= 0 y=-2
@@ -80902,8 +84816,8 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[4239] U8G_SECTION(".progmem.u8g_fo
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[3934] U8G_SECTION(".progmem.u8g_font_unifont_12_13") = {
-  0,16,16,0,254,8,4,93,5,214,0,255,2,14,254,13,
+const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[3987] U8G_FONT_SECTION("u8g_font_unifont_12_13") = {
+  0,16,16,0,254,8,4,155,6,11,0,255,2,14,254,13,
   0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
   0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128,
   0,0,1,128,0,85,85,16,16,32,16,0,254,85,85,128,
@@ -80913,245 +84827,249 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[3934] U8G_SECTION(".progmem.u8g_
   1,128,0,0,1,142,0,14,25,135,224,0,1,128,0,0,
   1,170,170,16,16,32,16,0,254,85,85,128,0,0,1,128,
   0,0,1,128,0,0,25,128,36,0,69,129,68,1,73,158,
-  240,0,1,128,0,0,1,170,170,6,14,14,8,1,255,168,
-  84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,
-  8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,
-  84,12,14,28,16,1,255,1,80,225,80,33,160,17,0,17,
-  0,9,0,8,0,4,224,4,128,2,128,3,0,3,0,2,
-  0,2,0,11,15,30,16,1,255,0,64,0,128,225,0,33,
-  64,16,128,17,32,8,192,8,0,4,224,4,128,2,128,3,
-  0,3,0,2,0,2,0,12,7,14,16,2,3,1,144,58,
-  96,202,192,17,64,16,64,32,128,31,0,5,10,10,8,1,
-  1,8,8,80,16,32,32,64,64,136,160,7,10,10,8,1,
-  1,8,8,80,16,32,32,64,66,136,160,10,10,20,16,3,
-  2,48,0,48,0,6,0,9,0,7,0,1,0,14,0,240,
-  128,0,64,0,64,2,4,4,8,3,3,64,128,192,192,5,
-  4,4,8,1,2,24,48,64,128,12,4,8,16,3,1,112,
-  0,136,0,136,48,127,192,7,11,11,16,2,0,24,32,32,
-  24,32,76,82,98,36,88,128,6,4,4,8,2,9,24,36,
-  228,88,9,6,12,16,4,7,3,0,4,0,39,128,56,0,
-  64,0,128,0,10,5,10,16,3,8,252,64,16,64,32,128,
-  71,0,64,0,11,4,8,16,2,9,24,32,36,32,228,64,
-  89,128,10,4,8,16,3,8,0,64,254,64,1,64,0,128,
-  7,4,4,16,4,9,64,92,98,252,8,6,6,16,3,8,
-  40,40,40,104,128,127,3,5,5,16,6,8,32,0,32,32,
-  192,4,2,2,16,6,10,48,192,5,5,5,16,5,8,16,
-  40,48,96,144,4,13,13,16,6,254,240,0,0,0,0,0,
-  0,0,0,0,0,48,192,2,5,5,8,3,2,64,128,192,
-  0,192,6,14,14,8,1,255,168,84,168,84,168,84,168,84,
-  168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,
-  168,84,168,84,168,84,168,84,168,84,3,3,3,16,7,0,
-  64,0,160,7,9,9,8,1,2,124,130,128,64,32,16,16,
-  0,16,6,14,14,8,1,255,168,84,168,84,168,84,168,84,
-  168,84,168,84,168,84,4,5,5,8,2,2,112,128,240,64,
-  128,7,10,10,8,1,3,2,124,128,16,16,16,16,16,16,
-  16,3,11,11,8,2,3,96,128,96,128,32,32,32,32,32,
-  32,32,6,13,13,8,1,255,24,32,24,32,0,24,36,36,
-  60,4,8,144,96,3,12,12,8,3,254,64,64,64,64,64,
-  64,64,0,96,128,96,128,6,11,11,8,1,255,48,64,48,
-  64,0,140,144,144,140,132,120,1,8,8,8,4,3,128,128,
-  128,128,128,128,128,128,6,7,7,8,1,0,8,68,132,120,
-  0,0,16,5,8,8,8,2,3,144,0,0,96,144,136,136,
-  112,6,7,7,8,1,3,40,0,0,8,68,132,120,6,9,
-  9,8,1,3,32,0,80,0,0,8,68,132,120,6,8,8,
-  8,1,254,252,32,64,128,144,128,68,56,6,8,8,8,1,
-  254,252,32,64,128,128,128,68,56,6,11,11,8,1,254,32,
-  0,0,252,32,64,128,128,128,68,56,6,5,5,8,1,3,
-  16,8,4,132,248,6,7,7,8,1,3,64,0,16,8,4,
-  132,248,6,7,7,8,1,255,8,4,4,4,8,144,96,6,
-  10,10,8,1,255,32,0,0,8,4,4,4,8,144,96,7,
-  7,7,8,1,255,2,42,42,188,144,144,96,7,12,12,8,
-  1,255,16,0,36,0,0,2,42,42,188,144,144,96,7,6,
-  6,8,1,0,12,50,156,144,144,96,7,9,9,8,1,0,
-  8,0,0,12,50,156,144,144,96,6,8,8,8,1,3,64,
-  64,64,64,88,100,68,248,6,8,8,8,1,3,64,72,64,
-  64,88,100,68,248,6,9,9,8,1,254,48,72,64,56,64,
-  128,128,132,120,6,12,12,8,1,254,16,0,0,48,72,64,
-  56,64,128,128,132,120,7,9,9,8,0,3,80,4,8,16,
-  32,64,60,130,126,7,12,12,8,0,255,4,8,16,32,64,
-  60,130,126,0,40,0,16,6,10,10,8,1,255,64,160,160,
-  8,148,144,136,132,132,120,6,9,9,8,1,255,160,0,8,
-  148,144,136,132,132,120,6,10,10,8,1,255,64,0,160,8,
-  148,144,136,132,132,120,8,1,1,8,0,3,255,6,8,8,
-  8,1,3,16,0,12,20,12,132,132,120,6,10,10,8,1,
-  0,72,0,0,56,36,20,76,132,136,112,6,8,8,8,1,
-  3,4,20,36,20,68,132,132,120,6,11,11,8,1,0,4,
-  4,4,4,4,4,68,132,132,136,120,5,8,8,8,2,254,
-  112,24,120,128,128,128,128,128,6,9,9,8,1,0,32,0,
-  0,8,68,132,132,136,112,10,9,18,16,1,1,4,0,3,
-  0,6,128,10,64,10,64,6,64,25,128,96,0,128,0,6,
-  8,8,8,1,255,24,36,36,60,4,8,144,96,6,7,7,
-  8,1,255,8,148,144,136,132,132,120,6,8,8,8,1,254,
-  8,148,144,136,132,120,0,80,4,4,4,8,2,9,48,192,
-  48,192,5,5,5,8,2,8,24,24,200,80,224,4,4,4,
-  8,2,0,32,192,48,192,4,2,2,8,2,9,48,192,4,
-  6,6,8,2,6,64,160,160,112,64,128,4,2,2,8,2,
-  254,48,192,5,4,4,8,1,7,8,40,176,192,4,4,4,
-  8,2,7,96,144,144,96,7,3,3,8,1,9,2,124,128,
-  3,4,4,8,2,10,96,128,96,128,3,4,4,8,2,254,
-  96,128,96,128,2,3,3,16,9,254,128,64,64,5,5,5,
-  16,5,9,8,16,32,224,96,4,3,3,16,6,9,144,144,
-  96,4,1,1,16,6,10,240,5,4,4,16,5,9,136,80,
-  32,32,5,4,4,16,5,9,32,32,80,136,2,2,2,16,
-  7,0,192,192,5,5,5,16,5,9,96,224,32,16,8,4,
-  4,4,16,6,9,144,96,96,144,6,14,14,8,1,255,168,
-  84,168,84,168,84,168,84,168,84,168,84,168,84,3,3,3,
-  8,2,5,64,224,64,4,9,9,8,2,2,128,128,64,64,
-  32,32,16,16,16,5,9,9,8,2,2,136,144,96,64,32,
-  32,16,16,16,7,9,9,8,1,2,146,164,120,64,32,32,
-  16,16,16,6,9,9,8,1,2,8,16,32,64,48,64,128,
-  132,120,6,9,9,8,1,2,48,72,72,132,132,132,132,72,
-  48,7,9,9,8,1,2,128,120,8,8,4,4,4,2,2,
-  7,9,9,8,1,2,130,130,68,68,40,40,16,16,16,7,
-  9,9,8,1,2,16,16,16,40,40,68,68,130,130,7,9,
-  9,8,1,2,48,72,136,152,104,4,4,2,2,5,10,10,
-  8,1,2,8,8,144,144,32,32,72,72,128,128,2,4,4,
-  8,3,1,192,192,64,128,2,4,4,8,3,7,192,192,64,
-  128,7,6,6,8,1,3,16,16,254,56,108,68,6,4,4,
-  8,1,3,8,68,132,120,8,7,7,16,1,3,6,9,9,
-  7,65,130,124,1,4,4,8,4,7,128,128,128,128,5,11,
-  11,8,2,3,16,40,120,128,32,32,32,32,32,32,32,6,
-  11,11,8,1,3,12,16,76,176,0,16,16,16,16,16,16,
-  6,12,12,8,1,254,16,16,16,16,16,16,16,0,12,16,
-  76,176,3,4,4,8,2,10,96,128,96,128,5,11,11,8,
-  2,3,24,32,24,32,128,128,128,128,128,128,128,7,13,13,
-  8,1,255,6,8,6,8,0,24,36,36,60,4,8,144,96,
-  7,13,13,8,1,255,102,104,38,72,128,24,36,36,60,4,
-  8,144,96,7,11,11,8,1,255,6,8,6,8,0,140,144,
-  144,140,132,120,6,9,9,8,1,3,64,64,112,112,0,8,
-  68,132,120,6,9,9,8,1,3,32,0,32,0,0,8,68,
-  132,120,6,8,8,8,1,255,8,68,132,120,0,16,0,16,
-  6,10,10,8,1,0,40,0,0,8,68,132,120,16,40,16,
-  6,9,9,8,1,3,80,0,32,0,0,8,68,132,120,6,
-  8,8,8,1,255,8,68,132,120,0,40,0,16,6,9,9,
-  8,1,3,80,0,80,0,0,8,68,132,120,6,8,8,8,
-  1,255,8,68,132,120,0,40,0,40,6,13,13,8,1,254,
-  48,64,48,64,0,252,32,64,128,128,128,68,56,6,13,13,
-  8,1,254,32,0,32,0,0,252,32,64,128,128,128,68,56,
-  6,8,8,8,1,254,252,32,64,128,168,128,68,56,6,8,
-  8,8,1,254,252,32,64,144,128,144,68,56,6,13,13,8,
-  1,254,32,0,72,0,0,252,32,64,128,128,128,68,56,6,
-  8,8,8,1,254,252,64,128,168,128,144,68,56,6,8,8,
-  8,1,254,252,64,128,168,128,168,68,56,6,10,10,8,1,
-  3,64,64,112,112,0,16,8,4,132,248,6,8,8,8,1,
-  0,16,8,4,132,248,16,40,16,6,7,7,8,1,1,16,
-  8,4,132,248,0,16,6,12,12,8,1,1,64,64,112,112,
-  0,16,8,4,132,248,0,16,6,8,8,8,1,3,80,0,
-  0,16,8,4,132,248,6,7,7,8,1,1,16,8,4,132,
-  248,0,80,6,9,9,8,1,3,32,0,80,0,16,8,4,
-  132,248,6,9,9,8,1,3,80,0,32,0,16,8,4,132,
-  248,6,9,9,8,1,3,80,0,80,0,16,8,4,132,248,
-  6,13,13,8,1,255,16,16,28,28,0,0,8,4,4,4,
-  8,144,96,7,13,13,8,1,255,34,20,8,8,0,0,8,
-  4,4,4,8,144,96,6,8,8,8,1,254,8,4,4,4,
-  8,152,116,8,6,7,7,8,1,255,8,4,4,4,8,144,
-  100,7,8,8,8,1,254,16,8,8,8,16,144,106,4,6,
-  7,7,8,1,255,8,4,4,36,8,144,100,6,10,10,8,
-  1,255,36,0,0,8,4,4,4,8,144,96,6,12,12,8,
-  1,255,16,0,40,0,0,8,4,4,4,8,144,96,6,12,
-  12,8,1,255,36,0,36,0,0,8,4,4,4,8,144,96,
-  7,10,10,8,1,0,8,0,0,2,42,42,188,144,148,96,
-  7,8,8,8,1,255,2,42,42,188,160,170,64,4,7,13,
-  13,8,1,255,16,0,36,0,0,2,42,42,188,160,170,64,
-  4,7,6,6,8,1,0,12,50,156,160,170,64,7,11,11,
-  8,1,0,16,0,36,0,0,12,50,156,144,144,96,6,8,
-  8,8,1,3,72,64,84,64,88,100,68,248,6,14,14,8,
-  1,254,32,0,72,0,0,48,72,64,56,64,128,128,132,120,
-  6,6,6,8,1,3,12,20,12,132,132,120,6,8,8,8,
-  1,1,12,20,12,132,132,120,0,16,6,11,11,8,1,1,
-  8,0,0,12,20,12,132,132,120,0,16,6,10,10,8,1,
-  3,16,0,36,0,12,20,12,132,132,120,6,10,10,8,1,
-  255,12,20,12,132,132,120,0,72,0,32,6,10,10,8,1,
-  3,20,0,20,0,12,20,12,132,132,120,6,10,10,8,1,
-  0,8,0,0,56,36,20,76,132,136,112,6,12,12,8,1,
-  0,32,0,72,0,0,56,36,20,76,132,136,112,7,8,8,
-  8,0,3,4,8,16,32,64,60,130,126,14,8,16,16,1,
-  3,0,48,0,192,3,0,12,0,16,0,15,248,128,4,127,
-  248,7,8,8,8,0,3,4,12,26,36,64,60,130,126,6,
-  10,10,8,1,3,16,0,4,20,36,20,68,132,132,120,6,
-  11,11,8,1,3,32,0,80,4,20,36,20,68,132,132,120,
-  6,12,12,8,1,255,4,20,36,20,68,132,132,120,0,40,
-  0,16,7,10,10,8,0,3,8,16,36,72,16,32,64,60,
-  130,126,7,10,10,8,0,3,8,16,36,76,26,36,64,60,
-  130,126,7,10,10,8,0,3,80,6,24,98,12,48,64,60,
-  130,126,7,12,12,8,0,1,8,16,36,72,16,32,64,60,
-  130,126,0,40,7,14,14,8,0,255,8,16,36,72,16,32,
-  64,60,130,126,0,16,0,16,7,11,11,8,0,3,64,0,
-  166,24,98,12,48,64,60,130,126,7,14,14,8,1,0,34,
-  20,8,8,0,4,4,4,4,68,132,132,136,120,6,13,13,
-  8,1,0,4,0,4,4,4,4,4,4,68,132,132,136,120,
-  7,14,14,8,1,0,8,0,18,0,4,4,4,4,4,68,
-  132,132,136,120,6,13,13,8,1,254,4,4,4,4,4,4,
-  68,132,120,0,40,0,16,6,11,11,8,1,254,16,0,0,
-  8,68,132,132,136,112,0,16,6,6,6,8,1,0,8,68,
-  132,132,136,112,6,12,12,8,1,0,32,32,56,56,0,0,
-  8,68,132,132,136,112,6,11,11,8,1,254,16,0,0,8,
-  68,132,132,136,120,20,8,6,11,11,8,1,0,32,0,72,
-  0,0,8,68,132,132,136,112,6,6,6,8,1,2,32,88,
-  84,52,72,128,6,11,11,8,1,254,32,0,0,252,64,128,
-  168,128,144,68,56,4,10,10,8,2,3,96,128,96,128,0,
-  64,96,144,144,240,6,3,3,8,1,2,32,92,128,6,8,
-  8,8,1,2,48,64,48,64,0,32,92,128,6,6,6,8,
-  1,2,80,0,0,32,92,128,6,8,8,8,1,255,24,36,
-  36,28,68,164,72,240,6,8,8,8,1,255,24,36,36,60,
-  4,56,144,96,6,13,13,8,1,255,68,40,16,16,0,24,
-  36,36,60,4,8,144,96,6,14,14,8,1,255,32,80,80,
-  56,32,64,152,36,36,60,4,8,144,96,6,12,12,8,1,
-  255,16,8,8,0,24,36,36,60,4,8,144,96,6,12,12,
-  8,1,255,16,40,68,0,24,36,36,60,4,8,144,96,6,
-  11,11,8,1,255,40,0,0,24,36,36,60,4,8,144,96,
-  6,13,13,8,1,255,16,0,36,0,0,24,36,36,60,4,
-  8,144,96,6,7,7,8,1,255,8,148,144,136,132,132,120,
-  7,7,7,8,0,255,4,42,104,164,34,34,28,6,12,12,
-  8,1,255,136,80,32,32,0,8,148,144,136,132,132,120,6,
-  11,11,8,1,255,16,0,0,24,36,36,60,4,8,144,96,
-  6,9,9,8,1,254,24,164,144,136,112,0,32,0,32,6,
-  9,9,8,1,254,24,164,144,136,112,0,80,0,32,7,6,
-  6,8,1,255,16,40,32,64,128,254,7,10,10,8,1,255,
-  96,128,96,128,16,40,32,64,128,254,4,1,1,8,2,3,
-  240,4,5,5,8,2,3,64,96,144,144,240,11,5,10,16,
-  3,9,16,64,18,224,127,224,128,0,254,0,10,5,10,16,
-  3,9,18,64,17,0,127,0,128,0,254,0,6,4,4,16,
-  5,9,8,20,60,192,5,5,5,16,4,9,136,72,48,16,
-  48,8,5,5,16,3,9,252,32,72,33,30,3,3,3,16,
-  4,8,160,0,128,9,4,8,16,4,9,18,128,159,128,144,
-  0,96,0,16,16,32,16,0,254,85,85,128,0,1,193,134,
-  48,11,233,140,24,16,5,144,4,16,5,140,24,11,233,134,
-  48,1,193,128,0,0,1,170,170,15,15,30,16,1,254,1,
-  0,2,128,63,248,40,40,48,24,35,136,100,76,164,74,100,
-  76,35,136,48,24,40,40,63,248,2,128,1,0,3,4,4,
-  16,6,9,96,160,160,96,4,5,5,16,6,9,96,144,144,
-  144,96,6,3,3,16,5,10,252,48,64,3,5,5,16,6,
-  9,96,224,128,128,64,9,4,8,16,4,254,18,128,159,128,
-  144,0,96,0,6,2,2,16,5,10,12,240,5,4,4,8,
-  2,9,24,24,16,224,7,4,4,8,1,9,32,64,128,254,
-  7,4,4,16,3,9,32,64,128,254,6,4,4,16,5,9,
-  16,132,132,124,15,15,30,16,1,254,1,0,2,128,5,64,
-  10,160,21,80,42,168,84,84,42,168,42,168,42,168,43,168,
-  40,40,47,232,96,12,255,254,5,5,5,16,5,9,32,80,
-  136,80,32,5,5,5,16,5,254,32,80,136,80,32,2,2,
-  2,16,7,11,192,192,2,4,4,16,7,254,192,128,128,64,
-  6,9,9,8,1,3,16,40,68,0,16,8,4,132,248,7,
-  11,11,8,1,255,8,20,34,0,8,4,4,4,8,144,96,
-  3,3,3,8,2,5,64,224,64,4,9,9,8,2,2,128,
-  128,64,64,32,32,16,16,16,5,9,9,8,2,2,136,144,
-  96,64,32,32,16,16,16,7,9,9,8,1,2,146,164,120,
-  64,32,32,16,16,16,6,9,9,8,1,2,48,72,192,228,
-  88,64,32,32,32,7,9,9,8,1,1,16,16,40,40,68,
-  68,146,170,198,6,8,8,8,1,2,56,68,64,64,48,12,
-  48,192,7,9,9,8,1,2,130,130,68,68,40,40,16,16,
-  16,7,9,9,8,1,2,16,16,16,40,40,68,68,130,130,
-  7,9,9,8,1,2,48,72,136,152,104,4,4,2,2,7,
-  12,12,8,1,0,16,0,36,0,0,2,42,42,188,144,148,
-  96,7,9,9,8,1,0,8,0,0,12,50,156,144,148,96,
-  6,12,12,8,1,254,16,0,0,48,72,64,56,64,144,128,
-  132,120,4,10,10,8,2,254,112,128,240,64,128,0,80,80,
-  80,80,6,8,8,8,1,254,56,12,124,128,148,148,148,148,
-  10,12,24,16,1,1,4,0,10,0,17,0,4,0,3,0,
-  6,128,10,64,10,64,6,64,25,128,96,0,128,0};
+  240,0,1,128,0,0,1,170,170,16,16,32,16,0,254,85,
+  85,128,0,0,1,128,0,0,1,128,0,0,1,128,0,0,
+  1,128,0,1,149,130,124,2,1,191,0,0,1,170,170,16,
+  16,32,16,0,254,85,85,128,0,0,1,136,4,22,25,161,
+  224,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128,
+  0,0,1,170,170,12,14,28,16,1,255,1,80,225,80,33,
+  160,17,0,17,0,9,0,8,0,4,224,4,128,2,128,3,
+  0,3,0,2,0,2,0,11,15,30,16,1,255,0,64,0,
+  128,225,0,33,64,16,128,17,32,8,192,8,0,4,224,4,
+  128,2,128,3,0,3,0,2,0,2,0,12,7,14,16,2,
+  3,1,144,58,96,202,192,17,64,16,64,32,128,31,0,5,
+  10,10,8,1,1,8,8,80,16,32,32,64,64,136,160,7,
+  10,10,8,1,1,8,8,80,16,32,32,64,66,136,160,10,
+  10,20,16,3,2,48,0,48,0,6,0,9,0,7,0,1,
+  0,14,0,240,128,0,64,0,64,2,4,4,8,3,3,64,
+  128,192,192,5,4,4,8,1,2,24,48,64,128,12,4,8,
+  16,3,1,112,0,136,0,136,48,127,192,7,11,11,16,2,
+  0,24,32,32,24,32,76,82,98,36,88,128,6,4,4,8,
+  2,9,24,36,228,88,9,6,12,16,4,7,3,0,4,0,
+  39,128,56,0,64,0,128,0,10,5,10,16,3,8,252,64,
+  16,64,32,128,71,0,64,0,11,4,8,16,2,9,24,32,
+  36,32,228,64,89,128,10,4,8,16,3,8,0,64,254,64,
+  1,64,0,128,7,4,4,16,4,9,64,92,98,252,8,6,
+  6,16,3,8,40,40,40,104,128,127,3,5,5,16,6,8,
+  32,0,32,32,192,4,2,2,16,6,10,48,192,5,5,5,
+  16,5,8,16,40,48,96,144,4,13,13,16,6,254,240,0,
+  0,0,0,0,0,0,0,0,0,48,192,2,5,5,8,3,
+  2,64,128,192,0,192,16,16,32,16,0,254,170,170,0,1,
+  128,0,0,1,178,34,74,55,250,42,74,35,203,162,0,1,
+  128,0,0,1,128,0,0,1,128,0,85,85,14,14,28,16,
+  1,255,255,252,231,156,219,124,219,28,219,108,231,156,255,252,
+  255,252,247,28,231,108,247,108,247,108,227,28,255,252,3,3,
+  3,16,7,0,64,0,160,7,9,9,8,1,2,124,130,128,
+  64,32,16,16,0,16,6,8,8,8,1,255,24,164,144,136,
+  112,32,80,32,4,5,5,8,2,2,112,128,240,64,128,7,
+  10,10,8,1,3,2,124,128,16,16,16,16,16,16,16,3,
+  11,11,8,2,3,96,128,96,128,32,32,32,32,32,32,32,
+  6,13,13,8,1,255,24,32,24,32,0,24,36,36,60,4,
+  8,144,96,3,12,12,8,3,254,64,64,64,64,64,64,64,
+  0,96,128,96,128,6,11,11,8,1,255,48,64,48,64,0,
+  140,144,144,140,132,120,1,8,8,8,4,3,128,128,128,128,
+  128,128,128,128,6,7,7,8,1,0,8,68,132,120,0,0,
+  16,5,8,8,8,2,3,144,0,0,96,144,136,136,112,6,
+  7,7,8,1,3,40,0,0,8,68,132,120,6,9,9,8,
+  1,3,32,0,80,0,0,8,68,132,120,6,8,8,8,1,
+  254,252,32,64,128,144,128,68,56,6,8,8,8,1,254,252,
+  32,64,128,128,128,68,56,6,11,11,8,1,254,32,0,0,
+  252,32,64,128,128,128,68,56,6,5,5,8,1,3,16,8,
+  4,132,248,6,7,7,8,1,3,64,0,16,8,4,132,248,
+  6,7,7,8,1,255,8,4,4,4,8,144,96,6,10,10,
+  8,1,255,32,0,0,8,4,4,4,8,144,96,7,7,7,
+  8,1,255,2,42,42,188,144,144,96,7,12,12,8,1,255,
+  16,0,36,0,0,2,42,42,188,144,144,96,7,6,6,8,
+  1,0,12,50,156,144,144,96,7,9,9,8,1,0,8,0,
+  0,12,50,156,144,144,96,6,8,8,8,1,3,64,64,64,
+  64,88,100,68,248,6,8,8,8,1,3,64,72,64,64,88,
+  100,68,248,6,9,9,8,1,254,48,72,64,56,64,128,128,
+  132,120,6,12,12,8,1,254,16,0,0,48,72,64,56,64,
+  128,128,132,120,7,9,9,8,0,3,80,4,8,16,32,64,
+  60,130,126,7,12,12,8,0,255,4,8,16,32,64,60,130,
+  126,0,40,0,16,6,10,10,8,1,255,64,160,160,8,148,
+  144,136,132,132,120,6,9,9,8,1,255,160,0,8,148,144,
+  136,132,132,120,6,10,10,8,1,255,64,0,160,8,148,144,
+  136,132,132,120,8,1,1,8,0,3,255,6,8,8,8,1,
+  3,16,0,12,20,12,132,132,120,6,10,10,8,1,0,72,
+  0,0,56,36,20,76,132,136,112,6,8,8,8,1,3,4,
+  20,36,20,68,132,132,120,6,11,11,8,1,0,4,4,4,
+  4,4,4,68,132,132,136,120,5,8,8,8,2,254,112,24,
+  120,128,128,128,128,128,6,9,9,8,1,0,32,0,0,8,
+  68,132,132,136,112,10,9,18,16,1,1,4,0,3,0,6,
+  128,10,64,10,64,6,64,25,128,96,0,128,0,6,8,8,
+  8,1,255,24,36,36,60,4,8,144,96,6,7,7,8,1,
+  255,8,148,144,136,132,132,120,6,8,8,8,1,254,8,148,
+  144,136,132,120,0,80,4,4,4,8,2,9,48,192,48,192,
+  5,5,5,8,2,8,24,24,200,80,224,4,4,4,8,2,
+  0,32,192,48,192,4,2,2,8,2,9,48,192,4,6,6,
+  8,2,6,64,160,160,112,64,128,4,2,2,8,2,254,48,
+  192,5,4,4,8,1,7,8,40,176,192,4,4,4,8,2,
+  7,96,144,144,96,7,3,3,8,1,9,2,124,128,3,4,
+  4,8,2,10,96,128,96,128,3,4,4,8,2,254,96,128,
+  96,128,2,3,3,16,9,254,128,64,64,5,5,5,16,5,
+  9,8,16,32,224,96,4,3,3,16,6,9,144,144,96,4,
+  1,1,16,6,10,240,5,4,4,16,5,9,136,80,32,32,
+  5,4,4,16,5,9,32,32,80,136,2,2,2,16,7,0,
+  192,192,5,5,5,16,5,9,96,224,32,16,8,4,4,4,
+  16,6,9,144,96,96,144,4,5,5,8,2,254,112,128,240,
+  64,128,3,3,3,8,2,5,64,224,64,4,9,9,8,2,
+  2,128,128,64,64,32,32,16,16,16,5,9,9,8,2,2,
+  136,144,96,64,32,32,16,16,16,7,9,9,8,1,2,146,
+  164,120,64,32,32,16,16,16,6,9,9,8,1,2,8,16,
+  32,64,48,64,128,132,120,6,9,9,8,1,2,48,72,72,
+  132,132,132,132,72,48,7,9,9,8,1,2,128,120,8,8,
+  4,4,4,2,2,7,9,9,8,1,2,130,130,68,68,40,
+  40,16,16,16,7,9,9,8,1,2,16,16,16,40,40,68,
+  68,130,130,7,9,9,8,1,2,48,72,136,152,104,4,4,
+  2,2,5,10,10,8,1,2,8,8,144,144,32,32,72,72,
+  128,128,4,4,4,8,2,1,16,16,16,224,2,4,4,8,
+  3,7,192,192,64,128,7,6,6,8,1,3,16,16,254,56,
+  108,68,6,4,4,8,1,3,8,68,132,120,6,7,7,8,
+  1,0,56,36,20,76,132,136,112,1,4,4,8,4,7,128,
+  128,128,128,5,11,11,8,2,3,16,40,120,128,32,32,32,
+  32,32,32,32,6,11,11,8,1,3,12,16,76,176,0,16,
+  16,16,16,16,16,6,12,12,8,1,254,16,16,16,16,16,
+  16,16,0,12,16,76,176,3,4,4,8,2,10,96,128,96,
+  128,5,11,11,8,2,3,24,32,24,32,128,128,128,128,128,
+  128,128,7,13,13,8,1,255,6,8,6,8,0,24,36,36,
+  60,4,8,144,96,7,13,13,8,1,255,102,104,38,72,128,
+  24,36,36,60,4,8,144,96,7,11,11,8,1,255,6,8,
+  6,8,0,140,144,144,140,132,120,6,9,9,8,1,3,64,
+  64,112,112,0,8,68,132,120,6,9,9,8,1,3,32,0,
+  32,0,0,8,68,132,120,6,8,8,8,1,255,8,68,132,
+  120,0,16,0,16,6,10,10,8,1,0,40,0,0,8,68,
+  132,120,16,40,16,6,9,9,8,1,3,80,0,32,0,0,
+  8,68,132,120,6,8,8,8,1,255,8,68,132,120,0,40,
+  0,16,6,9,9,8,1,3,80,0,80,0,0,8,68,132,
+  120,6,8,8,8,1,255,8,68,132,120,0,40,0,40,6,
+  13,13,8,1,254,48,64,48,64,0,252,32,64,128,128,128,
+  68,56,6,13,13,8,1,254,32,0,32,0,0,252,32,64,
+  128,128,128,68,56,6,8,8,8,1,254,252,32,64,128,168,
+  128,68,56,6,8,8,8,1,254,252,32,64,144,128,144,68,
+  56,6,13,13,8,1,254,32,0,72,0,0,252,32,64,128,
+  128,128,68,56,6,8,8,8,1,254,252,64,128,168,128,144,
+  68,56,6,8,8,8,1,254,252,64,128,168,128,168,68,56,
+  6,10,10,8,1,3,64,64,112,112,0,16,8,4,132,248,
+  6,8,8,8,1,0,16,8,4,132,248,16,40,16,6,7,
+  7,8,1,1,16,8,4,132,248,0,16,6,12,12,8,1,
+  1,64,64,112,112,0,16,8,4,132,248,0,16,6,8,8,
+  8,1,3,80,0,0,16,8,4,132,248,6,7,7,8,1,
+  1,16,8,4,132,248,0,80,6,9,9,8,1,3,32,0,
+  80,0,16,8,4,132,248,6,9,9,8,1,3,80,0,32,
+  0,16,8,4,132,248,6,9,9,8,1,3,80,0,80,0,
+  16,8,4,132,248,6,13,13,8,1,255,16,16,28,28,0,
+  0,8,4,4,4,8,144,96,7,13,13,8,1,255,34,20,
+  8,8,0,0,8,4,4,4,8,144,96,6,8,8,8,1,
+  254,8,4,4,4,8,152,116,8,6,7,7,8,1,255,8,
+  4,4,4,8,144,100,7,8,8,8,1,254,16,8,8,8,
+  16,144,106,4,6,7,7,8,1,255,8,4,4,36,8,144,
+  100,6,10,10,8,1,255,36,0,0,8,4,4,4,8,144,
+  96,6,12,12,8,1,255,16,0,40,0,0,8,4,4,4,
+  8,144,96,6,12,12,8,1,255,36,0,36,0,0,8,4,
+  4,4,8,144,96,7,10,10,8,1,0,8,0,0,2,42,
+  42,188,144,148,96,7,8,8,8,1,255,2,42,42,188,160,
+  170,64,4,7,13,13,8,1,255,16,0,36,0,0,2,42,
+  42,188,160,170,64,4,7,6,6,8,1,0,12,50,156,160,
+  170,64,7,11,11,8,1,0,16,0,36,0,0,12,50,156,
+  144,144,96,6,8,8,8,1,3,72,64,84,64,88,100,68,
+  248,6,14,14,8,1,254,32,0,72,0,0,48,72,64,56,
+  64,128,128,132,120,6,6,6,8,1,3,12,20,12,132,132,
+  120,6,8,8,8,1,1,12,20,12,132,132,120,0,16,6,
+  11,11,8,1,1,8,0,0,12,20,12,132,132,120,0,16,
+  6,10,10,8,1,3,16,0,36,0,12,20,12,132,132,120,
+  6,10,10,8,1,255,12,20,12,132,132,120,0,72,0,32,
+  6,10,10,8,1,3,20,0,20,0,12,20,12,132,132,120,
+  6,10,10,8,1,0,8,0,0,56,36,20,76,132,136,112,
+  6,12,12,8,1,0,32,0,72,0,0,56,36,20,76,132,
+  136,112,7,8,8,8,0,3,4,8,16,32,64,60,130,126,
+  14,8,16,16,1,3,0,48,0,192,3,0,12,0,16,0,
+  15,248,128,4,127,248,7,8,8,8,0,3,4,12,26,36,
+  64,60,130,126,6,10,10,8,1,3,16,0,4,20,36,20,
+  68,132,132,120,6,11,11,8,1,3,32,0,80,4,20,36,
+  20,68,132,132,120,6,12,12,8,1,255,4,20,36,20,68,
+  132,132,120,0,40,0,16,7,10,10,8,0,3,8,16,36,
+  72,16,32,64,60,130,126,7,10,10,8,0,3,8,16,36,
+  76,26,36,64,60,130,126,7,10,10,8,0,3,80,6,24,
+  98,12,48,64,60,130,126,7,12,12,8,0,1,8,16,36,
+  72,16,32,64,60,130,126,0,40,7,14,14,8,0,255,8,
+  16,36,72,16,32,64,60,130,126,0,16,0,16,7,11,11,
+  8,0,3,64,0,166,24,98,12,48,64,60,130,126,7,14,
+  14,8,1,0,34,20,8,8,0,4,4,4,4,68,132,132,
+  136,120,6,13,13,8,1,0,4,0,4,4,4,4,4,4,
+  68,132,132,136,120,7,14,14,8,1,0,8,0,18,0,4,
+  4,4,4,4,68,132,132,136,120,6,13,13,8,1,254,4,
+  4,4,4,4,4,68,132,120,0,40,0,16,6,11,11,8,
+  1,254,16,0,0,8,68,132,132,136,112,0,16,6,6,6,
+  8,1,0,8,68,132,132,136,112,6,12,12,8,1,0,32,
+  32,56,56,0,0,8,68,132,132,136,112,6,11,11,8,1,
+  254,16,0,0,8,68,132,132,136,120,20,8,6,11,11,8,
+  1,0,32,0,72,0,0,8,68,132,132,136,112,6,6,6,
+  8,1,2,32,88,84,52,72,128,6,11,11,8,1,254,32,
+  0,0,252,64,128,168,128,144,68,56,4,10,10,8,2,3,
+  96,128,96,128,0,64,96,144,144,240,6,3,3,8,1,2,
+  32,92,128,6,8,8,8,1,2,48,64,48,64,0,32,92,
+  128,6,6,6,8,1,2,80,0,0,32,92,128,6,8,8,
+  8,1,255,24,36,36,28,68,164,72,240,6,8,8,8,1,
+  255,24,36,36,60,4,56,144,96,6,13,13,8,1,255,68,
+  40,16,16,0,24,36,36,60,4,8,144,96,6,14,14,8,
+  1,255,32,80,80,56,32,64,152,36,36,60,4,8,144,96,
+  6,12,12,8,1,255,16,8,8,0,24,36,36,60,4,8,
+  144,96,6,12,12,8,1,255,16,40,68,0,24,36,36,60,
+  4,8,144,96,6,11,11,8,1,255,40,0,0,24,36,36,
+  60,4,8,144,96,6,13,13,8,1,255,16,0,36,0,0,
+  24,36,36,60,4,8,144,96,6,7,7,8,1,255,8,148,
+  144,136,132,132,120,7,7,7,8,0,255,4,42,104,164,34,
+  34,28,6,12,12,8,1,255,136,80,32,32,0,8,148,144,
+  136,132,132,120,6,11,11,8,1,255,16,0,0,24,36,36,
+  60,4,8,144,96,6,9,9,8,1,254,24,164,144,136,112,
+  0,32,0,32,6,9,9,8,1,254,24,164,144,136,112,0,
+  80,0,32,7,6,6,8,1,255,16,40,32,64,128,254,7,
+  10,10,8,1,255,96,128,96,128,16,40,32,64,128,254,4,
+  1,1,8,2,3,240,4,5,5,8,2,3,64,96,144,144,
+  240,11,5,10,16,3,9,16,64,18,224,127,224,128,0,254,
+  0,10,5,10,16,3,9,18,64,17,0,127,0,128,0,254,
+  0,6,4,4,16,5,9,8,20,60,192,5,5,5,16,4,
+  9,136,72,48,16,48,8,5,5,16,3,9,252,32,72,33,
+  30,3,3,3,8,4,8,160,0,128,9,4,8,16,4,9,
+  18,128,159,128,144,0,96,0,16,16,32,16,0,254,85,85,
+  128,0,1,193,134,48,11,233,140,24,16,5,144,4,16,5,
+  140,24,11,233,134,48,1,193,128,0,0,1,170,170,15,15,
+  30,16,1,254,1,0,2,128,63,248,40,40,48,24,35,136,
+  100,76,164,74,100,76,35,136,48,24,40,40,63,248,2,128,
+  1,0,3,4,4,16,6,9,96,160,160,96,4,5,5,16,
+  6,9,96,144,144,144,96,6,3,3,16,5,10,252,8,96,
+  3,5,5,16,6,9,96,224,128,128,64,9,4,8,16,4,
+  254,18,128,159,128,144,0,96,0,6,2,2,16,5,10,12,
+  240,5,4,4,8,2,9,24,24,16,224,7,4,4,8,1,
+  9,32,64,128,254,7,4,4,16,3,9,32,64,128,254,6,
+  4,4,16,5,9,16,132,132,124,15,15,30,16,1,254,1,
+  0,2,128,5,64,10,160,21,80,42,168,84,84,42,168,42,
+  168,42,168,43,168,40,40,47,232,96,12,255,254,5,5,5,
+  16,5,9,32,80,136,80,32,5,5,5,16,5,254,32,80,
+  136,80,32,2,2,2,16,7,11,192,192,2,4,4,16,7,
+  254,192,128,128,64,6,9,9,8,1,3,16,40,68,0,16,
+  8,4,132,248,7,11,11,8,1,255,8,20,34,0,8,4,
+  4,4,8,144,96,3,3,3,8,2,5,64,224,64,4,9,
+  9,8,2,2,128,128,64,64,32,32,16,16,16,5,9,9,
+  8,2,2,136,144,96,64,32,32,16,16,16,7,9,9,8,
+  1,2,146,164,120,64,32,32,16,16,16,6,9,9,8,1,
+  2,48,72,192,228,88,64,32,32,32,7,9,9,8,1,1,
+  16,16,40,40,68,68,146,170,198,6,8,8,8,1,2,56,
+  68,64,64,48,12,48,192,7,9,9,8,1,2,130,130,68,
+  68,40,40,16,16,16,7,9,9,8,1,2,16,16,16,40,
+  40,68,68,130,130,7,9,9,8,1,2,48,72,136,152,104,
+  4,4,2,2,7,12,12,8,1,0,16,0,36,0,0,2,
+  42,42,188,144,148,96,7,9,9,8,1,0,8,0,0,12,
+  50,156,144,148,96,6,12,12,8,1,254,16,0,0,48,72,
+  64,56,64,144,128,132,120,4,10,10,8,2,254,112,128,240,
+  64,128,0,80,80,80,80,6,8,8,8,1,254,56,12,124,
+  128,148,148,148,148,10,12,24,16,1,1,4,0,10,0,17,
+  0,4,0,3,0,6,128,10,64,10,64,6,64,25,128,96,
+  0,128,0};
 /*
-  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
-  Copyright: 
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
   Capital A Height: 3, '1' Height: 12
   Calculated Max Values w=16 h=16 x=12 y=11 dx=16 dy= 0 ascent=14 len=32
   Font Bounding box     w=16 h=16 x= 0 y=-2
@@ -81161,8 +85079,8 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[3934] U8G_SECTION(".progmem.u8g_
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[6498] U8G_SECTION(".progmem.u8g_font_unifont_18_19") = {
-  0,16,16,0,254,3,7,129,10,5,0,255,254,14,254,12,
+const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[7078] U8G_FONT_SECTION("u8g_font_unifont_18_19") = {
+  0,16,16,0,254,3,7,121,9,233,0,255,254,14,254,12,
   254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
   0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128,
   0,0,1,128,0,85,85,8,4,4,16,4,9,152,91,35,
@@ -81272,308 +85190,344 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[6498] U8G_SECTION(".progmem.u8g_
   0,255,255,255,3,24,3,24,3,24,11,24,15,24,14,248,
   4,24,4,24,2,24,1,24,0,136,16,12,24,16,0,255,
   255,255,0,24,0,24,7,248,12,0,12,0,6,240,1,152,
-  3,16,3,0,1,128,0,252,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  2,2,2,16,7,255,192,192,9,11,22,16,7,0,63,128,
-  64,0,64,0,96,0,48,0,24,0,8,0,12,0,12,0,
-  156,0,120,0,6,13,13,16,10,254,252,48,48,48,48,48,
-  48,48,48,48,48,48,16,8,14,14,16,0,0,60,98,49,
-  252,48,48,48,48,48,48,48,48,48,16,9,16,32,16,7,
-  254,120,0,132,0,132,0,31,128,6,0,6,0,6,0,6,
-  0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,2,
-  0,6,3,3,16,4,255,152,68,56,6,3,3,16,6,255,
-  112,136,100,4,3,3,16,6,255,96,128,112,3,5,5,16,
-  6,255,96,128,96,128,96,5,3,3,16,5,10,136,72,48,
-  5,3,3,16,4,10,128,112,8,5,3,3,16,4,10,224,
-  16,8,6,4,4,16,3,9,112,8,228,28,6,16,16,16,
-  10,254,136,120,0,252,48,48,48,48,48,48,48,48,48,48,
-  48,16,8,16,16,16,8,254,128,120,4,63,12,12,12,12,
-  12,12,12,12,12,12,12,4,8,16,16,16,8,254,240,8,
-  4,63,12,12,12,12,12,12,12,12,12,12,12,4,9,16,
-  32,16,7,254,120,0,244,0,10,0,31,128,6,0,6,0,
-  6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,
-  6,0,2,0,5,3,3,16,6,255,224,16,8,6,14,14,
-  8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,
-  84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,
-  84,168,84,168,84,14,14,28,16,1,0,0,96,0,96,0,
-  0,113,8,248,240,4,0,4,24,24,60,48,36,8,36,132,
-  124,135,216,121,128,48,0,1,3,3,16,8,10,128,128,128,
-  4,1,1,16,6,0,240,3,3,3,16,6,10,128,64,32,
-  3,3,3,16,7,10,32,64,128,6,14,14,8,1,255,168,
-  84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,
-  8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,
-  84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,
-  84,168,84,168,84,16,13,26,16,0,254,255,255,0,192,0,
-  192,14,192,25,248,17,200,19,204,14,204,0,204,0,204,4,
-  192,14,64,4,0,16,13,26,16,0,254,255,255,8,24,8,
-  24,9,216,59,56,58,24,18,56,17,216,8,24,4,24,0,
-  152,1,200,0,128,16,13,26,16,0,254,255,255,1,152,1,
-  152,1,152,1,152,7,152,3,152,1,152,0,152,0,24,0,
-  152,1,200,0,128,16,13,26,16,0,254,255,255,0,24,0,
-  24,0,24,3,248,17,152,8,216,8,216,7,152,0,24,0,
-  152,1,200,0,128,16,13,26,16,0,254,255,255,0,24,0,
-  24,3,248,6,0,6,0,3,240,0,24,4,24,3,240,0,
-  0,0,192,0,192,16,13,26,16,0,254,255,255,0,96,0,
-  96,7,224,12,0,24,224,25,144,25,16,13,48,7,224,0,
-  0,1,128,1,128,16,13,26,16,0,254,255,255,49,128,49,
-  128,49,128,49,240,49,200,19,132,15,132,1,132,1,140,9,
-  140,28,128,8,0,16,13,26,16,0,254,255,255,3,24,3,
-  24,3,24,3,24,6,24,4,56,4,120,3,216,0,24,1,
-  24,3,136,1,0,16,13,26,16,0,254,255,255,3,0,3,
-  0,51,24,75,40,7,240,15,24,51,8,67,24,3,48,3,
-  28,1,16,0,14,16,13,26,16,0,254,255,255,0,32,0,
-  32,30,112,49,152,49,152,16,48,8,96,4,192,0,60,0,
-  192,0,192,0,60,8,5,5,16,4,255,72,146,130,68,3,
-  8,6,6,16,4,254,72,146,132,67,4,3,2,12,12,16,
-  7,255,128,192,192,192,192,192,192,192,192,192,192,64,5,12,
-  12,16,6,255,144,216,216,216,216,216,216,216,216,216,216,72,
-  8,7,7,16,4,2,60,78,199,195,227,114,60,6,13,13,
-  16,5,254,112,232,204,204,76,60,24,48,96,32,16,8,4,
-  9,13,26,16,4,254,252,0,226,0,1,0,1,0,1,0,
-  3,0,54,0,44,0,56,0,4,0,2,0,1,0,0,128,
-  8,13,13,16,4,254,252,226,2,2,60,2,1,51,46,60,
-  4,2,1,12,12,24,16,2,255,128,16,64,48,32,96,16,
-  192,9,128,7,0,6,0,13,0,9,128,9,128,9,128,7,
-  0,8,13,13,16,4,254,192,195,195,67,62,12,12,104,88,
-  120,4,2,1,8,13,13,16,4,254,60,192,128,192,124,16,
-  32,35,51,15,4,4,2,11,11,22,16,3,0,128,0,135,
-  0,142,192,140,64,68,96,67,224,64,32,32,32,32,64,24,
-  192,7,0,10,10,20,16,3,1,255,192,32,0,64,0,128,
-  0,128,0,131,0,135,128,124,128,56,128,0,128,8,12,12,
-  16,4,255,56,100,98,97,32,56,72,192,192,192,32,31,5,
-  4,4,16,6,3,112,136,136,112,2,2,2,16,8,6,192,
-  192,15,15,30,16,1,255,2,0,1,32,0,192,57,254,68,
-  192,4,192,12,192,56,192,8,192,135,192,134,192,78,192,60,
-  192,0,192,0,64,6,14,14,8,1,255,168,84,168,84,168,
-  84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,
-  84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,
-  8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,
-  84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,
-  84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,
-  84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,
-  84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,
-  8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,
-  84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,
-  84,168,84,168,84,16,12,24,16,0,255,255,255,1,152,1,
-  152,1,152,1,152,7,152,3,152,1,152,0,152,0,24,0,
-  24,15,248,16,12,24,16,0,255,255,255,0,24,0,24,0,
-  24,3,248,17,152,8,216,8,216,7,152,0,24,0,24,31,
-  248,8,13,13,16,4,254,124,226,193,1,1,3,62,60,48,
-  48,48,48,16,16,13,26,16,0,254,255,255,0,24,0,24,
-  3,248,6,0,6,0,3,240,0,24,4,24,2,24,1,240,
-  0,0,15,254,16,12,24,16,0,255,255,255,0,24,0,24,
-  7,216,14,120,13,24,12,152,12,120,7,248,0,24,0,24,
-  15,248,6,14,14,8,1,255,168,84,168,84,168,84,168,84,
-  168,84,168,84,168,84,6,4,4,16,5,9,48,180,132,120,
+  3,16,3,0,1,128,0,252,2,4,4,16,7,10,192,192,
+  192,192,6,16,16,16,10,254,48,48,48,252,48,48,48,48,
+  48,48,48,48,48,48,48,16,2,2,2,16,7,255,192,192,
+  9,11,22,16,7,0,63,128,64,0,64,0,96,0,48,0,
+  24,0,8,0,12,0,12,0,156,0,120,0,6,13,13,16,
+  10,254,252,48,48,48,48,48,48,48,48,48,48,48,16,8,
+  14,14,16,0,0,60,98,49,252,48,48,48,48,48,48,48,
+  48,48,16,9,16,32,16,7,254,120,0,132,0,132,0,31,
+  128,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,
+  0,6,0,6,0,6,0,2,0,6,3,3,16,4,255,152,
+  68,56,6,3,3,16,6,255,112,136,100,4,3,3,16,6,
+  255,96,128,112,3,5,5,16,6,255,96,128,96,128,96,5,
+  3,3,16,5,10,136,72,48,5,3,3,16,4,10,128,112,
+  8,5,3,3,16,4,10,224,16,8,6,4,4,16,3,9,
+  112,8,228,28,6,16,16,16,10,254,136,120,0,252,48,48,
+  48,48,48,48,48,48,48,48,48,16,8,16,16,16,8,254,
+  128,120,4,63,12,12,12,12,12,12,12,12,12,12,12,4,
+  8,16,16,16,8,254,240,8,4,63,12,12,12,12,12,12,
+  12,12,12,12,12,4,9,16,32,16,7,254,120,0,244,0,
+  10,0,31,128,6,0,6,0,6,0,6,0,6,0,6,0,
+  6,0,6,0,6,0,6,0,6,0,2,0,5,3,3,16,
+  6,255,224,16,8,4,13,13,16,2,254,240,192,192,192,192,
+  192,192,192,192,192,192,192,128,9,15,30,16,7,255,32,0,
+  30,0,129,0,125,128,3,0,31,0,3,0,3,0,3,0,
+  3,0,3,0,3,0,3,0,3,0,1,0,14,12,24,16,
+  1,1,4,192,2,216,57,24,68,224,4,0,12,56,56,76,
+  8,204,135,156,134,120,78,0,60,0,1,3,3,16,8,10,
+  128,128,128,4,1,1,16,6,0,240,3,3,3,16,6,10,
+  128,64,32,3,3,3,16,7,10,32,64,128,5,5,5,16,
+  5,8,136,72,48,0,248,6,2,2,16,3,254,132,120,8,
+  4,4,16,2,254,66,60,129,126,16,13,26,16,0,254,255,
+  255,0,192,0,192,14,192,25,248,17,200,19,204,14,204,0,
+  204,0,204,4,192,14,64,4,0,16,13,26,16,0,254,255,
+  255,8,24,8,24,9,216,59,56,58,24,18,56,17,216,8,
+  24,4,24,0,152,1,200,0,128,16,13,26,16,0,254,255,
+  255,1,152,1,152,1,152,1,152,7,152,3,152,1,152,0,
+  152,0,24,0,152,1,200,0,128,16,13,26,16,0,254,255,
+  255,0,24,0,24,0,24,3,248,17,152,8,216,8,216,7,
+  152,0,24,0,152,1,200,0,128,16,13,26,16,0,254,255,
+  255,0,24,0,24,3,248,6,0,6,0,3,240,0,24,4,
+  24,3,240,0,0,0,192,0,192,16,13,26,16,0,254,255,
+  255,0,96,0,96,7,224,12,0,24,224,25,144,25,16,13,
+  48,7,224,0,0,1,128,1,128,16,13,26,16,0,254,255,
+  255,49,128,49,128,49,128,49,240,49,200,19,132,15,132,1,
+  132,1,140,9,140,28,128,8,0,16,13,26,16,0,254,255,
+  255,3,24,3,24,3,24,3,24,6,24,4,56,4,120,3,
+  216,0,24,1,24,3,136,1,0,16,13,26,16,0,254,255,
+  255,3,0,3,0,51,24,75,40,7,240,15,24,51,8,67,
+  24,3,48,3,28,1,16,0,14,16,13,26,16,0,254,255,
+  255,0,32,0,32,30,112,49,152,49,152,16,48,8,96,4,
+  192,0,60,0,192,0,192,0,60,8,5,5,16,4,255,72,
+  146,130,68,3,8,6,6,16,4,254,72,146,132,67,4,3,
+  2,12,12,16,7,255,128,192,192,192,192,192,192,192,192,192,
+  192,64,5,12,12,16,6,255,144,216,216,216,216,216,216,216,
+  216,216,216,72,8,7,7,16,4,2,60,78,199,195,227,114,
+  60,6,13,13,16,5,254,112,232,204,204,76,60,24,48,96,
+  32,16,8,4,9,13,26,16,4,254,252,0,226,0,1,0,
+  1,0,1,0,3,0,54,0,44,0,56,0,4,0,2,0,
+  1,0,0,128,8,13,13,16,4,254,252,226,2,2,60,2,
+  1,51,46,60,4,2,1,12,12,24,16,2,255,128,16,64,
+  48,32,96,16,192,9,128,7,0,6,0,13,0,9,128,9,
+  128,9,128,7,0,8,13,13,16,4,254,192,195,195,67,62,
+  12,12,104,88,120,4,2,1,8,13,13,16,4,254,60,192,
+  128,192,124,16,32,35,51,15,4,4,2,11,11,22,16,3,
+  0,128,0,135,0,142,192,140,64,68,96,67,224,64,32,32,
+  32,32,64,24,192,7,0,10,10,20,16,3,1,255,192,32,
+  0,64,0,128,0,128,0,131,0,135,128,124,128,56,128,0,
+  128,8,12,12,16,4,255,56,100,98,97,32,56,72,192,192,
+  192,32,31,5,4,4,16,6,3,112,136,136,112,2,2,2,
+  16,8,6,192,192,15,15,30,16,1,255,2,0,1,32,0,
+  192,57,254,68,192,4,192,12,192,56,192,8,192,135,192,134,
+  192,78,192,60,192,0,192,0,64,15,15,30,16,1,255,0,
+  192,0,192,0,192,57,254,68,192,4,192,12,192,56,192,8,
+  192,135,192,134,192,78,192,60,192,0,192,0,64,15,15,30,
+  16,1,255,0,12,0,12,0,12,57,254,68,204,4,204,12,
+  204,56,204,8,204,135,204,134,204,78,204,60,204,0,204,0,
+  68,15,15,30,16,1,255,0,128,0,120,2,4,57,246,68,
+  12,4,124,12,204,56,204,8,204,135,204,134,204,78,204,60,
+  204,0,204,0,68,15,16,32,16,1,254,2,0,1,32,0,
+  192,57,254,68,192,4,192,12,192,56,192,8,192,135,192,134,
+  192,78,192,60,192,0,64,33,0,30,0,15,16,32,16,1,
+  254,2,0,1,32,0,192,57,254,68,192,4,192,12,192,56,
+  192,8,192,135,192,78,192,60,192,33,192,30,0,64,128,63,
+  0,16,12,24,16,0,255,255,255,24,0,24,0,24,0,63,
+  224,56,112,0,48,0,48,0,48,0,48,0,96,0,64,16,
+  12,24,16,0,255,255,255,0,24,0,24,0,24,3,248,17,
+  152,8,216,8,216,7,152,0,24,8,152,2,8,16,12,24,
+  16,0,255,255,255,3,24,3,24,3,24,3,152,6,88,4,
+  56,4,120,3,216,0,24,0,24,0,8,16,12,24,16,0,
+  255,255,255,1,152,1,152,1,152,1,152,7,152,3,152,1,
+  152,0,152,0,24,0,24,15,248,16,12,24,16,0,255,255,
+  255,0,24,0,24,0,24,3,248,17,152,8,216,8,216,7,
+  152,0,24,0,24,31,248,8,13,13,16,4,254,124,226,193,
+  1,1,3,62,60,48,48,48,48,16,16,13,26,16,0,254,
+  255,255,0,24,0,24,3,248,6,0,6,0,3,240,0,24,
+  4,24,2,24,1,240,0,0,15,254,16,12,24,16,0,255,
+  255,255,0,24,0,24,7,216,14,120,13,24,12,152,12,120,
+  7,248,0,24,0,24,15,248,11,12,24,16,2,255,30,0,
+  55,0,97,128,193,128,193,128,89,128,57,128,1,128,1,128,
+  1,160,1,160,0,192,6,4,4,16,5,9,48,180,132,120,
   5,8,8,16,11,0,96,144,96,0,192,96,48,8,4,7,
-  7,16,11,1,96,144,96,0,96,144,96,6,14,14,8,1,
-  255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,16,
-  12,24,16,0,255,255,255,0,12,64,12,67,140,71,204,71,
-  236,99,44,32,108,48,124,24,220,15,140,0,4,16,13,26,
-  16,0,255,0,6,255,247,0,110,64,102,70,102,79,102,79,
-  102,69,102,65,102,97,102,51,230,30,102,0,34,16,15,30,
-  16,0,255,32,0,31,192,0,32,255,255,0,0,15,192,24,
-  96,60,48,60,48,24,48,0,96,63,192,7,0,1,192,0,
-  124,16,15,30,16,0,255,32,0,31,240,0,8,255,255,30,
-  0,63,12,59,30,25,56,1,248,1,240,3,144,79,16,60,
-  16,16,24,0,14,16,15,30,16,0,255,16,0,15,224,0,
-  16,255,255,3,0,3,0,67,0,67,16,67,56,99,108,33,
-  204,48,12,24,12,14,24,3,240,16,15,30,16,0,255,16,
-  0,15,224,0,16,255,255,3,0,3,0,83,0,83,16,83,
-  56,83,108,73,204,40,12,36,12,18,24,15,240,15,14,28,
-  16,1,255,64,0,228,0,230,206,133,204,121,204,3,204,14,
-  204,120,204,96,236,120,252,14,220,3,204,1,204,0,68,14,
-  14,28,16,1,255,64,0,128,0,128,0,64,0,127,192,31,
-  240,0,56,15,12,24,140,56,76,56,76,56,76,16,216,3,
-  240,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,
-  84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,
-  84,168,84,168,84,168,84,168,84,14,13,26,16,1,255,0,
-  48,0,248,1,140,3,12,135,140,135,140,131,12,128,12,192,
-  12,64,108,96,156,51,12,14,4,14,15,30,16,1,255,0,
-  8,0,16,0,16,0,216,3,236,6,52,140,52,158,52,158,
-  52,140,56,192,48,65,176,98,112,60,48,24,16,6,14,14,
-  8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,
-  84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,
-  84,168,84,168,84,14,13,26,16,1,255,0,240,3,24,6,
-  12,14,12,142,12,134,120,192,248,64,120,96,12,48,12,24,
-  12,12,24,7,240,14,15,30,16,1,255,0,8,0,16,0,
-  16,7,216,8,108,28,52,28,52,156,52,137,228,131,248,193,
-  224,64,48,96,48,48,112,31,224,16,12,24,16,0,255,255,
-  255,0,96,0,96,1,248,7,100,60,98,48,98,60,110,7,
-  108,1,224,0,224,0,32,14,13,26,16,2,255,64,0,226,
-  60,227,48,197,48,121,48,1,48,6,48,120,48,126,48,1,
-  176,0,112,0,48,0,16,14,12,24,16,2,255,62,124,113,
-  96,224,224,224,96,252,96,70,96,6,96,6,96,28,96,120,
-  96,32,96,0,32,16,12,24,16,0,255,255,255,24,24,48,
-  24,56,24,31,152,1,152,6,24,12,24,31,24,1,216,0,
-  56,0,8,12,13,26,16,2,255,32,0,35,192,22,64,12,
-  64,15,128,140,0,136,32,136,112,199,176,64,48,96,48,48,
-  96,31,128,16,12,24,16,0,255,255,255,24,0,24,0,28,
-  0,27,0,24,252,24,12,24,12,24,12,24,24,28,48,15,
-  192,16,12,24,16,0,255,255,255,24,0,24,0,28,0,27,
-  224,24,56,24,104,28,200,15,16,0,96,1,248,0,14,16,
-  12,24,16,0,255,255,255,1,240,3,28,70,15,76,2,76,
-  196,79,36,102,44,32,44,48,100,24,196,15,131,16,12,24,
-  16,0,255,255,231,0,102,0,102,1,230,7,102,60,102,48,
-  102,60,102,7,126,1,238,0,230,0,34,14,13,26,16,1,
-  255,7,0,13,128,25,176,49,248,57,204,185,140,145,184,129,
-  140,193,204,199,248,111,176,121,128,48,128,16,15,30,16,0,
-  255,16,0,15,192,0,32,255,255,24,0,24,0,24,0,24,
-  96,24,240,24,112,24,48,24,96,24,192,15,128,7,0,16,
-  15,30,16,0,255,16,0,15,0,0,128,255,255,0,128,0,
-  128,0,192,1,192,1,96,35,48,58,24,20,24,24,24,12,
-  48,7,224,16,12,24,16,0,255,255,255,3,0,3,0,67,
-  0,67,16,67,56,99,108,33,204,48,12,24,12,14,24,3,
-  240,16,12,24,16,0,255,255,255,24,0,24,0,24,0,24,
-  96,24,240,24,112,24,48,24,96,24,192,15,128,7,0,13,
-  13,26,16,3,255,28,96,62,120,97,96,192,224,192,224,224,
-  96,224,96,64,96,0,96,0,96,0,96,0,96,0,32,16,
-  12,24,16,0,255,255,255,0,0,65,248,67,12,67,132,67,
-  134,99,134,33,6,48,6,24,12,12,28,7,240,15,13,26,
-  16,1,255,60,0,98,62,241,48,241,48,97,48,1,48,6,
-  48,120,48,126,48,1,176,0,112,0,48,0,16,16,12,24,
-  16,0,255,255,255,12,0,12,0,12,120,12,240,13,224,13,
-  96,15,96,14,96,14,96,12,48,8,28,12,13,26,16,4,
-  255,96,0,240,240,224,192,128,192,99,192,30,192,56,192,224,
-  192,248,192,14,192,3,192,1,192,0,64,16,12,24,16,0,
-  255,255,255,0,24,0,24,0,24,0,24,30,24,63,152,60,
-  216,56,120,0,56,0,24,0,8,6,14,14,8,1,255,168,
-  84,168,84,168,84,168,84,168,84,168,84,168,84,15,13,26,
-  16,1,255,14,48,31,190,48,240,96,112,240,240,155,176,14,
-  48,24,48,32,48,0,48,0,48,0,48,0,16,16,12,24,
-  16,0,255,255,255,16,0,56,120,12,100,6,98,12,98,24,
-  110,48,108,63,96,1,224,0,96,0,32,16,12,24,16,0,
-  255,255,255,0,24,0,24,0,120,3,216,7,24,28,24,31,
+  7,16,11,1,96,144,96,0,96,144,96,14,14,28,16,1,
+  255,255,252,231,156,219,108,219,140,219,236,231,156,255,252,255,
+  252,231,108,219,108,231,12,219,236,231,236,255,252,16,12,24,
+  16,0,255,255,255,0,12,64,12,67,140,71,204,71,236,99,
+  44,32,108,48,124,24,220,15,140,0,4,16,13,26,16,0,
+  255,0,6,255,247,0,110,64,102,70,102,79,102,79,102,69,
+  102,65,102,97,102,51,230,30,102,0,34,16,15,30,16,0,
+  255,32,0,31,192,0,32,255,255,0,0,15,192,24,96,60,
+  48,60,48,24,48,0,96,63,192,7,0,1,192,0,124,16,
+  15,30,16,0,255,32,0,31,240,0,8,255,255,30,0,63,
+  12,59,30,25,56,1,248,1,240,3,144,79,16,60,16,16,
+  24,0,14,16,15,30,16,0,255,16,0,15,224,0,16,255,
+  255,3,0,3,0,67,0,67,16,67,56,99,108,33,204,48,
+  12,24,12,14,24,3,240,16,15,30,16,0,255,16,0,15,
+  224,0,16,255,255,3,0,3,0,83,0,83,16,83,56,83,
+  108,73,204,40,12,36,12,18,24,15,240,15,14,28,16,1,
+  255,64,0,228,0,230,206,133,204,121,204,3,204,14,204,120,
+  204,96,236,120,252,14,220,3,204,1,204,0,68,14,14,28,
+  16,1,255,64,0,128,0,128,0,64,0,127,192,31,240,0,
+  56,15,12,24,140,56,76,56,76,56,76,16,216,3,240,14,
+  14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231,
+  156,255,252,255,252,231,28,219,108,231,108,219,108,231,28,255,
+  252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219,
+  236,231,156,255,252,255,252,231,12,219,124,231,28,219,124,231,
+  12,255,252,14,13,26,16,1,255,0,48,0,248,1,140,3,
+  12,135,140,135,140,131,12,128,12,192,12,64,108,96,156,51,
+  12,14,4,14,15,30,16,1,255,0,8,0,16,0,16,0,
+  216,3,236,6,52,140,52,158,52,158,52,140,56,192,48,65,
+  176,98,112,60,48,24,16,14,14,28,16,1,255,255,252,231,
+  156,219,108,219,140,219,236,231,156,255,252,255,252,231,220,219,
+  156,227,220,251,220,231,140,255,252,14,14,28,16,1,255,255,
+  252,231,156,219,108,219,140,219,236,231,156,255,252,255,252,231,
+  12,219,236,227,12,251,124,231,12,255,252,14,13,26,16,1,
+  255,0,240,3,24,6,12,14,12,142,12,134,120,192,248,64,
+  120,96,12,48,12,24,12,12,24,7,240,14,15,30,16,1,
+  255,0,8,0,16,0,16,7,216,8,108,28,52,28,52,156,
+  52,137,228,131,248,193,224,64,48,96,48,48,112,31,224,16,
+  12,24,16,0,255,255,255,0,96,0,96,1,248,7,100,60,
+  98,48,98,60,110,7,108,1,224,0,224,0,32,14,13,26,
+  16,2,255,64,0,226,60,227,48,197,48,121,48,1,48,6,
+  48,120,48,126,48,1,176,0,112,0,48,0,16,14,12,24,
+  16,2,255,62,124,113,96,224,224,224,96,252,96,70,96,6,
+  96,6,96,28,96,120,96,32,96,0,32,16,12,24,16,0,
+  255,255,255,24,24,48,24,56,24,31,152,1,152,6,24,12,
+  24,31,24,1,216,0,56,0,8,12,13,26,16,2,255,32,
+  0,35,192,22,64,12,64,15,128,140,0,136,32,136,112,199,
+  176,64,48,96,48,48,96,31,128,16,12,24,16,0,255,255,
+  255,24,0,24,0,28,0,27,0,24,252,24,12,24,12,24,
+  12,24,24,28,48,15,192,16,12,24,16,0,255,255,255,24,
+  0,24,0,28,0,27,224,24,56,24,104,28,200,15,16,0,
+  96,1,248,0,14,16,12,24,16,0,255,255,255,1,240,3,
+  28,70,15,76,2,76,196,79,36,102,44,32,44,48,100,24,
+  196,15,131,16,12,24,16,0,255,255,231,0,102,0,102,1,
+  230,7,102,60,102,48,102,60,102,7,126,1,238,0,230,0,
+  34,14,13,26,16,1,255,7,0,13,128,25,176,49,248,57,
+  204,185,140,145,184,129,140,193,204,199,248,111,176,121,128,48,
+  128,16,15,30,16,0,255,16,0,15,192,0,32,255,255,24,
+  0,24,0,24,0,24,96,24,240,24,112,24,48,24,96,24,
+  192,15,128,7,0,16,15,30,16,0,255,16,0,15,0,0,
+  128,255,255,0,128,0,128,0,192,1,192,1,96,35,48,58,
+  24,20,24,24,24,12,48,7,224,16,12,24,16,0,255,255,
+  255,3,0,3,0,67,0,67,16,67,56,99,108,33,204,48,
+  12,24,12,14,24,3,240,16,12,24,16,0,255,255,255,24,
+  0,24,0,24,0,24,96,24,240,24,112,24,48,24,96,24,
+  192,15,128,7,0,13,13,26,16,3,255,28,96,62,120,97,
+  96,192,224,192,224,224,96,224,96,64,96,0,96,0,96,0,
+  96,0,96,0,32,16,12,24,16,0,255,255,255,0,0,65,
+  248,67,12,67,132,67,134,99,134,33,6,48,6,24,12,12,
+  28,7,240,15,13,26,16,1,255,60,0,98,62,241,48,241,
+  48,97,48,1,48,6,48,120,48,126,48,1,176,0,112,0,
+  48,0,16,16,12,24,16,0,255,255,255,12,0,12,0,12,
+  120,12,240,13,224,13,96,15,96,14,96,14,96,12,48,8,
+  28,12,13,26,16,4,255,96,0,240,240,224,192,128,192,99,
+  192,30,192,56,192,224,192,248,192,14,192,3,192,1,192,0,
+  64,16,12,24,16,0,255,255,255,0,24,0,24,0,24,0,
+  24,30,24,63,152,60,216,56,120,0,56,0,24,0,8,14,
+  14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231,
+  156,255,252,255,252,195,156,219,108,195,140,219,236,219,156,255,
+  252,15,13,26,16,1,255,14,48,31,190,48,240,96,112,240,
+  240,155,176,14,48,24,48,32,48,0,48,0,48,0,48,0,
+  16,16,12,24,16,0,255,255,255,16,0,56,120,12,100,6,
+  98,12,98,24,110,48,108,63,96,1,224,0,96,0,32,16,
+  12,24,16,0,255,255,255,0,24,0,24,0,120,3,216,7,
+  24,28,24,31,24,1,216,0,120,0,56,0,8,16,12,24,
+  16,0,255,255,255,0,0,66,16,71,8,71,12,70,20,99,
+  230,32,6,48,6,24,12,12,28,7,240,16,12,24,16,0,
+  255,255,255,12,24,28,24,14,24,3,24,3,24,3,24,15,
+  216,30,120,12,56,0,24,0,8,16,12,24,16,0,255,255,
+  255,8,48,28,48,6,48,3,48,6,48,12,48,24,48,31,
+  176,0,240,0,48,0,16,16,12,24,16,0,255,255,255,0,
+  24,0,120,3,216,7,24,28,24,31,24,1,216,2,120,7,
+  56,7,24,2,8,14,14,28,16,1,255,255,252,231,156,219,
+  108,219,140,219,236,231,156,255,252,255,252,199,220,219,156,199,
+  220,219,220,199,140,255,252,16,12,24,16,0,255,255,255,0,
+  6,0,6,28,22,62,62,99,102,65,198,65,198,64,134,124,
+  6,60,6,24,2,14,14,28,16,1,255,255,252,231,156,219,
+  108,219,140,219,236,231,156,255,252,255,252,199,28,219,236,199,
+  140,219,236,199,28,255,252,14,14,28,16,1,255,255,252,231,
+  156,219,108,219,140,219,236,231,156,255,252,255,252,199,108,219,
+  108,199,12,219,236,199,236,255,252,14,14,28,16,1,255,255,
+  252,231,156,219,108,219,140,219,236,231,156,255,252,255,252,199,
+  12,219,124,199,12,219,236,199,12,255,252,15,13,26,16,1,
+  255,112,204,249,238,143,60,143,28,31,140,63,204,25,140,0,
+  12,0,12,0,12,0,12,0,12,0,4,16,12,24,16,0,
+  255,255,255,28,24,14,24,7,152,1,216,6,120,28,24,31,
   24,1,216,0,120,0,56,0,8,16,12,24,16,0,255,255,
-  255,0,0,66,16,71,8,71,12,70,20,99,230,32,6,48,
-  6,24,12,12,28,7,240,16,12,24,16,0,255,255,255,12,
-  24,28,24,14,24,3,24,3,24,3,24,15,216,30,120,12,
-  56,0,24,0,8,16,12,24,16,0,255,255,255,8,48,28,
-  48,6,48,3,48,6,48,12,48,24,48,31,176,0,240,0,
-  48,0,16,16,12,24,16,0,255,255,255,0,24,0,120,3,
-  216,7,24,28,24,31,24,1,216,2,120,7,56,7,24,2,
-  8,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,
-  84,168,84,168,84,16,12,24,16,0,255,255,255,0,6,0,
-  6,28,22,62,62,99,102,65,198,65,198,64,134,124,6,60,
-  6,24,2,6,14,14,8,1,255,168,84,168,84,168,84,168,
-  84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,
-  84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,1,
-  255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,15,
-  13,26,16,1,255,112,204,249,238,143,60,143,28,31,140,63,
-  204,25,140,0,12,0,12,0,12,0,12,0,12,0,4,16,
-  12,24,16,0,255,255,255,28,24,14,24,7,152,1,216,6,
-  120,28,24,31,24,1,216,0,120,0,56,0,8,16,12,24,
-  16,0,255,255,255,16,12,56,12,28,12,6,12,2,204,1,
-  236,3,28,102,12,60,12,24,12,0,4,16,12,24,16,0,
-  255,255,255,0,0,15,192,24,96,60,48,60,48,24,48,0,
-  96,63,192,7,0,1,192,0,124,6,14,14,8,1,255,168,
-  84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,
-  8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,
-  84,2,2,2,16,7,255,192,192,14,12,24,16,0,255,240,
-  0,8,0,15,192,28,96,60,48,60,48,24,48,0,96,63,
-  192,7,0,1,192,0,124,5,10,10,16,11,255,48,184,112,
-  48,48,48,48,48,48,16,13,14,28,16,0,255,15,128,63,
-  224,96,16,96,8,32,0,248,0,48,0,48,0,48,0,48,
-  0,48,0,48,0,48,0,16,0,12,14,28,16,4,255,63,
-  0,65,128,128,192,190,64,65,64,1,240,0,192,0,192,0,
-  192,0,192,0,192,0,192,0,192,0,64,6,5,5,16,5,
-  254,4,104,144,104,4,6,5,5,16,6,254,96,128,112,8,
-  4,5,5,5,16,5,254,24,96,128,96,24,3,5,5,16,
-  6,255,96,128,96,128,64,6,14,14,8,1,255,168,84,168,
-  84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,1,
-  255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,5,
-  9,9,16,0,255,248,24,48,96,64,64,64,88,56,5,12,
-  12,16,0,255,128,112,8,248,24,48,96,64,64,64,88,56,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,16,10,20,16,0,255,0,6,
+  255,16,12,56,12,28,12,6,12,2,204,1,236,3,28,102,
+  12,60,12,24,12,0,4,16,12,24,16,0,255,255,255,0,
+  0,15,192,24,96,60,48,60,48,24,48,0,96,63,192,7,
+  0,1,192,0,124,14,14,28,16,1,255,255,252,231,156,219,
+  108,219,140,219,236,231,156,255,252,255,252,199,12,219,108,199,
+  12,219,108,199,108,255,252,14,14,28,16,1,255,255,252,231,
+  156,219,108,219,140,219,236,231,156,255,252,255,252,199,28,219,
+  108,199,28,219,108,199,28,255,252,2,2,2,16,7,255,192,
+  192,14,12,24,16,0,255,240,0,8,0,15,192,28,96,60,
+  48,60,48,24,48,0,96,63,192,7,0,1,192,0,124,5,
+  10,10,16,11,255,48,184,112,48,48,48,48,48,48,16,13,
+  14,28,16,0,255,15,128,63,224,96,16,96,8,32,0,248,
+  0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,16,
+  0,12,14,28,16,4,255,63,0,65,128,128,192,190,64,65,
+  64,1,240,0,192,0,192,0,192,0,192,0,192,0,192,0,
+  192,0,64,6,5,5,16,5,254,4,104,144,104,4,6,5,
+  5,16,6,254,96,128,112,8,4,5,5,5,16,5,254,24,
+  96,128,96,24,3,5,5,16,6,255,96,128,96,128,64,14,
+  14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231,
+  156,255,252,255,252,227,12,223,124,223,12,223,236,227,12,255,
+  252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219,
+  236,231,156,255,252,255,252,227,156,223,124,223,28,223,108,227,
+  156,255,252,5,9,9,16,0,255,248,24,48,96,64,64,64,
+  88,56,5,12,12,16,0,255,128,112,8,248,24,48,96,64,
+  64,64,88,56,14,14,28,16,1,255,255,252,231,156,219,108,
+  219,140,219,236,231,156,255,252,255,252,227,156,223,108,223,140,
+  223,236,227,156,255,252,14,14,28,16,1,255,255,252,231,156,
+  219,108,219,140,219,236,231,156,255,252,255,252,227,12,223,108,
+  223,12,223,108,227,108,255,252,16,10,20,16,0,255,0,6,
   248,23,24,14,48,6,96,6,64,6,64,6,64,6,88,6,
   56,2,16,13,26,16,0,255,0,128,0,112,0,8,0,4,
   248,23,24,14,48,6,96,6,64,6,64,6,64,6,88,6,
   56,2,5,3,3,16,6,0,192,48,8,8,12,12,16,4,
-  255,56,92,204,236,216,192,96,56,12,6,3,1,6,14,14,
-  8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,
-  84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,
-  84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,
-  84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,
-  84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,
-  8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,
-  84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,
-  84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,
-  84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,
-  84,168,84,168,84,168,84,168,84,168,84,168,84,8,13,13,
+  255,56,92,204,236,216,192,96,56,12,6,3,1,14,14,28,
+  16,1,255,255,252,231,156,219,108,219,140,219,236,231,156,255,
+  252,255,252,227,12,223,124,223,28,223,124,227,124,255,252,14,
+  14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231,
+  156,255,252,255,252,199,156,219,108,219,108,219,108,199,156,255,
+  252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219,
+  236,231,156,255,252,255,252,199,220,219,156,219,220,219,220,199,
+  140,255,252,14,14,28,16,1,255,255,252,231,156,219,108,219,
+  140,219,236,231,156,255,252,255,252,199,12,219,236,219,12,219,
+  124,199,12,255,252,14,14,28,16,1,255,255,252,231,156,219,
+  108,219,140,219,236,231,156,255,252,255,252,199,28,219,236,219,
+  140,219,236,199,28,255,252,14,14,28,16,1,255,255,252,231,
+  156,219,108,219,140,219,236,231,156,255,252,255,252,199,108,219,
+  108,219,12,219,236,199,236,255,252,14,14,28,16,1,255,255,
+  252,231,156,219,108,219,140,219,236,231,156,255,252,255,252,199,
+  12,219,124,219,12,219,236,199,12,255,252,14,14,28,16,1,
+  255,255,252,231,156,219,108,219,140,219,236,231,156,255,252,255,
+  252,199,156,219,124,219,28,219,108,199,156,255,252,8,13,13,
   16,8,255,128,112,8,4,23,14,6,6,6,6,6,6,2,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  16,13,26,16,0,254,255,255,3,0,67,16,67,56,99,108,
-  35,204,49,140,24,12,14,24,3,240,0,0,0,192,0,192,
-  16,13,26,16,0,254,255,255,12,0,12,0,12,0,12,48,
-  12,120,12,56,12,48,7,224,3,192,0,0,1,128,1,128,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,16,13,26,16,0,254,255,255,4,24,14,24,
-  3,24,1,152,3,24,6,24,12,24,15,216,0,120,1,24,
-  3,136,1,0,15,15,30,16,1,254,64,0,228,0,230,206,
-  133,204,121,204,3,204,14,204,120,204,96,236,120,252,14,220,
-  123,204,97,204,120,68,14,0,8,14,14,16,4,255,128,124,
-  3,121,197,205,158,128,124,3,121,197,205,158,7,5,5,16,
-  5,255,124,2,114,202,220,10,6,12,16,5,255,3,128,112,
-  64,10,64,77,64,173,128,176,0,6,14,14,8,1,255,168,
-  84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,
-  8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,
-  84,10,11,22,16,3,0,30,0,63,0,97,128,192,192,192,
-  192,192,192,192,192,192,192,97,128,63,0,30,0,9,12,24,
-  16,4,0,64,0,64,0,96,0,56,0,14,0,3,0,1,
-  128,97,128,225,128,225,128,195,0,126,0,10,11,22,16,3,
-  0,224,0,56,0,14,0,3,0,3,0,227,0,126,0,28,
-  0,6,0,1,128,0,64,12,12,24,16,2,255,131,192,132,
-  96,136,48,140,48,142,48,142,48,134,48,64,48,64,96,32,
-  96,17,192,15,0,11,13,26,16,2,255,31,0,63,128,96,
-  192,64,64,96,192,49,128,31,0,96,192,192,96,192,96,224,
-  224,127,192,31,0,11,13,26,16,2,255,7,0,30,0,57,
-  96,112,192,97,128,195,0,198,0,198,0,198,0,198,0,99,
-  96,48,192,31,128,12,12,24,16,2,255,28,0,12,0,12,
-  0,140,0,140,96,140,160,141,176,199,48,64,48,96,48,48,
-  96,31,192,9,13,26,16,4,255,60,0,126,0,195,0,195,
-  0,199,0,127,0,59,0,3,0,3,0,3,0,3,0,3,
-  0,1,128,13,13,26,16,1,255,224,0,96,0,96,0,96,
-  8,103,240,127,192,112,96,96,96,96,96,96,96,112,192,63,
-  128,30,0,12,15,30,16,2,254,128,0,128,0,96,0,60,
-  0,15,0,3,192,0,224,0,48,60,48,66,48,225,48,225,
-  48,225,96,65,192,1,0,16,12,24,16,0,255,255,255,0,
-  24,0,24,0,120,3,216,7,152,28,120,31,24,1,216,0,
-  120,0,56,0,8,16,13,26,16,0,254,255,255,0,24,0,
-  24,0,120,3,216,7,24,28,24,31,24,1,216,28,120,7,
-  56,1,136,0,64,9,8,16,16,3,3,224,0,248,0,124,
-  0,14,0,3,0,1,0,0,128,0,128,12,13,26,16,1,
-  255,48,0,120,0,204,0,12,0,31,240,12,0,12,96,12,
-  240,12,240,12,48,12,96,7,192,3,128,9,8,16,16,3,
-  2,0,128,0,128,1,0,3,0,14,0,124,0,248,0,224,
-  0,12,9,18,16,2,2,56,16,124,16,226,32,242,96,242,
-  192,98,192,7,128,15,0,14,0,12,13,26,16,2,255,0,
-  16,0,16,0,16,56,16,124,16,126,16,62,16,6,48,12,
-  96,248,224,193,192,127,128,30,0,2,13,13,16,8,255,128,
-  192,192,192,192,192,192,192,192,192,192,192,64,11,13,26,16,
-  2,255,224,0,96,0,96,192,97,192,99,192,98,192,102,192,
-  108,192,120,192,112,192,96,192,0,192,0,96,11,10,20,16,
-  3,1,31,0,63,128,96,192,192,96,192,96,192,96,192,96,
-  96,192,63,128,31,0,14,9,18,16,1,255,0,4,2,4,
-  135,8,135,8,66,16,96,48,48,96,31,192,15,0,6,14,
-  14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,
-  168,84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,
-  168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,
-  168,84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,
-  168,84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,
-  14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,
-  168,84};
+  14,14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,
+  231,156,255,252,255,252,199,156,219,108,219,156,219,108,199,156,
+  255,252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,
+  219,236,231,156,255,252,255,252,199,156,219,108,219,140,219,236,
+  199,156,255,252,14,14,28,16,1,255,255,252,231,156,219,108,
+  219,140,219,236,231,156,255,252,255,252,199,12,219,108,219,12,
+  219,108,199,108,255,252,14,14,28,16,1,255,255,252,231,156,
+  219,108,219,140,219,236,231,156,255,252,255,252,199,28,219,108,
+  219,28,219,108,199,28,255,252,16,13,26,16,0,254,255,255,
+  3,0,67,16,67,56,99,108,35,204,49,140,24,12,14,24,
+  3,240,0,0,0,192,0,192,16,13,26,16,0,254,255,255,
+  12,0,12,0,12,0,12,48,12,120,12,56,12,48,7,224,
+  3,192,0,0,1,128,1,128,14,14,28,16,1,255,255,252,
+  231,156,219,108,219,140,219,236,231,156,255,252,255,252,199,12,
+  219,124,219,28,219,124,199,12,255,252,16,13,26,16,0,254,
+  255,255,4,24,14,24,3,24,1,152,3,24,6,24,12,24,
+  15,216,0,120,1,24,3,136,1,0,15,15,30,16,1,254,
+  64,0,228,0,230,206,133,204,121,204,3,204,14,204,120,204,
+  96,236,120,252,14,220,123,204,97,204,120,68,14,0,8,14,
+  14,16,4,255,128,124,3,121,197,205,158,128,124,3,121,197,
+  205,158,7,5,5,16,5,255,124,2,114,202,220,10,6,12,
+  16,5,255,3,128,112,64,10,64,77,64,173,128,176,0,14,
+  14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231,
+  156,255,252,255,252,195,108,223,108,199,12,223,236,195,236,255,
+  252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219,
+  236,231,156,255,252,255,252,195,12,223,124,199,12,223,236,195,
+  12,255,252,10,11,22,16,3,0,30,0,63,0,97,128,192,
+  192,192,192,192,192,192,192,192,192,97,128,63,0,30,0,9,
+  12,24,16,4,0,64,0,64,0,96,0,56,0,14,0,3,
+  0,1,128,97,128,225,128,225,128,195,0,126,0,10,11,22,
+  16,3,0,224,0,56,0,14,0,3,0,3,0,227,0,126,
+  0,28,0,6,0,1,128,0,64,12,12,24,16,2,255,131,
+  192,132,96,136,48,140,48,142,48,142,48,134,48,64,48,64,
+  96,32,96,17,192,15,0,11,13,26,16,2,255,31,0,63,
+  128,96,192,64,64,96,192,49,128,31,0,96,192,192,96,192,
+  96,224,224,127,192,31,0,11,13,26,16,2,255,7,0,30,
+  0,57,96,112,192,97,128,195,0,198,0,198,0,198,0,198,
+  0,99,96,48,192,31,128,12,12,24,16,2,255,28,0,12,
+  0,12,0,140,0,140,96,140,160,141,176,199,48,64,48,96,
+  48,48,96,31,192,9,13,26,16,4,255,60,0,126,0,195,
+  0,195,0,199,0,127,0,59,0,3,0,3,0,3,0,3,
+  0,3,0,1,128,13,13,26,16,1,255,224,0,96,0,96,
+  0,96,8,103,240,127,192,112,96,96,96,96,96,96,96,112,
+  192,63,128,30,0,12,15,30,16,2,254,128,0,128,0,96,
+  0,60,0,15,0,3,192,0,224,0,48,60,48,66,48,225,
+  48,225,48,225,96,65,192,1,0,16,12,24,16,0,255,255,
+  255,0,24,0,24,0,120,3,216,7,152,28,120,31,24,1,
+  216,0,120,0,56,0,8,16,13,26,16,0,254,255,255,0,
+  24,0,24,0,120,3,216,7,24,28,24,31,24,1,216,28,
+  120,7,56,1,136,0,64,9,8,16,16,3,3,224,0,248,
+  0,124,0,14,0,3,0,1,0,0,128,0,128,12,13,26,
+  16,1,255,48,0,120,0,204,0,12,0,31,240,12,0,12,
+  96,12,240,12,240,12,48,12,96,7,192,3,128,9,8,16,
+  16,3,2,0,128,0,128,1,0,3,0,14,0,124,0,248,
+  0,224,0,12,9,18,16,2,2,56,16,124,16,226,32,242,
+  96,242,192,98,192,7,128,15,0,14,0,12,13,26,16,2,
+  255,0,16,0,16,0,16,56,16,124,16,126,16,62,16,6,
+  48,12,96,248,224,193,192,127,128,30,0,2,13,13,16,8,
+  255,128,192,192,192,192,192,192,192,192,192,192,192,64,11,13,
+  26,16,2,255,224,0,96,0,96,192,97,192,99,192,98,192,
+  102,192,108,192,120,192,112,192,96,192,0,192,0,96,11,10,
+  20,16,3,1,31,0,63,128,96,192,192,96,192,96,192,96,
+  192,96,96,192,63,128,31,0,14,9,18,16,1,255,0,4,
+  2,4,135,8,135,8,66,16,96,48,48,96,31,192,15,0,
+  6,8,8,16,5,254,96,128,128,64,32,16,8,4,14,14,
+  28,16,1,255,255,252,231,156,219,108,219,140,219,236,231,156,
+  255,252,255,252,195,140,223,124,199,124,223,124,223,140,255,252,
+  14,14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,
+  231,156,255,252,255,252,195,28,223,108,199,108,223,108,223,28,
+  255,252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,
+  219,236,231,156,255,252,255,252,195,12,223,124,199,28,223,124,
+  223,12,255,252,14,14,28,16,1,255,255,252,231,156,219,108,
+  219,140,219,236,231,156,255,252,255,252,195,12,223,124,199,28,
+  223,124,223,124,255,252};
 /*
-  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
-  Copyright: 
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
   Capital A Height: 10, '1' Height: 8
-  Calculated Max Values w=16 h=16 x= 4 y= 1 dx=16 dy= 0 ascent=14 len=32
+  Calculated Max Values w=16 h=16 x= 4 y= 0 dx=16 dy= 0 ascent=14 len=32
   Font Bounding box     w=16 h=16 x= 0 y=-2
   Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
   Pure Font   ascent =10 descent= 0
@@ -81581,8 +85535,8 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[6498] U8G_SECTION(".progmem.u8g_
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[4628] U8G_SECTION(".progmem.u8g_font_unifont_2_3") = {
-  0,16,16,0,254,10,4,220,7,27,0,255,0,14,254,14,
+const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[4633] U8G_FONT_SECTION("u8g_font_unifont_2_3") = {
+  0,16,16,0,254,10,4,222,7,30,0,255,0,14,254,14,
   0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
   0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128,
   0,0,1,128,0,85,85,6,11,11,8,1,0,120,0,0,
@@ -81604,277 +85558,277 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[4628] U8G_SECTION(".progmem.u8g_fo
   96,0,0,240,136,132,132,132,132,132,132,136,240,6,14,14,
   8,1,0,72,48,0,4,4,4,116,140,132,132,132,132,140,
   116,7,10,10,8,0,0,120,68,66,66,242,66,66,66,68,
-  120,7,12,12,8,1,0,4,30,4,4,116,140,132,132,132,
-  132,140,116,6,13,13,8,1,0,120,0,0,252,128,128,128,
-  248,128,128,128,128,252,6,11,11,8,1,0,120,0,0,120,
-  132,132,252,128,128,132,120,6,14,14,8,1,0,132,132,120,
-  0,252,128,128,128,248,128,128,128,128,252,6,12,12,8,1,
-  0,132,132,120,0,120,132,132,252,128,128,132,120,6,14,14,
-  8,1,0,32,32,0,0,252,128,128,128,248,128,128,128,128,
-  252,6,12,12,8,1,0,32,32,0,0,120,132,132,252,128,
-  128,132,120,6,12,12,8,1,254,252,128,128,128,248,128,128,
-  128,128,252,16,12,6,10,10,8,1,254,120,132,132,252,128,
-  128,132,120,32,24,6,14,14,8,1,0,72,48,0,0,252,
-  128,128,128,248,128,128,128,128,252,6,12,12,8,1,0,72,
-  48,0,0,120,132,132,252,128,128,132,120,6,14,14,8,1,
-  0,48,72,0,0,120,132,132,128,128,156,132,132,140,116,6,
-  14,14,8,1,254,48,72,0,4,116,136,136,136,112,64,120,
-  132,132,120,6,14,14,8,1,0,132,132,120,0,120,132,132,
-  128,128,156,132,132,140,116,6,15,15,8,1,254,132,132,120,
-  0,4,116,136,136,136,112,64,120,132,132,120,6,14,14,8,
-  1,0,32,32,0,0,120,132,132,128,128,156,132,132,140,116,
-  6,14,14,8,1,254,32,32,0,4,116,136,136,136,112,64,
-  120,132,132,120,6,12,12,8,1,254,120,132,132,128,128,156,
-  132,132,140,116,16,96,6,14,14,8,1,254,24,32,0,4,
-  116,136,136,136,112,64,120,132,132,120,6,14,14,8,1,0,
-  48,72,0,0,132,132,132,132,252,132,132,132,132,132,6,14,
-  14,8,1,0,96,144,0,128,128,128,184,196,132,132,132,132,
-  132,132,8,10,10,8,0,0,66,66,255,66,66,126,66,66,
-  66,66,7,11,11,8,0,1,64,240,64,64,92,98,66,66,
-  66,66,66,6,14,14,8,1,0,100,152,0,0,124,16,16,
-  16,16,16,16,16,16,124,6,12,12,8,1,0,100,152,0,
-  0,48,16,16,16,16,16,16,124,5,13,13,8,2,0,240,
-  0,0,248,32,32,32,32,32,32,32,32,248,5,11,11,8,
-  2,0,240,0,0,96,32,32,32,32,32,32,248,6,14,14,
-  8,1,0,132,132,120,0,124,16,16,16,16,16,16,16,16,
-  124,6,12,12,8,1,0,132,132,120,0,48,16,16,16,16,
-  16,16,124,5,12,12,8,2,254,248,32,32,32,32,32,32,
-  32,32,248,32,24,5,13,13,8,2,254,32,32,0,96,32,
-  32,32,32,32,32,248,32,24,5,14,14,8,2,0,32,32,
-  0,0,248,32,32,32,32,32,32,32,32,248,5,8,8,8,
-  2,0,96,32,32,32,32,32,32,248,6,10,10,8,1,0,
-  132,132,132,132,132,132,4,4,132,120,5,14,14,8,2,254,
-  136,136,0,0,136,136,136,136,136,136,104,8,136,112,7,14,
-  14,8,1,0,24,36,0,0,62,8,8,8,8,8,8,136,
-  136,112,6,14,14,8,1,254,24,36,0,0,24,8,8,8,
-  8,8,8,8,144,96,7,12,12,8,0,254,66,68,72,80,
-  96,96,80,72,68,66,32,192,7,12,12,8,0,254,64,64,
+  120,7,11,11,8,1,0,4,30,4,116,140,132,132,132,132,
+  140,116,6,13,13,8,1,0,120,0,0,252,128,128,128,248,
+  128,128,128,128,252,6,11,11,8,1,0,120,0,0,120,132,
+  132,252,128,128,132,120,6,14,14,8,1,0,132,132,120,0,
+  252,128,128,128,248,128,128,128,128,252,6,12,12,8,1,0,
+  132,132,120,0,120,132,132,252,128,128,132,120,6,14,14,8,
+  1,0,32,32,0,0,252,128,128,128,248,128,128,128,128,252,
+  6,12,12,8,1,0,32,32,0,0,120,132,132,252,128,128,
+  132,120,6,12,12,8,1,254,252,128,128,128,248,128,128,128,
+  128,252,16,12,6,10,10,8,1,254,120,132,132,252,128,128,
+  132,120,32,24,6,14,14,8,1,0,72,48,0,0,252,128,
+  128,128,248,128,128,128,128,252,6,12,12,8,1,0,72,48,
+  0,0,120,132,132,252,128,128,132,120,6,14,14,8,1,0,
+  48,72,0,0,120,132,132,128,128,156,132,132,140,116,6,14,
+  14,8,1,254,48,72,0,4,116,136,136,136,112,64,120,132,
+  132,120,6,14,14,8,1,0,132,132,120,0,120,132,132,128,
+  128,156,132,132,140,116,6,15,15,8,1,254,132,132,120,0,
+  4,116,136,136,136,112,64,120,132,132,120,6,14,14,8,1,
+  0,32,32,0,0,120,132,132,128,128,156,132,132,140,116,6,
+  14,14,8,1,254,32,32,0,4,116,136,136,136,112,64,120,
+  132,132,120,6,12,12,8,1,254,120,132,132,128,128,156,132,
+  132,140,116,16,96,6,14,14,8,1,254,24,32,0,4,116,
+  136,136,136,112,64,120,132,132,120,6,14,14,8,1,0,48,
+  72,0,0,132,132,132,132,252,132,132,132,132,132,6,14,14,
+  8,1,0,96,144,0,128,128,128,184,196,132,132,132,132,132,
+  132,8,10,10,8,0,0,66,66,255,66,66,126,66,66,66,
+  66,7,11,11,8,0,0,64,240,64,92,98,66,66,66,66,
+  66,66,6,14,14,8,1,0,100,152,0,0,124,16,16,16,
+  16,16,16,16,16,124,6,12,12,8,1,0,100,152,0,0,
+  48,16,16,16,16,16,16,124,5,13,13,8,2,0,240,0,
+  0,248,32,32,32,32,32,32,32,32,248,5,11,11,8,2,
+  0,240,0,0,96,32,32,32,32,32,32,248,6,14,14,8,
+  1,0,132,132,120,0,124,16,16,16,16,16,16,16,16,124,
+  6,12,12,8,1,0,132,132,120,0,48,16,16,16,16,16,
+  16,124,5,12,12,8,2,254,248,32,32,32,32,32,32,32,
+  32,248,32,24,5,13,13,8,2,254,32,32,0,96,32,32,
+  32,32,32,32,248,32,24,5,14,14,8,2,0,32,32,0,
+  0,248,32,32,32,32,32,32,32,32,248,5,8,8,8,2,
+  0,96,32,32,32,32,32,32,248,6,10,10,8,1,0,132,
+  132,132,132,132,132,4,4,132,120,5,14,14,8,2,254,136,
+  136,0,0,136,136,136,136,136,136,104,8,136,112,7,14,14,
+  8,1,0,24,36,0,0,62,8,8,8,8,8,8,136,136,
+  112,6,14,14,8,1,254,24,36,0,0,24,8,8,8,8,
+  8,8,8,144,96,7,12,12,8,0,254,66,68,72,80,96,
+  96,80,72,68,66,32,192,7,13,13,8,0,254,64,64,64,
   68,72,80,96,80,72,68,66,32,192,6,8,8,8,1,0,
   132,136,144,224,224,144,136,132,6,14,14,8,1,0,48,192,
   0,0,128,128,128,128,128,128,128,128,128,252,5,14,14,8,
-  2,0,48,192,0,0,96,32,32,32,32,32,32,32,32,248,
+  2,0,48,192,0,96,32,32,32,32,32,32,32,32,32,248,
   6,12,12,8,1,254,128,128,128,128,128,128,128,128,128,252,
-  16,96,5,12,12,8,2,254,96,32,32,32,32,32,32,32,
-  32,248,32,192,6,14,14,8,1,0,72,48,0,0,128,128,
-  128,128,128,128,128,128,128,252,5,14,14,8,2,0,144,96,
-  0,0,96,32,32,32,32,32,32,32,32,248,6,10,10,8,
-  1,0,128,128,128,128,136,136,128,128,128,252,5,10,10,8,
-  1,0,96,32,32,32,40,40,32,32,32,248,7,10,10,8,
-  0,0,64,64,72,80,96,192,64,64,64,126,5,10,10,8,
-  2,0,96,32,40,48,96,160,32,32,32,248,6,14,14,8,
-  1,0,24,96,0,0,132,196,196,164,164,148,148,140,140,132,
-  6,12,12,8,1,0,24,96,0,0,184,196,132,132,132,132,
-  132,132,7,12,12,8,0,254,66,98,98,82,82,74,74,70,
-  70,66,32,192,7,10,10,8,0,254,92,98,66,66,66,66,
-  66,66,32,192,6,14,14,8,1,0,72,48,0,0,132,196,
-  196,164,164,148,148,140,140,132,6,12,12,8,1,0,72,48,
-  0,0,184,196,132,132,132,132,132,132,6,13,13,8,1,0,
-  192,64,64,128,0,184,196,132,132,132,132,132,132,6,10,10,
-  8,1,0,184,196,132,132,132,132,132,132,132,152,6,10,10,
-  8,1,254,184,196,132,132,132,132,132,132,4,24,6,13,13,
-  8,1,0,120,0,0,120,132,132,132,132,132,132,132,132,120,
-  6,11,11,8,1,0,120,0,0,120,132,132,132,132,132,132,
-  120,6,14,14,8,1,0,132,132,120,0,120,132,132,132,132,
-  132,132,132,132,120,6,12,12,8,1,0,132,132,120,0,120,
-  132,132,132,132,132,132,120,7,14,14,8,1,0,102,136,0,
-  0,120,132,132,132,132,132,132,132,132,120,7,12,12,8,1,
-  0,102,136,0,0,120,132,132,132,132,132,132,120,7,10,10,
-  8,1,0,110,144,144,144,156,144,144,144,144,110,7,8,8,
-  8,1,0,108,146,146,158,144,144,146,108,6,14,14,8,1,
-  0,24,96,0,0,248,132,132,132,248,144,136,136,132,132,6,
-  12,12,8,1,0,24,96,0,0,184,196,132,128,128,128,128,
-  128,7,12,12,8,0,254,124,66,66,66,124,72,68,68,66,
-  66,32,192,7,10,10,8,0,254,92,98,66,64,64,64,64,
-  64,32,192,6,14,14,8,1,0,72,48,0,0,248,132,132,
-  132,248,144,136,136,132,132,6,12,12,8,1,0,72,48,0,
-  0,184,196,132,128,128,128,128,128,6,14,14,8,1,0,24,
-  96,0,0,120,132,132,128,96,24,4,132,132,120,6,12,12,
-  8,1,0,24,96,0,0,120,132,128,96,24,132,132,120,6,
-  14,14,8,1,0,48,72,0,0,120,132,132,128,96,24,4,
-  132,132,120,6,12,12,8,1,0,48,72,0,0,120,132,128,
-  96,24,4,132,120,6,12,12,8,1,254,120,132,132,128,96,
-  24,4,132,132,120,16,96,6,10,10,8,1,254,120,132,128,
-  96,24,4,132,120,16,96,6,14,14,8,1,0,72,48,0,
-  0,120,132,132,128,96,24,4,132,132,120,6,12,12,8,1,
-  0,72,48,0,0,120,132,128,96,24,4,132,120,7,12,12,
-  8,1,254,254,16,16,16,16,16,16,16,16,16,16,96,5,
-  12,12,8,1,254,32,32,248,32,32,32,32,32,32,24,16,
-  96,7,14,14,8,1,0,72,48,0,0,254,16,16,16,16,
-  16,16,16,16,16,5,14,14,8,1,0,72,48,0,0,32,
-  32,248,32,32,32,32,32,32,24,7,10,10,8,1,0,254,
-  16,16,20,24,48,80,16,16,16,5,10,10,8,1,0,32,
-  32,248,32,40,48,96,160,32,24,6,14,14,8,1,0,100,
-  152,0,0,132,132,132,132,132,132,132,132,132,120,6,12,12,
-  8,1,0,100,152,0,0,132,132,132,132,132,132,140,116,6,
-  13,13,8,1,0,120,0,0,132,132,132,132,132,132,132,132,
-  132,120,6,11,11,8,1,0,120,0,0,132,132,132,132,132,
-  132,140,116,6,14,14,8,1,0,132,132,120,0,132,132,132,
-  132,132,132,132,132,132,120,6,13,13,8,1,0,132,132,120,
-  0,0,132,132,132,132,132,132,140,116,6,14,14,8,1,0,
-  48,72,48,0,132,132,132,132,132,132,132,132,132,120,6,12,
-  12,8,1,0,48,72,48,0,132,132,132,132,132,132,140,116,
-  7,14,14,8,1,0,102,136,0,0,132,132,132,132,132,132,
-  132,132,132,120,7,12,12,8,1,0,102,136,0,0,132,132,
-  132,132,132,132,140,116,6,12,12,8,1,254,132,132,132,132,
-  132,132,132,132,132,120,32,24,7,10,10,8,1,254,132,132,
-  132,132,132,132,140,116,8,6,6,14,14,8,1,0,48,72,
-  0,0,132,132,132,132,180,180,204,204,132,132,7,12,12,8,
-  1,0,48,72,0,0,130,146,146,146,146,146,146,108,7,14,
-  14,8,1,0,48,72,0,0,130,130,68,68,40,16,16,16,
-  16,16,6,14,14,8,1,254,48,72,0,0,132,132,132,132,
-  132,76,52,4,4,120,7,14,14,8,1,0,72,72,0,0,
-  130,130,68,68,40,16,16,16,16,16,6,14,14,8,1,0,
-  24,96,0,0,252,4,4,8,16,32,64,128,128,252,6,12,
-  12,8,1,0,24,96,0,0,252,4,8,16,32,64,128,252,
-  6,14,14,8,1,0,32,32,0,0,252,4,4,8,16,32,
-  64,128,128,252,6,12,12,8,1,0,32,32,0,0,252,4,
-  8,16,32,64,128,252,6,14,14,8,1,0,72,48,0,0,
-  252,4,4,8,16,32,64,128,128,252,6,12,12,8,1,0,
-  72,48,0,0,252,4,8,16,32,64,128,252,4,11,11,8,
-  2,0,48,64,64,64,192,64,64,64,64,64,64,7,11,11,
-  8,0,0,64,240,64,92,98,66,66,66,66,98,92,7,10,
-  10,8,0,0,124,162,162,34,60,34,34,34,34,60,6,10,
-  10,8,1,0,252,128,128,128,248,132,132,132,132,248,6,10,
-  10,8,1,0,252,128,128,184,196,132,132,132,196,184,6,10,
-  10,8,1,0,192,64,64,64,120,68,68,68,68,120,6,8,
-  8,8,1,0,192,64,64,64,120,68,68,120,6,10,10,8,
-  1,0,120,132,132,4,4,4,4,132,132,248,7,12,12,8,
-  1,0,6,8,120,136,136,128,128,128,128,136,136,112,7,10,
-  10,8,1,0,6,8,120,136,128,128,128,128,136,112,7,10,
-  10,8,0,0,120,68,66,66,242,66,66,66,68,120,7,10,
-  10,8,0,0,120,164,162,34,34,34,34,34,36,56,6,10,
-  10,8,1,0,252,4,4,4,124,132,132,132,132,124,6,10,
-  10,8,1,0,252,4,4,116,140,132,132,132,140,116,6,10,
-  10,8,1,254,120,132,132,132,132,72,48,8,8,112,6,10,
-  10,8,1,0,252,4,4,4,124,4,4,4,4,252,6,10,
-  10,8,1,0,48,72,132,4,4,252,132,132,72,48,6,10,
-  10,8,1,0,120,132,132,128,112,128,128,132,132,120,7,11,
-  11,8,1,255,62,32,32,32,60,32,32,32,32,32,192,5,
-  12,12,8,1,255,24,32,32,32,248,32,32,32,32,32,32,
-  192,7,11,11,8,1,0,6,120,136,136,128,128,184,136,136,
-  152,104,6,10,10,8,1,0,132,132,132,72,72,48,48,72,
-  72,48,6,11,11,8,1,0,128,128,128,128,228,148,148,148,
-  148,148,136,5,10,10,8,1,0,224,32,32,32,32,32,32,
-  32,32,24,5,10,10,8,2,0,248,32,32,32,248,32,32,
-  32,32,248,6,10,10,8,1,0,140,148,160,160,192,192,160,
-  144,136,132,6,11,11,8,1,0,96,128,128,136,144,160,192,
-  160,144,136,132,5,10,10,8,2,0,96,32,32,32,248,32,
-  32,32,32,248,6,10,10,8,1,0,72,80,32,96,144,48,
-  72,72,132,132,7,10,10,8,1,0,146,146,146,146,146,146,
-  146,146,146,110,7,11,11,8,0,255,34,34,50,50,42,42,
-  38,38,34,34,192,6,10,10,8,1,254,184,196,132,132,132,
-  132,132,132,4,4,6,10,10,8,1,0,120,132,132,132,252,
-  132,132,132,132,120,6,11,11,8,1,0,4,116,136,136,136,
-  136,136,136,136,136,112,6,9,9,8,1,0,4,116,136,136,
-  136,136,136,136,112,6,12,12,8,1,254,108,148,148,148,148,
-  148,148,148,148,100,4,4,6,10,10,8,1,254,108,148,148,
-  148,148,148,148,100,4,4,7,10,10,8,1,0,124,162,162,
-  34,60,32,32,32,32,32,7,11,11,8,1,254,6,184,200,
-  136,136,136,136,200,176,128,128,7,10,10,8,1,0,224,64,
-  120,68,68,120,80,72,68,66,6,10,10,8,1,0,120,132,
-  132,4,24,96,128,132,132,120,6,8,8,8,1,0,120,132,
-  4,24,96,128,132,120,6,10,10,8,1,0,252,128,64,32,
-  16,16,32,64,128,252,5,12,12,8,1,255,64,160,160,96,
-  32,32,32,32,32,32,32,24,5,12,12,8,1,254,32,32,
-  248,32,32,32,32,32,32,24,8,48,7,10,10,8,1,0,
-  126,144,144,16,16,16,16,16,16,16,5,11,11,8,1,0,
-  24,32,32,32,248,32,32,32,32,32,24,7,11,11,8,1,
-  255,254,16,16,16,16,16,16,16,16,16,12,7,12,12,8,
-  1,0,2,2,140,136,136,136,136,136,136,136,136,112,7,10,
-  10,8,1,0,2,2,140,136,136,136,136,136,152,104,6,10,
-  10,8,1,0,132,72,72,132,132,132,132,132,72,48,6,10,
-  10,8,1,0,152,132,132,132,132,132,132,136,144,96,7,10,
-  10,8,1,0,98,162,34,20,20,8,8,8,8,8,7,11,
-  11,8,1,254,6,136,136,136,136,136,72,56,8,8,112,6,
-  10,10,8,1,0,252,4,8,16,120,32,64,128,128,252,6,
-  8,8,8,1,0,252,8,16,120,32,64,128,252,6,10,10,
-  8,1,0,252,8,16,32,56,4,4,4,140,120,6,10,10,
-  8,1,0,252,64,32,16,112,128,128,128,196,120,6,10,10,
-  8,1,254,248,64,32,16,112,128,128,128,132,120,6,10,10,
-  8,1,254,124,8,16,56,4,4,120,128,132,120,6,10,10,
-  8,1,0,120,132,132,8,16,252,64,128,128,252,6,10,10,
-  8,1,0,252,64,64,64,120,4,4,4,132,120,6,8,8,
-  8,1,0,252,64,64,120,4,4,132,120,5,10,10,8,1,
-  0,32,32,248,32,32,48,8,8,136,112,6,10,10,8,1,
-  254,184,196,132,132,136,144,160,192,128,128,1,11,11,8,3,
-  0,128,128,128,128,128,128,128,128,128,128,128,3,11,11,8,
-  2,0,160,160,160,160,160,160,160,160,160,160,160,5,11,11,
-  8,1,0,32,32,32,32,248,32,248,32,32,32,32,1,10,
-  10,8,4,0,128,128,128,128,128,128,128,0,128,128,7,14,
-  14,8,1,0,10,4,0,0,206,162,162,162,164,164,168,168,
-  168,206,7,12,12,8,1,0,10,4,192,160,174,162,162,164,
-  164,168,168,206,7,12,12,8,1,0,10,36,32,32,110,162,
-  162,164,164,168,168,110,7,10,10,8,1,0,142,130,130,130,
-  130,130,130,146,146,236,7,13,13,8,1,254,2,130,128,134,
-  130,130,130,130,130,130,242,4,24,8,13,13,8,0,254,1,
-  97,32,35,33,33,33,33,33,33,249,2,12,7,10,10,8,
-  1,0,150,146,146,210,210,178,178,154,154,148,7,13,13,8,
-  1,254,2,146,144,214,210,210,178,178,178,146,146,36,24,7,
-  13,13,8,1,254,2,2,0,166,210,146,146,146,146,146,146,
-  36,24,6,14,14,8,1,0,72,48,0,0,48,72,72,132,
-  132,252,132,132,132,132,6,12,12,8,1,0,72,48,0,0,
-  120,132,4,124,132,132,140,116,5,14,14,8,2,0,144,96,
-  0,0,248,32,32,32,32,32,32,32,32,248,5,12,12,8,
-  2,0,144,96,0,0,96,32,32,32,32,32,32,248,6,14,
-  14,8,1,0,72,48,0,0,120,132,132,132,132,132,132,132,
-  132,120,6,12,12,8,1,0,72,48,0,0,120,132,132,132,
-  132,132,132,120,6,14,14,8,1,0,72,48,0,0,132,132,
-  132,132,132,132,132,132,132,120,6,12,12,8,1,0,72,48,
-  0,0,132,132,132,132,132,132,140,116,6,14,14,8,1,0,
-  120,0,72,0,132,132,132,132,132,132,132,132,132,120,6,13,
-  13,8,1,0,120,0,72,72,0,132,132,132,132,132,132,140,
-  116,6,14,14,8,1,0,24,96,0,72,0,132,132,132,132,
-  132,132,132,132,120,6,14,14,8,1,0,24,96,0,72,72,
-  0,132,132,132,132,132,132,140,116,6,14,14,8,1,0,72,
-  48,0,72,0,132,132,132,132,132,132,132,132,120,6,14,14,
-  8,1,0,72,48,0,72,72,0,132,132,132,132,132,132,140,
-  116,6,14,14,8,1,0,96,24,0,72,0,132,132,132,132,
-  132,132,132,132,120,6,14,14,8,1,0,96,24,0,72,72,
-  0,132,132,132,132,132,132,140,116,6,8,8,8,1,0,120,
-  132,4,4,252,132,132,120,6,14,14,8,1,0,120,0,72,
-  0,48,72,72,132,132,252,132,132,132,132,6,13,13,8,1,
-  0,120,0,72,72,0,120,132,4,124,132,132,140,116,6,14,
-  14,8,1,0,120,0,48,0,48,72,72,132,132,252,132,132,
-  132,132,6,13,13,8,1,0,120,0,32,32,0,120,132,4,
-  124,132,132,140,116,7,13,13,8,1,0,120,0,0,62,80,
-  144,144,254,144,144,144,144,158,7,11,11,8,1,0,120,0,
-  0,124,146,18,126,144,144,146,124,7,10,10,8,1,0,120,
-  132,132,128,128,156,132,158,132,124,7,11,11,8,1,254,4,
-  116,136,136,136,112,64,120,158,132,120,6,14,14,8,1,0,
-  72,48,0,0,120,132,132,128,128,156,132,132,140,116,6,14,
-  14,8,1,254,72,48,0,4,116,136,136,136,112,64,120,132,
-  132,120,6,14,14,8,1,0,72,48,0,0,132,136,144,160,
-  192,192,160,144,136,132,6,14,14,8,1,0,144,96,0,0,
-  128,128,136,144,160,192,160,144,136,132,6,12,12,8,1,254,
-  120,132,132,132,132,132,132,132,132,120,32,24,6,10,10,8,
-  1,254,120,132,132,132,132,132,132,120,32,24,6,15,15,8,
-  1,254,120,0,0,120,132,132,132,132,132,132,132,132,120,32,
-  24,6,13,13,8,1,254,120,0,0,120,132,132,132,132,132,
-  132,120,32,24,6,14,14,8,1,0,72,48,0,0,252,8,
-  16,32,56,4,4,4,140,120,6,14,14,8,1,254,72,48,
-  0,0,124,8,16,32,56,4,4,4,132,120,6,14,14,8,
-  1,254,36,24,0,0,24,8,8,8,8,8,8,8,144,96,
-  7,10,10,8,1,0,206,162,162,162,164,164,168,168,168,206,
-  7,10,10,8,1,0,192,160,174,162,162,164,164,168,168,206,
-  7,11,11,8,1,0,32,32,32,110,162,162,164,164,168,168,
-  110,6,14,14,8,1,0,24,96,0,0,120,132,132,128,128,
-  156,132,132,140,116,6,14,14,8,1,254,24,96,0,4,116,
-  136,136,136,112,64,120,132,132,120,6,10,10,8,1,0,144,
-  144,144,148,244,148,148,148,148,136,6,11,11,8,1,255,184,
-  196,132,132,136,144,160,192,128,128,128,6,13,13,8,1,0,
-  96,24,0,132,196,196,164,164,148,148,140,140,132,6,11,11,
-  8,1,0,96,24,0,184,196,132,132,132,132,132,132,6,14,
-  14,8,1,0,24,96,48,72,48,48,72,72,132,252,132,132,
-  132,132,6,14,14,8,1,0,24,96,0,48,72,48,0,120,
-  132,4,124,132,140,116,7,14,14,8,1,0,12,48,0,0,
-  62,80,144,144,254,144,144,144,144,158,7,12,12,8,1,0,
-  12,48,0,0,124,146,18,126,144,144,146,124,6,15,15,8,
-  1,255,24,96,0,4,116,136,140,148,148,164,164,196,68,184,
-  128,6,13,13,8,1,255,24,96,0,4,120,140,148,148,164,
-  164,196,120,128};
+  16,96,5,13,13,8,2,254,96,32,32,32,32,32,32,32,
+  32,32,248,32,192,6,14,14,8,1,0,72,48,0,0,128,
+  128,128,128,128,128,128,128,128,252,5,14,14,8,2,0,144,
+  96,0,96,32,32,32,32,32,32,32,32,32,248,6,10,10,
+  8,1,0,128,128,128,128,136,136,128,128,128,252,5,11,11,
+  8,1,0,96,32,32,32,32,40,40,32,32,32,248,7,10,
+  10,8,0,0,64,64,72,80,96,192,64,64,64,126,5,11,
+  11,8,2,0,96,32,32,40,48,96,160,32,32,32,248,6,
+  14,14,8,1,0,24,96,0,0,132,196,196,164,164,148,148,
+  140,140,132,6,12,12,8,1,0,24,96,0,0,184,196,132,
+  132,132,132,132,132,7,12,12,8,0,254,66,98,98,82,82,
+  74,74,70,70,66,32,192,7,10,10,8,0,254,92,98,66,
+  66,66,66,66,66,32,192,6,14,14,8,1,0,72,48,0,
+  0,132,196,196,164,164,148,148,140,140,132,6,12,12,8,1,
+  0,72,48,0,0,184,196,132,132,132,132,132,132,6,13,13,
+  8,1,0,192,64,64,128,0,184,196,132,132,132,132,132,132,
+  6,10,10,8,1,0,184,196,132,132,132,132,132,132,132,152,
+  6,10,10,8,1,254,184,196,132,132,132,132,132,132,4,24,
+  6,13,13,8,1,0,120,0,0,120,132,132,132,132,132,132,
+  132,132,120,6,11,11,8,1,0,120,0,0,120,132,132,132,
+  132,132,132,120,6,14,14,8,1,0,132,132,120,0,120,132,
+  132,132,132,132,132,132,132,120,6,12,12,8,1,0,132,132,
+  120,0,120,132,132,132,132,132,132,120,7,14,14,8,1,0,
+  102,136,0,0,120,132,132,132,132,132,132,132,132,120,7,12,
+  12,8,1,0,102,136,0,0,120,132,132,132,132,132,132,120,
+  7,10,10,8,1,0,110,144,144,144,156,144,144,144,144,110,
+  7,8,8,8,1,0,108,146,146,158,144,144,146,108,6,14,
+  14,8,1,0,24,96,0,0,248,132,132,132,248,144,136,136,
+  132,132,6,12,12,8,1,0,24,96,0,0,184,196,132,128,
+  128,128,128,128,7,12,12,8,0,254,124,66,66,66,124,72,
+  68,68,66,66,32,192,7,10,10,8,0,254,92,98,66,64,
+  64,64,64,64,32,192,6,14,14,8,1,0,72,48,0,0,
+  248,132,132,132,248,144,136,136,132,132,6,12,12,8,1,0,
+  72,48,0,0,184,196,132,128,128,128,128,128,6,14,14,8,
+  1,0,24,96,0,0,120,132,132,128,96,24,4,132,132,120,
+  6,12,12,8,1,0,24,96,0,0,120,132,128,96,24,132,
+  132,120,6,14,14,8,1,0,48,72,0,0,120,132,132,128,
+  96,24,4,132,132,120,6,12,12,8,1,0,48,72,0,0,
+  120,132,128,96,24,4,132,120,6,12,12,8,1,254,120,132,
+  132,128,96,24,4,132,132,120,16,96,6,10,10,8,1,254,
+  120,132,128,96,24,4,132,120,16,96,6,14,14,8,1,0,
+  72,48,0,0,120,132,132,128,96,24,4,132,132,120,6,12,
+  12,8,1,0,72,48,0,0,120,132,128,96,24,4,132,120,
+  7,12,12,8,1,254,254,16,16,16,16,16,16,16,16,16,
+  16,96,5,12,12,8,1,254,32,32,32,248,32,32,32,32,
+  32,24,16,96,7,14,14,8,1,0,72,48,0,0,254,16,
+  16,16,16,16,16,16,16,16,5,14,14,8,1,0,72,48,
+  0,0,32,32,32,248,32,32,32,32,32,24,7,10,10,8,
+  1,0,254,16,16,20,24,48,80,16,16,16,5,10,10,8,
+  1,0,32,32,32,248,32,40,48,96,160,24,6,14,14,8,
+  1,0,100,152,0,0,132,132,132,132,132,132,132,132,132,120,
+  6,12,12,8,1,0,100,152,0,0,132,132,132,132,132,132,
+  140,116,6,13,13,8,1,0,120,0,0,132,132,132,132,132,
+  132,132,132,132,120,6,11,11,8,1,0,120,0,0,132,132,
+  132,132,132,132,140,116,6,14,14,8,1,0,132,132,120,0,
+  132,132,132,132,132,132,132,132,132,120,6,13,13,8,1,0,
+  132,132,120,0,0,132,132,132,132,132,132,140,116,6,14,14,
+  8,1,0,48,72,48,0,132,132,132,132,132,132,132,132,132,
+  120,6,12,12,8,1,0,48,72,48,0,132,132,132,132,132,
+  132,140,116,7,14,14,8,1,0,102,136,0,0,132,132,132,
+  132,132,132,132,132,132,120,7,12,12,8,1,0,102,136,0,
+  0,132,132,132,132,132,132,140,116,6,12,12,8,1,254,132,
+  132,132,132,132,132,132,132,132,120,32,24,7,10,10,8,1,
+  254,132,132,132,132,132,132,140,116,8,6,6,14,14,8,1,
+  0,48,72,0,0,132,132,132,132,180,180,204,204,132,132,7,
+  12,12,8,1,0,48,72,0,0,130,146,146,146,146,146,146,
+  108,7,14,14,8,1,0,48,72,0,0,130,130,68,68,40,
+  16,16,16,16,16,6,14,14,8,1,254,48,72,0,0,132,
+  132,132,132,132,76,52,4,4,120,7,14,14,8,1,0,72,
+  72,0,0,130,130,68,68,40,16,16,16,16,16,6,14,14,
+  8,1,0,24,96,0,0,252,4,4,8,16,32,64,128,128,
+  252,6,12,12,8,1,0,24,96,0,0,252,4,8,16,32,
+  64,128,252,6,14,14,8,1,0,32,32,0,0,252,4,4,
+  8,16,32,64,128,128,252,6,12,12,8,1,0,32,32,0,
+  0,252,4,8,16,32,64,128,252,6,14,14,8,1,0,72,
+  48,0,0,252,4,4,8,16,32,64,128,128,252,6,12,12,
+  8,1,0,72,48,0,0,252,4,8,16,32,64,128,252,4,
+  11,11,8,2,0,48,64,64,64,192,64,64,64,64,64,64,
+  7,11,11,8,0,0,64,240,64,92,98,66,66,66,66,98,
+  92,7,10,10,8,0,0,124,162,162,34,60,34,34,34,34,
+  60,6,10,10,8,1,0,252,128,128,128,248,132,132,132,132,
+  248,6,10,10,8,1,0,252,128,128,184,196,132,132,132,196,
+  184,6,10,10,8,1,0,192,64,64,64,120,68,68,68,68,
+  120,6,8,8,8,1,0,192,64,64,64,120,68,68,120,6,
+  10,10,8,1,0,120,132,132,4,4,4,4,132,132,248,7,
+  12,12,8,1,0,6,8,120,136,136,128,128,128,128,136,136,
+  112,7,10,10,8,1,0,6,8,120,136,128,128,128,128,136,
+  112,7,10,10,8,0,0,120,68,66,66,242,66,66,66,68,
+  120,7,10,10,8,0,0,120,164,162,34,34,34,34,34,36,
+  56,6,10,10,8,1,0,252,4,4,4,124,132,132,132,132,
+  124,6,10,10,8,1,0,252,4,4,116,140,132,132,132,140,
+  116,6,10,10,8,1,254,120,132,132,132,132,72,48,8,8,
+  112,6,10,10,8,1,0,252,4,4,4,124,4,4,4,4,
+  252,6,10,10,8,1,0,48,72,132,4,4,252,132,132,72,
+  48,6,10,10,8,1,0,120,132,132,128,112,128,128,132,132,
+  120,7,11,11,8,1,255,62,32,32,32,60,32,32,32,32,
+  32,192,5,12,12,8,1,255,24,32,32,32,248,32,32,32,
+  32,32,32,192,7,11,11,8,1,0,6,120,136,136,128,128,
+  184,136,136,152,104,6,10,10,8,1,0,132,132,132,72,72,
+  48,48,72,72,48,6,11,11,8,1,0,128,128,128,128,228,
+  148,148,148,148,148,136,5,11,11,8,1,0,224,32,32,32,
+  32,32,32,32,32,32,24,5,10,10,8,2,0,248,32,32,
+  32,248,32,32,32,32,248,6,10,10,8,1,0,140,148,160,
+  160,192,192,160,144,136,132,6,11,11,8,1,0,96,144,128,
+  136,144,160,192,160,144,136,132,5,11,11,8,2,0,96,32,
+  32,32,248,32,32,32,32,32,248,6,10,10,8,1,0,72,
+  80,32,96,144,48,72,72,132,132,7,10,10,8,1,0,146,
+  146,146,146,146,146,146,146,146,110,7,11,11,8,0,255,34,
+  34,50,50,42,42,38,38,34,34,192,6,10,10,8,1,254,
+  184,196,132,132,132,132,132,132,4,4,6,10,10,8,1,0,
+  120,132,132,132,252,132,132,132,132,120,6,11,11,8,1,0,
+  4,116,136,136,136,136,136,136,136,136,112,6,9,9,8,1,
+  0,4,116,136,136,136,136,136,136,112,6,12,12,8,1,254,
+  108,148,148,148,148,148,148,148,148,100,4,4,6,10,10,8,
+  1,254,108,148,148,148,148,148,148,100,4,4,7,10,10,8,
+  1,0,124,162,162,34,60,32,32,32,32,32,7,11,11,8,
+  1,254,6,184,200,136,136,136,136,200,176,128,128,7,10,10,
+  8,1,0,224,64,120,68,68,120,80,72,68,66,6,10,10,
+  8,1,0,120,132,132,4,24,96,128,132,132,120,6,8,8,
+  8,1,0,120,132,4,24,96,128,132,120,6,10,10,8,1,
+  0,252,128,64,32,16,16,32,64,128,252,5,12,12,8,1,
+  255,64,160,160,96,32,32,32,32,32,32,32,24,5,12,12,
+  8,1,254,32,32,32,248,32,32,32,32,32,24,8,48,7,
+  10,10,8,1,0,126,144,144,16,16,16,16,16,16,16,5,
+  11,11,8,1,0,24,32,32,32,248,32,32,32,32,32,24,
+  7,11,11,8,1,255,254,16,16,16,16,16,16,16,16,16,
+  12,7,12,12,8,1,0,2,2,140,136,136,136,136,136,136,
+  136,136,112,7,10,10,8,1,0,2,2,140,136,136,136,136,
+  136,152,104,6,10,10,8,1,0,132,72,72,132,132,132,132,
+  132,72,48,6,10,10,8,1,0,152,132,132,132,132,132,132,
+  136,144,96,7,10,10,8,1,0,140,138,136,80,80,32,32,
+  32,32,32,7,11,11,8,1,254,6,136,136,136,136,136,72,
+  56,8,8,112,6,10,10,8,1,0,252,4,8,16,120,32,
+  64,128,128,252,6,8,8,8,1,0,252,8,16,120,32,64,
+  128,252,6,10,10,8,1,0,252,8,16,32,56,4,4,4,
+  140,120,6,10,10,8,1,0,252,64,32,16,112,128,128,128,
+  196,120,6,10,10,8,1,254,248,64,32,16,112,128,128,128,
+  132,120,6,10,10,8,1,254,124,8,16,56,4,4,120,128,
+  132,120,6,10,10,8,1,0,120,132,132,8,16,252,64,128,
+  128,252,6,10,10,8,1,0,252,64,64,64,120,4,4,4,
+  132,120,6,8,8,8,1,0,252,64,64,120,4,4,132,120,
+  5,10,10,8,1,0,32,32,248,32,32,48,8,8,136,112,
+  6,10,10,8,1,254,184,196,132,132,136,144,160,192,128,128,
+  1,11,11,8,3,0,128,128,128,128,128,128,128,128,128,128,
+  128,3,11,11,8,2,0,160,160,160,160,160,160,160,160,160,
+  160,160,5,11,11,8,1,0,32,32,32,32,248,32,248,32,
+  32,32,32,1,10,10,8,4,0,128,128,128,128,128,128,128,
+  0,128,128,7,14,14,8,1,0,10,4,0,0,206,162,162,
+  162,164,164,168,168,168,206,7,12,12,8,1,0,10,4,192,
+  160,174,162,162,164,164,168,168,206,7,12,12,8,1,0,10,
+  36,32,32,110,162,162,164,164,168,168,110,7,10,10,8,1,
+  0,142,130,130,130,130,130,130,146,146,236,7,13,13,8,1,
+  254,2,130,128,134,130,130,130,130,130,130,242,4,24,8,13,
+  13,8,0,254,97,33,32,35,33,33,33,33,33,33,249,2,
+  12,7,10,10,8,1,0,150,146,146,210,210,178,178,154,154,
+  148,7,13,13,8,1,254,2,146,144,214,210,210,178,178,178,
+  146,146,36,24,7,13,13,8,1,254,2,2,0,166,210,146,
+  146,146,146,146,146,36,24,6,14,14,8,1,0,72,48,0,
+  0,48,72,72,132,132,252,132,132,132,132,6,12,12,8,1,
+  0,72,48,0,0,120,132,4,124,132,132,140,116,5,14,14,
+  8,2,0,144,96,0,0,248,32,32,32,32,32,32,32,32,
+  248,5,12,12,8,2,0,144,96,0,0,96,32,32,32,32,
+  32,32,248,6,14,14,8,1,0,72,48,0,0,120,132,132,
+  132,132,132,132,132,132,120,6,12,12,8,1,0,72,48,0,
+  0,120,132,132,132,132,132,132,120,6,14,14,8,1,0,72,
+  48,0,0,132,132,132,132,132,132,132,132,132,120,6,12,12,
+  8,1,0,72,48,0,0,132,132,132,132,132,132,140,116,6,
+  14,14,8,1,0,120,0,72,0,132,132,132,132,132,132,132,
+  132,132,120,6,13,13,8,1,0,120,0,72,72,0,132,132,
+  132,132,132,132,140,116,6,14,14,8,1,0,24,96,0,72,
+  0,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0,
+  24,96,0,72,72,0,132,132,132,132,132,132,140,116,6,14,
+  14,8,1,0,72,48,0,72,0,132,132,132,132,132,132,132,
+  132,120,6,14,14,8,1,0,72,48,0,72,72,0,132,132,
+  132,132,132,132,140,116,6,14,14,8,1,0,96,24,0,72,
+  0,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0,
+  96,24,0,72,72,0,132,132,132,132,132,132,140,116,6,8,
+  8,8,1,0,120,132,4,4,252,132,132,120,6,14,14,8,
+  1,0,120,0,72,0,48,72,72,132,132,252,132,132,132,132,
+  6,13,13,8,1,0,120,0,72,72,0,120,132,4,124,132,
+  132,140,116,6,14,14,8,1,0,120,0,48,0,48,72,72,
+  132,132,252,132,132,132,132,6,13,13,8,1,0,120,0,32,
+  32,0,120,132,4,124,132,132,140,116,7,13,13,8,1,0,
+  120,0,0,62,80,144,144,254,144,144,144,144,158,7,11,11,
+  8,1,0,120,0,0,124,146,18,126,144,144,146,124,7,10,
+  10,8,1,0,120,132,132,128,128,156,132,158,132,124,7,11,
+  11,8,1,254,4,116,136,136,136,112,64,120,158,132,120,6,
+  14,14,8,1,0,72,48,0,0,120,132,132,128,128,156,132,
+  132,140,116,6,14,14,8,1,254,72,48,0,4,116,136,136,
+  136,112,64,120,132,132,120,6,14,14,8,1,0,72,48,0,
+  0,132,136,144,160,192,192,160,144,136,132,6,14,14,8,1,
+  0,72,48,0,128,128,128,136,144,160,192,160,144,136,132,6,
+  12,12,8,1,254,120,132,132,132,132,132,132,132,132,120,32,
+  24,6,10,10,8,1,254,120,132,132,132,132,132,132,120,32,
+  24,6,15,15,8,1,254,120,0,0,120,132,132,132,132,132,
+  132,132,132,120,32,24,6,13,13,8,1,254,120,0,0,120,
+  132,132,132,132,132,132,120,32,24,6,14,14,8,1,0,72,
+  48,0,0,252,8,16,32,56,4,4,4,140,120,6,14,14,
+  8,1,254,72,48,0,0,124,8,16,32,56,4,4,4,132,
+  120,6,14,14,8,1,254,36,24,0,0,24,8,8,8,8,
+  8,8,8,144,96,7,10,10,8,1,0,206,162,162,162,164,
+  164,168,168,168,206,7,10,10,8,1,0,192,160,174,162,162,
+  164,164,168,168,206,7,11,11,8,1,0,32,32,32,110,162,
+  162,164,164,168,168,110,6,14,14,8,1,0,24,96,0,0,
+  120,132,132,128,128,156,132,132,140,116,6,14,14,8,1,254,
+  24,96,0,4,116,136,136,136,112,64,120,132,132,120,6,10,
+  10,8,1,0,144,144,144,148,244,148,148,148,148,136,6,11,
+  11,8,1,255,184,196,132,132,136,144,160,192,128,128,128,6,
+  13,13,8,1,0,96,24,0,132,196,196,164,164,148,148,140,
+  140,132,6,11,11,8,1,0,96,24,0,184,196,132,132,132,
+  132,132,132,6,14,14,8,1,0,24,96,48,72,48,48,72,
+  72,132,252,132,132,132,132,6,14,14,8,1,0,24,96,0,
+  48,72,48,0,120,132,4,124,132,140,116,7,14,14,8,1,
+  0,12,48,0,0,62,80,144,144,254,144,144,144,144,158,7,
+  12,12,8,1,0,12,48,0,0,124,146,18,126,144,144,146,
+  124,6,15,15,8,1,255,24,96,0,4,116,136,140,148,148,
+  164,164,196,68,184,128,6,13,13,8,1,255,24,96,0,4,
+  120,140,148,148,164,164,196,120,128};
 /*
-  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
-  Copyright: 
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
   Capital A Height: 10, '1' Height: 12
   Calculated Max Values w=16 h=16 x= 4 y=10 dx=16 dy= 0 ascent=14 len=32
   Font Bounding box     w=16 h=16 x= 0 y=-2
@@ -81884,8 +85838,8 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[4628] U8G_SECTION(".progmem.u8g_fo
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[3783] U8G_SECTION(".progmem.u8g_font_unifont_4_5") = {
-  0,16,16,0,254,10,4,176,6,163,0,255,0,14,254,12,
+const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[3791] U8G_FONT_SECTION("u8g_font_unifont_4_5") = {
+  0,16,16,0,254,10,4,177,6,164,0,255,0,14,254,12,
   254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
   0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128,
   0,0,1,128,0,85,85,7,12,12,8,0,0,204,34,0,
@@ -81919,7 +85873,7 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[3783] U8G_SECTION(".progmem.u8g_fo
   254,120,132,132,128,96,24,4,132,132,120,16,32,6,10,10,
   8,1,254,120,132,128,96,24,4,132,120,16,32,7,12,12,
   8,1,254,254,16,16,16,16,16,16,16,16,16,4,8,5,
-  12,12,8,1,254,32,32,248,32,32,32,32,32,32,24,64,
+  12,12,8,1,254,32,32,32,248,32,32,32,32,32,24,64,
   128,6,10,10,8,1,0,120,132,132,4,24,104,4,4,4,
   120,6,8,8,8,1,0,120,132,4,24,100,4,24,96,6,
   13,13,8,1,0,72,48,0,132,132,132,132,252,132,132,132,
@@ -81946,423 +85900,414 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[3783] U8G_SECTION(".progmem.u8g_fo
   12,12,8,1,0,120,0,16,0,120,132,132,132,132,132,132,
   120,7,12,12,8,1,0,124,0,130,130,68,68,40,16,16,
   16,16,16,6,12,12,8,1,254,120,0,132,132,132,132,132,
-  76,52,4,4,120,4,12,12,8,2,254,96,32,32,32,32,
-  32,32,32,48,48,64,128,7,10,10,8,1,254,184,196,132,
-  132,132,132,134,134,4,8,6,12,12,8,1,254,32,32,248,
-  32,32,32,32,32,44,28,16,32,5,10,10,8,1,254,24,
-  8,8,8,8,8,8,8,144,96,7,11,11,8,0,0,16,
-  16,16,84,186,146,146,146,146,186,84,7,10,10,8,0,254,
-  84,186,146,146,146,146,186,84,16,16,7,11,11,8,0,0,
-  2,26,36,44,74,82,126,98,66,66,194,7,12,12,8,0,
-  255,2,60,70,74,72,80,80,96,98,66,124,128,7,11,11,
-  8,0,255,2,4,60,74,80,80,96,96,66,124,128,6,10,
-  10,8,1,0,64,64,64,64,240,64,64,64,64,124,7,12,
-  12,8,1,0,2,4,254,24,24,16,16,48,48,80,80,144,
-  7,10,10,8,1,254,120,132,128,96,24,4,132,120,18,12,
-  6,10,10,8,1,254,252,4,8,16,32,64,128,192,32,28,
-  6,10,10,8,1,0,120,132,132,4,8,16,16,16,16,16,
-  6,8,8,8,1,0,120,132,132,4,8,16,16,16,6,10,
-  10,8,1,0,120,68,68,68,120,68,244,68,68,120,7,10,
-  10,8,0,0,68,68,68,68,68,254,68,68,68,56,6,10,
-  10,8,1,0,48,48,48,72,72,72,72,132,132,132,6,14,
-  14,8,1,254,8,8,252,144,144,160,248,160,160,192,192,252,
-  128,128,7,10,10,8,0,255,2,60,70,74,126,80,96,66,
-  124,128,7,10,10,8,1,0,62,8,8,8,8,62,8,136,
-  136,112,7,13,13,8,1,254,8,8,0,24,8,8,62,8,
-  8,8,8,144,96,7,12,12,8,1,254,112,136,136,136,136,
-  136,136,136,152,104,8,6,7,10,10,8,1,254,104,152,136,
-  136,136,136,152,104,8,6,6,10,10,8,1,0,120,68,68,
-  68,248,80,72,72,68,68,6,8,8,8,1,0,88,100,68,
-  224,64,64,64,64,7,10,10,8,1,0,130,130,68,254,40,
-  16,16,16,16,16,7,10,10,8,1,254,68,68,68,254,68,
-  36,28,4,4,56,6,8,8,8,1,0,184,196,132,132,248,
-  128,132,120,6,8,8,8,1,0,116,140,132,132,132,140,148,
-  100,6,8,8,8,1,0,152,164,196,132,132,132,196,184,6,
-  11,11,8,1,0,112,128,128,184,196,132,132,132,132,196,184,
-  6,8,8,8,1,0,120,132,4,4,4,4,132,120,6,9,
-  9,8,1,255,120,132,128,128,128,152,164,120,128,7,12,12,
-  8,1,255,8,8,8,104,152,136,136,136,136,152,104,6,7,
-  11,11,8,1,0,6,8,8,104,152,136,136,136,136,152,104,
-  6,8,8,8,1,0,120,132,132,252,4,4,132,120,6,8,
-  8,8,1,0,120,132,4,4,252,132,132,120,7,8,8,8,
-  1,0,114,140,8,8,248,136,136,112,6,8,8,8,1,0,
-  120,132,128,120,128,128,132,120,6,8,8,8,1,0,120,132,
-  4,120,4,4,132,120,7,8,8,8,1,0,114,140,8,112,
-  8,8,136,112,6,8,8,8,1,0,120,132,132,184,132,132,
-  132,120,7,10,10,8,1,254,24,8,8,8,62,8,8,8,
-  144,96,7,11,11,8,1,254,6,104,152,136,136,136,152,104,
-  8,136,112,6,10,10,8,1,254,116,140,132,132,132,140,116,
-  4,132,120,6,8,8,8,1,0,120,132,128,128,156,132,132,
-  124,6,10,10,8,1,254,132,132,132,72,72,48,48,72,72,
-  48,6,8,8,8,1,0,132,132,72,72,48,48,72,48,6,
-  11,11,8,1,254,132,132,132,132,132,132,140,116,4,4,4,
-  6,11,11,8,1,0,112,128,128,184,196,132,132,132,132,132,
-  132,6,11,11,8,1,0,112,128,128,184,196,132,132,132,132,
-  132,152,5,11,11,8,2,0,32,32,0,96,32,32,248,32,
-  32,32,248,3,8,8,8,3,0,128,128,128,128,128,128,128,
-  96,5,8,8,8,2,0,248,32,32,32,32,32,32,248,6,
-  10,10,8,1,0,48,16,16,16,116,152,16,16,16,124,6,
-  10,10,8,1,0,48,16,16,112,144,124,16,16,16,124,4,
-  11,11,8,3,255,192,64,64,64,64,64,64,64,64,64,48,
-  7,12,12,8,1,254,96,32,62,34,36,40,44,34,34,250,
-  18,12,7,8,8,8,1,0,146,146,146,146,146,146,146,110,
-  7,10,10,8,1,254,146,146,146,146,146,146,146,110,2,2,
-  7,9,9,8,1,255,236,146,146,146,146,146,146,130,12,7,
-  9,9,8,1,255,44,50,34,34,34,34,34,34,192,7,9,
-  9,8,1,255,176,200,136,136,136,136,136,136,6,6,8,8,
-  8,1,0,132,132,196,164,148,140,132,132,6,8,8,8,1,
-  0,120,132,132,252,132,132,132,120,7,8,8,8,1,0,110,
-  144,144,156,144,144,144,110,7,8,8,8,1,0,124,130,130,
-  146,146,146,146,108,7,12,12,8,1,254,16,16,124,146,146,
-  146,146,146,146,124,16,16,6,8,8,8,1,0,4,4,4,
-  4,4,132,140,116,6,10,10,8,1,0,4,4,4,4,4,
-  4,4,132,140,116,7,9,9,8,1,255,8,8,8,8,8,
-  136,152,104,6,6,10,10,8,1,254,184,196,132,128,128,128,
-  128,128,128,128,6,9,9,8,1,255,184,196,132,128,128,128,
-  128,128,96,6,8,8,8,1,0,120,132,132,128,128,128,128,
-  128,6,8,8,8,1,0,120,132,132,4,4,4,4,4,6,
-  8,8,8,1,0,248,132,132,248,136,132,132,132,6,8,8,
-  8,1,0,132,132,132,136,248,132,132,248,6,10,10,8,1,
-  254,120,132,128,96,24,4,132,248,128,96,5,12,12,8,1,
-  255,24,32,32,32,32,32,32,32,32,32,32,192,5,12,12,
-  8,1,255,24,32,32,32,32,32,32,248,32,32,32,192,5,
-  9,9,8,1,255,192,32,32,32,32,32,32,32,24,6,12,
-  12,8,1,255,12,16,16,16,16,16,16,16,16,112,156,96,
-  5,10,10,8,1,0,192,32,32,32,32,32,32,248,32,32,
-  6,11,11,8,1,255,32,32,248,32,32,32,32,32,32,32,
-  28,7,8,8,8,1,0,68,68,68,254,68,68,76,52,6,
-  8,8,8,1,0,132,72,132,132,132,132,72,48,6,8,8,
-  8,1,0,152,132,132,132,132,136,144,96,6,8,8,8,1,
-  0,48,48,72,72,72,132,132,132,7,8,8,8,1,0,108,
-  146,146,146,146,146,146,130,6,10,10,8,1,254,120,128,128,
-  176,200,132,132,132,132,132,7,8,8,8,1,0,130,130,68,
-  40,16,16,16,16,7,10,10,8,1,254,248,16,16,32,32,
-  64,64,248,8,6,7,9,9,8,1,255,252,4,8,16,32,
-  76,146,252,32,6,10,10,8,1,254,124,8,16,32,56,4,
-  4,4,132,120,6,10,10,8,1,254,124,8,16,32,56,4,
-  4,100,148,120,6,10,10,8,1,0,120,132,132,4,8,16,
-  16,16,16,16,6,10,10,8,1,0,120,132,132,128,64,32,
-  32,32,32,32,6,10,10,8,1,0,16,16,16,16,16,8,
-  4,132,132,120,6,10,10,8,1,254,120,132,128,128,128,128,
-  128,128,132,120,6,8,8,8,1,0,120,132,132,180,180,132,
-  132,120,6,8,8,8,1,0,248,132,132,248,132,132,132,248,
-  6,8,8,8,1,0,120,132,132,116,132,132,132,120,7,8,
-  8,8,1,0,118,136,128,128,152,136,136,120,5,8,8,8,
-  2,0,136,136,136,248,136,136,136,136,6,13,13,8,1,254,
-  8,8,0,24,8,8,8,8,8,8,124,144,96,6,10,10,
-  8,1,254,132,68,36,20,12,20,36,68,4,4,6,8,8,
-  8,1,0,128,128,128,128,128,128,128,252,7,11,11,8,1,
-  254,6,104,152,136,136,136,136,152,104,8,8,6,10,10,8,
-  1,0,120,132,132,4,8,16,16,124,16,16,6,10,10,8,
-  1,0,120,132,132,128,64,32,32,248,32,32,7,11,11,8,
-  1,0,32,32,32,126,162,164,164,168,168,176,126,7,13,13,
-  8,1,254,32,32,32,126,162,164,168,172,162,162,98,18,12,
-  7,12,12,8,1,255,32,32,32,126,162,164,168,176,180,170,
-  124,8,7,10,10,8,1,0,64,64,236,80,80,72,68,66,
-  66,60,7,13,13,8,1,254,6,72,72,248,72,72,72,72,
-  72,72,56,8,48,7,11,11,8,1,255,64,64,236,82,80,
-  80,80,84,90,60,8,7,12,12,8,1,254,96,144,128,220,
-  162,162,162,162,162,162,4,24,6,10,10,8,2,0,128,128,
-  128,156,160,160,152,132,132,248,6,10,10,8,1,0,128,128,
-  128,128,252,136,144,160,192,252,7,11,11,8,1,0,130,146,
-  146,146,108,0,130,146,146,146,108,6,10,10,8,1,0,252,
-  132,132,132,0,0,252,132,132,132,5,10,10,8,1,254,200,
-  72,72,72,72,72,88,40,8,8,7,10,10,8,1,254,200,
-  72,72,72,72,72,88,40,8,6,5,6,6,8,2,4,128,
-  128,176,200,136,136,5,7,7,8,2,4,112,136,128,176,200,
-  136,136,4,7,7,8,2,4,16,0,16,16,16,144,96,5,
-  5,5,8,2,5,176,200,128,128,128,5,5,5,8,1,5,
-  8,8,8,152,104,7,6,6,8,1,4,8,8,8,152,104,
-  6,5,6,6,8,1,4,136,144,240,136,136,240,5,4,4,
-  8,1,6,136,168,168,80,5,5,5,8,1,5,136,136,120,
-  8,112,3,3,3,8,2,7,32,64,128,6,3,3,8,1,
-  7,36,72,144,2,4,4,8,3,6,64,128,128,192,2,4,
-  4,8,3,6,192,64,64,128,2,4,4,8,3,6,192,128,
-  128,64,4,6,6,8,2,5,192,32,16,16,32,192,4,6,
-  6,8,2,5,48,64,128,128,64,48,6,7,7,8,1,4,
-  120,132,4,4,56,32,32,6,7,7,8,1,4,120,132,128,
-  128,112,16,16,4,7,7,8,2,4,16,32,64,128,64,32,
-  16,4,7,7,8,2,4,128,64,32,16,32,64,128,7,4,
-  4,8,1,6,16,40,68,130,7,4,4,8,1,6,130,68,
-  40,16,4,2,2,8,2,8,96,144,4,2,2,8,2,8,
-  144,96,1,3,3,8,4,7,128,128,128,4,1,1,8,2,
-  9,240,4,2,2,8,2,8,48,192,4,2,2,8,2,8,
-  192,48,1,4,4,8,4,0,128,128,128,128,4,1,1,8,
-  2,0,240,4,2,2,8,2,255,192,48,4,2,2,8,2,
-  255,48,192,3,6,6,8,2,1,224,64,0,0,64,224,3,
-  2,2,8,2,4,224,64,4,6,6,8,2,2,192,32,16,
-  16,32,192,4,6,6,8,2,2,48,64,128,128,64,48,5,
-  5,5,8,1,2,32,32,32,32,248,5,5,5,8,1,2,
-  248,32,32,32,32,5,5,5,8,1,2,32,32,248,32,32,
-  5,1,1,8,1,4,248,6,3,3,8,1,9,132,132,120,
-  2,2,2,8,3,10,192,192,4,3,3,8,2,9,96,144,
-  96,3,2,2,8,4,254,128,96,6,2,2,8,1,10,100,
-  152,7,2,2,8,1,10,102,136,7,4,4,8,0,3,32,
-  96,162,28,6,5,5,8,1,5,132,72,48,72,132,5,6,
-  6,8,1,4,136,80,32,80,80,32,3,6,6,8,2,6,
-  192,64,64,64,64,224,5,5,5,8,1,5,120,128,112,8,
-  240,5,5,5,8,1,5,136,80,32,80,136,5,5,5,8,
-  1,7,120,128,128,112,16,5,11,11,8,1,0,248,8,8,
-  8,8,8,8,8,8,8,8,5,11,11,8,1,0,8,8,
-  248,8,8,8,8,8,8,8,8,5,11,11,8,1,0,8,
-  8,8,8,8,248,8,8,8,8,8,5,11,11,8,1,0,
-  8,8,8,8,8,8,8,8,248,8,8,5,11,11,8,1,
-  0,8,8,8,8,8,8,8,8,8,8,248,5,6,6,8,
-  1,0,128,128,128,128,128,248,4,7,7,8,1,0,128,128,
-  128,240,128,128,128,5,3,3,8,1,0,136,80,32,6,3,
-  3,8,1,9,252,0,252,6,4,4,8,1,8,204,68,68,
-  136,5,3,3,8,1,255,136,80,32,5,3,3,8,1,255,
-  32,80,136,3,5,5,8,3,255,32,64,128,64,32,3,5,
-  5,8,3,255,128,64,32,64,128,4,3,3,8,2,255,96,
-  144,96,3,3,3,8,2,9,128,64,32,6,3,3,8,1,
-  9,144,72,36,6,3,3,8,1,9,36,72,144,6,2,2,
-  8,1,254,100,152,2,7,7,8,3,4,192,192,0,0,0,
-  192,192,3,4,4,8,2,7,224,128,128,128,3,4,4,8,
-  2,7,224,32,32,32,3,4,4,8,2,0,128,128,128,224,
-  3,4,4,8,2,0,32,32,32,224,6,3,3,8,1,254,
-  132,132,252,6,3,3,8,1,254,128,128,252,6,5,5,8,
-  1,3,32,64,252,64,32};
+  76,52,4,4,120,4,13,13,8,2,254,96,32,32,32,32,
+  32,32,32,32,48,48,64,128,7,10,10,8,1,254,184,196,
+  132,132,132,132,134,134,4,8,6,12,12,8,1,254,32,32,
+  32,248,32,32,32,32,44,28,16,32,5,10,10,8,1,254,
+  24,8,8,8,8,8,8,8,144,96,7,11,11,8,0,0,
+  16,16,16,84,186,146,146,146,146,186,84,7,10,10,8,0,
+  254,84,186,146,146,146,146,186,84,16,16,7,11,11,8,0,
+  0,2,26,36,44,74,82,126,98,66,66,194,7,12,12,8,
+  0,255,2,60,70,74,72,80,80,96,98,66,124,128,7,11,
+  11,8,0,255,2,4,60,74,80,80,96,96,66,124,128,6,
+  10,10,8,1,0,64,64,64,64,240,64,64,64,64,124,7,
+  12,12,8,1,0,2,4,254,24,24,16,16,48,48,80,80,
+  144,7,10,10,8,1,254,120,132,128,96,24,4,132,120,18,
+  12,6,10,10,8,1,254,252,4,8,16,32,64,128,192,32,
+  28,6,10,10,8,1,0,120,132,132,4,8,16,16,16,16,
+  16,6,8,8,8,1,0,120,132,132,4,8,16,16,16,6,
+  10,10,8,1,0,120,68,68,68,120,68,244,68,68,120,7,
+  10,10,8,0,0,68,68,68,68,68,254,68,68,68,56,6,
+  10,10,8,1,0,48,48,48,72,72,72,72,132,132,132,6,
+  14,14,8,1,254,8,8,252,144,144,160,248,160,160,192,192,
+  252,128,128,7,10,10,8,0,255,2,60,70,74,126,80,96,
+  66,124,128,7,10,10,8,1,0,62,8,8,8,8,62,8,
+  136,136,112,7,13,13,8,1,254,8,8,0,24,8,8,62,
+  8,8,8,8,144,96,7,12,12,8,1,254,112,136,136,136,
+  136,136,136,136,152,104,8,6,7,10,10,8,1,254,104,152,
+  136,136,136,136,152,104,8,6,6,10,10,8,1,0,120,68,
+  68,68,248,80,72,72,68,68,6,8,8,8,1,0,88,100,
+  68,224,64,64,64,64,7,10,10,8,1,0,130,130,68,254,
+  40,16,16,16,16,16,7,10,10,8,1,254,68,68,68,254,
+  68,36,28,4,4,56,6,8,8,8,1,0,184,196,132,132,
+  248,128,132,120,6,8,8,8,1,0,116,140,132,132,132,140,
+  148,100,6,8,8,8,1,0,152,164,196,132,132,132,196,184,
+  6,11,11,8,1,0,112,128,128,184,196,132,132,132,132,196,
+  184,6,8,8,8,1,0,120,132,4,4,4,4,132,120,6,
+  9,9,8,1,255,120,132,128,128,128,152,164,120,128,7,12,
+  12,8,1,255,8,8,8,104,152,136,136,136,136,152,104,6,
+  7,11,11,8,1,0,6,8,8,104,152,136,136,136,136,152,
+  104,6,8,8,8,1,0,120,132,132,252,4,4,132,120,6,
+  8,8,8,1,0,120,132,4,4,252,132,132,120,7,8,8,
+  8,1,0,114,140,8,8,248,136,136,112,6,8,8,8,1,
+  0,120,132,128,120,128,128,132,120,6,8,8,8,1,0,120,
+  132,4,120,4,4,132,120,7,8,8,8,1,0,114,140,8,
+  112,8,8,136,112,6,8,8,8,1,0,120,132,132,184,132,
+  132,132,120,7,10,10,8,1,254,24,8,8,8,62,8,8,
+  8,144,96,7,11,11,8,1,254,6,104,152,136,136,136,152,
+  104,8,136,112,6,10,10,8,1,254,116,140,132,132,132,140,
+  116,4,132,120,6,8,8,8,1,0,120,132,128,128,156,132,
+  132,124,6,10,10,8,1,254,132,132,132,72,72,48,48,72,
+  72,48,6,8,8,8,1,0,132,132,72,72,48,48,72,48,
+  6,11,11,8,1,254,132,132,132,132,132,132,140,116,4,4,
+  4,6,11,11,8,1,0,112,128,128,184,196,132,132,132,132,
+  132,132,6,11,11,8,1,0,112,128,128,184,196,132,132,132,
+  132,132,152,5,11,11,8,2,0,32,32,0,96,32,32,248,
+  32,32,32,248,3,8,8,8,3,0,128,128,128,128,128,128,
+  128,96,5,8,8,8,2,0,248,32,32,32,32,32,32,248,
+  6,11,11,8,1,0,48,16,16,16,116,152,16,16,16,16,
+  124,6,11,11,8,1,0,48,16,16,112,144,124,16,16,16,
+  16,124,4,12,12,8,3,255,192,64,64,64,64,64,64,64,
+  64,64,64,48,7,13,13,8,1,254,96,32,32,62,34,36,
+  40,44,34,34,250,18,12,7,8,8,8,1,0,146,146,146,
+  146,146,146,146,110,7,10,10,8,1,254,146,146,146,146,146,
+  146,146,110,2,2,7,9,9,8,1,255,236,146,146,146,146,
+  146,146,130,12,7,9,9,8,1,255,44,50,34,34,34,34,
+  34,34,192,7,9,9,8,1,255,176,200,136,136,136,136,136,
+  136,6,6,8,8,8,1,0,132,132,196,164,148,140,132,132,
+  6,8,8,8,1,0,120,132,132,252,132,132,132,120,7,8,
+  8,8,1,0,110,144,144,156,144,144,144,110,7,8,8,8,
+  1,0,124,130,130,146,146,146,146,108,7,12,12,8,1,254,
+  16,16,124,146,146,146,146,146,146,124,16,16,6,8,8,8,
+  1,0,4,4,4,4,4,132,140,116,6,10,10,8,1,0,
+  4,4,4,4,4,4,4,132,140,116,7,9,9,8,1,255,
+  8,8,8,8,8,136,152,104,6,6,10,10,8,1,254,184,
+  196,132,128,128,128,128,128,128,128,6,9,9,8,1,255,184,
+  196,132,128,128,128,128,128,96,6,8,8,8,1,0,120,132,
+  132,128,128,128,128,128,6,8,8,8,1,0,120,132,132,4,
+  4,4,4,4,6,8,8,8,1,0,248,132,132,248,136,132,
+  132,132,6,8,8,8,1,0,132,132,132,136,248,132,132,248,
+  6,10,10,8,1,254,120,132,128,96,24,4,132,248,128,96,
+  5,12,12,8,1,255,24,32,32,32,32,32,32,32,32,32,
+  32,192,5,12,12,8,1,255,24,32,32,32,32,32,32,248,
+  32,32,32,192,5,9,9,8,1,255,192,32,32,32,32,32,
+  32,32,24,6,12,12,8,1,255,12,16,16,16,16,16,16,
+  16,16,112,156,96,5,10,10,8,1,0,192,32,32,32,32,
+  32,32,248,32,32,6,11,11,8,1,255,32,32,32,248,32,
+  32,32,32,32,32,28,7,8,8,8,1,0,68,68,68,254,
+  68,68,76,52,6,8,8,8,1,0,132,72,132,132,132,132,
+  72,48,6,8,8,8,1,0,152,132,132,132,132,136,144,96,
+  6,8,8,8,1,0,48,48,72,72,72,132,132,132,7,8,
+  8,8,1,0,108,146,146,146,146,146,146,130,6,10,10,8,
+  1,254,120,128,128,176,200,132,132,132,132,132,7,8,8,8,
+  1,0,130,130,68,40,16,16,16,16,7,10,10,8,1,254,
+  248,16,16,32,32,64,64,248,8,6,7,9,9,8,1,255,
+  252,4,8,16,32,76,146,252,32,6,10,10,8,1,254,124,
+  8,16,32,56,4,4,4,132,120,6,10,10,8,1,254,124,
+  8,16,32,56,4,4,100,148,120,6,10,10,8,1,0,120,
+  132,132,4,8,16,16,16,16,16,6,10,10,8,1,0,120,
+  132,132,128,64,32,32,32,32,32,6,10,10,8,1,0,16,
+  16,16,16,16,8,4,132,132,120,6,10,10,8,1,254,120,
+  132,128,128,128,128,128,128,132,120,6,8,8,8,1,0,120,
+  132,132,180,180,132,132,120,6,8,8,8,1,0,248,132,132,
+  248,132,132,132,248,6,8,8,8,1,0,120,132,132,116,132,
+  132,132,120,7,8,8,8,1,0,118,136,128,128,152,136,136,
+  120,5,8,8,8,2,0,136,136,136,248,136,136,136,136,6,
+  13,13,8,1,254,8,8,0,24,8,8,8,8,8,8,124,
+  144,96,6,11,11,8,1,254,132,68,36,20,12,20,36,68,
+  4,4,4,6,8,8,8,1,0,128,128,128,128,128,128,128,
+  252,7,11,11,8,1,254,6,104,152,136,136,136,136,152,104,
+  8,8,6,10,10,8,1,0,120,132,132,4,8,16,16,124,
+  16,16,6,10,10,8,1,0,120,132,132,128,64,32,32,248,
+  32,32,7,11,11,8,1,0,32,32,32,126,162,164,164,168,
+  168,176,126,7,13,13,8,1,254,32,32,32,126,162,164,168,
+  172,162,162,98,18,12,7,12,12,8,1,255,32,32,32,126,
+  162,164,168,176,180,170,124,8,8,10,10,8,0,0,64,64,
+  70,248,72,68,66,65,65,62,7,13,13,8,1,254,6,72,
+  72,72,248,72,72,72,72,72,56,8,48,8,11,11,8,0,
+  255,64,64,70,249,72,72,72,74,77,62,4,7,12,12,8,
+  1,254,96,144,128,220,162,162,162,162,162,162,4,24,7,11,
+  11,8,1,0,192,64,64,64,78,80,80,76,66,66,124,7,
+  11,11,8,0,0,192,64,64,64,64,126,68,72,80,96,126,
+  7,11,11,8,1,0,130,146,146,146,108,0,130,146,146,146,
+  108,6,10,10,8,1,0,252,132,132,132,0,0,252,132,132,
+  132,5,10,10,8,1,254,200,72,72,72,72,72,88,40,8,
+  8,7,10,10,8,1,254,200,72,72,72,72,72,88,40,8,
+  6,5,6,6,8,2,4,128,128,176,200,136,136,5,7,7,
+  8,2,4,112,136,128,176,200,136,136,4,7,7,8,2,4,
+  16,0,16,16,16,144,96,5,5,5,8,2,5,176,200,128,
+  128,128,5,5,5,8,1,5,8,8,8,152,104,7,6,6,
+  8,1,4,8,8,8,152,104,6,5,6,6,8,1,4,136,
+  144,240,136,136,240,5,4,4,8,1,6,136,168,168,80,5,
+  5,5,8,1,5,136,136,120,8,112,3,3,3,8,2,7,
+  32,64,128,6,3,3,8,1,7,36,72,144,2,4,4,8,
+  3,6,64,128,128,192,2,4,4,8,3,6,192,64,64,128,
+  2,4,4,8,3,6,192,128,128,64,4,6,6,8,2,5,
+  192,32,16,16,32,192,4,6,6,8,2,5,48,64,128,128,
+  64,48,6,7,7,8,1,4,120,132,4,4,56,32,32,6,
+  7,7,8,1,4,120,132,128,128,112,16,16,4,7,7,8,
+  2,4,16,32,64,128,64,32,16,4,7,7,8,2,4,128,
+  64,32,16,32,64,128,7,4,4,8,1,6,16,40,68,130,
+  7,4,4,8,1,6,130,68,40,16,4,2,2,8,2,8,
+  96,144,4,2,2,8,2,8,144,96,1,3,3,8,4,7,
+  128,128,128,4,1,1,8,2,9,240,4,2,2,8,2,8,
+  48,192,4,2,2,8,2,8,192,48,1,4,4,8,4,0,
+  128,128,128,128,4,1,1,8,2,0,240,4,2,2,8,2,
+  255,192,48,4,2,2,8,2,255,48,192,3,6,6,8,2,
+  1,224,64,0,0,64,224,3,2,2,8,2,4,224,64,4,
+  6,6,8,2,2,192,32,16,16,32,192,4,6,6,8,2,
+  2,48,64,128,128,64,48,5,5,5,8,1,2,32,32,32,
+  32,248,5,5,5,8,1,2,248,32,32,32,32,5,5,5,
+  8,1,2,32,32,248,32,32,5,1,1,8,1,4,248,6,
+  3,3,8,1,9,132,132,120,2,2,2,8,3,10,192,192,
+  4,3,3,8,2,9,96,144,96,3,2,2,8,4,254,128,
+  96,6,2,2,8,1,10,100,152,7,2,2,8,1,10,102,
+  136,7,4,4,8,0,3,32,96,162,28,6,5,5,8,1,
+  5,132,72,48,72,132,5,6,6,8,1,4,136,80,32,80,
+  80,32,3,6,6,8,2,6,192,64,64,64,64,224,5,5,
+  5,8,1,5,120,128,112,8,240,5,5,5,8,1,5,136,
+  80,32,80,136,5,5,5,8,1,7,120,128,128,112,16,5,
+  11,11,8,1,0,248,8,8,8,8,8,8,8,8,8,8,
+  5,11,11,8,1,0,8,8,248,8,8,8,8,8,8,8,
+  8,5,11,11,8,1,0,8,8,8,8,8,248,8,8,8,
+  8,8,5,11,11,8,1,0,8,8,8,8,8,8,8,8,
+  248,8,8,5,11,11,8,1,0,8,8,8,8,8,8,8,
+  8,8,8,248,5,6,6,8,1,0,128,128,128,128,128,248,
+  4,7,7,8,1,0,128,128,128,240,128,128,128,5,3,3,
+  8,1,0,136,80,32,6,3,3,8,1,9,252,0,252,6,
+  4,4,8,1,8,204,68,68,136,5,3,3,8,1,255,136,
+  80,32,5,3,3,8,1,255,32,80,136,3,5,5,8,3,
+  255,32,64,128,64,32,3,5,5,8,3,255,128,64,32,64,
+  128,4,3,3,8,2,255,96,144,96,3,3,3,8,2,9,
+  128,64,32,6,3,3,8,1,9,144,72,36,6,3,3,8,
+  1,9,36,72,144,6,2,2,8,1,254,100,152,2,7,7,
+  8,3,4,192,192,0,0,0,192,192,3,4,4,8,2,7,
+  224,128,128,128,3,4,4,8,2,7,224,32,32,32,3,4,
+  4,8,2,0,128,128,128,224,3,4,4,8,2,0,32,32,
+  32,224,6,3,3,8,1,254,132,132,252,6,3,3,8,1,
+  254,128,128,252,6,5,5,8,1,3,32,64,252,64,32};
 /*
-  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
-  Copyright: 
-  Capital A Height: 3, '1' Height: 10
-  Calculated Max Values w=16 h=16 x=14 y=12 dx=16 dy= 0 ascent=14 len=32
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
+  Capital A Height: 3, '1' Height: 9
+  Calculated Max Values w=15 h=16 x= 7 y=12 dx=16 dy= 0 ascent=14 len=16
   Font Bounding box     w=16 h=16 x= 0 y=-2
   Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
   Pure Font   ascent = 3 descent= 0
-  X Font      ascent =10 descent= 0
+  X Font      ascent =12 descent= 0
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifont_67_75[3556] U8G_SECTION(".progmem.u8g_font_unifont_67_75") = {
-  0,16,16,0,254,3,2,120,4,26,16,255,0,14,254,10,
-  0,6,5,5,8,1,4,32,64,252,64,32,5,6,6,8,
-  2,3,32,112,168,32,32,32,6,5,5,8,1,3,16,8,
-  252,8,16,5,6,6,8,2,3,32,32,32,168,112,32,8,
-  5,5,8,0,3,36,66,255,66,36,5,9,9,8,2,1,
-  32,112,168,32,32,32,168,112,32,6,6,6,8,1,3,240,
-  192,160,144,8,4,6,6,6,8,1,3,60,12,20,36,64,
-  128,6,6,6,8,1,3,128,64,36,20,12,60,6,6,6,
-  8,1,2,4,8,144,160,192,240,7,9,9,8,1,1,8,
-  8,40,72,254,72,40,8,8,7,9,9,8,1,1,32,32,
-  40,36,254,36,40,32,32,7,5,5,8,1,3,32,76,242,
-  64,32,7,5,5,8,1,3,8,100,158,4,8,8,5,5,
-  8,0,3,36,72,255,72,36,5,9,9,8,2,1,32,112,
-  168,32,112,168,32,32,32,8,5,5,8,0,3,36,18,255,
-  18,36,5,9,9,8,2,1,32,32,32,168,112,32,168,112,
-  32,7,5,5,8,1,3,34,68,248,68,34,7,5,5,8,
-  1,3,136,68,62,68,136,6,5,5,8,1,3,36,68,252,
-  68,36,5,6,6,8,2,3,32,112,168,32,32,248,6,5,
-  5,8,1,3,144,136,252,136,144,5,6,6,8,2,3,248,
-  32,32,168,112,32,5,10,10,8,2,0,32,112,168,32,32,
-  32,168,112,32,248,7,6,6,8,1,3,4,34,66,252,64,
-  32,7,6,6,8,1,3,64,136,132,126,4,8,7,6,6,
-  8,1,3,4,42,74,252,72,40,7,6,6,8,1,3,64,
-  168,164,126,36,40,8,5,5,8,0,3,36,90,231,66,36,
-  8,9,9,8,0,1,8,8,44,74,255,74,44,8,8,6,
-  10,10,8,1,0,128,128,144,176,208,144,16,84,56,16,5,
-  10,10,8,1,0,32,64,240,72,40,8,8,8,8,8,5,
-  10,10,8,2,0,32,16,120,144,160,128,128,128,128,128,5,
-  10,10,8,1,0,8,8,8,8,8,40,72,240,64,32,5,
-  10,10,8,2,0,128,128,128,128,128,160,144,120,16,32,7,
-  5,5,8,1,1,248,8,42,28,8,5,8,8,8,1,2,
-  8,8,8,40,72,248,64,32,8,5,5,8,0,3,30,33,
-  169,113,32,8,5,5,8,0,3,120,132,149,142,4,6,8,
-  8,8,1,3,252,0,240,192,160,144,8,4,6,11,11,8,
-  1,0,160,192,252,192,160,0,20,12,252,12,20,6,6,6,
-  8,1,2,92,152,148,132,132,120,6,6,6,8,1,2,232,
-  100,164,132,132,120,6,3,3,8,1,5,32,64,252,6,3,
-  3,8,1,3,252,64,32,3,6,6,8,4,3,128,192,160,
-  128,128,128,3,6,6,8,2,3,32,96,160,32,32,32,6,
-  3,3,8,1,5,16,8,252,6,3,3,8,1,3,252,8,
-  16,3,6,6,8,4,2,128,128,128,160,192,128,3,6,6,
-  8,2,3,32,32,32,160,96,32,6,11,11,8,1,0,16,
-  8,252,8,16,0,32,64,252,64,32,8,6,6,8,0,3,
-  36,116,164,37,46,36,6,11,11,8,1,0,32,64,252,64,
-  32,0,16,8,252,8,16,6,11,11,8,1,0,32,64,252,
-  64,32,0,32,64,252,64,32,8,6,6,8,0,3,36,126,
-  165,36,36,36,6,11,11,8,1,0,16,8,252,8,16,0,
-  16,8,252,8,16,8,6,6,8,0,3,36,36,36,165,126,
-  36,6,7,7,8,1,2,32,64,252,0,252,8,16,6,7,
-  7,8,1,2,16,8,252,0,252,64,32,7,9,9,8,0,
-  1,8,8,40,126,136,126,40,8,8,8,9,9,8,0,1,
-  8,8,44,126,137,126,44,8,8,7,9,9,8,1,1,32,
-  32,40,252,34,252,40,32,32,6,5,5,8,1,3,32,124,
-  128,124,32,5,6,6,8,2,3,32,80,216,80,80,80,6,
-  5,5,8,1,3,16,248,4,248,16,5,6,6,8,2,3,
-  80,80,80,216,80,32,8,5,5,8,0,3,36,126,129,126,
-  36,5,8,8,8,2,2,32,80,216,80,80,216,80,32,6,
-  6,6,8,1,3,240,160,208,168,20,8,6,6,6,8,1,
-  3,60,20,44,84,160,64,6,6,6,8,1,3,8,20,168,
-  208,160,240,6,6,6,8,1,3,64,160,84,44,20,60,7,
-  7,7,8,0,2,16,62,64,254,64,62,16,7,7,7,8,
-  1,2,16,248,4,254,4,248,16,8,5,5,8,0,3,32,
-  66,245,72,32,8,5,5,8,0,3,4,66,175,18,4,5,
-  10,10,8,2,0,32,112,168,32,32,248,32,248,32,32,5,
-  10,10,8,2,0,32,32,248,32,248,32,32,168,112,32,7,
-  5,5,8,1,3,32,64,238,64,32,5,10,10,8,2,0,
-  32,112,168,0,32,32,32,0,32,32,7,5,5,8,1,3,
-  8,4,238,4,8,5,10,10,8,2,0,32,32,0,32,32,
-  32,0,168,112,32,6,5,5,8,1,3,160,192,252,192,160,
-  6,5,5,8,1,3,20,12,252,12,20,8,7,7,8,0,
-  2,16,48,95,129,95,48,16,7,10,10,8,1,0,16,40,
-  68,238,40,40,40,40,40,56,8,7,7,8,0,2,8,12,
-  250,129,250,12,8,7,10,10,8,1,0,56,40,40,40,40,
-  40,238,68,40,16,7,12,12,8,1,0,16,40,68,238,40,
-  40,40,40,56,0,56,56,7,12,12,8,1,0,16,40,68,
-  198,68,68,68,68,68,198,130,254,7,12,12,8,1,0,16,
-  40,124,198,68,68,68,68,68,198,130,254,7,12,12,8,1,
-  0,16,56,84,214,84,84,84,84,84,214,146,254,7,14,14,
-  8,1,0,16,40,84,238,68,198,68,68,68,68,68,68,68,
-  124,7,14,14,8,1,0,16,40,84,238,68,198,68,68,68,
-  68,68,198,130,254,7,7,7,8,1,2,16,216,244,130,244,
-  216,16,7,9,9,8,1,0,254,128,184,176,168,132,130,128,
-  128,7,9,9,8,1,0,2,2,130,66,42,26,58,2,254,
-  5,11,11,8,2,0,32,80,216,80,80,80,80,80,216,80,
-  32,13,5,10,16,1,3,14,32,17,16,255,248,17,16,14,
-  32,8,10,10,8,0,0,36,46,53,36,36,36,36,172,116,
-  36,8,15,15,8,0,254,4,2,255,2,4,4,2,255,2,
-  4,4,2,255,2,4,8,5,5,8,0,3,36,68,255,68,
-  36,8,5,5,8,0,3,36,34,255,34,36,11,5,10,16,
-  2,3,36,128,68,64,255,224,68,64,36,128,12,5,10,16,
-  1,3,37,0,69,0,255,240,69,0,37,0,12,5,10,16,
-  2,3,10,64,10,32,255,240,10,32,10,64,13,5,10,16,
-  1,3,37,32,69,16,255,248,69,16,37,32,8,5,5,8,
-  0,3,32,96,191,96,32,8,5,5,8,0,3,4,6,253,
-  6,4,12,5,10,16,2,3,32,64,96,96,191,208,96,96,
-  32,64,16,8,16,16,0,6,255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,16,2,4,16,0,254,255,255,
-  255,255,16,4,8,16,0,254,255,255,255,255,255,255,255,255,
-  16,6,12,16,0,254,255,255,255,255,255,255,255,255,255,255,
-  255,255,16,8,16,16,0,254,255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,16,10,20,16,0,254,255,255,
-  255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-  255,255,16,12,24,16,0,254,255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-  16,14,28,16,0,254,255,255,255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-  255,255,16,16,32,16,0,254,255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,14,16,32,16,0,254,255,252,
-  255,252,255,252,255,252,255,252,255,252,255,252,255,252,255,252,
-  255,252,255,252,255,252,255,252,255,252,255,252,255,252,12,16,
-  32,16,0,254,255,240,255,240,255,240,255,240,255,240,255,240,
-  255,240,255,240,255,240,255,240,255,240,255,240,255,240,255,240,
-  255,240,255,240,10,16,32,16,0,254,255,192,255,192,255,192,
-  255,192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,
-  255,192,255,192,255,192,255,192,255,192,8,16,16,16,0,254,
-  255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-  6,16,16,16,0,254,252,252,252,252,252,252,252,252,252,252,
-  252,252,252,252,252,252,4,16,16,16,0,254,240,240,240,240,
-  240,240,240,240,240,240,240,240,240,240,240,240,2,16,16,16,
-  0,254,192,192,192,192,192,192,192,192,192,192,192,192,192,192,
-  192,192,8,16,16,16,8,254,255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,15,16,32,16,0,254,136,136,
-  34,34,136,136,34,34,136,136,34,34,136,136,34,34,136,136,
-  34,34,136,136,34,34,136,136,34,34,136,136,34,34,16,16,
-  32,16,0,254,170,170,85,85,170,170,85,85,170,170,85,85,
-  170,170,85,85,170,170,85,85,170,170,85,85,170,170,85,85,
-  170,170,85,85,16,16,32,16,0,254,238,238,187,187,238,238,
-  187,187,238,238,187,187,238,238,187,187,238,238,187,187,238,238,
-  187,187,238,238,187,187,238,238,187,187,16,2,4,16,0,12,
-  255,255,255,255,2,16,16,16,14,254,192,192,192,192,192,192,
-  192,192,192,192,192,192,192,192,192,192,8,8,8,16,0,254,
-  255,255,255,255,255,255,255,255,8,8,8,16,8,254,255,255,
-  255,255,255,255,255,255,8,8,8,16,0,6,255,255,255,255,
-  255,255,255,255,16,16,32,16,0,254,255,0,255,0,255,0,
-  255,0,255,0,255,0,255,0,255,0,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,255,255,16,16,32,16,0,254,
-  255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,
-  0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,
-  16,16,32,16,0,254,255,255,255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,0,255,0,255,0,255,0,255,0,
-  255,0,255,0,255,0,16,16,32,16,0,254,255,255,255,255,
-  255,255,255,255,255,255,255,255,255,255,255,255,0,255,0,255,
-  0,255,0,255,0,255,0,255,0,255,0,255,8,8,8,16,
-  8,6,255,255,255,255,255,255,255,255,16,16,32,16,0,254,
-  0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,
-  255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,
-  16,16,32,16,0,254,0,255,0,255,0,255,0,255,0,255,
-  0,255,0,255,0,255,255,255,255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,7,7,7,8,1,1,254,254,254,254,
-  254,254,254,7,7,7,8,1,1,254,130,130,130,130,130,254,
-  7,7,7,8,1,1,124,130,130,130,130,130,124,7,7,7,
-  8,1,1,254,130,186,186,186,130,254,7,7,7,8,1,1,
-  254,130,254,130,254,130,254,7,7,7,8,1,1,254,170,170,
-  170,170,170,254,7,7,7,8,1,1,254,170,254,170,254,170,
-  254,7,7,7,8,1,1,254,166,146,202,166,146,254,7,7,
-  7,8,1,1,254,202,146,166,202,146,254,7,7,7,8,1,
-  1,254,170,214,170,214,170,254,4,4,4,8,2,4,240,240,
-  240,240,4,4,4,8,2,4,240,144,144,240,7,4,4,8,
-  1,4,254,254,254,254,7,4,4,8,1,4,254,130,130,254,
-  4,7,7,8,2,2,240,240,240,240,240,240,240,4,7,7,
-  8,2,2,240,144,144,144,144,144,240,8,3,3,8,0,4,
-  63,126,252,8,3,3,8,0,4,63,66,252,6,6,6,8,
-  1,3,48,48,120,120,252,252,6,6,6,8,1,3,48,48,
-  72,72,132,252,6,3,3,8,1,3,48,120,252,6,3,3,
-  8,1,3,48,72,252,6,6,6,8,1,3,192,240,252,252,
-  240,192,6,6,6,8,1,3,192,176,140,140,176,192,4,4,
-  4,8,2,4,192,240,240,192,4,4,4,8,2,4,192,176,
-  176,192,6,5,5,8,1,3,192,240,252,240,192,6,5,5,
-  8,1,3,192,176,140,176,192,6,6,6,8,1,3,252,252,
-  120,120,48,48,6,6,6,8,1,3,252,132,72,72,48,48,
-  6,3,3,8,1,3,252,120,48,6,3,3,8,1,3,252,
-  72,48,6,6,6,8,1,3,12,60,252,252,60,12,6,6,
-  6,8,1,3,12,52,196,196,52,12,4,4,4,8,2,4,
-  48,240,240,48,4,4,4,8,2,4,48,208,208,48,6,5,
-  5,8,1,3,12,60,252,60,12,6,5,5,8,1,3,12,
-  52,196,52,12,7,7,7,8,1,2,16,56,124,254,124,56,
-  16,7,7,7,8,1,2,16,40,68,130,68,40,16,7,7,
-  7,8,1,2,16,40,84,186,84,40,16,7,7,7,8,1,
-  2,56,68,178,186,154,68,56,6,10,10,8,1,1,48,48,
-  72,72,132,132,72,72,48,48,7,7,7,8,1,2,56,68,
-  130,130,130,68,56,7,7,7,8,1,2,40,0,130,0,130,
-  0,40,7,7,7,8,1,2,56,108,170,170,170,108,56,7,
-  7,7,8,1,2,56,68,146,170,146,68,56,7,7,7,8,
-  1,2,56,124,254,254,254,124,56,7,7,7,8,1,2,56,
-  100,226,226,226,100,56,7,7,7,8,1,2,56,76,142,142,
-  142,76,56,7,7,7,8,1,2,56,68,130,130,254,124,56,
-  7,7,7,8,1,2,56,124,254,130,130,68,56,7,7,7,
-  8,1,2,56,92,158,158,130,68,56,7,7,7,8,1,2,
-  56,76,142,142,254,124,56,4,7,7,8,1,2,48,112,240,
-  240,240,112,48,4,7,7,8,4,2,192,224,240,240,240,224,
-  192,8,16,16,8,0,254,255,255,255,255,255,255,231,195,195,
-  231,255,255,255,255,255,255,8,16,16,8,0,254,255,255,255,
-  255,255,231,219,189,189,219,231,255,255,255,255,255,8,8,8,
-  8,0,6,255,255,255,255,255,231,219,189,8,8,8,8,0,
-  254,189,219,231,255,255,255,255,255,4,4,4,8,1,5,48,
-  64,128,128,4,4,4,8,4,5,192,32,16,16,4,4,4,
-  8,4,2,16,16,32,192,4,4,4,8,1,2,128,128,64,
-  48,7,4,4,8,1,5,56,68,130,130,7,4,4,8,1,
-  2,130,130,68,56,6,6,6,8,1,255,4,12,28,60,124,
-  252,6,6,6,8,1,255,128,192,224,240,248,252,6,6,6,
-  8,1,6,252,248,240,224,192,128,6,6,6,8,1,6,252,
-  124,60,28,12,4,5,5,5,8,1,2,112,136,136,136,112,
-  6,6,6,8,1,3,252,228,228,228,228,252,6,6,6,8,
-  1,3,252,156,156,156,156,252,6,6,6,8,1,3,252,244,
-  228,196,132,252,6,6,6,8,1,3,252,132,140,156,188,252,
-  7,6,6,8,1,3,254,146,146,146,146,254,7,7,7,8,
-  1,2,16,40,40,68,84,130,254,6,6,6,8,1,2,48,
-  48,104,104,228,252,6,7,7,8,1,2,48,48,88,88,156,
-  156,252,8,8,8,8,0,2,60,66,129,129,129,129,66,60,
-  6,6,6,8,1,0,252,164,228,132,132,252,6,6,6,8,
-  1,0,252,132,132,228,164,252,6,6,6,8,1,0,252,132,
-  132,156,148,252,6,6,6,8,1,0,252,148,156,132,132,252,
-  8,8,8,8,0,0,60,82,145,241,129,129,66,60,8,8,
-  8,8,0,0,60,66,129,129,241,145,82,60,8,8,8,8,
-  0,0,60,66,129,129,143,137,74,60,8,8,8,8,0,0,
-  60,74,137,143,129,129,66,60,6,6,6,8,1,6,252,136,
-  144,160,192,128,6,6,6,8,1,6,252,68,36,20,12,4,
-  6,6,6,8,1,255,128,192,160,144,136,252,6,6,6,8,
-  1,255,252,132,132,132,132,252,6,6,6,8,1,255,252,252,
-  252,252,252,252,4,4,4,8,2,0,240,144,144,240,4,4,
-  4,8,2,0,240,240,240,240,6,6,6,8,1,255,4,12,
-  20,36,68,252};
+const u8g_fntpgm_uint8_t u8g_font_unifont_67_75[3421] U8G_FONT_SECTION("u8g_font_unifont_67_75") = {
+  0,16,16,0,254,3,2,188,4,152,16,255,0,14,254,12,
+  0,7,5,5,8,1,2,32,64,254,64,32,5,14,14,8,
+  2,254,32,112,168,32,32,32,32,32,32,32,32,32,32,32,
+  7,5,5,8,0,2,8,4,254,4,8,5,14,14,8,2,
+  0,32,32,32,32,32,32,32,32,32,32,32,168,112,32,8,
+  5,5,8,0,2,36,66,255,66,36,5,12,12,8,2,0,
+  32,112,168,32,32,32,32,32,32,168,112,32,6,6,6,8,
+  1,3,240,192,160,144,8,4,6,6,6,8,1,3,60,12,
+  20,36,64,128,6,6,6,8,1,3,128,64,36,20,12,60,
+  6,6,6,8,1,2,4,8,144,160,192,240,7,9,9,8,
+  1,0,8,8,40,72,254,72,40,8,8,7,9,9,8,0,
+  0,32,32,40,36,254,36,40,32,32,7,5,5,8,1,2,
+  32,76,242,64,32,7,5,5,8,0,2,8,100,158,4,8,
+  8,5,5,8,0,3,36,72,255,72,36,5,14,14,8,2,
+  254,32,112,168,32,112,168,32,32,32,32,32,32,32,32,8,
+  5,5,8,0,2,36,18,255,18,36,5,15,15,8,2,255,
+  32,32,32,32,32,32,32,32,32,168,112,32,168,112,32,7,
+  5,5,8,1,2,34,68,248,68,34,7,5,5,8,0,2,
+  136,68,62,68,136,6,5,5,8,1,2,36,68,252,68,36,
+  5,12,12,8,2,0,32,112,168,32,32,32,32,32,32,32,
+  32,248,6,5,5,8,1,2,144,136,252,136,144,5,12,12,
+  8,2,0,248,32,32,32,32,32,32,32,32,168,112,32,5,
+  12,12,8,2,0,32,112,168,32,32,32,32,32,168,112,32,
+  248,7,6,6,8,1,2,4,34,66,252,64,32,7,6,6,
+  8,1,2,64,136,132,126,4,8,7,6,6,8,1,2,4,
+  42,74,252,72,40,7,6,6,8,1,2,64,168,164,126,36,
+  40,8,5,5,8,0,2,36,90,231,66,36,8,9,9,8,
+  0,0,8,8,44,74,255,74,44,8,8,6,12,12,8,1,
+  0,128,128,128,144,176,208,144,16,16,84,56,16,5,9,9,
+  8,1,254,32,64,240,72,40,8,8,8,8,5,9,9,8,
+  2,254,32,16,120,144,160,128,128,128,128,5,12,12,8,1,
+  2,8,8,8,8,8,8,8,40,72,240,64,32,5,12,12,
+  8,2,2,128,128,128,128,128,128,128,160,144,120,16,32,8,
+  5,5,8,0,0,252,4,21,14,4,5,12,12,8,1,2,
+  8,8,8,8,8,8,8,40,72,248,64,32,8,5,5,8,
+  0,1,30,33,169,113,32,8,5,5,8,0,1,120,132,149,
+  142,4,6,8,8,8,1,3,252,0,240,192,160,144,8,4,
+  6,11,11,8,1,0,160,192,252,192,160,0,20,12,252,12,
+  20,6,6,6,8,1,1,92,152,148,132,132,120,6,6,6,
+  8,1,1,232,100,164,132,132,120,7,3,3,8,1,4,32,
+  64,254,7,3,3,8,1,2,254,64,32,3,14,14,8,4,
+  254,128,192,160,128,128,128,128,128,128,128,128,128,128,128,3,
+  14,14,8,2,254,32,96,160,32,32,32,32,32,32,32,32,
+  32,32,32,7,3,3,8,0,4,8,4,254,7,3,3,8,
+  0,2,254,4,8,3,14,14,8,4,0,128,128,128,128,128,
+  128,128,128,128,128,128,160,192,128,3,14,14,8,2,0,32,
+  32,32,32,32,32,32,32,32,32,32,160,96,32,6,11,11,
+  8,1,0,16,8,252,8,16,0,32,64,252,64,32,8,12,
+  12,8,0,0,36,116,172,36,36,36,36,36,36,53,46,36,
+  6,11,11,8,1,0,32,64,252,64,32,0,16,8,252,8,
+  16,6,11,11,8,1,0,32,64,252,64,32,0,32,64,252,
+  64,32,8,12,12,8,0,0,36,126,165,36,36,36,36,36,
+  36,36,36,36,6,11,11,8,1,0,16,8,252,8,16,0,
+  16,8,252,8,16,8,12,12,8,0,0,36,36,36,36,36,
+  36,36,36,36,165,126,36,6,7,7,8,1,1,32,64,252,
+  0,252,8,16,6,7,7,8,1,1,16,8,252,0,252,64,
+  32,7,9,9,8,0,0,8,8,40,126,136,126,40,8,8,
+  8,9,9,8,0,0,8,8,44,126,137,126,44,8,8,7,
+  9,9,8,1,0,32,32,40,252,34,252,40,32,32,6,5,
+  5,8,1,2,32,124,128,124,32,5,12,12,8,2,0,32,
+  80,216,80,80,80,80,80,80,80,80,80,6,5,5,8,1,
+  2,16,248,4,248,16,5,12,12,8,2,0,80,80,80,80,
+  80,80,80,80,80,216,80,32,8,5,5,8,0,2,36,126,
+  129,126,36,5,12,12,8,2,0,32,80,216,80,80,80,80,
+  80,80,216,80,32,6,6,6,8,1,3,240,160,208,168,20,
+  8,6,6,6,8,1,3,60,20,44,84,160,64,6,6,6,
+  8,1,3,8,20,168,208,160,240,6,6,6,8,1,3,64,
+  160,84,44,20,60,7,7,7,8,0,1,16,62,64,254,64,
+  62,16,7,7,7,8,1,1,16,248,4,254,4,248,16,8,
+  5,5,8,0,2,32,66,245,72,32,8,5,5,8,0,2,
+  4,66,175,18,4,5,14,14,8,2,254,32,112,168,32,32,
+  32,248,32,248,32,32,32,32,32,5,14,14,8,2,0,32,
+  32,32,32,32,248,32,248,32,32,32,168,112,32,7,5,5,
+  8,1,2,32,64,238,64,32,5,14,14,8,2,254,32,112,
+  168,32,32,0,32,32,32,32,0,32,32,32,8,5,5,8,
+  0,2,4,2,239,2,4,5,14,14,8,2,0,32,32,32,
+  0,32,32,32,32,0,32,32,168,112,32,7,5,5,8,1,
+  2,160,192,254,192,160,7,5,5,8,0,2,10,6,254,6,
+  10,8,7,7,8,0,1,16,48,95,129,95,48,16,7,12,
+  12,8,1,0,16,40,68,238,40,40,40,40,40,40,40,56,
+  8,7,7,8,0,2,8,12,250,129,250,12,8,7,12,12,
+  8,1,0,56,40,40,40,40,40,40,40,238,68,40,16,7,
+  12,12,8,1,0,16,40,68,238,40,40,40,56,0,56,40,
+  56,7,12,12,8,1,0,16,40,68,198,68,68,68,68,68,
+  198,130,254,7,12,12,8,1,0,16,40,124,198,68,68,68,
+  68,68,198,130,254,7,12,12,8,1,0,16,56,84,214,84,
+  84,84,84,84,214,146,254,7,13,13,8,1,0,16,40,84,
+  238,68,198,68,68,68,68,68,68,124,7,13,13,8,1,0,
+  16,40,84,238,68,198,68,68,68,68,198,130,254,7,7,7,
+  8,1,1,16,216,244,130,244,216,16,7,9,9,8,1,0,
+  254,128,184,176,168,132,130,128,128,7,9,9,8,1,0,2,
+  2,130,66,42,26,58,2,254,5,12,12,8,2,0,32,80,
+  216,80,80,80,80,80,80,216,80,32,13,5,10,16,1,2,
+  14,32,17,16,255,248,17,16,14,32,8,12,12,8,0,0,
+  36,46,53,36,36,36,36,36,36,172,116,36,8,15,15,8,
+  0,254,4,2,255,2,4,4,2,255,2,4,4,2,255,2,
+  4,8,5,5,8,0,2,36,68,255,68,36,8,5,5,8,
+  0,2,36,34,255,34,36,11,5,10,16,2,2,36,128,68,
+  64,255,224,68,64,36,128,15,5,10,16,1,2,34,128,66,
+  128,255,254,66,128,34,128,15,5,10,16,0,2,2,136,2,
+  132,255,254,2,132,2,136,13,5,10,16,1,2,37,32,69,
+  16,255,248,69,16,37,32,8,5,5,8,0,2,32,96,191,
+  96,32,8,5,5,8,0,2,4,6,253,6,4,12,5,10,
+  16,2,2,32,64,96,96,191,208,96,96,32,64,8,8,8,
+  8,0,6,255,255,255,255,255,255,255,255,8,2,2,8,0,
+  254,255,255,8,4,4,8,0,254,255,255,255,255,8,6,6,
+  8,0,254,255,255,255,255,255,255,8,8,8,8,0,254,255,
+  255,255,255,255,255,255,255,8,10,10,8,0,254,255,255,255,
+  255,255,255,255,255,255,255,8,12,12,8,0,254,255,255,255,
+  255,255,255,255,255,255,255,255,255,8,14,14,8,0,254,255,
+  255,255,255,255,255,255,255,255,255,255,255,255,255,8,16,16,
+  8,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,
+  255,255,255,7,16,16,8,0,254,254,254,254,254,254,254,254,
+  254,254,254,254,254,254,254,254,254,6,16,16,8,0,254,252,
+  252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,5,
+  16,16,8,0,254,248,248,248,248,248,248,248,248,248,248,248,
+  248,248,248,248,248,4,16,16,8,0,254,240,240,240,240,240,
+  240,240,240,240,240,240,240,240,240,240,240,3,16,16,8,0,
+  254,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,
+  224,2,16,16,8,0,254,192,192,192,192,192,192,192,192,192,
+  192,192,192,192,192,192,192,1,16,16,8,0,254,128,128,128,
+  128,128,128,128,128,128,128,128,128,128,128,128,128,4,16,16,
+  8,4,254,240,240,240,240,240,240,240,240,240,240,240,240,240,
+  240,240,240,7,16,16,8,0,254,136,34,136,34,136,34,136,
+  34,136,34,136,34,136,34,136,34,8,16,16,8,0,254,170,
+  85,170,85,170,85,170,85,170,85,170,85,170,85,170,85,8,
+  16,16,8,0,254,238,187,238,187,238,187,238,187,238,187,238,
+  187,238,187,238,187,8,2,2,8,0,12,255,255,1,16,16,
+  8,7,254,128,128,128,128,128,128,128,128,128,128,128,128,128,
+  128,128,128,4,8,8,8,0,254,240,240,240,240,240,240,240,
+  240,4,8,8,8,4,254,240,240,240,240,240,240,240,240,4,
+  8,8,8,0,6,240,240,240,240,240,240,240,240,8,16,16,
+  8,0,254,240,240,240,240,240,240,240,240,255,255,255,255,255,
+  255,255,255,8,16,16,8,0,254,240,240,240,240,240,240,240,
+  240,15,15,15,15,15,15,15,15,8,16,16,8,0,254,255,
+  255,255,255,255,255,255,255,240,240,240,240,240,240,240,240,8,
+  16,16,8,0,254,255,255,255,255,255,255,255,255,15,15,15,
+  15,15,15,15,15,4,8,8,8,4,6,240,240,240,240,240,
+  240,240,240,8,16,16,8,0,254,15,15,15,15,15,15,15,
+  15,240,240,240,240,240,240,240,240,8,16,16,8,0,254,15,
+  15,15,15,15,15,15,15,255,255,255,255,255,255,255,255,7,
+  7,7,8,1,1,254,254,254,254,254,254,254,7,7,7,8,
+  1,1,254,130,130,130,130,130,254,7,7,7,8,1,1,124,
+  130,130,130,130,130,124,7,7,7,8,1,1,254,130,186,186,
+  186,130,254,7,7,7,8,1,1,254,130,254,130,254,130,254,
+  7,7,7,8,1,1,254,170,170,170,170,170,254,7,7,7,
+  8,1,1,254,170,254,170,254,170,254,7,7,7,8,1,1,
+  254,166,146,202,166,146,254,7,7,7,8,1,1,254,202,146,
+  166,202,146,254,7,7,7,8,1,1,254,170,214,170,214,170,
+  254,4,4,4,8,2,4,240,240,240,240,4,4,4,8,2,
+  4,240,144,144,240,7,4,4,8,1,4,254,254,254,254,7,
+  4,4,8,1,4,254,130,130,254,4,7,7,8,2,2,240,
+  240,240,240,240,240,240,4,7,7,8,2,2,240,144,144,144,
+  144,144,240,8,3,3,8,0,4,63,126,252,8,3,3,8,
+  0,4,63,66,252,6,6,6,8,1,3,48,48,120,120,252,
+  252,6,6,6,8,1,3,48,48,72,72,132,252,6,3,3,
+  8,1,3,48,120,252,6,3,3,8,1,3,48,72,252,6,
+  6,6,8,1,3,192,240,252,252,240,192,6,6,6,8,1,
+  3,192,176,140,140,176,192,4,4,4,8,2,4,192,240,240,
+  192,4,4,4,8,2,4,192,176,176,192,6,5,5,8,1,
+  3,192,240,252,240,192,6,5,5,8,1,3,192,176,140,176,
+  192,6,6,6,8,1,3,252,252,120,120,48,48,6,6,6,
+  8,1,3,252,132,72,72,48,48,6,3,3,8,1,3,252,
+  120,48,6,3,3,8,1,3,252,72,48,6,6,6,8,1,
+  3,12,60,252,252,60,12,6,6,6,8,1,3,12,52,196,
+  196,52,12,4,4,4,8,2,4,48,240,240,48,4,4,4,
+  8,2,4,48,208,208,48,6,5,5,8,1,3,12,60,252,
+  60,12,6,5,5,8,1,3,12,52,196,52,12,7,7,7,
+  8,1,2,16,56,124,254,124,56,16,7,7,7,8,1,2,
+  16,40,68,130,68,40,16,7,7,7,8,1,2,16,40,84,
+  186,84,40,16,7,7,7,8,1,2,56,68,178,186,154,68,
+  56,6,10,10,8,1,1,48,48,72,72,132,132,72,72,48,
+  48,7,7,7,8,1,2,56,68,130,130,130,68,56,7,7,
+  7,8,1,2,40,0,130,0,130,0,40,7,7,7,8,1,
+  2,56,108,170,170,170,108,56,7,7,7,8,1,2,56,68,
+  146,170,146,68,56,7,7,7,8,1,2,56,124,254,254,254,
+  124,56,7,7,7,8,1,2,56,100,226,226,226,100,56,7,
+  7,7,8,1,2,56,76,142,142,142,76,56,7,7,7,8,
+  1,2,56,68,130,130,254,124,56,7,7,7,8,1,2,56,
+  124,254,130,130,68,56,7,7,7,8,1,2,56,92,158,158,
+  130,68,56,7,7,7,8,1,2,56,76,142,142,254,124,56,
+  4,7,7,8,1,2,48,112,240,240,240,112,48,4,7,7,
+  8,4,2,192,224,240,240,240,224,192,8,16,16,8,0,254,
+  255,255,255,255,255,255,231,195,195,231,255,255,255,255,255,255,
+  8,16,16,8,0,254,255,255,255,255,255,231,219,189,189,219,
+  231,255,255,255,255,255,8,8,8,8,0,6,255,255,255,255,
+  255,231,219,189,8,8,8,8,0,254,189,219,231,255,255,255,
+  255,255,4,4,4,8,1,5,48,64,128,128,4,4,4,8,
+  4,5,192,32,16,16,4,4,4,8,4,2,16,16,32,192,
+  4,4,4,8,1,2,128,128,64,48,7,4,4,8,1,5,
+  56,68,130,130,7,4,4,8,1,2,130,130,68,56,6,6,
+  6,8,1,255,4,12,28,60,124,252,6,6,6,8,1,255,
+  128,192,224,240,248,252,6,6,6,8,1,6,252,248,240,224,
+  192,128,6,6,6,8,1,6,252,124,60,28,12,4,5,5,
+  5,8,1,2,112,136,136,136,112,6,6,6,8,1,3,252,
+  228,228,228,228,252,6,6,6,8,1,3,252,156,156,156,156,
+  252,6,6,6,8,1,3,252,244,228,196,132,252,6,6,6,
+  8,1,3,252,132,140,156,188,252,7,6,6,8,1,3,254,
+  146,146,146,146,254,7,7,7,8,1,2,16,40,40,68,84,
+  130,254,6,6,6,8,1,2,48,48,104,104,228,252,6,7,
+  7,8,1,2,48,48,88,88,156,156,252,8,8,8,8,0,
+  2,60,66,129,129,129,129,66,60,6,6,6,8,1,0,252,
+  164,228,132,132,252,6,6,6,8,1,0,252,132,132,228,164,
+  252,6,6,6,8,1,0,252,132,132,156,148,252,6,6,6,
+  8,1,0,252,148,156,132,132,252,8,8,8,8,0,0,60,
+  82,145,241,129,129,66,60,8,8,8,8,0,0,60,66,129,
+  129,241,145,82,60,8,8,8,8,0,0,60,66,129,129,143,
+  137,74,60,8,8,8,8,0,0,60,74,137,143,129,129,66,
+  60,6,6,6,8,1,6,252,136,144,160,192,128,6,6,6,
+  8,1,6,252,68,36,20,12,4,6,6,6,8,1,255,128,
+  192,160,144,136,252,6,6,6,8,1,255,252,132,132,132,132,
+  252,6,6,6,8,1,255,252,252,252,252,252,252,4,4,4,
+  8,2,0,240,144,144,240,4,4,4,8,2,0,240,240,240,
+  240,6,6,6,8,1,255,4,12,20,36,68,252};
 /*
-  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
-  Copyright: 
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
   Capital A Height: 10, '1' Height: 14
-  Calculated Max Values w=16 h=16 x= 4 y= 5 dx=16 dy= 0 ascent=14 len=32
+  Calculated Max Values w=16 h=16 x= 5 y= 5 dx=16 dy= 0 ascent=14 len=32
   Font Bounding box     w=16 h=16 x= 0 y=-2
   Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
   Pure Font   ascent =10 descent=-1
@@ -82370,8 +86315,8 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_67_75[3556] U8G_SECTION(".progmem.u8g_
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[7240] U8G_SECTION(".progmem.u8g_font_unifont_72_73") = {
-  0,16,16,0,254,10,4,144,6,240,0,255,255,14,254,14,
+const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[7568] U8G_FONT_SECTION("u8g_font_unifont_72_73") = {
+  0,16,16,0,254,10,5,238,9,116,0,255,255,14,254,14,
   255,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
   0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128,
   0,0,1,128,0,85,85,14,5,10,16,1,4,115,36,132,
@@ -82381,15 +86326,15 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[7240] U8G_SECTION(".progmem.u8g_
   144,244,144,132,144,243,16,14,5,10,16,1,4,244,152,132,
   164,246,164,133,172,244,156,13,5,10,16,1,4,99,72,148,
   80,244,96,148,80,147,72,14,5,10,16,1,4,231,160,148,
-  32,231,160,148,32,231,188,10,5,10,16,1,4,241,192,138,
-  0,241,128,136,64,243,128,11,5,10,16,1,4,139,224,136,
-  128,248,128,136,128,136,128,11,5,10,16,1,4,131,224,130,
-  0,131,224,130,0,250,0,11,5,10,16,1,4,139,224,136,
-  128,136,128,80,128,32,128,11,5,10,16,1,4,251,224,130,
-  0,251,224,130,0,130,0,11,5,10,16,1,4,123,192,130,
-  32,131,192,130,64,122,32,11,5,10,16,1,4,121,192,130,
-  32,114,32,10,32,241,192,11,5,10,16,1,4,123,224,128,
-  128,112,128,8,128,243,224,12,5,10,16,1,4,228,112,148,
+  32,231,160,148,32,231,188,10,5,10,16,3,4,241,192,138,
+  0,241,128,136,64,243,128,11,5,10,16,2,4,139,224,136,
+  128,248,128,136,128,136,128,11,5,10,16,2,4,131,224,130,
+  0,131,224,130,0,250,0,11,5,10,16,2,4,139,224,136,
+  128,136,128,80,128,32,128,11,5,10,16,2,4,251,224,130,
+  0,251,224,130,0,130,0,11,5,10,16,2,4,123,192,130,
+  32,131,192,130,64,122,32,11,5,10,16,2,4,121,192,130,
+  32,114,32,10,32,241,192,11,5,10,16,2,4,123,224,128,
+  128,112,128,8,128,243,224,12,5,10,16,2,4,228,112,148,
   64,148,112,148,64,231,112,13,5,10,16,1,4,227,16,148,
   48,148,16,148,16,227,56,13,5,10,16,1,4,227,48,148,
   8,148,16,148,32,227,56,13,5,10,16,1,4,227,48,148,
@@ -82398,435 +86343,456 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[7240] U8G_SECTION(".progmem.u8g_
   168,212,176,183,168,148,164,14,5,10,16,1,4,104,164,133,
   52,98,44,18,36,226,36,13,5,10,16,1,4,247,112,130,
   72,242,112,130,72,242,112,13,5,10,16,1,4,102,72,137,
-  104,143,88,137,72,105,72,11,5,10,16,1,4,250,32,131,
+  104,143,88,137,72,105,72,11,5,10,16,2,4,250,32,131,
   96,250,160,130,32,250,32,14,5,10,16,1,4,116,184,132,
   164,100,184,20,164,227,56,14,5,10,16,1,4,243,156,132,
-  32,243,32,128,160,247,28,9,5,10,16,1,4,243,128,132,
-  0,243,0,128,128,135,0,9,5,10,16,1,4,115,128,132,
-  0,179,0,144,128,119,0,9,5,10,16,1,4,227,128,148,
-  0,227,0,160,128,151,0,9,5,10,16,1,4,147,128,148,
+  32,243,32,128,160,247,28,9,5,10,16,3,4,243,128,132,
+  0,243,0,128,128,135,0,9,5,10,16,3,4,115,128,132,
+  0,179,0,144,128,119,0,9,5,10,16,3,4,227,128,148,
+  0,227,0,160,128,151,0,9,5,10,16,3,4,147,128,148,
   0,147,0,144,128,103,0,9,5,10,16,1,4,119,0,132,
   128,103,0,20,0,228,0,14,5,10,16,1,4,231,160,148,
   32,151,160,148,32,231,188,6,10,10,8,1,0,40,48,32,
   96,184,36,36,36,36,56,6,2,2,8,1,0,132,252,6,
   9,9,8,1,1,144,208,176,144,0,32,32,32,60,7,7,
   7,8,1,2,2,20,42,84,168,80,128,6,11,11,8,1,
-  0,120,132,132,128,64,32,16,16,0,16,16,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  5,10,10,8,2,0,56,40,40,40,32,32,160,160,160,224,
-  5,10,10,8,2,0,8,8,8,8,8,248,136,136,136,136,
-  5,10,10,8,2,0,136,136,136,136,136,248,32,32,32,32,
-  5,10,10,8,2,0,32,32,32,32,32,248,136,136,136,136,
-  5,10,10,8,2,0,248,168,168,168,32,32,168,168,168,248,
-  5,5,5,8,2,5,136,216,168,216,136,6,8,8,8,1,
-  1,28,220,220,192,192,220,220,28,8,10,10,8,0,0,3,
-  3,3,27,24,24,216,192,192,192,7,10,10,8,1,0,14,
-  174,174,160,160,160,160,160,160,160,7,9,9,8,1,0,218,
-  218,218,218,218,218,218,218,218,8,10,10,8,0,0,160,160,
-  80,40,40,20,20,10,5,5,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,15,15,30,16,
-  0,255,7,192,24,48,32,8,65,4,67,4,133,2,129,2,
-  129,2,129,2,129,2,65,4,71,196,32,8,24,48,7,192,
-  15,15,30,16,0,255,7,192,24,48,32,8,71,196,72,36,
-  128,34,128,34,128,194,131,2,132,2,72,36,79,228,32,8,
+  0,120,132,132,128,64,32,16,16,0,16,16,14,14,28,16,
+  1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252,
+  255,252,195,12,251,236,195,220,223,188,195,188,255,252,14,14,
+  28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236,
+  255,252,255,252,195,156,251,108,195,156,223,108,195,156,255,252,
+  14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236,
+  195,236,255,252,255,252,195,156,251,108,195,140,223,236,195,156,
+  255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12,
+  223,236,195,236,255,252,255,252,195,12,251,108,195,12,223,108,
+  195,108,255,252,14,14,28,16,1,255,255,252,195,108,251,108,
+  195,12,223,236,195,236,255,252,255,252,195,28,251,108,195,28,
+  223,108,195,28,255,252,14,14,28,16,1,255,255,252,195,108,
+  251,108,195,12,223,236,195,236,255,252,255,252,195,140,251,124,
+  195,124,223,124,195,140,255,252,14,14,28,16,1,255,255,252,
+  195,108,251,108,195,12,223,236,195,236,255,252,255,252,195,28,
+  251,108,195,108,223,108,195,28,255,252,14,14,28,16,1,255,
+  255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252,
+  195,12,251,124,195,28,223,124,195,12,255,252,14,14,28,16,
+  1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252,
+  255,252,195,12,251,124,195,28,223,124,195,124,255,252,14,14,
+  28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236,
+  255,252,255,252,199,156,251,108,227,108,251,108,199,156,255,252,
+  14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236,
+  195,236,255,252,255,252,199,220,251,156,227,220,251,220,199,140,
+  255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12,
+  223,236,195,236,255,252,255,252,199,12,251,236,227,12,251,124,
+  199,12,255,252,14,14,28,16,1,255,255,252,195,108,251,108,
+  195,12,223,236,195,236,255,252,255,252,199,28,251,236,227,140,
+  251,236,199,28,255,252,14,14,28,16,1,255,255,252,195,108,
+  251,108,195,12,223,236,195,236,255,252,255,252,199,108,251,108,
+  227,12,251,236,199,236,255,252,14,14,28,16,1,255,255,252,
+  195,108,251,108,195,12,223,236,195,236,255,252,255,252,199,12,
+  251,124,227,12,251,236,199,12,255,252,14,14,28,16,1,255,
+  255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252,
+  199,156,251,124,227,28,251,108,199,156,255,252,14,14,28,16,
+  1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252,
+  255,252,199,12,251,236,227,220,251,188,199,188,255,252,14,14,
+  28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236,
+  255,252,255,252,199,156,251,108,227,156,251,108,199,156,255,252,
+  14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236,
+  195,236,255,252,255,252,199,156,251,108,227,140,251,236,199,156,
+  255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12,
+  223,236,195,236,255,252,255,252,199,12,251,108,227,12,251,108,
+  199,108,255,252,14,14,28,16,1,255,255,252,195,108,251,108,
+  195,12,223,236,195,236,255,252,255,252,199,28,251,108,227,28,
+  251,108,199,28,255,252,14,14,28,16,1,255,255,252,195,108,
+  251,108,195,12,223,236,195,236,255,252,255,252,199,140,251,124,
+  227,124,251,124,199,140,255,252,14,14,28,16,1,255,255,252,
+  195,108,251,108,195,12,223,236,195,236,255,252,255,252,199,28,
+  251,108,227,108,251,108,199,28,255,252,14,14,28,16,1,255,
+  255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252,
+  199,12,251,124,227,28,251,124,199,12,255,252,14,14,28,16,
+  1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252,
+  255,252,199,12,251,124,227,28,251,124,199,124,255,252,5,10,
+  10,8,2,0,56,40,40,40,32,32,160,160,160,224,5,10,
+  10,8,2,0,8,8,8,8,8,248,136,136,136,136,5,10,
+  10,8,2,0,136,136,136,136,136,248,32,32,32,32,5,10,
+  10,8,2,0,32,32,32,32,32,248,136,136,136,136,5,10,
+  10,8,2,0,248,168,168,168,32,32,168,168,168,248,5,5,
+  5,8,2,5,136,216,168,216,136,6,8,8,8,1,1,28,
+  220,220,192,192,220,220,28,8,10,10,8,0,0,3,3,3,
+  27,24,24,216,192,192,192,7,10,10,8,1,0,14,174,174,
+  160,160,160,160,160,160,160,7,9,9,8,1,0,218,218,218,
+  218,218,218,218,218,218,8,10,10,8,0,0,160,160,80,40,
+  40,20,20,10,5,5,14,14,28,16,1,255,255,252,195,108,
+  251,108,195,12,223,236,195,236,255,252,255,252,219,28,219,108,
+  195,28,251,108,251,28,255,252,14,14,28,16,1,255,255,252,
+  195,108,251,108,195,12,223,236,195,236,255,252,255,252,219,140,
+  219,124,195,124,251,124,251,140,255,252,14,14,28,16,1,255,
+  255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252,
+  219,28,219,108,195,108,251,108,251,28,255,252,14,14,28,16,
+  1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252,
+  255,252,219,12,219,124,195,28,251,124,251,12,255,252,14,14,
+  28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236,
+  255,252,255,252,219,12,219,124,195,28,251,124,251,124,255,252,
+  14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236,
+  195,236,255,252,255,252,195,156,223,108,195,108,251,108,195,156,
+  255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12,
+  223,236,195,236,255,252,255,252,195,220,223,156,195,220,251,220,
+  195,140,255,252,14,14,28,16,1,255,255,252,195,108,251,108,
+  195,12,223,236,195,236,255,252,255,252,195,12,223,236,195,12,
+  251,124,195,12,255,252,14,14,28,16,1,255,255,252,195,108,
+  251,108,195,12,223,236,195,236,255,252,255,252,195,28,223,236,
+  195,140,251,236,195,28,255,252,14,14,28,16,1,255,255,252,
+  195,108,251,108,195,12,223,236,195,236,255,252,255,252,195,108,
+  223,108,195,12,251,236,195,236,255,252,14,14,28,16,1,255,
+  255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252,
+  195,12,223,124,195,12,251,236,195,12,255,252,14,14,28,16,
+  1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252,
+  255,252,195,156,223,124,195,28,251,108,195,156,255,252,14,14,
+  28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236,
+  255,252,255,252,195,12,223,236,195,220,251,188,195,188,255,252,
+  14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236,
+  195,236,255,252,255,252,195,156,223,108,195,156,251,108,195,156,
+  255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12,
+  223,236,195,236,255,252,255,252,195,156,223,108,195,140,251,236,
+  195,156,255,252,14,14,28,16,1,255,255,252,195,108,251,108,
+  195,12,223,236,195,236,255,252,255,252,195,12,223,108,195,12,
+  251,108,195,108,255,252,14,14,28,16,1,255,255,252,195,108,
+  251,108,195,12,223,236,195,236,255,252,255,252,195,28,223,108,
+  195,28,251,108,195,28,255,252,14,14,28,16,1,255,255,252,
+  195,108,251,108,195,12,223,236,195,236,255,252,255,252,195,140,
+  223,124,195,124,251,124,195,140,255,252,14,14,28,16,1,255,
+  255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252,
+  195,28,223,108,195,108,251,108,195,28,255,252,14,14,28,16,
+  1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252,
+  255,252,195,12,223,124,195,28,251,124,195,12,255,252,14,14,
+  28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236,
+  255,252,255,252,195,12,223,124,195,28,251,124,195,124,255,252,
+  15,15,30,16,0,255,7,192,24,48,32,8,65,4,67,4,
+  133,2,129,2,129,2,129,2,129,2,65,4,71,196,32,8,
   24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
-  71,196,72,36,128,34,128,34,128,194,128,34,128,34,72,36,
+  67,132,68,68,132,66,128,66,128,130,129,2,130,2,68,4,
   71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
-  24,48,32,8,64,68,64,196,129,66,130,66,132,66,136,66,
-  159,242,64,68,65,244,32,8,24,48,7,192,15,15,30,16,
-  0,255,7,192,24,48,32,8,79,228,72,4,136,2,143,194,
-  128,34,128,34,128,34,72,36,71,196,32,8,24,48,7,192,
-  15,15,30,16,0,255,7,192,24,48,32,8,71,196,72,36,
-  136,2,136,2,143,194,136,34,136,34,72,36,71,196,32,8,
+  24,48,32,8,67,132,68,68,132,66,128,66,129,130,128,66,
+  132,66,68,68,67,132,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,64,132,65,132,130,130,132,130,
+  136,130,143,194,128,130,64,132,64,132,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,71,196,68,4,
+  132,2,132,2,135,130,128,66,128,66,68,68,67,132,32,8,
   24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
-  79,228,72,36,128,66,128,66,128,130,129,2,129,2,66,4,
-  66,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
-  24,48,32,8,71,196,72,36,136,34,136,34,135,194,136,34,
-  136,34,72,36,71,196,32,8,24,48,7,192,15,15,30,16,
-  0,255,7,192,24,48,32,8,71,196,72,36,136,34,136,34,
-  135,226,128,34,128,34,72,36,71,196,32,8,24,48,7,192,
-  15,15,30,16,0,255,7,192,24,48,32,8,72,228,89,20,
-  137,18,137,18,137,18,137,18,137,18,73,20,92,228,32,8,
-  24,48,7,192,14,14,28,16,1,255,31,224,32,16,72,72,
-  152,196,136,68,136,68,136,68,136,68,136,68,136,68,156,228,
-  64,8,32,16,31,224,14,14,28,16,1,255,31,224,32,16,
-  73,200,154,36,139,36,136,36,136,196,137,4,138,4,138,20,
-  159,228,64,8,32,16,31,224,14,14,28,16,1,255,31,224,
-  32,16,73,200,154,36,136,36,136,36,136,196,136,36,138,36,
-  138,36,157,196,64,8,32,16,31,224,14,14,28,16,1,255,
-  31,224,32,16,72,72,152,196,136,196,137,68,137,68,138,68,
-  143,244,136,68,156,228,64,8,32,16,31,224,14,14,28,16,
-  1,255,31,224,32,16,75,40,154,196,138,4,138,196,139,36,
-  136,36,136,36,138,36,157,196,64,8,32,16,31,224,14,14,
-  28,16,1,255,31,224,32,16,72,200,153,36,138,4,138,196,
-  139,36,138,36,138,36,138,36,157,196,64,8,32,16,31,224,
-  14,14,28,16,1,255,31,224,32,16,75,232,154,36,136,36,
-  136,68,136,132,136,132,136,132,136,132,157,196,64,8,32,16,
-  31,224,14,14,28,16,1,255,31,224,32,16,73,200,154,36,
-  138,36,138,36,137,196,138,36,138,36,138,36,157,196,64,8,
-  32,16,31,224,14,14,28,16,1,255,31,224,32,16,73,200,
-  154,36,138,36,138,36,137,228,136,36,136,36,138,36,157,196,
-  64,8,32,16,31,224,14,14,28,16,1,255,31,224,32,16,
-  88,200,165,36,133,36,133,36,137,36,145,36,161,36,165,36,
-  188,196,64,8,32,16,31,224,15,14,28,16,0,255,64,4,
-  129,2,129,2,129,2,129,2,129,2,129,2,129,2,129,2,
-  129,2,129,2,129,2,129,2,64,4,15,14,28,16,0,255,
-  64,4,135,130,136,66,136,66,128,66,128,66,128,66,128,130,
-  131,2,132,2,136,66,136,66,143,194,64,4,15,14,28,16,
-  0,255,64,4,135,130,136,66,136,66,128,66,128,130,131,2,
-  128,130,128,66,128,66,136,66,136,66,135,130,64,4,15,14,
-  28,16,0,255,65,132,130,130,130,130,130,130,132,130,132,130,
-  136,130,136,130,143,226,128,130,128,130,128,130,128,130,64,4,
-  15,14,28,16,0,255,64,4,143,194,136,2,136,2,136,2,
-  139,130,140,66,136,66,128,66,128,66,136,66,136,66,135,130,
-  64,4,15,14,28,16,0,255,64,4,135,130,136,66,136,66,
-  136,2,136,2,139,130,140,66,136,66,136,66,136,66,136,66,
-  135,130,64,4,15,14,28,16,0,255,64,4,143,226,136,34,
-  136,34,128,66,128,130,128,130,128,130,129,2,129,2,129,2,
-  129,2,129,2,64,4,15,14,28,16,0,255,64,4,135,130,
-  136,66,136,66,136,66,136,66,135,130,136,66,136,66,136,66,
-  136,66,136,66,135,130,64,4,15,14,28,16,0,255,64,4,
-  135,130,136,66,136,66,136,66,136,66,136,194,135,66,128,66,
-  128,66,136,66,136,66,135,130,64,4,15,14,28,16,0,255,
-  64,4,136,226,137,18,137,18,137,18,137,18,137,18,137,18,
-  137,18,137,18,137,18,137,18,136,226,64,4,15,14,28,16,
-  0,255,64,4,136,34,136,34,136,34,136,34,136,34,136,34,
-  136,34,136,34,136,34,136,34,136,34,136,34,64,4,15,14,
-  28,16,0,255,64,4,145,226,146,18,146,18,144,18,144,18,
-  144,34,144,194,145,2,146,2,146,18,146,18,147,242,64,4,
-  15,14,28,16,0,255,64,4,145,226,146,18,146,18,144,18,
-  144,34,144,194,144,34,144,18,144,18,146,18,146,18,145,226,
-  64,4,15,14,28,16,0,255,64,4,144,98,144,162,144,162,
-  144,162,145,34,145,34,146,34,146,34,147,250,144,34,144,34,
-  144,34,64,4,15,14,28,16,0,255,64,4,147,242,146,2,
-  146,2,146,2,146,226,147,18,146,18,144,18,144,18,146,18,
-  146,18,145,226,64,4,15,14,28,16,0,255,64,4,145,226,
-  146,18,146,18,146,2,146,2,146,226,147,18,146,18,146,18,
-  146,18,146,18,145,226,64,4,15,14,28,16,0,255,64,4,
-  147,242,146,18,146,18,144,34,144,66,144,66,144,66,144,130,
-  144,130,144,130,144,130,144,130,64,4,15,14,28,16,0,255,
-  64,4,145,226,146,18,146,18,146,18,146,18,145,226,146,18,
-  146,18,146,18,146,18,146,18,145,226,64,4,15,14,28,16,
-  0,255,64,4,145,226,146,18,146,18,146,18,146,18,146,50,
-  145,210,144,18,144,18,146,18,146,18,145,226,64,4,15,14,
-  28,16,0,255,64,4,156,114,162,138,162,138,130,138,130,138,
-  132,138,136,138,144,138,160,138,162,138,162,138,190,114,64,4,
-  6,14,14,16,4,255,32,96,160,32,32,32,32,32,32,32,
-  32,32,32,36,9,14,28,16,3,255,120,0,132,0,132,0,
-  4,0,4,0,4,0,8,0,48,0,64,0,128,0,128,0,
-  132,0,132,0,252,128,9,14,28,16,3,255,120,0,132,0,
-  132,0,4,0,4,0,8,0,48,0,8,0,4,0,4,0,
-  132,0,132,0,132,0,120,128,10,15,30,16,3,254,24,0,
-  40,0,40,0,40,0,72,0,72,0,72,0,136,0,136,0,
-  254,0,8,0,8,0,8,0,8,64,8,0,9,14,28,16,
-  3,255,252,0,128,0,128,0,128,0,128,0,128,0,184,0,
-  196,0,132,0,4,0,4,0,132,0,132,0,120,128,9,14,
-  28,16,3,255,120,0,132,0,132,0,132,0,128,0,128,0,
-  184,0,196,0,132,0,132,0,132,0,132,0,132,0,120,128,
-  10,14,28,16,3,255,254,0,130,0,130,0,4,0,8,0,
-  8,0,8,0,16,0,16,0,16,0,16,0,16,0,16,0,
-  16,64,9,14,28,16,3,255,120,0,132,0,132,0,132,0,
-  132,0,72,0,48,0,72,0,132,0,132,0,132,0,132,0,
-  132,0,120,128,9,14,28,16,3,255,120,0,132,0,132,0,
-  132,0,132,0,132,0,140,0,116,0,4,0,4,0,132,0,
-  132,0,132,0,120,128,13,14,28,16,0,255,35,192,100,32,
-  164,32,36,32,36,32,36,32,36,32,36,32,36,32,36,32,
-  36,32,36,32,36,32,35,200,12,14,28,16,0,255,32,128,
-  97,128,162,128,32,128,32,128,32,128,32,128,32,128,32,128,
-  32,128,32,128,32,128,32,128,32,144,14,14,28,16,0,255,
-  35,192,100,32,164,32,32,32,32,32,32,32,32,64,33,128,
-  34,0,36,0,36,0,36,32,36,32,39,228,14,14,28,16,
-  0,255,35,192,100,32,164,32,32,32,32,32,32,64,33,128,
-  32,64,32,32,32,32,36,32,36,32,36,32,35,196,13,14,
-  28,16,0,255,32,192,97,64,161,64,33,64,34,64,34,64,
-  34,64,36,64,36,64,39,240,32,64,32,64,32,64,32,72,
-  14,14,28,16,0,255,39,224,100,0,164,0,36,0,36,0,
-  36,0,37,192,38,32,36,32,32,32,32,32,36,32,36,32,
-  35,196,14,14,28,16,0,255,35,192,100,32,164,32,36,32,
-  36,0,36,0,37,192,38,32,36,32,36,32,36,32,36,32,
-  36,32,35,196,14,14,28,16,0,255,39,240,100,16,164,16,
-  32,32,32,64,32,64,32,64,32,128,32,128,32,128,32,128,
-  32,128,32,128,32,132,14,14,28,16,0,255,35,192,100,32,
-  164,32,36,32,36,32,34,64,33,128,34,64,36,32,36,32,
-  36,32,36,32,36,32,35,196,14,14,28,16,0,255,35,192,
-  100,32,164,32,36,32,36,32,36,32,36,96,35,160,32,32,
-  32,32,36,32,36,32,36,32,35,196,13,14,28,16,1,255,
-  113,192,138,32,138,32,10,32,10,32,10,32,50,32,66,32,
-  130,32,130,32,130,32,138,32,138,32,249,200,14,14,28,16,
-  1,255,48,48,64,8,128,4,128,4,135,132,136,68,128,68,
-  135,196,136,68,136,68,135,180,128,4,64,8,48,48,14,14,
-  28,16,1,255,48,48,72,8,152,4,136,4,139,132,140,68,
-  136,36,136,36,136,36,140,68,155,132,128,4,64,8,48,48,
-  14,14,28,16,1,255,48,48,64,8,128,4,128,4,135,132,
-  136,68,144,4,144,4,144,36,136,68,135,132,128,4,64,8,
-  48,48,14,14,28,16,1,255,48,48,64,72,128,196,128,68,
-  135,68,136,196,144,68,144,68,144,68,136,196,135,100,128,4,
-  64,8,48,48,14,14,28,16,1,255,48,48,64,8,128,4,
-  128,4,143,132,144,68,144,68,159,196,144,4,144,68,143,132,
-  128,4,64,8,48,48,14,14,28,16,1,255,48,48,65,136,
-  130,196,130,4,143,132,130,4,130,4,130,4,130,4,130,4,
-  135,4,128,4,64,8,48,48,14,14,28,16,1,255,48,48,
-  64,8,128,4,128,100,135,132,136,68,136,68,159,132,144,4,
-  143,196,144,36,144,36,79,200,48,48,14,14,28,16,1,255,
-  48,48,72,8,152,4,136,4,137,196,142,68,136,68,136,68,
-  136,68,136,68,156,228,128,4,64,8,48,48,14,14,28,16,
-  1,255,49,48,65,8,128,4,128,4,129,4,131,4,129,4,
-  129,4,129,4,129,4,131,132,128,4,64,8,48,48,14,14,
-  28,16,1,255,49,48,65,8,128,4,128,4,129,4,131,4,
-  129,4,129,4,129,4,129,4,129,4,137,4,70,8,48,48,
-  14,14,28,16,1,255,48,48,72,8,152,4,136,4,137,196,
-  136,132,137,4,143,4,137,132,136,196,156,228,128,4,64,8,
-  48,48,14,14,28,16,1,255,48,48,66,8,134,4,130,4,
-  130,4,130,4,130,4,130,4,130,4,130,4,135,4,128,4,
-  64,8,48,48,14,14,28,16,1,255,48,48,64,8,128,4,
-  128,4,150,196,187,68,146,68,146,68,146,68,146,68,187,100,
-  128,4,64,8,48,48,14,14,28,16,1,255,48,48,64,8,
-  128,4,128,4,137,196,158,68,136,68,136,68,136,68,136,68,
-  156,228,128,4,64,8,48,48,14,14,28,16,1,255,48,48,
-  64,8,128,4,128,4,143,132,144,68,144,68,144,68,144,68,
-  144,68,143,132,128,4,64,8,48,48,14,14,28,16,1,255,
-  48,48,64,8,128,4,128,4,139,132,156,68,136,36,136,36,
-  136,36,140,68,139,132,136,4,92,8,48,48,14,14,28,16,
-  1,255,48,48,64,8,128,4,128,4,135,68,136,196,144,68,
-  144,68,144,68,136,196,135,68,128,68,64,232,48,48,14,14,
-  28,16,1,255,48,48,64,8,128,4,128,4,137,196,158,100,
-  136,4,136,4,136,4,136,4,156,4,128,4,64,8,48,48,
-  14,14,28,16,1,255,48,48,64,8,128,4,128,4,135,196,
-  136,36,136,4,135,196,128,36,136,36,135,196,128,4,64,8,
-  48,48,14,14,28,16,1,255,48,48,64,8,128,4,130,4,
-  130,4,143,132,130,4,130,4,130,4,130,68,131,132,128,4,
-  64,8,48,48,14,14,28,16,1,255,48,48,64,8,128,4,
-  128,4,136,68,152,196,136,68,136,68,136,68,136,196,143,100,
-  128,4,64,8,48,48,14,14,28,16,1,255,48,48,64,8,
-  128,4,128,4,156,116,136,36,132,68,132,68,130,132,130,132,
-  129,4,128,4,64,8,48,48,14,14,28,16,1,255,48,48,
-  64,8,128,4,128,4,191,116,146,36,146,36,137,68,139,68,
-  132,132,132,132,128,4,64,8,48,48,14,14,28,16,1,255,
-  48,48,64,8,128,4,128,4,156,228,136,68,132,132,131,4,
-  132,132,136,68,156,228,128,4,64,8,48,48,14,14,28,16,
-  1,255,48,48,64,8,128,4,128,4,184,228,144,68,136,132,
-  133,4,130,4,130,4,135,4,128,4,64,8,48,48,14,14,
-  28,16,1,255,48,48,64,8,128,4,128,4,135,228,132,68,
-  136,132,129,4,130,4,132,36,143,196,128,4,64,8,48,48,
-  15,15,30,16,0,255,7,192,24,48,33,8,66,132,68,68,
-  132,66,132,66,135,194,132,66,132,66,68,68,76,100,32,8,
+  65,132,66,4,132,2,132,2,135,130,132,66,132,66,68,68,
+  67,132,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,8,71,196,64,68,128,66,128,130,128,130,128,130,
+  129,2,65,4,65,4,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,66,
+  131,130,132,66,132,66,68,68,67,132,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,67,132,68,68,
+  132,66,132,66,131,194,128,66,128,66,64,132,67,4,32,8,
   24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
-  79,132,68,68,132,34,132,66,135,130,132,66,132,34,68,68,
-  79,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
-  24,48,32,8,67,196,68,36,132,2,132,2,132,2,132,2,
-  132,2,68,36,67,196,32,8,24,48,7,192,15,15,30,16,
-  0,255,7,192,24,48,32,8,79,132,68,68,132,34,132,34,
-  132,34,132,34,132,34,68,68,79,132,32,8,24,48,7,192,
-  15,15,30,16,0,255,7,192,24,48,32,8,79,228,68,36,
-  132,2,132,2,135,130,132,2,132,2,68,36,79,228,32,8,
+  64,4,68,100,140,146,148,146,132,146,132,146,132,146,95,100,
+  64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,8,64,4,68,68,140,194,149,66,132,66,132,66,
+  132,66,95,244,64,4,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,64,4,68,100,140,146,148,18,
+  132,34,132,66,132,130,95,244,64,4,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,64,4,68,100,
+  140,146,148,18,132,34,132,18,132,146,95,100,64,4,32,8,
   24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
-  79,228,68,36,132,2,132,2,135,130,132,2,132,2,68,4,
-  78,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
-  24,48,32,8,67,196,68,36,132,2,132,2,132,226,132,34,
-  132,34,68,100,67,164,32,8,24,48,7,192,15,15,30,16,
-  0,255,7,192,24,48,32,8,78,228,68,68,132,66,132,66,
-  135,194,132,66,132,66,68,68,78,228,32,8,24,48,7,192,
-  15,15,30,16,0,255,7,192,24,48,32,8,67,132,65,4,
-  129,2,129,2,129,2,129,2,129,2,65,4,67,132,32,8,
+  64,4,68,20,140,50,148,82,132,146,132,250,132,18,95,20,
+  64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,8,64,4,68,244,140,130,148,130,132,226,132,18,
+  132,146,95,100,64,4,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,64,4,68,116,140,130,148,130,
+  132,226,132,146,132,146,95,100,64,4,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,64,4,68,244,
+  140,18,148,18,132,34,132,34,132,66,95,68,64,4,32,8,
   24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
-  65,196,64,132,128,130,128,130,128,130,128,130,128,130,72,132,
-  71,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
-  24,48,32,8,78,100,68,68,132,130,133,2,134,2,133,2,
-  132,130,68,68,78,100,32,8,24,48,7,192,15,15,30,16,
-  0,255,7,192,24,48,32,8,78,4,68,4,132,2,132,2,
-  132,2,132,2,132,2,68,36,79,196,32,8,24,48,7,192,
-  15,15,30,16,0,255,7,192,24,48,32,8,76,100,70,196,
-  134,194,133,66,133,66,132,66,132,66,68,68,78,228,32,8,
+  64,4,68,100,140,146,148,146,132,98,132,146,132,146,95,100,
+  64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,8,64,4,68,100,140,146,148,146,132,114,132,18,
+  132,18,95,100,64,4,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,64,4,76,100,146,146,130,146,
+  132,146,136,146,144,146,94,100,64,4,32,8,24,48,7,192,
+  14,12,24,16,1,0,32,16,65,8,67,8,133,4,129,4,
+  129,4,129,4,129,4,129,4,65,8,71,200,32,16,14,12,
+  24,16,1,0,32,16,71,136,72,72,136,68,128,68,129,132,
+  130,4,132,4,136,4,72,8,79,200,32,16,14,12,24,16,
+  1,0,32,16,71,136,72,72,136,68,128,68,131,132,128,68,
+  128,68,136,68,72,72,71,136,32,16,14,12,24,16,1,0,
+  32,16,64,136,65,136,130,132,132,132,136,132,136,132,143,196,
+  128,132,64,136,64,136,32,16,14,12,24,16,1,0,32,16,
+  79,200,72,8,136,4,136,4,143,132,128,68,128,68,128,68,
+  72,72,71,136,32,16,14,12,24,16,1,0,32,16,67,136,
+  68,8,136,4,136,4,143,132,136,68,136,68,136,68,72,72,
+  71,136,32,16,14,12,24,16,1,0,32,16,79,200,64,72,
+  128,68,128,132,128,132,128,132,129,4,129,4,65,8,65,8,
+  32,16,14,12,24,16,1,0,32,16,71,136,72,72,136,68,
+  136,68,135,132,136,68,136,68,136,68,72,72,71,136,32,16,
+  14,12,24,16,1,0,32,16,71,136,72,72,136,68,136,68,
+  135,196,128,68,128,68,128,68,64,136,71,8,32,16,16,12,
+  24,16,0,0,64,2,136,49,152,73,168,133,136,133,136,133,
+  136,133,136,133,136,133,136,73,190,49,64,2,16,12,24,16,
+  0,0,64,2,136,17,152,49,168,81,136,17,136,17,136,17,
+  136,17,136,17,136,17,190,125,64,2,16,12,24,16,0,0,
+  64,2,136,121,152,133,168,133,136,5,136,25,136,33,136,65,
+  136,129,136,129,190,253,64,2,16,12,24,16,0,0,64,2,
+  136,121,152,133,168,133,136,5,136,57,136,5,136,5,136,133,
+  136,133,190,121,64,2,16,12,24,16,0,0,64,2,136,9,
+  152,25,168,41,136,73,136,137,136,137,136,253,136,9,136,9,
+  190,9,64,2,16,12,24,16,0,0,64,2,136,253,152,129,
+  168,129,136,129,136,249,136,5,136,5,136,5,136,133,190,121,
+  64,2,16,12,24,16,0,0,64,2,136,57,152,65,168,129,
+  136,129,136,249,136,133,136,133,136,133,136,133,190,121,64,2,
+  16,12,24,16,0,0,64,2,137,249,152,9,168,9,136,17,
+  136,17,136,17,136,33,136,33,136,33,190,33,64,2,16,12,
+  24,16,0,0,64,2,136,121,152,133,168,133,136,133,136,121,
+  136,133,136,133,136,133,136,133,190,121,64,2,16,12,24,16,
+  0,0,64,2,136,121,152,133,168,133,136,133,136,125,136,5,
+  136,5,136,5,136,9,190,113,64,2,16,12,24,16,0,0,
+  64,2,156,49,162,73,162,133,130,133,132,133,136,133,144,133,
+  160,133,160,73,190,49,64,2,7,10,10,16,5,0,32,96,
+  160,32,32,32,32,32,32,250,8,10,10,16,4,0,120,132,
+  132,4,24,32,64,128,128,253,8,10,10,16,4,0,120,132,
+  132,4,56,4,4,132,132,121,8,10,10,16,4,0,8,24,
+  40,72,136,136,252,8,8,9,8,10,10,16,4,0,252,128,
+  128,128,248,4,4,4,132,121,8,10,10,16,4,0,56,64,
+  128,128,248,132,132,132,132,121,8,10,10,16,4,0,252,4,
+  4,8,8,8,16,16,16,17,8,10,10,16,4,0,120,132,
+  132,132,120,132,132,132,132,121,8,10,10,16,4,0,120,132,
+  132,132,124,4,4,4,8,113,14,10,20,16,1,0,32,192,
+  97,32,162,16,34,16,34,16,34,16,34,16,34,16,33,32,
+  248,196,14,10,20,16,1,0,32,64,96,192,161,64,32,64,
+  32,64,32,64,32,64,32,64,32,64,249,244,14,10,20,16,
+  1,0,33,224,98,16,162,16,32,16,32,96,32,128,33,0,
+  34,0,34,0,251,244,14,10,20,16,1,0,33,224,98,16,
+  162,16,32,16,32,224,32,16,32,16,34,16,34,16,249,228,
+  14,10,20,16,1,0,32,32,96,96,160,160,33,32,34,32,
+  34,32,35,240,32,32,32,32,248,36,14,10,20,16,1,0,
+  35,240,98,0,162,0,34,0,35,224,32,16,32,16,32,16,
+  34,16,249,228,14,10,20,16,1,0,32,224,97,0,162,0,
+  34,0,35,224,34,16,34,16,34,16,34,16,249,228,14,10,
+  20,16,1,0,35,240,96,16,160,16,32,32,32,32,32,32,
+  32,64,32,64,32,64,248,68,14,10,20,16,1,0,33,224,
+  98,16,162,16,34,16,33,224,34,16,34,16,34,16,34,16,
+  249,228,14,10,20,16,1,0,33,224,98,16,162,16,34,16,
+  33,240,32,16,32,16,32,16,32,32,249,196,15,10,20,16,
+  1,0,120,96,132,144,133,8,5,8,25,8,33,8,65,8,
+  129,8,128,144,252,98,14,12,24,16,1,0,32,16,64,8,
+  71,136,136,68,128,68,135,196,136,68,136,68,136,196,71,72,
+  64,8,32,16,14,12,24,16,1,0,40,16,72,8,72,8,
+  139,132,140,68,136,68,136,68,136,68,136,68,76,72,75,136,
+  32,16,14,12,24,16,1,0,32,16,64,8,71,136,136,68,
+  136,4,136,4,136,4,136,4,136,68,71,136,64,8,32,16,
+  14,12,24,16,1,255,32,80,64,72,64,72,135,68,136,196,
+  136,68,136,68,136,68,136,68,72,200,71,72,32,16,14,12,
+  24,16,1,0,32,16,64,8,71,136,136,68,136,68,143,196,
+  136,4,136,4,136,68,71,136,64,8,32,16,14,12,24,16,
+  1,255,33,144,66,8,66,8,130,4,143,132,130,4,130,4,
+  130,4,130,4,66,8,66,8,32,16,14,12,24,16,1,0,
+  32,16,64,72,71,72,136,132,136,132,136,132,135,4,132,4,
+  135,132,72,72,72,72,39,144,14,12,24,16,1,255,40,16,
+  72,8,72,8,139,132,140,68,136,68,136,68,136,68,136,68,
+  72,72,72,72,32,16,13,12,24,16,1,0,34,32,66,16,
+  64,16,134,8,130,8,130,8,130,8,130,8,130,8,66,16,
+  79,144,32,32,13,13,26,16,1,255,32,160,64,144,64,16,
+  129,136,128,136,128,136,128,136,128,136,128,136,64,144,64,144,
+  41,32,6,0,14,12,24,16,1,255,32,16,72,8,72,8,
+  136,132,137,4,138,4,140,4,138,4,137,4,72,136,72,72,
+  32,16,13,12,24,16,1,0,32,32,70,16,66,16,130,8,
+  130,8,130,8,130,8,130,8,130,8,66,16,79,144,32,32,
+  15,12,24,16,1,0,32,8,64,4,78,196,137,34,137,34,
+  137,34,137,34,137,34,137,34,73,36,64,4,32,8,14,12,
+  24,16,1,255,32,16,64,8,75,136,140,68,136,68,136,68,
+  136,68,136,68,136,68,72,72,64,8,32,16,14,12,24,16,
+  1,0,32,16,64,8,71,136,136,68,136,68,136,68,136,68,
+  136,68,136,68,71,136,64,8,32,16,14,12,24,16,1,0,
+  32,16,64,8,75,136,140,68,136,68,136,68,136,68,136,68,
+  140,68,75,136,72,8,40,16,14,12,24,16,1,255,32,16,
+  64,8,71,72,136,196,136,68,136,68,136,68,136,68,136,196,
+  71,72,64,72,32,80,14,12,24,16,1,0,32,16,64,8,
+  75,136,140,68,136,68,136,4,136,4,136,4,136,4,72,8,
+  64,8,32,16,14,12,24,16,1,0,32,16,64,8,71,136,
+  136,68,136,4,134,4,129,132,128,68,136,68,71,136,64,8,
+  32,16,14,12,24,16,1,255,32,16,66,8,66,8,143,132,
+  130,4,130,4,130,4,130,4,130,4,66,8,65,136,32,16,
+  14,12,24,16,1,0,32,16,64,8,72,72,136,68,136,68,
+  136,68,136,68,136,68,136,196,71,72,64,8,32,16,14,12,
+  24,16,1,255,32,16,64,8,72,72,136,68,136,68,132,132,
+  132,132,132,132,131,4,67,8,64,8,32,16,15,12,24,16,
+  1,0,32,8,64,4,72,36,137,34,137,34,137,34,137,34,
+  137,34,137,34,70,196,64,4,32,8,14,12,24,16,1,255,
+  32,16,64,8,72,72,136,68,132,132,131,4,131,4,132,132,
+  136,68,72,72,64,8,32,16,14,12,24,16,1,0,32,16,
+  64,8,72,72,136,68,136,68,136,68,136,68,132,196,131,68,
+  64,72,64,72,39,144,14,12,24,16,1,0,32,16,64,8,
+  79,200,128,68,128,132,129,4,130,4,132,4,136,4,79,200,
+  64,8,32,16,15,15,30,16,0,255,7,192,24,48,32,8,
+  65,4,66,132,130,130,132,66,132,66,135,194,132,66,68,68,
+  68,68,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,8,71,132,68,68,132,66,132,66,135,130,132,66,
+  132,66,68,68,71,132,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,2,
+  132,2,132,2,132,66,68,68,67,132,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,71,4,68,132,
+  132,66,132,66,132,66,132,66,132,66,68,132,71,4,32,8,
   24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
-  76,100,68,68,134,66,134,66,133,66,133,66,132,194,68,196,
-  76,100,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
-  24,48,32,8,67,132,68,68,136,34,136,34,136,34,136,34,
-  136,34,68,68,67,132,32,8,24,48,7,192,15,15,30,16,
-  0,255,7,192,24,48,32,8,79,132,68,68,132,66,132,66,
-  135,130,132,2,132,2,68,4,78,4,32,8,24,48,7,192,
-  15,15,30,16,0,255,7,192,24,48,32,8,67,132,68,68,
-  136,34,136,34,136,34,136,34,137,162,68,68,67,164,32,8,
+  71,196,68,4,132,2,132,2,135,130,132,2,132,2,68,4,
+  71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,8,71,196,68,4,132,2,132,2,135,130,132,2,
+  132,2,68,4,68,4,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,2,
+  133,194,132,66,132,66,68,196,67,68,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,68,68,68,68,
+  132,66,132,66,135,194,132,66,132,66,68,68,68,68,32,8,
   24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
-  79,132,68,68,132,66,132,66,135,130,133,2,132,130,68,68,
-  78,36,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
-  24,48,32,8,67,132,68,68,132,2,132,2,131,130,128,66,
-  128,66,68,68,67,132,32,8,24,48,7,192,15,15,30,16,
-  0,255,7,192,24,48,32,8,79,228,73,36,129,2,129,2,
-  129,2,129,2,129,2,65,4,67,132,32,8,24,48,7,192,
-  15,15,30,16,0,255,7,192,24,48,32,8,78,228,68,68,
-  132,66,132,66,132,66,132,66,132,66,68,68,67,132,32,8,
+  71,196,65,4,129,2,129,2,129,2,129,2,129,2,65,4,
+  71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,8,67,228,64,132,128,130,128,130,128,130,128,130,
+  132,130,68,132,67,4,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,68,68,68,68,132,130,133,2,
+  134,2,133,2,132,130,68,68,68,68,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,68,4,68,4,
+  132,2,132,2,132,2,132,2,132,2,68,4,71,196,32,8,
   24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
-  76,100,68,68,132,66,132,66,130,130,130,130,130,130,65,4,
+  68,68,68,68,134,194,134,194,133,66,133,66,132,66,68,68,
+  68,68,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,8,64,4,68,68,134,66,134,66,133,66,133,66,
+  132,194,68,196,68,68,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,66,
+  132,66,132,66,132,66,68,68,67,132,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,71,132,68,68,
+  132,66,132,66,135,130,132,2,132,2,68,4,68,4,32,8,
+  24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
+  67,132,68,68,132,66,132,66,132,66,132,66,133,66,70,196,
+  67,132,32,104,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,8,71,132,68,68,132,66,132,66,135,130,133,2,
+  132,130,68,132,68,68,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,2,
+  131,130,128,66,132,66,68,68,67,132,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,79,228,65,4,
+  129,2,129,2,129,2,129,2,129,2,65,4,65,4,32,8,
+  24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
+  68,68,68,68,132,66,132,66,132,66,132,66,132,66,68,68,
+  67,132,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,8,72,36,72,36,132,66,132,66,132,66,130,130,
+  130,130,65,4,65,4,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,68,68,68,68,132,66,133,66,
+  133,66,134,194,134,194,68,68,68,68,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,68,68,68,68,
+  130,130,130,130,129,2,130,130,130,130,68,68,68,68,32,8,
+  24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
+  72,36,72,36,132,66,132,66,130,130,129,2,129,2,65,4,
   65,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
-  24,48,32,8,76,100,69,68,133,66,133,66,133,66,133,66,
-  134,194,68,68,68,68,32,8,24,48,7,192,15,15,30,16,
-  0,255,7,192,24,48,32,8,78,228,68,68,132,66,130,130,
-  129,2,130,130,132,66,68,68,78,228,32,8,24,48,7,192,
-  15,15,30,16,0,255,7,192,24,48,32,8,78,228,68,68,
-  132,66,130,130,129,2,129,2,129,2,65,4,67,132,32,8,
+  24,48,32,8,71,196,64,68,128,66,128,130,129,2,130,2,
+  132,2,68,4,71,196,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,64,4,67,132,132,66,128,66,
+  131,194,132,66,132,194,67,68,64,4,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,36,8,68,4,68,4,
+  133,130,134,66,132,66,132,66,132,66,70,68,69,132,32,8,
+  24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
+  64,4,67,132,132,66,132,2,132,2,132,2,132,66,67,132,
+  64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,72,64,68,64,68,131,66,132,194,132,66,132,66,
+  132,66,68,196,67,68,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,64,4,67,132,132,66,132,66,
+  135,194,132,2,132,66,67,132,64,4,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,64,196,65,4,
+  129,2,129,2,135,194,129,2,129,2,65,4,65,4,33,8,
   24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
-  79,228,72,36,128,66,128,130,129,2,130,2,132,2,72,36,
-  79,228,32,8,24,48,7,192,14,14,28,16,1,255,31,224,
-  32,16,64,8,128,4,143,132,144,68,128,68,143,196,144,68,
-  144,68,143,180,64,8,32,16,31,224,14,14,28,16,1,255,
-  31,224,40,16,88,8,136,4,139,132,140,68,136,36,136,36,
-  136,36,140,68,155,132,64,8,32,16,31,224,14,14,28,16,
-  1,255,31,224,32,16,64,8,128,4,135,132,136,68,144,4,
-  144,4,144,4,136,100,135,132,64,8,32,16,31,224,14,14,
-  28,16,1,255,31,224,32,80,64,200,128,68,135,68,136,196,
-  144,68,144,68,144,68,144,68,143,164,64,8,32,16,31,224,
-  14,14,28,16,1,255,31,224,32,16,64,8,128,4,135,132,
-  136,68,144,36,159,228,144,4,136,36,135,196,64,8,32,16,
-  31,224,14,14,28,16,1,255,31,224,35,144,66,200,130,4,
-  143,132,130,4,130,4,130,4,130,4,130,4,135,4,64,8,
-  32,16,31,224,14,14,28,16,1,255,31,224,32,16,64,8,
-  128,196,135,132,136,68,136,68,143,132,144,4,159,196,144,36,
-  80,40,47,208,31,224,14,14,28,16,1,255,31,224,40,16,
-  88,8,136,4,139,196,140,68,136,68,136,68,136,68,136,68,
-  156,228,64,8,32,16,31,224,14,14,28,16,1,255,31,224,
-  33,16,65,8,128,4,129,4,131,4,129,4,129,4,129,4,
-  129,4,131,132,64,8,32,16,31,224,14,14,28,16,1,255,
-  31,224,33,16,65,8,128,4,129,4,131,4,129,4,129,4,
-  129,4,129,4,129,4,89,8,38,16,31,224,14,14,28,16,
-  1,255,31,224,40,16,88,8,136,4,137,228,136,132,139,4,
-  141,132,136,196,136,100,156,244,64,8,32,16,31,224,14,14,
-  28,16,1,255,31,224,34,16,70,8,130,4,130,4,130,4,
-  130,4,130,4,130,4,130,4,135,4,64,8,32,16,31,224,
-  14,14,28,16,1,255,31,224,32,16,64,8,128,4,150,196,
-  187,68,146,68,146,68,146,68,146,68,187,100,64,8,32,16,
-  31,224,14,14,28,16,1,255,31,224,32,16,64,8,128,4,
-  139,196,156,68,136,68,136,68,136,68,136,68,156,228,64,8,
-  32,16,31,224,14,14,28,16,1,255,31,224,32,16,64,8,
-  128,4,135,196,136,36,136,36,136,36,136,36,136,36,135,196,
-  64,8,32,16,31,224,14,14,28,16,1,255,31,224,32,16,
-  64,8,128,4,139,132,156,68,136,36,136,36,136,36,140,68,
-  139,132,72,8,40,16,31,224,14,14,28,16,1,255,31,224,
-  32,16,64,8,128,4,135,68,136,196,144,68,144,68,144,68,
-  136,196,135,68,64,72,32,80,31,224,14,14,28,16,1,255,
-  31,224,32,16,64,8,128,4,137,196,158,100,136,4,136,4,
-  136,4,136,4,156,4,64,8,32,16,31,224,14,14,28,16,
-  1,255,31,224,32,16,64,8,128,4,135,196,136,36,140,4,
-  131,132,128,100,136,36,135,196,64,8,32,16,31,224,14,14,
-  28,16,1,255,31,224,32,16,64,8,130,4,130,4,143,132,
-  130,4,130,4,130,4,130,68,131,132,64,8,32,16,31,224,
-  14,14,28,16,1,255,31,224,32,16,64,8,128,4,136,68,
-  152,196,136,68,136,68,136,68,136,68,143,164,64,8,32,16,
-  31,224,14,14,28,16,1,255,31,224,32,16,64,8,128,4,
-  156,116,136,36,132,68,132,68,130,132,130,132,129,4,64,8,
-  32,16,31,224,14,14,28,16,1,255,31,224,32,16,64,8,
-  128,4,247,116,162,36,162,36,147,68,149,68,136,132,136,132,
-  64,8,32,16,31,224,14,14,28,16,1,255,31,224,32,16,
-  64,8,128,4,184,228,136,132,133,4,130,4,133,4,136,132,
-  184,228,64,8,32,16,31,224,14,14,28,16,1,255,31,224,
-  32,16,64,8,128,4,184,228,144,68,136,132,133,4,130,4,
-  130,4,135,4,64,8,32,16,31,224,14,14,28,16,1,255,
-  31,224,32,16,64,8,128,4,143,196,136,68,144,132,131,4,
-  132,4,136,68,159,132,64,8,32,16,31,224,16,15,30,16,
-  0,254,7,224,24,24,32,4,67,194,68,34,132,33,132,33,
-  132,33,132,33,132,33,68,34,67,194,32,4,24,24,7,224,
-  14,13,26,16,1,255,15,192,63,240,127,248,127,248,247,188,
-  231,60,247,188,247,188,227,28,127,248,127,248,63,240,15,192,
-  14,13,26,16,1,255,15,192,63,240,127,248,127,248,247,60,
-  231,220,247,188,247,124,227,28,127,248,127,248,63,240,15,192,
-  14,13,26,16,1,255,15,192,63,240,127,248,127,248,247,60,
-  231,220,247,60,247,220,227,60,127,248,127,248,63,240,15,192,
-  14,13,26,16,1,255,15,192,63,240,127,248,127,248,246,188,
-  230,188,246,28,247,188,227,188,127,248,127,248,63,240,15,192,
-  14,13,26,16,1,255,15,192,63,240,127,248,127,248,247,28,
-  231,124,247,60,247,220,227,60,127,248,127,248,63,240,15,192,
-  14,13,26,16,1,255,15,192,63,240,127,248,127,248,247,60,
-  230,252,246,60,246,220,227,60,127,248,127,248,63,240,15,192,
-  14,13,26,16,1,255,15,192,63,240,127,248,127,248,246,60,
-  231,188,247,188,247,124,227,124,127,248,127,248,63,240,15,192,
-  14,13,26,16,1,255,15,192,63,240,127,248,127,248,247,60,
-  230,220,247,60,246,220,227,60,127,248,127,248,63,240,15,192,
-  14,13,26,16,1,255,15,192,63,240,127,248,127,248,247,60,
-  230,220,247,28,247,220,227,60,127,248,127,248,63,240,15,192,
-  14,13,26,16,1,255,15,192,63,240,127,248,127,248,231,156,
-  251,108,247,108,239,108,227,156,127,248,127,248,63,240,15,192,
+  64,68,67,68,132,130,132,130,131,2,130,2,131,130,68,68,
+  68,68,35,136,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,36,8,68,4,68,4,133,130,134,66,132,66,132,66,
+  132,66,68,68,68,68,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,33,8,65,4,64,4,131,2,129,2,
+  129,2,129,2,129,2,65,4,71,196,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,72,64,68,64,4,
+  128,194,128,66,128,66,128,66,128,66,64,68,68,132,35,8,
+  24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
+  68,4,68,4,132,130,133,2,134,2,134,2,133,2,68,132,
+  68,68,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,8,67,4,65,4,129,2,129,2,129,2,129,2,
+  129,2,65,4,71,196,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,64,4,78,196,137,34,137,34,
+  137,34,137,34,137,34,73,36,64,4,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,64,4,69,132,
+  134,66,132,66,132,66,132,66,132,66,68,68,64,4,32,8,
+  24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
+  64,4,67,132,132,66,132,66,132,66,132,66,132,66,67,132,
+  64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,8,64,4,69,132,134,66,132,66,132,66,132,66,
+  134,66,69,132,68,4,36,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,64,4,67,68,132,194,132,66,
+  132,66,132,66,132,66,68,196,67,68,32,72,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,64,4,69,132,
+  134,66,132,66,132,2,132,2,132,2,68,4,64,4,32,8,
+  24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
+  64,4,67,132,132,66,132,2,131,130,128,66,132,66,67,132,
+  64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,8,65,4,65,4,135,194,129,2,129,2,129,2,
+  129,2,65,4,64,196,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,64,4,68,68,132,66,132,66,
+  132,66,132,66,132,194,67,68,64,4,32,8,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,64,4,68,68,
+  132,66,130,130,130,130,130,130,129,2,65,4,64,4,32,8,
+  24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
+  64,4,72,36,137,34,137,34,137,34,137,34,137,34,70,196,
+  64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  24,48,32,8,64,4,68,68,132,66,130,130,129,2,130,130,
+  132,66,68,68,64,4,32,8,24,48,7,192,15,15,30,16,
+  0,255,7,192,24,48,32,8,64,4,68,68,132,66,132,66,
+  132,66,130,194,129,66,64,68,64,68,35,136,24,48,7,192,
+  15,15,30,16,0,255,7,192,24,48,32,8,64,4,71,196,
+  128,66,128,130,129,2,130,2,132,2,71,196,64,4,32,8,
+  24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
+  65,4,66,132,132,66,132,66,132,66,132,66,132,66,66,132,
+  65,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
+  31,240,63,248,127,252,123,188,243,62,234,190,251,190,251,190,
+  251,190,96,12,127,252,63,248,31,240,7,192,15,15,30,16,
+  0,255,7,192,31,240,63,248,127,252,123,156,243,110,235,238,
+  251,222,251,190,251,126,96,12,127,252,63,248,31,240,7,192,
+  15,15,30,16,0,255,7,192,31,240,63,248,127,252,123,156,
+  243,110,235,238,251,222,251,238,251,110,96,156,127,252,63,248,
+  31,240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,
+  127,252,123,236,243,206,235,174,251,110,251,6,251,238,96,236,
+  127,252,63,248,31,240,7,192,15,15,30,16,0,255,7,192,
+  31,240,63,248,127,252,123,12,243,126,235,126,251,30,251,238,
+  251,110,96,156,127,252,63,248,31,240,7,192,13,13,26,16,
+  1,0,15,128,63,224,127,240,119,16,230,248,214,248,246,56,
+  246,216,246,216,65,48,127,240,63,224,15,128,13,13,26,16,
+  1,0,15,128,63,224,127,240,118,16,231,216,215,216,247,184,
+  247,184,247,120,65,112,127,240,63,224,15,128,13,13,26,16,
+  1,0,15,128,63,224,127,240,119,48,230,216,214,216,247,56,
+  246,216,246,216,65,48,127,240,63,224,15,128,15,15,30,16,
+  0,255,7,192,31,240,63,248,127,252,123,156,243,110,235,110,
+  251,142,251,238,251,238,96,156,127,252,63,248,31,240,7,192,
+  15,15,30,16,0,255,7,192,31,240,63,248,127,252,115,156,
+  237,110,253,110,251,110,247,110,239,110,97,156,127,252,63,248,
+  31,240,7,192,16,15,30,16,0,254,7,224,24,24,35,196,
+  76,50,80,10,144,137,161,133,160,133,160,133,145,201,80,10,
+  76,50,35,196,24,24,7,224,16,15,30,16,0,254,7,224,
+  24,24,35,196,76,50,80,10,145,137,160,69,160,133,161,5,
+  145,201,80,10,76,50,35,196,24,24,7,224,16,15,30,16,
+  0,254,7,224,24,24,35,196,76,50,80,10,145,137,160,69,
+  161,133,160,69,145,137,80,10,76,50,35,196,24,24,7,224,
   16,15,30,16,0,254,7,224,24,24,35,196,76,50,80,10,
-  144,137,161,133,160,133,160,133,145,201,80,10,76,50,35,196,
+  146,137,162,133,163,197,160,133,144,137,80,10,76,50,35,196,
   24,24,7,224,16,15,30,16,0,254,7,224,24,24,35,196,
-  76,50,80,10,145,137,160,69,160,133,161,5,145,201,80,10,
+  76,50,80,10,145,201,161,5,161,133,160,69,145,137,80,10,
   76,50,35,196,24,24,7,224,16,15,30,16,0,254,7,224,
-  24,24,35,196,76,50,80,10,145,137,160,69,161,133,160,69,
+  24,24,35,196,76,50,80,10,145,137,162,5,163,133,162,69,
   145,137,80,10,76,50,35,196,24,24,7,224,16,15,30,16,
-  0,254,7,224,24,24,35,196,76,50,80,10,146,137,162,133,
-  163,197,160,133,144,137,80,10,76,50,35,196,24,24,7,224,
+  0,254,7,224,24,24,35,196,76,50,80,10,145,201,160,69,
+  160,69,160,133,144,137,80,10,76,50,35,196,24,24,7,224,
   16,15,30,16,0,254,7,224,24,24,35,196,76,50,80,10,
-  145,201,161,5,161,133,160,69,145,137,80,10,76,50,35,196,
+  145,137,162,69,161,133,162,69,145,137,80,10,76,50,35,196,
   24,24,7,224,16,15,30,16,0,254,7,224,24,24,35,196,
-  76,50,80,10,145,137,162,5,163,133,162,69,145,137,80,10,
+  76,50,80,10,145,137,162,69,161,197,160,69,145,137,80,10,
   76,50,35,196,24,24,7,224,16,15,30,16,0,254,7,224,
-  24,24,35,196,76,50,80,10,145,201,160,69,160,69,160,133,
-  144,137,80,10,76,50,35,196,24,24,7,224,16,15,30,16,
-  0,254,7,224,24,24,35,196,76,50,80,10,145,137,162,69,
-  161,133,162,69,145,137,80,10,76,50,35,196,24,24,7,224,
-  16,15,30,16,0,254,7,224,24,24,35,196,76,50,80,10,
-  145,137,162,69,161,197,160,69,145,137,80,10,76,50,35,196,
-  24,24,7,224,16,15,30,16,0,254,7,224,24,24,35,196,
-  76,50,80,10,146,105,166,149,162,149,162,149,151,105,80,10,
-  76,50,35,196,24,24,7,224,14,13,26,16,1,255,15,192,
-  63,240,127,248,127,248,252,252,251,124,251,124,251,124,252,252,
-  127,248,127,248,63,240,15,192};
+  24,24,35,196,76,50,80,10,146,105,166,149,162,149,162,149,
+  151,105,80,10,76,50,35,196,24,24,7,224,15,15,30,16,
+  0,255,7,192,31,240,63,248,126,252,125,124,251,190,251,190,
+  251,190,251,190,251,190,125,124,126,252,63,248,31,240,7,192
+  };
 /*
-  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
-  Copyright: 
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
   Capital A Height: 6, '1' Height: 3
   Calculated Max Values w= 8 h=10 x= 2 y= 4 dx= 8 dy= 0 ascent=11 len=10
   Font Bounding box     w=16 h=16 x= 0 y=-2
@@ -82836,7 +86802,7 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[7240] U8G_SECTION(".progmem.u8g_
   Max Font    ascent =11 descent= 0
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifont_75r[580] U8G_SECTION(".progmem.u8g_font_unifont_75r") = {
+const u8g_fntpgm_uint8_t u8g_font_unifont_75r[580] U8G_FONT_SECTION("u8g_font_unifont_75r") = {
   0,16,16,0,254,6,1,137,0,0,32,79,0,11,0,8,
   0,7,7,7,8,1,1,254,254,254,254,254,254,254,7,7,
   7,8,1,1,254,130,130,130,130,130,254,7,7,7,8,1,
@@ -82875,8 +86841,8 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_75r[580] U8G_SECTION(".progmem.u8g_fon
   56,68,146,170,146,68,56,7,7,7,8,1,2,56,124,254,
   254,254,124,56};
 /*
-  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
-  Copyright: 
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
   Capital A Height: 10, '1' Height: 8
   Calculated Max Values w=16 h=16 x= 3 y= 6 dx=16 dy= 0 ascent=14 len=32
   Font Bounding box     w=16 h=16 x= 0 y=-2
@@ -82886,8 +86852,8 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_75r[580] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifont_76[2532] U8G_SECTION(".progmem.u8g_font_unifont_76") = {
-  0,16,16,0,254,10,2,68,4,220,32,159,0,14,254,10,
+const u8g_fntpgm_uint8_t u8g_font_unifont_76[2540] U8G_FONT_SECTION("u8g_font_unifont_76") = {
+  0,16,16,0,254,10,2,62,4,228,32,159,0,14,254,10,
   0,7,12,12,8,1,0,16,146,68,0,56,124,124,56,0,
   68,146,16,8,4,4,8,0,6,32,118,255,126,7,8,8,
   8,1,2,56,124,254,16,16,16,16,32,16,16,32,16,0,
@@ -82915,24 +86881,24 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_76[2532] U8G_SECTION(".progmem.u8g_fon
   2,0,4,0,14,0,31,0,63,128,127,192,255,224,255,224,
   255,224,255,224,255,224,255,224,255,224,255,224,13,13,26,16,
   1,255,5,0,15,128,15,128,103,48,242,120,127,240,242,120,
-  98,48,4,0,4,0,4,0,8,0,16,0,14,15,30,16,
-  1,254,102,24,79,24,223,176,159,160,255,160,255,32,255,56,
-  126,228,127,36,127,40,63,152,63,144,31,176,15,32,6,0,
-  7,4,4,8,1,2,252,62,62,28,7,4,4,8,1,2,
-  126,248,248,112,7,4,4,8,1,2,252,34,50,28,4,7,
-  7,8,2,2,16,16,112,208,144,144,96,7,4,4,8,1,
-  2,126,136,152,112,4,7,7,8,2,0,96,144,144,208,112,
-  16,16,8,12,12,8,0,0,231,165,126,129,165,165,129,90,
-  90,66,189,231,4,10,10,8,2,0,224,16,16,32,32,64,
-  64,128,128,112,13,13,26,16,1,0,31,192,32,32,69,16,
-  141,136,157,200,189,232,255,248,130,8,135,8,143,136,95,208,
-  32,32,31,192,15,13,26,16,0,255,4,64,8,32,16,16,
+  98,48,4,0,4,0,4,0,8,0,16,0,13,12,24,16,
+  1,0,0,8,3,144,71,208,143,208,159,208,255,176,127,184,
+  31,200,15,200,7,200,3,136,0,16,7,4,4,8,1,2,
+  252,62,62,28,7,4,4,8,1,2,126,248,248,112,7,4,
+  4,8,1,2,252,34,50,28,4,7,7,8,2,2,16,16,
+  112,208,144,144,96,7,4,4,8,1,2,126,136,152,112,4,
+  7,7,8,2,0,96,144,144,208,112,16,16,8,12,12,8,
+  0,0,231,165,126,129,165,165,129,90,90,66,189,231,4,10,
+  10,8,2,0,224,16,16,32,32,64,64,128,128,112,16,16,
+  32,16,0,254,7,224,24,24,36,36,92,58,92,58,190,125,
+  190,125,190,125,129,129,129,129,131,193,67,194,71,226,35,196,
+  24,24,7,224,15,13,26,16,0,255,4,64,8,32,16,16,
   16,16,19,144,12,96,62,248,68,68,133,66,131,130,2,128,
   4,64,24,48,13,15,30,16,1,254,6,0,2,0,255,248,
   71,16,63,224,2,0,26,192,34,32,31,192,18,64,15,128,
   10,128,7,0,10,128,2,0,5,8,8,8,2,0,112,136,
   80,32,248,32,32,32,5,9,9,8,2,0,32,112,32,248,
-  32,48,96,32,32,6,10,10,8,1,0,56,36,36,56,32,
+  32,96,48,32,32,6,10,10,8,1,0,56,36,36,56,32,
   168,112,32,112,168,5,9,9,8,2,0,32,112,32,248,32,
   32,32,32,32,7,7,7,8,1,0,56,16,146,254,146,16,
   56,8,9,9,8,0,1,30,33,64,194,199,194,64,33,30,
@@ -82941,114 +86907,114 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_76[2532] U8G_SECTION(".progmem.u8g_fon
   3,255,4,0,21,0,36,128,78,64,213,96,213,96,206,96,
   228,224,223,96,142,32,21,0,4,0,8,8,8,8,0,0,
   12,2,57,121,13,62,99,193,7,8,8,8,1,0,124,146,
-  146,146,186,214,146,124,13,12,24,16,1,0,31,192,32,32,
-  64,16,64,16,152,72,188,8,254,24,239,56,255,248,127,240,
-  63,224,31,192,13,10,20,16,1,0,255,248,255,248,0,0,
-  0,0,255,248,255,248,0,0,0,0,255,248,255,248,13,10,
-  20,16,1,0,248,248,248,248,0,0,0,0,255,248,255,248,
-  0,0,0,0,255,248,255,248,13,10,20,16,1,0,255,248,
-  255,248,0,0,0,0,248,248,248,248,0,0,0,0,255,248,
-  255,248,13,10,20,16,1,0,248,248,248,248,0,0,0,0,
-  248,248,248,248,0,0,0,0,255,248,255,248,13,10,20,16,
+  146,146,186,214,146,124,16,16,32,16,0,254,7,224,24,24,
+  32,4,64,2,64,2,156,49,190,49,255,3,231,131,231,199,
+  255,255,127,254,127,254,63,252,31,248,7,224,13,10,20,16,
   1,0,255,248,255,248,0,0,0,0,255,248,255,248,0,0,
-  0,0,248,248,248,248,13,10,20,16,1,0,248,248,248,248,
-  0,0,0,0,255,248,255,248,0,0,0,0,248,248,248,248,
+  0,0,255,248,255,248,13,10,20,16,1,0,248,248,248,248,
+  0,0,0,0,255,248,255,248,0,0,0,0,255,248,255,248,
   13,10,20,16,1,0,255,248,255,248,0,0,0,0,248,248,
-  248,248,0,0,0,0,248,248,248,248,13,10,20,16,1,0,
+  248,248,0,0,0,0,255,248,255,248,13,10,20,16,1,0,
   248,248,248,248,0,0,0,0,248,248,248,248,0,0,0,0,
-  248,248,248,248,7,7,7,8,1,0,146,124,124,238,124,124,
-  146,8,10,10,8,0,1,60,66,129,165,129,153,165,129,66,
-  60,8,9,9,8,0,1,60,66,129,165,129,165,153,66,60,
-  8,9,9,8,0,1,60,126,255,219,255,219,231,126,60,7,
-  7,7,8,1,2,146,84,56,238,56,84,146,6,10,10,8,
-  2,0,224,48,24,20,20,20,20,24,48,224,6,10,10,8,
-  1,0,28,48,96,160,160,160,160,96,48,28,5,11,11,8,
-  2,0,136,136,112,136,136,136,112,32,248,32,32,5,9,9,
-  8,2,0,112,136,136,136,112,32,248,32,32,5,10,10,8,
-  2,1,32,32,248,32,32,112,136,136,136,112,7,8,8,8,
-  1,1,14,6,10,112,136,136,136,112,6,10,10,8,1,0,
-  4,4,4,116,140,12,20,252,4,4,6,10,10,8,1,0,
-  64,64,224,64,88,100,68,72,72,72,7,9,9,8,1,0,
-  214,84,124,84,214,16,56,40,56,8,11,11,8,0,255,8,
-  89,203,73,73,73,62,8,62,8,8,6,10,10,8,1,0,
-  248,132,132,132,248,128,128,128,128,252,7,10,10,8,1,0,
-  68,170,40,40,16,16,16,16,16,16,7,7,7,8,1,0,
-  130,68,56,68,68,68,56,7,10,10,8,1,0,130,124,40,
-  40,40,40,40,40,124,130,7,8,8,8,1,0,124,146,144,
-  96,12,18,146,124,8,9,9,8,0,0,28,34,34,18,116,
-  148,148,101,2,7,10,10,8,1,0,168,248,170,174,170,170,
-  170,170,12,248,7,6,6,8,1,1,56,68,68,238,0,254,
-  7,10,10,8,1,0,168,248,168,168,168,168,168,168,170,6,
-  7,7,7,8,1,0,30,6,138,82,32,80,136,6,10,10,
-  8,1,0,128,240,144,144,156,20,28,16,16,96,6,6,6,
-  8,1,2,84,168,0,0,84,168,6,9,9,8,1,0,132,
-  132,72,72,252,72,72,132,132,7,13,13,8,1,0,16,56,
-  146,186,198,130,68,68,68,130,130,130,254,7,11,11,8,1,
-  0,16,56,198,130,68,68,68,130,130,130,254,7,9,9,8,
-  1,0,170,254,130,130,68,68,130,130,254,7,10,10,8,1,
-  0,16,40,68,68,68,68,40,238,130,254,6,11,11,8,1,
-  0,4,60,68,132,132,116,36,68,132,132,252,6,8,8,8,
-  1,0,48,72,72,48,72,72,132,252,7,13,13,8,1,0,
-  16,56,146,186,254,254,124,124,124,254,254,254,254,7,11,11,
-  8,1,0,16,56,254,238,124,124,124,254,254,254,254,7,8,
-  8,8,1,0,170,254,254,124,124,254,254,254,7,10,10,8,
-  1,0,16,56,108,68,108,124,56,254,254,254,6,11,11,8,
-  1,0,4,60,108,252,252,124,60,124,252,252,252,6,8,8,
-  8,1,0,48,120,120,48,120,120,252,252,7,10,10,8,1,
-  0,16,16,56,124,254,254,254,124,16,56,7,9,9,8,1,
-  0,108,146,130,130,130,68,40,16,16,5,10,10,8,2,0,
-  32,32,80,80,136,136,80,80,32,32,7,10,10,8,1,0,
-  56,56,56,16,254,254,214,16,16,56,7,10,10,8,1,0,
-  16,16,40,68,130,130,130,124,16,56,7,9,9,8,1,0,
-  108,254,254,254,254,124,56,16,16,5,10,10,8,2,0,32,
-  32,112,112,248,248,112,112,32,32,7,10,10,8,1,0,56,
-  40,56,16,238,186,214,16,16,56,8,11,11,8,0,0,8,
-  81,146,146,146,73,73,73,82,129,126,4,10,10,8,1,0,
-  16,16,16,16,16,16,16,112,240,224,6,10,10,8,1,0,
-  16,24,20,20,16,16,16,112,240,224,8,11,11,8,0,0,
-  28,23,17,17,17,17,113,241,231,15,14,8,11,11,8,0,
-  0,28,23,17,29,23,17,113,241,231,15,14,6,12,12,8,
-  1,0,128,128,128,128,128,184,204,140,136,144,160,192,6,11,
-  11,8,1,0,128,128,156,252,228,132,156,252,228,4,4,6,
-  13,13,8,1,255,8,72,76,124,248,200,72,76,124,248,200,
-  72,64,7,10,10,8,1,0,40,16,16,146,124,146,16,16,
-  16,40,7,10,10,8,1,0,56,40,16,214,186,214,16,16,
-  40,16,16,16,32,16,0,254,3,184,4,165,8,179,5,9,
-  18,5,40,9,68,31,238,0,40,15,48,73,36,201,13,101,
-  22,19,37,120,60,192,0,64,15,16,32,16,0,254,3,128,
-  4,64,4,64,8,32,0,40,57,24,27,56,41,0,33,8,
-  67,132,64,4,128,34,128,66,126,252,0,64,0,32,15,16,
-  32,16,0,254,3,128,4,64,4,64,8,32,0,40,59,24,
-  24,184,41,0,34,8,67,132,64,4,128,34,128,66,126,252,
-  0,64,0,32,15,16,32,16,0,254,3,128,4,64,4,64,
-  8,32,0,40,57,24,24,184,43,0,32,136,67,4,64,4,
-  128,34,128,66,126,252,0,64,0,32,15,16,32,16,0,254,
-  3,128,4,64,4,64,8,32,0,40,58,152,26,184,43,128,
-  32,136,64,132,64,4,128,34,128,66,126,252,0,64,0,32,
+  255,248,255,248,13,10,20,16,1,0,255,248,255,248,0,0,
+  0,0,255,248,255,248,0,0,0,0,248,248,248,248,13,10,
+  20,16,1,0,248,248,248,248,0,0,0,0,255,248,255,248,
+  0,0,0,0,248,248,248,248,13,10,20,16,1,0,255,248,
+  255,248,0,0,0,0,248,248,248,248,0,0,0,0,248,248,
+  248,248,13,10,20,16,1,0,248,248,248,248,0,0,0,0,
+  248,248,248,248,0,0,0,0,248,248,248,248,7,7,7,8,
+  1,0,146,124,124,238,124,124,146,8,10,10,8,0,1,60,
+  66,129,165,129,153,165,129,66,60,8,9,9,8,0,1,60,
+  66,129,165,129,165,153,66,60,8,9,9,8,0,1,60,126,
+  255,219,255,219,231,126,60,7,7,7,8,1,2,146,84,56,
+  238,56,84,146,6,10,10,8,2,0,224,48,24,20,20,20,
+  20,24,48,224,6,10,10,8,1,0,28,48,96,160,160,160,
+  160,96,48,28,5,11,11,8,2,0,136,136,112,136,136,136,
+  112,32,248,32,32,5,9,9,8,2,0,112,136,136,136,112,
+  32,248,32,32,5,10,10,8,2,1,32,32,248,32,32,112,
+  136,136,136,112,7,8,8,8,1,1,14,6,10,112,136,136,
+  136,112,6,10,10,8,1,0,4,4,4,116,140,12,20,252,
+  4,4,6,10,10,8,1,0,64,64,224,64,88,100,68,72,
+  72,72,7,9,9,8,1,0,214,84,124,84,214,16,56,40,
+  56,8,11,11,8,0,255,8,89,203,73,73,73,62,8,62,
+  8,8,6,10,10,8,1,0,248,132,132,132,248,128,128,128,
+  128,252,7,10,10,8,1,0,68,170,40,40,16,16,16,16,
+  16,16,7,7,7,8,1,0,130,68,56,68,68,68,56,7,
+  10,10,8,1,0,130,124,40,40,40,40,40,40,124,130,7,
+  8,8,8,1,0,124,146,144,96,12,18,146,124,8,9,9,
+  8,0,0,28,34,34,18,116,148,148,101,2,7,10,10,8,
+  1,0,168,248,170,174,170,170,170,170,12,248,7,6,6,8,
+  1,1,56,68,68,238,0,254,7,10,10,8,1,0,168,248,
+  168,168,168,168,168,168,170,6,7,7,7,8,1,0,30,6,
+  138,82,32,80,136,8,10,10,8,0,0,49,78,132,8,16,
+  60,98,162,162,28,6,6,6,8,1,2,84,168,0,0,84,
+  168,6,9,9,8,1,0,132,132,72,72,252,72,72,132,132,
+  7,13,13,8,1,0,16,56,146,186,198,130,68,68,68,130,
+  130,130,254,7,11,11,8,1,0,16,56,198,130,68,68,68,
+  130,130,130,254,7,9,9,8,1,0,170,254,130,130,68,68,
+  130,130,254,7,10,10,8,1,0,16,40,68,68,68,68,40,
+  238,130,254,6,11,11,8,1,0,4,60,68,132,132,116,36,
+  68,132,132,252,6,8,8,8,1,0,48,72,72,48,72,72,
+  132,252,7,13,13,8,1,0,16,56,146,186,254,254,124,124,
+  124,254,254,254,254,7,11,11,8,1,0,16,56,254,238,124,
+  124,124,254,254,254,254,7,8,8,8,1,0,170,254,254,124,
+  124,254,254,254,7,10,10,8,1,0,16,56,108,68,108,124,
+  56,254,254,254,6,11,11,8,1,0,4,60,108,252,252,124,
+  60,124,252,252,252,6,8,8,8,1,0,48,120,120,48,120,
+  120,252,252,7,10,10,8,1,0,16,16,56,124,254,254,254,
+  124,16,56,7,9,9,8,1,0,108,146,130,130,130,68,40,
+  16,16,5,10,10,8,2,0,32,32,80,80,136,136,80,80,
+  32,32,7,10,10,8,1,0,56,56,56,16,254,254,214,16,
+  16,56,7,10,10,8,1,0,16,16,40,68,130,130,130,124,
+  16,56,7,9,9,8,1,0,108,254,254,254,254,124,56,16,
+  16,5,10,10,8,2,0,32,32,112,112,248,248,112,112,32,
+  32,7,10,10,8,1,0,56,40,56,16,238,186,214,16,16,
+  56,8,11,11,8,0,0,8,81,146,146,146,73,73,73,82,
+  129,126,4,10,10,8,1,0,16,16,16,16,16,16,16,112,
+  240,224,6,10,10,8,1,0,16,24,20,20,16,16,16,112,
+  240,224,8,11,11,8,0,0,28,23,17,17,17,17,113,241,
+  231,15,14,8,11,11,8,0,0,28,23,17,29,23,17,113,
+  241,231,15,14,6,12,12,8,1,0,128,128,128,128,128,184,
+  204,140,136,144,160,192,6,11,11,8,1,0,128,128,156,252,
+  228,132,156,252,228,4,4,6,13,13,8,1,255,8,72,76,
+  124,248,200,72,76,124,248,200,72,64,7,10,10,8,1,0,
+  40,16,16,146,124,146,16,16,16,40,7,10,10,8,1,0,
+  56,40,16,214,186,214,16,16,40,16,16,16,32,16,0,254,
+  3,192,5,32,10,152,18,72,10,208,4,48,48,4,72,10,
+  140,17,80,9,160,5,174,38,82,88,82,134,30,92,0,32,
   15,16,32,16,0,254,3,128,4,64,4,64,8,32,0,40,
-  59,152,26,56,43,0,32,136,67,4,64,4,128,34,128,66,
+  57,24,27,56,41,0,33,8,67,132,64,4,128,34,128,66,
   126,252,0,64,0,32,15,16,32,16,0,254,3,128,4,64,
-  4,64,8,32,0,40,57,152,26,56,43,128,34,72,65,132,
+  4,64,8,32,0,40,59,24,24,184,41,0,34,8,67,132,
   64,4,128,34,128,66,126,252,0,64,0,32,15,16,32,16,
-  0,254,3,128,4,64,4,64,8,32,0,40,59,152,24,184,
-  41,0,33,8,65,4,64,4,128,34,128,66,126,252,0,64,
+  0,254,3,128,4,64,4,64,8,32,0,40,57,24,24,184,
+  43,0,32,136,67,4,64,4,128,34,128,66,126,252,0,64,
   0,32,15,16,32,16,0,254,3,128,4,64,4,64,8,32,
-  0,40,56,24,24,56,40,0,32,8,64,4,64,4,128,34,
-  128,66,126,252,0,64,0,32,16,16,32,16,0,254,3,184,
-  7,189,15,191,7,15,18,7,56,15,124,31,254,0,56,15,
-  48,79,36,207,13,231,31,243,61,248,60,192,0,64,15,16,
-  32,16,0,254,7,192,15,224,60,120,123,188,119,172,127,204,
-  199,142,231,254,215,238,223,238,111,108,118,220,124,60,62,248,
-  15,96,7,192,15,16,32,16,0,254,7,192,24,48,32,8,
-  67,132,68,84,64,52,184,114,152,2,168,18,160,18,80,148,
-  73,36,67,196,33,8,24,176,7,192,13,12,24,16,0,255,
-  7,0,24,192,32,32,64,16,77,144,146,72,146,72,77,144,
-  64,16,32,32,24,192,7,0,12,11,22,16,2,0,24,0,
-  24,0,16,0,30,0,16,0,95,128,128,128,128,64,129,64,
-  66,48,60,0};
+  0,40,58,152,26,184,43,128,32,136,64,132,64,4,128,34,
+  128,66,126,252,0,64,0,32,15,16,32,16,0,254,3,128,
+  4,64,4,64,8,32,0,40,59,152,26,56,43,0,32,136,
+  67,4,64,4,128,34,128,66,126,252,0,64,0,32,15,16,
+  32,16,0,254,3,128,4,64,4,64,8,32,0,40,57,152,
+  26,56,43,128,34,72,65,132,64,4,128,34,128,66,126,252,
+  0,64,0,32,15,16,32,16,0,254,3,128,4,64,4,64,
+  8,32,0,40,59,152,24,184,41,0,33,8,65,4,64,4,
+  128,34,128,66,126,252,0,64,0,32,15,16,32,16,0,254,
+  3,128,4,64,4,64,8,32,0,40,56,24,24,56,40,0,
+  32,8,64,4,64,4,128,34,128,66,126,252,0,64,0,32,
+  16,16,32,16,0,254,3,192,5,224,14,248,30,120,14,240,
+  4,48,48,4,120,14,252,31,112,15,224,7,238,38,94,120,
+  94,254,30,124,0,32,16,16,32,16,0,254,7,224,31,248,
+  62,124,125,190,123,222,255,143,247,223,231,255,243,239,247,239,
+  239,247,111,182,113,14,63,188,31,248,7,224,16,16,32,16,
+  0,254,7,224,24,24,33,132,66,66,68,34,128,113,136,33,
+  152,1,140,17,136,17,144,9,80,74,78,242,32,68,24,24,
+  7,224,13,12,24,16,0,255,7,0,24,192,32,32,64,16,
+  77,144,146,72,146,72,77,144,64,16,32,32,24,192,7,0,
+  12,11,22,16,2,0,24,0,24,0,16,0,30,0,16,0,
+  95,128,128,128,128,64,129,64,66,48,60,0};
 /*
-  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
-  Copyright: 
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
   Capital A Height: 11, '1' Height: 11
   Calculated Max Values w=16 h=16 x= 4 y= 4 dx=16 dy= 0 ascent=14 len=32
   Font Bounding box     w=16 h=16 x= 0 y=-2
@@ -83058,8 +87024,8 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_76[2532] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifont_77[1587] U8G_SECTION(".progmem.u8g_font_unifont_77") = {
-  0,16,16,0,254,11,3,99,5,215,32,99,0,14,254,11,
+const u8g_fntpgm_uint8_t u8g_font_unifont_77[1657] U8G_FONT_SECTION("u8g_font_unifont_77") = {
+  0,16,16,0,254,11,3,133,6,29,32,99,0,14,254,11,
   255,9,9,18,16,3,1,255,128,128,128,128,128,128,128,136,
   128,128,128,128,128,128,128,255,128,9,9,18,16,3,1,255,
   128,128,128,128,128,160,128,128,128,130,128,128,128,128,128,255,
@@ -83101,69 +87067,73 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_77[1587] U8G_SECTION(".progmem.u8g_fon
   255,2,0,66,16,47,160,16,64,32,32,32,32,226,56,32,
   32,32,32,16,64,47,160,66,16,2,0,15,13,26,16,0,
   0,1,0,2,128,57,56,127,252,253,126,5,64,3,128,1,
-  0,1,0,1,0,1,0,1,0,1,0,13,15,30,16,1,
-  254,2,0,117,112,141,136,141,136,138,136,77,144,40,160,26,
-  192,40,160,77,144,138,136,141,136,141,136,117,112,2,0,15,
-  16,32,16,0,254,1,0,2,128,58,184,68,68,132,66,242,
-  158,138,162,6,192,6,192,8,32,6,192,6,192,10,160,50,
-  152,70,196,121,60,15,15,30,16,0,255,1,0,2,128,4,
-  64,4,64,8,0,107,252,136,2,136,34,96,36,24,16,6,
-  80,0,136,33,8,38,72,24,48,6,14,14,8,1,255,168,
-  84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,
-  8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,
-  84,13,14,28,16,1,255,2,0,5,0,5,0,8,128,8,
-  128,18,64,18,64,34,32,34,32,66,16,64,16,130,8,128,
-  8,255,248,6,11,11,8,1,255,4,8,16,32,64,252,8,
-  16,32,64,128,11,9,18,16,2,0,59,128,68,64,138,32,
-  138,32,68,64,59,128,17,0,59,128,17,0,11,11,22,16,
-  2,0,7,0,3,0,5,0,56,224,68,96,142,160,149,0,
-  104,128,48,128,17,0,14,0,10,14,28,16,3,255,1,192,
-  0,192,1,64,14,0,17,0,56,128,84,128,139,0,134,0,
-  68,0,56,0,16,0,56,0,16,0,8,12,12,16,4,254,
-  7,3,5,56,68,130,130,68,56,16,56,16,11,10,20,16,
-  2,0,0,224,0,96,2,160,1,0,58,128,68,0,130,0,
-  130,0,68,0,56,0,15,13,26,16,0,254,224,14,192,6,
-  168,10,16,16,43,160,4,64,8,32,8,32,4,64,3,128,
-  1,0,3,128,1,0,7,12,12,8,0,0,16,56,84,16,
-  56,16,56,68,130,130,68,56,14,7,14,16,0,255,56,0,
-  68,16,130,136,131,252,130,136,68,16,56,0,7,7,7,8,
-  0,255,56,68,130,130,130,68,56,7,7,7,8,0,255,56,
-  124,254,254,254,124,56,5,5,5,8,2,0,112,136,136,136,
-  112,11,6,12,16,2,0,59,128,68,64,138,32,138,32,68,
-  64,59,128,11,7,14,16,3,255,4,0,117,192,142,32,142,
-  32,142,32,117,192,4,0,13,5,10,16,1,0,112,112,136,
-  136,143,136,136,136,112,112,14,10,20,16,2,0,24,0,39,
-  128,64,124,128,0,128,0,128,0,128,0,64,124,39,128,24,
-  0,11,13,26,16,2,0,31,0,10,0,63,128,64,64,128,
-  32,128,32,64,64,64,64,64,64,32,128,32,128,32,128,31,
-  0,7,9,9,8,0,254,56,68,130,130,68,56,16,16,16,
-  6,9,9,8,0,254,112,136,4,4,8,48,32,248,32,7,
-  10,10,8,0,254,16,40,68,130,68,40,16,16,124,16,7,
-  10,10,8,0,254,146,84,56,254,56,84,146,16,124,16,13,
-  11,22,16,1,0,2,0,2,0,2,0,2,0,114,112,8,
-  128,5,0,242,120,8,128,5,0,2,0,6,11,11,8,1,
-  0,36,40,48,40,36,32,112,136,136,136,112,6,10,10,8,
-  1,254,56,112,224,224,224,112,56,16,124,16,8,7,7,8,
-  0,3,66,36,24,255,24,36,66,7,8,8,8,0,0,68,
-  68,68,40,40,40,16,254,7,8,8,8,0,0,254,16,40,
-  40,40,68,68,68,7,8,8,8,1,0,252,132,132,132,148,
-  252,16,30,6,14,14,8,1,255,168,84,168,84,168,84,168,
-  84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,
-  84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,1,
-  255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,12,
-  9,18,16,2,0,31,128,96,96,134,16,134,16,224,112,191,
-  208,169,80,105,96,31,128,12,12,24,16,2,0,31,128,96,
-  96,134,16,134,16,224,112,191,208,169,80,233,112,191,208,169,
-  80,105,96,31,128,14,11,22,16,1,255,31,224,112,56,207,
-  204,188,244,188,244,143,196,160,20,171,84,203,76,112,56,31,
-  224,14,14,28,16,1,255,31,224,112,56,207,204,188,244,188,
-  244,143,196,160,20,171,84,139,68,160,20,171,84,203,76,112,
-  56,31,224};
+  0,1,0,1,0,1,0,1,0,1,0,16,16,32,16,0,
+  254,1,128,2,64,2,64,116,46,142,113,133,161,78,114,53,
+  172,53,172,78,114,133,161,142,113,116,46,2,64,2,64,1,
+  128,15,16,32,16,0,254,1,0,2,128,4,64,52,88,76,
+  100,132,66,178,154,202,166,26,176,16,16,27,176,10,160,58,
+  184,38,200,25,48,1,0,15,15,30,16,0,255,1,0,2,
+  128,4,64,4,64,8,0,107,252,136,2,136,34,96,36,24,
+  16,6,80,0,136,33,8,38,72,24,48,12,15,30,16,2,
+  255,192,0,48,0,12,0,3,0,0,192,0,48,0,0,255,
+  240,0,0,0,48,0,192,3,0,12,0,48,0,192,0,12,
+  15,30,16,2,255,0,48,0,192,3,0,12,0,48,0,192,
+  0,0,0,255,240,0,0,192,0,48,0,12,0,3,0,0,
+  192,0,48,13,14,28,16,1,255,2,0,5,0,5,0,8,
+  128,8,128,18,64,18,64,34,32,34,32,66,16,64,16,130,
+  8,128,8,255,248,6,11,11,8,1,255,4,8,16,32,64,
+  252,8,16,32,64,128,11,9,18,16,2,0,59,128,68,64,
+  138,32,138,32,68,64,59,128,17,0,59,128,17,0,11,11,
+  22,16,2,0,7,0,3,0,5,0,56,224,68,96,142,160,
+  149,0,104,128,48,128,17,0,14,0,10,14,28,16,3,255,
+  1,192,0,192,1,64,14,0,17,0,56,128,84,128,139,0,
+  134,0,68,0,56,0,16,0,56,0,16,0,8,12,12,16,
+  4,254,7,3,5,56,68,130,130,68,56,16,56,16,11,10,
+  20,16,2,0,0,224,0,96,2,160,1,0,58,128,68,0,
+  130,0,130,0,68,0,56,0,15,13,26,16,0,254,224,14,
+  192,6,168,10,16,16,43,160,4,64,8,32,8,32,4,64,
+  3,128,1,0,3,128,1,0,7,12,12,8,0,0,16,56,
+  84,16,56,16,56,68,130,130,68,56,14,7,14,16,0,255,
+  56,0,68,16,130,136,131,252,130,136,68,16,56,0,7,7,
+  7,8,0,255,56,68,130,130,130,68,56,7,7,7,8,0,
+  255,56,124,254,254,254,124,56,5,5,5,8,2,0,112,136,
+  136,136,112,11,6,12,16,2,0,59,128,68,64,138,32,138,
+  32,68,64,59,128,11,7,14,16,3,255,4,0,117,192,142,
+  32,142,32,142,32,117,192,4,0,13,5,10,16,1,0,112,
+  112,136,136,143,136,136,136,112,112,14,10,20,16,2,0,24,
+  0,39,128,64,124,128,0,128,0,128,0,128,0,64,124,39,
+  128,24,0,11,13,26,16,2,0,31,0,10,0,63,128,64,
+  64,128,32,128,32,64,64,64,64,64,64,32,128,32,128,32,
+  128,31,0,7,9,9,8,0,254,56,68,130,130,68,56,16,
+  16,16,6,9,9,8,0,254,112,136,4,4,8,48,32,248,
+  32,7,10,10,8,0,254,16,40,68,130,68,40,16,16,124,
+  16,7,10,10,8,0,254,146,84,56,254,56,84,146,16,124,
+  16,13,11,22,16,1,0,2,0,2,0,2,0,2,0,114,
+  112,8,128,5,0,242,120,8,128,5,0,2,0,6,11,11,
+  8,1,0,36,40,48,40,36,32,112,136,136,136,112,6,10,
+  10,8,1,254,56,112,224,224,224,112,56,16,124,16,8,7,
+  7,8,0,3,66,36,24,255,24,36,66,7,8,8,8,0,
+  0,68,68,68,40,40,40,16,254,7,8,8,8,0,0,254,
+  16,40,40,40,68,68,68,6,8,8,8,1,0,252,132,132,
+  132,148,252,64,252,13,13,26,16,0,255,7,0,28,192,60,
+  224,92,240,64,16,135,8,143,136,231,56,112,112,96,48,39,
+  32,31,192,7,0,13,13,26,16,0,255,7,0,24,192,48,
+  96,72,144,64,16,133,8,128,8,133,8,64,16,72,144,48,
+  96,24,192,7,0,13,13,26,16,1,255,255,248,128,8,135,
+  8,136,136,136,136,135,8,130,8,130,8,130,8,131,136,130,
+  8,128,8,255,248,12,9,18,16,2,0,31,128,96,96,134,
+  16,134,16,224,112,191,208,169,80,105,96,31,128,12,12,24,
+  16,2,0,31,128,96,96,134,16,134,16,224,112,191,208,169,
+  80,233,112,191,208,169,80,105,96,31,128,14,11,22,16,1,
+  255,31,224,112,56,207,204,188,244,188,244,143,196,160,20,171,
+  84,203,76,112,56,31,224,14,14,28,16,1,255,31,224,112,
+  56,207,204,188,244,188,244,143,196,160,20,171,84,139,68,160,
+  20,171,84,203,76,112,56,31,224};
 /*
-  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
-  Copyright: 
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
   Capital A Height: 15, '1' Height: 13
-  Calculated Max Values w=16 h=15 x= 7 y= 4 dx=16 dy= 0 ascent=14 len=30
+  Calculated Max Values w=16 h=16 x= 7 y= 5 dx=16 dy= 0 ascent=14 len=32
   Font Bounding box     w=16 h=16 x= 0 y=-2
   Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
   Pure Font   ascent =15 descent=-2
@@ -83171,457 +87141,464 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_77[1587] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifont_78_79[6975] U8G_SECTION(".progmem.u8g_font_unifont_78_79") = {
-  0,16,16,0,254,15,7,255,11,108,1,255,254,14,254,15,
+const u8g_fntpgm_uint8_t u8g_font_unifont_78_79[7084] U8G_FONT_SECTION("u8g_font_unifont_78_79") = {
+  0,16,16,0,254,15,8,41,11,207,1,255,254,14,254,15,
   254,15,11,22,16,0,2,56,0,124,0,108,0,124,0,60,
   0,14,0,127,252,255,254,217,192,248,224,112,0,14,11,22,
-  16,0,1,112,8,248,60,216,120,254,240,127,224,7,192,127,
-  224,254,240,216,120,248,60,112,8,15,11,22,16,0,255,112,
+  16,0,1,112,12,248,56,216,112,254,224,127,192,7,128,127,
+  192,254,224,216,112,248,56,112,12,15,11,22,16,0,255,112,
   0,248,224,217,192,255,254,127,252,14,0,60,0,124,0,108,
   0,124,0,56,0,15,11,22,16,0,1,112,12,136,50,174,
   68,129,136,121,16,6,32,120,80,129,136,174,68,136,50,112,
-  12,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,
-  84,168,84,168,84,15,15,30,16,0,255,7,192,24,48,32,
-  8,65,196,71,228,143,242,143,114,158,98,156,2,159,2,79,
-  4,70,4,32,8,24,48,7,192,15,15,30,16,0,255,7,
-  192,25,48,35,136,67,132,65,4,131,130,135,194,135,194,135,
-  194,139,162,92,116,88,52,32,8,24,48,7,192,15,14,28,
-  16,0,255,8,0,15,0,6,0,7,192,195,128,227,192,127,
-  254,127,254,227,192,195,128,7,192,6,0,15,0,8,0,14,
-  7,14,16,1,3,255,252,192,12,176,52,140,196,179,52,192,
-  12,255,252,6,14,14,8,1,255,168,84,168,84,168,84,168,
-  84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,
-  84,168,84,168,84,168,84,168,84,168,84,15,15,30,16,0,
-  255,24,48,36,72,34,136,18,144,17,16,9,32,8,32,124,
-  252,146,130,146,114,146,34,146,66,124,4,32,8,31,240,15,
-  13,26,16,1,0,0,16,0,56,0,112,7,238,25,234,35,
-  154,71,10,142,10,223,202,36,10,95,250,224,10,192,14,12,
-  12,24,16,1,0,48,0,76,0,170,0,149,0,226,128,81,
-  64,40,160,20,80,10,80,5,144,2,48,1,240,15,7,14,
-  16,0,3,63,240,80,40,143,244,168,22,143,244,80,40,63,
-  240,12,12,24,16,1,0,1,240,2,48,5,144,10,80,20,
-  80,40,160,81,64,226,128,149,0,170,0,76,0,48,0,15,
-  7,14,16,0,3,0,240,121,8,134,108,128,254,134,108,121,
-  8,0,240,15,7,14,16,0,3,0,224,121,240,255,56,255,
-  14,255,56,121,240,0,224,13,10,20,16,1,255,0,8,0,
-  16,0,32,128,64,128,128,65,0,66,0,36,0,40,0,16,
-  0,15,11,22,16,0,255,0,4,0,14,64,28,224,56,224,
-  112,112,224,113,192,59,128,63,0,30,0,12,0,11,11,22,
-  16,2,1,64,64,224,224,113,192,59,128,31,0,14,0,31,
-  0,59,128,113,192,224,224,64,64,15,15,30,16,0,255,16,
-  16,56,56,124,124,254,254,127,252,63,248,31,240,15,224,31,
-  240,63,248,127,252,254,254,124,124,56,56,16,16,12,13,26,
-  16,1,0,192,48,96,192,99,128,54,0,28,0,28,0,54,
-  0,51,0,97,128,96,192,192,96,192,48,64,0,12,14,28,
-  16,1,255,192,48,224,224,99,192,119,0,62,0,28,0,62,
-  0,55,0,115,128,97,192,224,224,192,112,192,32,64,0,15,
-  15,30,16,0,255,7,192,4,64,5,64,5,64,5,64,253,
-  126,129,2,191,250,129,2,253,126,5,64,5,64,5,64,4,
-  64,7,192,15,15,30,16,0,255,7,192,7,192,7,192,7,
-  192,7,192,255,254,255,254,255,254,255,254,255,254,7,192,7,
-  192,7,192,7,192,7,192,15,15,30,16,0,255,3,128,3,
-  128,3,128,3,128,3,128,3,128,252,126,252,126,252,126,3,
-  128,3,128,3,128,3,128,3,128,3,128,15,15,30,16,0,
-  255,7,192,7,192,7,192,7,192,7,192,248,62,248,62,248,
-  62,248,62,248,62,7,192,7,192,7,192,7,192,7,192,9,
-  11,22,16,3,1,28,0,28,0,28,0,255,128,255,128,255,
-  128,28,0,28,0,28,0,28,0,28,0,13,15,30,16,1,
-  255,15,0,9,128,9,128,9,128,249,240,128,24,128,24,249,
-  248,121,248,9,128,9,128,9,128,9,128,15,128,7,128,13,
-  14,28,16,1,255,31,192,16,64,247,120,135,8,191,232,191,
-  232,191,232,135,8,247,120,23,64,23,64,23,64,16,64,31,
-  192,15,15,30,16,0,255,31,240,7,192,3,128,131,130,131,
-  130,195,134,255,254,255,254,255,254,195,134,131,130,131,130,3,
-  128,7,192,31,240,15,15,30,16,0,255,1,0,2,128,4,
-  64,4,64,255,254,80,20,80,20,32,8,80,20,80,20,255,
-  254,4,64,4,64,2,128,1,0,15,15,30,16,0,255,3,
-  128,7,192,7,192,3,128,3,128,97,12,249,62,255,254,249,
-  62,97,12,3,128,3,128,7,192,7,192,3,128,15,15,30,
-  16,0,255,3,128,7,192,7,192,7,192,3,128,113,28,249,
-  62,255,254,249,62,113,28,3,128,7,192,7,192,7,192,3,
-  128,15,15,30,16,0,255,7,192,15,224,15,224,7,192,99,
-  140,243,158,255,254,255,254,255,254,243,158,99,140,7,192,15,
-  224,15,224,7,192,16,15,30,16,0,255,1,0,3,128,7,
-  192,7,192,1,0,49,12,113,14,255,255,113,14,49,12,1,
-  0,7,192,7,192,3,128,1,0,15,15,30,16,0,255,1,
-  0,3,128,3,128,7,192,7,192,31,240,127,252,255,254,127,
-  252,31,240,7,192,7,192,3,128,3,128,1,0,15,15,30,
-  16,0,255,1,0,2,128,2,128,4,64,4,64,24,48,96,
-  12,128,2,96,12,24,48,4,64,4,64,2,128,2,128,1,
-  0,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,
-  84,168,84,168,84,15,12,24,16,0,1,1,0,2,128,2,
-  128,252,126,64,4,56,56,8,32,16,16,17,16,38,200,40,
-  40,48,24,15,15,30,16,0,255,7,192,31,240,62,248,126,
-  252,124,124,192,6,240,30,248,62,240,30,241,30,103,204,111,
-  236,63,248,31,240,7,192,15,12,24,16,0,1,1,0,3,
-  128,3,128,255,254,124,124,56,56,8,32,28,112,31,240,62,
-  248,56,56,48,24,15,12,24,16,0,1,1,0,2,128,2,
-  128,252,126,67,132,39,200,23,208,19,144,16,16,39,200,40,
-  40,48,24,15,12,24,16,0,1,1,0,2,128,28,112,225,
-  14,79,228,35,136,23,208,20,80,17,16,34,136,44,104,48,
-  24,15,12,24,16,0,1,1,0,2,128,29,112,227,142,95,
-  244,47,232,23,208,22,208,21,80,34,136,44,104,48,24,15,
-  13,26,16,0,0,1,0,3,128,5,192,249,254,93,140,39,
-  184,19,240,15,208,29,144,25,208,50,232,44,120,48,24,16,
-  13,26,16,0,0,1,0,2,128,2,192,255,254,68,71,56,
-  62,8,60,22,208,17,24,39,200,47,44,60,28,24,12,15,
-  13,26,16,0,0,3,128,3,128,3,128,67,132,243,158,63,
-  252,15,240,63,252,243,158,67,132,3,128,3,128,3,128,15,
-  13,26,16,0,0,3,128,3,128,3,128,67,132,243,158,60,
-  124,8,48,60,124,243,158,67,132,3,128,3,128,3,128,15,
-  15,30,16,0,255,1,0,1,0,33,8,17,16,13,96,15,
-  224,7,192,255,254,7,192,15,224,13,96,17,16,33,8,1,
-  0,1,0,15,15,30,16,0,255,1,0,1,0,33,8,27,
-  176,31,240,15,224,31,224,255,254,31,240,15,224,31,240,27,
-  176,33,8,1,0,1,0,15,15,30,16,0,255,1,0,2,
-  128,60,248,44,200,38,152,50,184,125,76,131,134,77,124,58,
-  152,50,200,38,104,62,120,2,128,1,0,13,13,26,16,1,
-  0,2,0,2,0,2,0,135,8,119,112,63,224,31,192,63,
-  224,119,112,135,8,2,0,2,0,2,0,15,15,30,16,0,
-  255,8,32,8,32,12,96,6,192,230,206,59,184,31,240,7,
-  192,31,240,59,184,230,206,6,192,12,96,8,32,8,32,15,
-  15,30,16,0,255,8,32,12,96,14,224,15,224,255,254,127,
-  252,63,248,31,240,63,248,127,252,255,254,15,224,14,224,12,
-  96,8,32,15,15,30,16,0,255,1,0,25,48,15,224,79,
-  228,127,252,63,248,63,248,255,254,63,248,63,248,127,252,79,
-  228,15,224,25,48,1,0,15,15,30,16,0,255,9,32,73,
-  36,37,72,21,80,203,166,55,216,15,224,255,254,15,224,55,
-  216,203,166,21,80,37,72,73,36,9,32,15,15,30,16,0,
-  255,1,0,3,128,3,128,3,128,225,14,113,28,13,96,3,
-  128,13,96,113,28,225,14,3,128,3,128,3,128,1,0,15,
-  15,30,16,0,255,3,128,7,192,7,192,99,140,241,30,243,
-  158,60,120,8,32,60,120,243,158,241,30,99,140,7,192,7,
-  192,3,128,15,15,30,16,0,255,3,128,7,192,7,192,99,
-  140,243,158,241,30,61,120,7,192,61,120,241,30,243,158,99,
-  140,7,192,7,192,3,128,15,15,30,16,0,255,3,128,4,
-  64,4,64,116,92,252,126,254,254,127,252,33,8,67,132,135,
-  194,143,226,119,220,7,192,7,192,3,128,15,14,28,16,0,
-  0,3,128,7,192,15,224,119,220,255,254,252,126,240,30,112,
-  28,24,48,62,248,127,252,126,252,126,252,60,120,15,14,28,
-  16,0,0,3,128,4,64,9,32,121,60,133,66,179,154,143,
-  226,111,236,23,208,39,200,73,36,82,148,66,132,60,120,15,
-  15,30,16,0,255,3,128,60,120,69,68,81,20,77,100,111,
-  236,134,194,188,122,134,194,111,236,77,100,81,20,69,68,60,
-  120,3,128,15,15,30,16,0,255,7,192,30,240,62,248,92,
-  116,103,204,252,126,232,46,136,34,232,46,252,126,103,204,92,
-  116,62,248,30,240,7,192,15,15,30,16,0,255,3,128,4,
-  192,4,192,116,220,188,230,159,158,79,60,63,248,114,100,230,
-  114,206,122,118,92,6,64,6,64,3,128,15,13,26,16,0,
-  0,1,0,5,64,3,128,201,38,49,24,77,100,3,128,77,
-  100,49,24,201,38,3,128,5,64,1,0,15,13,26,16,0,
-  0,1,0,5,64,11,160,201,38,49,24,77,100,131,130,77,
-  100,49,24,201,38,11,160,5,64,1,0,15,15,30,16,0,
-  255,9,32,13,96,7,192,19,144,201,38,49,24,237,110,3,
-  128,237,110,49,24,201,38,17,16,7,192,13,96,9,32,14,
-  14,28,16,1,255,7,128,71,136,39,144,19,32,11,64,224,
-  28,251,124,251,124,224,28,11,64,19,32,39,144,71,136,7,
-  128,15,15,30,16,0,255,7,192,71,196,39,200,19,144,11,
-  160,224,14,251,190,251,190,251,190,224,14,11,160,19,144,39,
-  200,71,196,7,192,15,15,30,16,0,255,3,128,7,192,7,
-  192,119,220,251,190,249,62,125,124,7,192,125,124,249,62,251,
-  190,119,220,7,192,7,192,3,128,15,15,30,16,0,255,1,
-  0,3,128,51,152,49,24,9,32,5,64,99,140,255,254,99,
-  140,5,64,9,32,49,24,51,152,3,128,1,0,15,15,30,
-  16,0,255,1,0,3,128,51,152,59,184,25,48,7,192,119,
-  220,255,254,119,220,7,192,25,48,59,184,51,152,3,128,1,
-  0,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,
-  84,168,84,168,84,13,13,26,16,2,255,15,0,48,192,64,
-  32,64,48,128,16,128,24,128,24,128,24,64,56,64,48,48,
-  240,15,224,7,128,6,14,14,8,1,255,168,84,168,84,168,
-  84,168,84,168,84,168,84,168,84,12,12,24,16,3,1,255,
-  192,128,64,128,112,128,112,128,112,128,112,128,112,128,112,128,
-  112,255,240,63,240,63,240,12,12,24,16,3,1,63,240,63,
-  240,255,240,128,112,128,112,128,112,128,112,128,112,128,112,128,
-  112,128,64,255,192,12,12,24,16,3,1,255,192,128,96,128,
-  112,128,112,128,112,128,112,128,112,128,112,128,112,255,240,127,
-  240,63,240,12,12,24,16,3,1,63,240,127,240,255,240,128,
-  112,128,112,128,112,128,112,128,112,128,112,128,112,128,96,255,
-  192,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,
-  84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,
-  84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,
-  84,168,84,168,84,168,84,168,84,168,84,168,84,13,13,26,
-  16,1,0,2,0,7,0,15,128,7,0,34,32,112,112,248,
-  248,112,112,34,32,7,0,15,128,7,0,2,0,6,14,14,
-  8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,
-  84,2,15,15,16,7,255,192,192,192,192,192,192,192,192,192,
-  192,192,192,192,192,192,4,15,15,16,6,255,240,240,240,240,
-  240,240,240,240,240,240,240,240,240,240,240,8,15,15,16,4,
-  255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-  7,10,10,16,4,4,28,112,192,248,252,254,254,254,124,56,
-  7,10,10,16,4,4,56,124,254,254,254,126,62,6,28,112,
-  15,10,20,16,0,4,28,28,112,112,192,192,248,248,252,252,
-  254,254,254,254,254,254,124,124,56,56,15,10,20,16,0,4,
-  56,56,124,124,254,254,254,254,254,254,126,126,62,62,6,6,
-  28,28,112,112,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,14,14,28,16,
-  1,255,0,32,0,32,31,252,127,240,252,32,252,32,126,32,
-  31,224,0,32,96,96,240,64,240,192,99,128,62,0,9,15,
-  30,16,3,255,28,0,127,0,255,128,255,128,255,128,127,0,
-  28,0,8,0,8,0,0,0,28,0,62,0,62,0,62,0,
-  28,0,9,13,26,16,3,0,119,0,255,128,255,128,255,128,
-  127,0,28,0,8,0,0,0,28,0,62,0,62,0,62,0,
-  28,0,15,13,26,16,0,255,60,120,126,252,255,254,255,254,
-  255,254,127,252,127,252,63,248,31,240,15,224,7,192,3,128,
-  1,0,13,15,30,16,1,255,56,0,126,0,255,0,255,128,
-  255,192,255,224,127,240,63,248,127,240,255,224,255,192,255,128,
-  255,0,126,0,56,0,15,14,28,16,0,255,3,0,12,134,
-  56,142,103,248,1,0,57,56,126,252,255,254,255,254,127,252,
-  63,248,31,226,7,238,0,248,14,15,30,16,1,254,97,152,
-  99,200,55,236,23,228,23,252,19,252,115,252,157,248,147,248,
-  83,248,103,240,39,240,55,224,19,192,1,128,4,12,12,8,
-  3,255,16,32,96,192,192,192,192,192,192,96,32,16,4,12,
-  12,8,2,255,128,64,96,48,48,48,48,48,48,96,64,128,
-  5,12,12,8,2,255,24,48,112,224,224,224,224,224,224,112,
-  48,24,5,12,12,8,2,255,192,96,112,56,56,56,56,56,
-  56,112,96,192,5,12,12,8,2,255,24,48,48,96,96,192,
-  192,96,96,48,48,24,5,12,12,8,2,255,192,96,96,48,
-  48,24,24,48,48,96,96,192,6,12,12,8,2,255,28,56,
-  56,112,112,224,224,112,112,56,56,28,6,12,12,8,1,255,
-  224,112,112,56,56,28,28,56,56,112,112,224,7,12,12,8,
-  1,255,30,60,60,120,120,240,240,120,120,60,60,30,7,12,
-  12,8,0,255,240,120,120,60,60,30,30,60,60,120,120,240,
-  3,12,12,8,3,255,32,64,128,128,128,128,128,128,128,128,
-  64,32,3,12,12,8,2,255,128,64,32,32,32,32,32,32,
-  32,32,64,128,6,12,12,8,1,255,60,112,96,96,48,48,
-  224,48,48,96,112,60,6,12,12,8,1,255,240,56,24,24,
-  48,48,28,48,48,24,56,240,15,15,30,16,0,255,7,192,
-  31,240,63,248,126,252,124,252,250,254,254,254,254,254,254,254,
-  254,254,126,252,120,60,63,248,31,240,7,192,15,15,30,16,
-  0,255,7,192,31,240,63,248,120,60,119,220,255,222,255,222,
-  255,62,252,254,251,254,119,220,112,28,63,248,31,240,7,192,
-  15,15,30,16,0,255,7,192,31,240,63,248,120,60,119,220,
-  255,222,255,222,255,62,255,222,255,222,119,220,120,60,63,248,
-  31,240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,
-  127,188,127,60,254,190,253,190,251,190,247,190,224,14,127,188,
-  126,12,63,248,31,240,7,192,15,15,30,16,0,255,7,192,
-  31,240,63,248,112,28,119,252,247,254,240,62,255,222,255,222,
-  255,222,119,220,120,60,63,248,31,240,7,192,15,15,30,16,
-  0,255,7,192,31,240,63,248,120,60,119,220,247,254,247,254,
-  240,62,247,222,247,222,119,220,120,60,63,248,31,240,7,192,
-  15,15,30,16,0,255,7,192,31,240,63,248,112,28,119,220,
-  255,190,255,190,255,126,254,254,254,254,125,252,125,252,63,248,
-  31,240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,
-  120,60,119,220,247,222,247,222,248,62,247,222,247,222,119,220,
-  120,60,63,248,31,240,7,192,15,15,30,16,0,255,7,192,
-  31,240,63,248,120,60,119,220,247,222,247,222,248,30,255,222,
-  255,222,119,220,120,60,63,248,31,240,7,192,15,15,30,16,
-  0,255,7,192,31,240,63,248,119,28,102,236,246,238,246,238,
-  246,238,246,238,246,238,118,236,99,28,63,248,31,240,7,192,
-  15,15,30,16,0,255,7,192,24,48,32,8,64,132,65,132,
-  131,130,129,130,129,130,129,130,129,130,65,132,65,132,32,8,
-  24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
-  71,196,79,228,140,98,128,98,129,194,135,2,140,2,79,228,
-  79,228,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
-  24,48,32,8,71,196,79,228,140,98,128,98,129,194,128,98,
-  140,98,79,228,71,196,32,8,24,48,7,192,15,15,30,16,
-  0,255,7,192,24,48,32,8,64,228,65,228,131,98,134,98,
-  140,98,159,242,159,242,64,100,64,100,32,8,24,48,7,192,
-  15,15,30,16,0,255,7,192,24,48,32,8,79,228,79,228,
-  140,2,143,194,143,226,128,98,140,98,79,228,71,196,32,8,
-  24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
-  71,196,79,228,140,2,143,194,143,226,140,98,140,98,79,228,
-  71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
-  24,48,32,8,79,228,79,228,128,98,128,98,128,194,131,130,
-  134,2,70,4,70,4,32,8,24,48,7,192,15,15,30,16,
-  0,255,7,192,24,48,32,8,71,196,79,228,140,98,140,98,
-  135,194,140,98,140,98,79,228,71,196,32,8,24,48,7,192,
-  15,15,30,16,0,255,7,192,24,48,32,8,71,196,79,228,
-  140,98,140,98,143,226,135,226,128,98,79,228,71,196,32,8,
-  24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,
-  68,228,77,244,157,178,141,178,141,178,141,178,141,178,77,244,
-  76,228,32,8,24,48,7,192,15,15,30,16,0,255,7,192,
-  31,240,63,248,127,124,126,124,252,126,254,126,254,126,254,126,
-  254,126,126,124,126,124,63,248,31,240,7,192,15,15,30,16,
-  0,255,7,192,31,240,63,248,120,60,112,28,243,158,255,158,
-  254,62,248,254,243,254,112,28,112,28,63,248,31,240,7,192,
-  15,15,30,16,0,255,7,192,31,240,63,248,120,60,112,28,
-  243,158,255,158,254,62,255,158,243,158,112,28,120,60,63,248,
-  31,240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,
-  127,28,126,28,252,158,249,158,243,158,224,14,224,14,127,156,
-  127,156,63,248,31,240,7,192,15,15,30,16,0,255,7,192,
-  31,240,63,248,112,28,112,28,243,254,240,62,240,30,255,158,
-  243,158,112,28,120,60,63,248,31,240,7,192,15,15,30,16,
-  0,255,7,192,31,240,63,248,120,60,112,28,243,254,240,62,
-  240,30,243,158,243,158,112,28,120,60,63,248,31,240,7,192,
-  15,15,30,16,0,255,7,192,31,240,63,248,112,28,112,28,
-  255,158,255,158,255,62,252,126,249,254,121,252,121,252,63,248,
-  31,240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,
-  120,60,112,28,243,158,243,158,248,62,243,158,243,158,112,28,
-  120,60,63,248,31,240,7,192,15,15,30,16,0,255,7,192,
-  31,240,63,248,120,60,112,28,243,158,243,158,240,30,248,30,
-  255,158,112,28,120,60,63,248,31,240,7,192,15,15,30,16,
-  0,255,7,192,31,240,63,248,123,28,114,12,226,78,242,78,
-  242,78,242,78,242,78,114,12,115,28,63,248,31,240,7,192,
-  15,13,26,16,0,0,31,128,15,192,7,224,3,240,255,248,
-  255,252,255,254,255,252,255,248,3,240,7,224,15,192,31,128,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84,
-  168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,11,11,22,16,
-  2,1,32,0,112,0,248,0,120,0,60,128,12,128,3,128,
-  3,192,15,192,1,192,0,32,15,9,18,16,0,2,1,0,
-  1,128,224,192,252,240,255,254,252,240,224,192,1,128,1,0,
-  11,11,22,16,2,0,0,32,1,192,15,192,3,192,3,128,
-  12,128,60,128,120,0,248,0,112,0,32,0,15,9,18,16,
-  0,2,2,0,1,0,1,192,0,240,255,254,0,240,1,192,
-  1,0,2,0,15,13,26,16,0,0,0,192,1,224,1,240,
-  0,248,127,252,255,254,255,254,255,254,127,252,0,248,1,240,
-  1,224,0,192,15,11,22,16,0,1,0,16,0,16,0,24,
-  0,24,255,252,255,254,255,252,0,24,0,24,0,16,0,16,
-  15,13,26,16,0,0,0,16,0,16,0,24,0,24,255,252,
-  255,252,255,254,255,252,255,252,0,24,0,24,0,16,0,16,
-  15,9,18,16,0,2,0,32,0,48,0,56,170,252,170,254,
-  170,252,0,56,0,48,0,32,15,9,18,16,0,2,0,32,
-  0,48,170,248,170,252,170,254,170,252,170,248,0,48,0,32,
-  15,9,18,16,0,2,0,32,0,48,0,56,255,252,255,254,
-  255,252,0,56,0,48,0,32,14,15,30,16,1,255,128,0,
-  224,0,88,0,70,0,33,128,32,96,16,24,15,252,31,248,
-  63,224,63,128,126,0,120,0,224,0,128,0,14,15,30,16,
-  1,255,128,0,224,0,120,0,126,0,63,128,63,224,31,248,
-  15,252,16,24,32,96,33,128,70,0,88,0,224,0,128,0,
-  14,15,30,16,1,255,128,0,224,0,120,0,126,0,63,128,
-  63,224,31,248,15,252,31,248,63,224,63,128,126,0,120,0,
-  224,0,128,0,15,8,16,16,0,3,128,0,128,16,192,24,
-  127,252,127,254,63,252,0,24,0,16,15,8,16,16,0,2,
-  0,16,0,24,63,252,127,254,127,252,192,24,128,16,128,0,
-  7,13,13,16,5,0,16,16,24,248,252,252,254,252,252,248,
-  24,16,16,15,9,18,16,0,2,0,64,0,64,255,224,255,
-  240,255,254,255,240,255,224,0,64,0,64,14,9,18,16,1,
-  2,0,192,0,224,255,176,128,24,128,12,128,24,255,176,0,
-  224,0,192,14,9,18,16,1,2,0,192,0,224,255,208,192,
-  8,192,4,192,8,255,208,0,224,0,192,15,13,26,16,0,
-  255,0,8,0,24,0,36,0,68,63,130,64,2,128,6,255,
-  30,254,124,5,240,15,192,15,0,12,0,15,13,26,16,0,
-  0,12,0,15,0,15,192,5,240,254,124,255,30,128,6,64,
-  2,63,130,0,68,0,36,0,24,0,8,15,12,24,16,0,
-  0,0,128,0,192,255,160,128,16,128,8,128,4,128,14,128,
-  28,255,184,127,240,0,224,0,64,15,12,24,16,0,1,0,
-  64,0,224,127,240,255,184,128,28,128,14,128,4,128,8,128,
-  16,255,160,0,192,0,128,16,12,24,16,0,0,0,64,0,
-  96,0,80,255,200,64,4,64,2,64,7,255,206,127,220,0,
-  120,0,112,0,32,6,14,14,8,1,255,168,84,168,84,168,
-  84,168,84,168,84,168,84,168,84,16,12,24,16,0,1,0,
-  32,0,112,0,120,127,220,255,206,64,7,64,2,64,4,255,
-  200,0,80,0,96,0,64,14,15,30,16,1,255,15,128,63,
-  224,126,240,254,120,254,56,0,28,0,12,0,4,0,12,0,
-  28,254,56,254,120,126,240,63,224,15,128,15,7,14,16,0,
-  3,254,0,73,8,36,140,31,254,36,140,73,8,254,0,11,
-  11,22,16,2,1,16,0,24,0,28,0,252,0,124,0,60,
-  32,2,32,1,96,0,224,1,224,7,224,14,5,10,16,1,
-  4,248,16,124,24,63,252,124,24,248,16,11,11,22,16,2,
-  0,7,224,1,224,0,224,1,96,2,32,60,32,124,0,252,
-  0,28,0,24,0,16,0,11,11,22,16,2,1,8,0,12,
-  0,14,0,14,0,254,32,126,32,63,96,3,224,1,224,3,
-  224,15,224,15,9,18,16,0,2,0,32,252,16,126,24,63,
-  252,31,254,63,252,126,24,252,16,0,32,11,11,22,16,2,
-  0,15,224,3,224,1,224,3,224,63,96,126,32,254,32,14,
-  0,14,0,12,0,8,0,15,11,22,16,0,1,0,96,0,
-  240,0,240,120,56,255,12,255,254,255,12,120,56,0,240,0,
-  240,0,96,15,9,18,16,0,2,0,64,96,224,120,240,252,
-  120,255,254,252,120,120,240,96,224,0,64,15,7,14,16,0,
-  3,248,16,124,24,62,28,31,254,62,28,124,24,248,16,15,
-  9,18,16,0,2,248,96,252,112,126,120,127,252,63,254,127,
-  252,126,120,252,112,248,96,15,9,18,16,0,2,2,32,1,
-  16,0,136,255,196,0,2,255,196,0,136,1,16,2,32,6,
-  14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,
-  84,168,84,6,6,6,8,1,0,128,136,144,160,192,252,11,
-  12,24,16,2,0,4,0,10,0,10,0,17,0,17,0,36,
-  128,42,128,74,64,81,64,159,32,128,32,255,224,5,6,6,
-  8,1,0,32,32,32,32,32,248,10,8,16,16,3,1,63,
-  192,64,0,129,128,130,64,130,64,129,128,64,0,63,192,10,
-  8,16,16,3,1,255,0,0,128,96,64,144,64,144,64,96,
-  64,0,128,255,0,5,10,10,8,2,0,112,136,136,16,16,
-  32,32,64,64,56,5,10,10,8,2,0,112,136,136,64,64,
-  32,32,16,16,224,7,8,8,8,0,0,130,130,84,68,40,
-  40,16,16,14,8,16,16,1,1,129,252,130,0,68,0,68,
-  0,36,0,36,0,18,0,17,252,14,8,16,16,1,1,254,
-  4,1,4,0,136,0,136,0,144,0,144,1,32,254,32,3,
-  10,10,8,2,0,64,64,64,64,224,64,64,64,64,64,6,
-  14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,
-  84,168,84,12,14,28,16,2,254,255,240,128,0,64,0,64,
-  0,32,0,32,0,32,0,32,0,32,0,32,0,64,0,64,
-  0,128,0,128,0,6,14,14,8,1,255,168,84,168,84,168,
-  84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,
-  84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,
-  8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,
-  84,9,9,18,16,4,0,8,0,20,0,34,0,65,0,136,
-  128,65,0,34,0,20,0,8,0,7,8,8,8,0,0,16,
-  16,40,40,68,84,130,130,9,10,20,16,3,0,136,128,136,
-  128,136,128,136,128,136,128,136,128,136,128,136,128,73,0,62,
-  0,6,6,6,8,1,0,4,4,36,4,4,252,6,6,6,
-  8,1,0,252,128,128,144,128,128,12,10,20,16,2,0,224,
-  16,48,48,40,80,36,144,35,16,35,16,36,144,40,80,48,
-  48,224,16,12,10,20,16,2,0,128,112,192,192,161,64,146,
-  64,140,64,140,64,146,64,161,64,192,192,128,112,14,10,20,
-  16,1,0,224,28,48,48,40,80,36,144,35,16,35,16,36,
-  144,40,80,48,48,224,28,9,12,24,16,3,0,8,0,8,
-  0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,
-  0,8,0,255,128,9,12,24,16,3,0,255,128,8,0,8,
-  0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,
-  0,8,0,13,7,14,16,1,2,5,0,5,0,253,248,5,
-  0,253,248,5,0,5,0,13,7,14,16,1,2,5,0,5,
-  0,5,0,253,248,5,0,5,0,5,0,14,3,6,16,1,
-  4,64,0,191,252,64,0,14,3,6,16,1,4,128,0,255,
-  252,128,0,14,3,6,16,1,4,0,4,255,252,0,4,3,
-  11,11,16,7,255,64,160,64,64,64,64,64,64,64,64,224,
-  7,11,11,8,0,0,16,40,40,68,68,254,68,68,40,40,
-  16,13,13,26,16,1,0,2,0,5,0,5,0,8,128,16,
-  64,96,48,128,8,96,48,16,64,8,128,5,0,5,0,2,
-  0,15,13,26,16,0,0,0,128,1,64,1,64,2,32,4,
-  16,24,12,224,2,24,12,4,16,2,32,1,64,1,64,0,
-  128,15,13,26,16,1,0,2,0,5,0,5,0,8,128,16,
-  64,96,48,128,14,96,48,16,64,8,128,5,0,5,0,2,
-  0,15,13,26,16,0,0,31,254,16,2,16,2,16,2,16,
-  2,16,2,240,2,16,2,16,2,16,2,16,2,16,2,31,
-  254,15,13,26,16,1,0,255,240,128,16,128,16,128,16,128,
-  16,128,16,128,30,128,16,128,16,128,16,128,16,128,16,255,
-  240,5,13,13,8,2,0,248,160,160,160,160,160,160,160,160,
-  160,160,160,248,5,13,13,8,1,0,248,40,40,40,40,40,
-  40,40,40,40,40,40,248,4,12,12,8,2,0,16,32,32,
-  64,64,128,128,64,64,32,32,16,4,12,12,8,2,0,128,
-  64,64,32,32,16,16,32,32,64,64,128,6,12,12,8,1,
-  0,20,40,40,80,80,160,160,80,80,40,40,20,6,12,12,
-  8,1,0,160,80,80,40,40,20,20,40,40,80,80,160,4,
-  12,12,8,3,255,16,32,96,160,160,160,160,160,160,96,32,
-  16,4,12,12,8,1,255,128,64,96,80,80,80,80,80,80,
-  96,64,128,3,12,12,8,4,255,32,64,128,128,128,128,128,
-  128,128,128,64,32,3,12,12,8,1,255,128,64,32,32,32,
-  32,32,32,32,32,64,128,11,12,24,16,2,0,4,0,10,
-  0,27,0,42,128,106,192,170,160,42,128,42,128,42,128,42,
-  128,42,128,42,128,11,12,24,16,2,0,42,128,42,128,42,
-  128,42,128,42,128,42,128,170,160,106,192,42,128,27,0,10,
-  0,4,0,12,10,20,16,2,1,7,128,8,64,16,32,32,
-  16,168,16,112,16,32,16,0,32,8,64,7,128,12,10,20,
-  16,2,1,30,0,33,0,64,128,128,64,129,80,128,224,128,
-  64,64,0,33,0,30,0,15,7,14,16,0,2,3,128,5,
-  72,9,36,255,254,9,36,5,72,3,128,15,5,10,16,0,
-  3,32,0,64,0,255,254,64,0,32,0,15,5,10,16,0,
-  3,0,8,0,4,255,254,0,4,0,8,14,5,10,16,0,
-  3,32,16,64,8,255,252,64,8,32,16,15,7,14,16,0,
-  2,16,0,32,0,127,254,128,0,127,254,32,0,16,0,15,
-  7,14,16,0,2,0,16,0,8,255,252,0,2,255,252,0,
-  8,0,16,14,7,14,16,0,2,16,32,32,16,127,248,128,
-  4,127,248,32,16,16,32,14,5,10,16,0,3,32,4,64,
-  4,255,252,64,4,32,4,14,5,10,16,1,3,128,16,128,
-  8,255,252,128,8,128,16,14,7,14,16,0,2,16,4,32,
-  4,127,252,128,4,127,252,32,4,16,4,14,7,14,16,1,
-  2,128,32,128,16,255,248,128,4,255,248,128,16,128,32,15,
-  5,10,16,0,3,0,8,34,36,213,94,8,132,0,8};
+  12,14,11,22,16,1,255,0,8,0,20,0,36,0,72,64,
+  144,161,32,162,64,84,128,73,0,34,0,28,0,15,15,30,
+  16,0,255,7,192,24,48,32,8,65,196,71,228,143,242,143,
+  114,158,98,156,2,159,2,79,4,70,4,32,8,24,48,7,
+  192,15,15,30,16,0,255,7,192,25,48,35,136,67,132,65,
+  4,131,130,135,194,135,194,135,194,139,162,92,116,88,52,32,
+  8,24,48,7,192,15,14,28,16,0,255,8,0,15,0,6,
+  0,7,192,195,128,227,192,127,254,127,254,227,192,195,128,7,
+  192,6,0,15,0,8,0,14,7,14,16,1,3,255,252,192,
+  12,176,52,140,196,179,52,192,12,255,252,13,11,22,16,1,
+  255,6,192,25,32,41,32,107,240,170,8,169,200,169,136,110,
+  8,80,16,32,32,31,192,14,13,26,16,1,0,21,0,42,
+  128,42,128,106,128,170,128,170,152,170,164,128,68,128,8,128,
+  16,64,32,32,32,31,192,15,15,30,16,0,255,24,48,36,
+  72,34,136,18,144,17,16,9,32,8,32,124,252,146,130,146,
+  114,146,34,146,66,124,4,32,8,31,240,15,13,26,16,1,
+  0,0,16,0,56,0,112,7,238,25,234,35,154,71,10,142,
+  10,223,202,36,10,95,250,224,10,192,14,12,12,24,16,1,
+  0,48,0,76,0,170,0,149,0,226,128,81,64,40,160,20,
+  80,10,80,5,144,2,48,1,240,15,7,14,16,0,3,63,
+  240,80,40,143,244,168,22,143,244,80,40,63,240,12,12,24,
+  16,1,0,1,240,2,48,5,144,10,80,20,80,40,160,81,
+  64,226,128,149,0,170,0,76,0,48,0,15,7,14,16,0,
+  3,0,240,121,8,134,108,128,254,134,108,121,8,0,240,15,
+  7,14,16,0,3,0,224,121,240,255,56,255,14,255,56,121,
+  240,0,224,13,10,20,16,1,255,0,8,0,16,0,32,128,
+  64,128,128,65,0,66,0,36,0,40,0,16,0,15,11,22,
+  16,0,255,0,4,0,14,64,28,224,56,224,112,112,224,113,
+  192,59,128,63,0,30,0,12,0,11,11,22,16,2,1,64,
+  64,224,224,113,192,59,128,31,0,14,0,31,0,59,128,113,
+  192,224,224,64,64,15,15,30,16,0,255,16,16,56,56,124,
+  124,254,254,127,252,63,248,31,240,15,224,31,240,63,248,127,
+  252,254,254,124,124,56,56,16,16,12,13,26,16,1,0,192,
+  48,96,192,99,128,54,0,28,0,28,0,54,0,51,0,97,
+  128,96,192,192,96,192,48,64,0,12,14,28,16,1,255,192,
+  48,224,224,99,192,119,0,62,0,28,0,62,0,55,0,115,
+  128,97,192,224,224,192,112,192,32,64,0,15,15,30,16,0,
+  255,7,192,4,64,5,64,5,64,5,64,253,126,129,2,191,
+  250,129,2,253,126,5,64,5,64,5,64,4,64,7,192,15,
+  15,30,16,0,255,7,192,7,192,7,192,7,192,7,192,255,
+  254,255,254,255,254,255,254,255,254,7,192,7,192,7,192,7,
+  192,7,192,15,15,30,16,0,255,3,128,3,128,3,128,3,
+  128,3,128,3,128,252,126,252,126,252,126,3,128,3,128,3,
+  128,3,128,3,128,3,128,15,15,30,16,0,255,7,192,7,
+  192,7,192,7,192,7,192,248,62,248,62,248,62,248,62,248,
+  62,7,192,7,192,7,192,7,192,7,192,9,11,22,16,3,
+  1,28,0,28,0,28,0,255,128,255,128,255,128,28,0,28,
+  0,28,0,28,0,28,0,13,15,30,16,1,255,15,0,9,
+  128,9,128,9,128,249,240,128,24,128,24,249,248,121,248,9,
+  128,9,128,9,128,9,128,15,128,7,128,13,14,28,16,1,
+  255,31,192,16,64,247,120,135,8,191,232,191,232,191,232,135,
+  8,247,120,23,64,23,64,23,64,16,64,31,192,15,15,30,
+  16,0,255,31,240,7,192,3,128,131,130,131,130,195,134,255,
+  254,255,254,255,254,195,134,131,130,131,130,3,128,7,192,31,
+  240,15,15,30,16,0,255,1,0,1,0,2,128,255,254,68,
+  68,40,40,40,40,16,16,40,40,40,40,68,68,255,254,2,
+  128,1,0,1,0,15,15,30,16,0,255,3,128,7,192,7,
+  192,3,128,3,128,97,12,249,62,255,254,249,62,97,12,3,
+  128,3,128,7,192,7,192,3,128,15,15,30,16,0,255,3,
+  128,7,192,7,192,7,192,3,128,113,28,249,62,255,254,249,
+  62,113,28,3,128,7,192,7,192,7,192,3,128,15,15,30,
+  16,0,255,7,192,15,224,15,224,7,192,99,140,243,158,255,
+  254,255,254,255,254,243,158,99,140,7,192,15,224,15,224,7,
+  192,16,15,30,16,0,255,1,0,3,128,7,192,7,192,1,
+  0,49,12,113,14,255,255,113,14,49,12,1,0,7,192,7,
+  192,3,128,1,0,15,15,30,16,0,255,1,0,3,128,3,
+  128,7,192,7,192,31,240,127,252,255,254,127,252,31,240,7,
+  192,7,192,3,128,3,128,1,0,15,15,30,16,0,255,1,
+  0,2,128,2,128,4,64,4,64,24,48,96,12,128,2,96,
+  12,24,48,4,64,4,64,2,128,2,128,1,0,14,14,28,
+  16,1,255,8,0,8,0,20,0,34,0,193,128,34,32,20,
+  32,8,80,9,140,0,80,0,32,2,32,5,0,2,0,15,
+  12,24,16,0,1,1,0,2,128,2,128,252,126,64,4,56,
+  56,8,32,16,16,17,16,38,200,40,40,48,24,15,15,30,
+  16,0,255,7,192,31,240,62,248,126,252,124,124,192,6,240,
+  30,248,62,240,30,241,30,103,204,111,236,63,248,31,240,7,
+  192,15,12,24,16,0,1,1,0,3,128,3,128,255,254,124,
+  124,56,56,8,32,28,112,31,240,62,248,56,56,48,24,15,
+  12,24,16,0,1,1,0,2,128,2,128,252,126,67,132,39,
+  200,23,208,19,144,16,16,39,200,40,40,48,24,15,12,24,
+  16,0,1,1,0,2,128,28,112,225,14,79,228,35,136,23,
+  208,20,80,17,16,34,136,44,104,48,24,15,12,24,16,0,
+  1,1,0,2,128,29,112,227,142,95,244,47,232,23,208,22,
+  208,21,80,34,136,44,104,48,24,15,13,26,16,0,0,1,
+  0,3,128,5,192,249,254,93,140,39,184,19,240,15,208,29,
+  144,25,208,50,232,44,120,48,24,16,13,26,16,0,0,1,
+  0,2,128,2,192,255,254,68,71,56,62,8,60,22,208,17,
+  24,39,200,47,44,60,28,24,12,15,13,26,16,0,0,3,
+  128,3,128,3,128,67,132,243,158,63,252,15,240,63,252,243,
+  158,67,132,3,128,3,128,3,128,15,13,26,16,0,0,3,
+  128,3,128,3,128,67,132,243,158,60,124,8,48,60,124,243,
+  158,67,132,3,128,3,128,3,128,15,15,30,16,0,255,1,
+  0,1,0,33,8,17,16,13,96,15,224,7,192,255,254,7,
+  192,15,224,13,96,17,16,33,8,1,0,1,0,15,15,30,
+  16,0,255,1,0,1,0,33,8,27,176,31,240,15,224,31,
+  224,255,254,31,240,15,224,31,240,27,176,33,8,1,0,1,
+  0,15,15,30,16,0,255,1,0,2,128,60,248,44,200,38,
+  152,50,184,125,76,131,134,77,124,58,152,50,200,38,104,62,
+  120,2,128,1,0,13,13,26,16,1,0,2,0,2,0,2,
+  0,135,8,119,112,63,224,31,192,63,224,119,112,135,8,2,
+  0,2,0,2,0,15,15,30,16,0,255,8,32,8,32,12,
+  96,6,192,230,206,59,184,31,240,7,192,31,240,59,184,230,
+  206,6,192,12,96,8,32,8,32,15,15,30,16,0,255,8,
+  32,12,96,14,224,15,224,255,254,127,252,63,248,31,240,63,
+  248,127,252,255,254,15,224,14,224,12,96,8,32,15,15,30,
+  16,0,255,1,0,25,48,15,224,79,228,127,252,63,248,63,
+  248,255,254,63,248,63,248,127,252,79,228,15,224,25,48,1,
+  0,15,15,30,16,0,255,9,32,73,36,37,72,21,80,203,
+  166,55,216,15,224,255,254,15,224,55,216,203,166,21,80,37,
+  72,73,36,9,32,15,15,30,16,0,255,1,0,3,128,3,
+  128,3,128,225,14,113,28,13,96,3,128,13,96,113,28,225,
+  14,3,128,3,128,3,128,1,0,15,15,30,16,0,255,3,
+  128,7,192,7,192,99,140,241,30,243,158,60,120,8,32,60,
+  120,243,158,241,30,99,140,7,192,7,192,3,128,15,15,30,
+  16,0,255,3,128,7,192,7,192,99,140,243,158,241,30,61,
+  120,7,192,61,120,241,30,243,158,99,140,7,192,7,192,3,
+  128,15,15,30,16,0,255,3,128,4,64,4,64,116,92,252,
+  126,254,254,127,252,33,8,67,132,135,194,143,226,119,220,7,
+  192,7,192,3,128,15,14,28,16,0,0,3,128,7,192,15,
+  224,119,220,255,254,252,126,240,30,112,28,24,48,62,248,127,
+  252,126,252,126,252,60,120,15,14,28,16,0,0,3,128,4,
+  64,9,32,121,60,133,66,179,154,143,226,111,236,23,208,39,
+  200,73,36,82,148,66,132,60,120,15,15,30,16,0,255,3,
+  128,60,120,69,68,81,20,77,100,111,236,134,194,188,122,134,
+  194,111,236,77,100,81,20,69,68,60,120,3,128,15,15,30,
+  16,0,255,7,192,30,240,62,248,92,116,103,204,252,126,232,
+  46,136,34,232,46,252,126,103,204,92,116,62,248,30,240,7,
+  192,15,15,30,16,0,255,3,128,4,192,4,192,116,220,188,
+  230,159,158,79,60,63,248,114,100,230,114,206,122,118,92,6,
+  64,6,64,3,128,15,13,26,16,0,0,1,0,5,64,3,
+  128,201,38,49,24,77,100,3,128,77,100,49,24,201,38,3,
+  128,5,64,1,0,15,13,26,16,0,0,1,0,5,64,11,
+  160,201,38,49,24,77,100,131,130,77,100,49,24,201,38,11,
+  160,5,64,1,0,15,15,30,16,0,255,9,32,13,96,7,
+  192,19,144,201,38,49,24,237,110,3,128,237,110,49,24,201,
+  38,17,16,7,192,13,96,9,32,14,14,28,16,1,255,7,
+  128,71,136,39,144,19,32,11,64,224,28,251,124,251,124,224,
+  28,11,64,19,32,39,144,71,136,7,128,15,15,30,16,0,
+  255,7,192,71,196,39,200,19,144,11,160,224,14,251,190,251,
+  190,251,190,224,14,11,160,19,144,39,200,71,196,7,192,15,
+  15,30,16,0,255,3,128,7,192,7,192,119,220,251,190,249,
+  62,125,124,7,192,125,124,249,62,251,190,119,220,7,192,7,
+  192,3,128,15,15,30,16,0,255,1,0,3,128,51,152,49,
+  24,9,32,5,64,99,140,255,254,99,140,5,64,9,32,49,
+  24,51,152,3,128,1,0,15,15,30,16,0,255,1,0,3,
+  128,51,152,59,184,25,48,7,192,119,220,255,254,119,220,7,
+  192,25,48,59,184,51,152,3,128,1,0,11,11,22,16,2,
+  1,96,192,241,224,123,192,63,128,31,0,31,0,63,128,123,
+  192,241,224,224,224,64,64,13,13,26,16,2,255,15,0,48,
+  192,64,32,64,48,128,16,128,24,128,24,128,24,64,56,64,
+  48,48,240,15,224,7,128,13,13,26,16,0,0,255,248,223,
+  216,143,136,199,24,226,56,240,120,248,248,240,120,226,56,199,
+  24,143,136,223,216,255,248,12,12,24,16,3,1,255,192,128,
+  64,128,112,128,112,128,112,128,112,128,112,128,112,128,112,255,
+  240,63,240,63,240,12,12,24,16,3,1,63,240,63,240,255,
+  240,128,112,128,112,128,112,128,112,128,112,128,112,128,112,128,
+  64,255,192,12,12,24,16,3,1,255,192,128,96,128,112,128,
+  112,128,112,128,112,128,112,128,112,128,112,255,240,127,240,63,
+  240,12,12,24,16,3,1,63,240,127,240,255,240,128,112,128,
+  112,128,112,128,112,128,112,128,112,128,112,128,96,255,192,9,
+  15,30,16,3,254,28,0,127,0,243,128,193,128,199,128,15,
+  0,28,0,24,0,24,0,24,0,0,0,24,0,60,0,60,
+  0,24,0,9,16,32,16,3,254,62,0,65,0,156,128,162,
+  128,66,128,4,128,9,0,18,0,20,0,20,0,28,0,0,
+  0,28,0,34,0,34,0,28,0,7,15,15,16,4,255,56,
+  108,198,130,198,68,108,40,40,56,0,56,68,68,56,13,13,
+  26,16,1,0,2,0,7,0,15,128,7,0,34,32,112,112,
+  248,248,112,112,34,32,7,0,15,128,7,0,2,0,4,14,
+  14,16,6,0,96,240,240,240,240,240,240,96,96,96,96,0,
+  96,96,2,15,15,16,7,255,192,192,192,192,192,192,192,192,
+  192,192,192,192,192,192,192,4,15,15,16,6,255,240,240,240,
+  240,240,240,240,240,240,240,240,240,240,240,240,8,15,15,16,
+  4,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+  255,7,10,10,16,4,4,28,112,192,248,252,254,254,254,124,
+  56,7,10,10,16,4,4,56,124,254,254,254,126,62,6,28,
+  112,15,10,20,16,0,4,28,28,112,112,192,192,248,248,252,
+  252,254,254,254,254,254,254,124,124,56,56,15,10,20,16,0,
+  4,56,56,124,124,254,254,254,254,254,254,126,126,62,62,6,
+  6,28,28,112,112,7,10,10,16,3,0,56,124,254,254,254,
+  126,62,6,28,112,15,10,20,16,0,0,56,56,124,124,254,
+  254,254,254,254,254,126,126,62,62,6,6,28,28,112,112,14,
+  14,28,16,1,255,0,32,0,32,31,252,127,240,252,32,252,
+  32,126,32,31,224,0,32,96,96,240,64,240,192,99,128,62,
+  0,9,15,30,16,3,255,28,0,127,0,255,128,255,128,255,
+  128,127,0,28,0,8,0,8,0,0,0,28,0,62,0,62,
+  0,62,0,28,0,9,13,26,16,3,0,119,0,255,128,255,
+  128,255,128,127,0,28,0,8,0,0,0,28,0,62,0,62,
+  0,62,0,28,0,15,13,26,16,0,255,60,120,126,252,255,
+  254,255,254,255,254,127,252,127,252,63,248,31,240,15,224,7,
+  192,3,128,1,0,13,15,30,16,1,255,56,0,126,0,255,
+  0,255,128,255,192,255,224,127,240,63,248,127,240,255,224,255,
+  192,255,128,255,0,126,0,56,0,15,14,28,16,0,255,3,
+  0,12,134,56,142,103,248,1,0,57,56,126,252,255,254,255,
+  254,127,252,63,248,31,226,7,238,0,248,14,15,30,16,1,
+  254,97,152,99,200,55,236,23,228,23,252,19,252,115,252,157,
+  248,147,248,83,248,103,240,39,240,55,224,19,192,1,128,4,
+  12,12,8,3,255,16,32,96,192,192,192,192,192,192,96,32,
+  16,4,12,12,8,2,255,128,64,96,48,48,48,48,48,48,
+  96,64,128,5,12,12,8,2,255,24,48,112,224,224,224,224,
+  224,224,112,48,24,5,12,12,8,2,255,192,96,112,56,56,
+  56,56,56,56,112,96,192,5,12,12,8,2,255,24,48,48,
+  96,96,192,192,96,96,48,48,24,5,12,12,8,2,255,192,
+  96,96,48,48,24,24,48,48,96,96,192,6,12,12,8,2,
+  255,28,56,56,112,112,224,224,112,112,56,56,28,6,12,12,
+  8,1,255,224,112,112,56,56,28,28,56,56,112,112,224,7,
+  12,12,8,1,255,30,60,60,120,120,240,240,120,120,60,60,
+  30,7,12,12,8,0,255,240,120,120,60,60,30,30,60,60,
+  120,120,240,3,12,12,8,3,255,32,64,128,128,128,128,128,
+  128,128,128,64,32,3,12,12,8,2,255,128,64,32,32,32,
+  32,32,32,32,32,64,128,6,12,12,8,1,255,60,112,96,
+  96,48,48,224,48,48,96,112,60,6,12,12,8,1,255,240,
+  56,24,24,48,48,28,48,48,24,56,240,15,15,30,16,0,
+  255,7,192,31,240,63,248,126,252,124,252,250,254,254,254,254,
+  254,254,254,254,254,126,252,120,60,63,248,31,240,7,192,15,
+  15,30,16,0,255,7,192,31,240,63,248,124,124,123,188,251,
+  190,255,190,255,126,254,254,253,254,123,252,120,60,63,248,31,
+  240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,124,
+  124,123,188,251,190,255,190,254,126,255,190,251,190,123,188,124,
+  124,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31,
+  240,63,248,127,124,126,124,253,126,251,126,247,126,240,62,255,
+  126,127,124,127,124,63,248,31,240,7,192,15,15,30,16,0,
+  255,7,192,31,240,63,248,120,60,123,252,251,254,251,254,248,
+  126,255,190,255,190,123,188,124,124,63,248,31,240,7,192,15,
+  15,30,16,0,255,7,192,31,240,63,248,126,124,125,252,251,
+  254,251,254,248,126,251,190,251,190,123,188,124,124,63,248,31,
+  240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,120,
+  60,127,188,255,190,255,126,255,126,255,126,254,254,126,252,126,
+  252,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31,
+  240,63,248,124,124,123,188,251,190,251,190,252,126,251,190,251,
+  190,123,188,124,124,63,248,31,240,7,192,15,15,30,16,0,
+  255,7,192,31,240,63,248,124,124,123,188,251,190,251,190,252,
+  62,255,190,255,190,127,124,124,252,63,248,31,240,7,192,15,
+  15,30,16,0,255,7,192,31,240,63,248,127,252,123,156,243,
+  110,235,110,251,110,251,110,251,110,96,156,127,252,63,248,31,
+  240,7,192,15,15,30,16,0,255,7,192,24,48,32,8,64,
+  132,65,132,131,130,129,130,129,130,129,130,129,130,65,132,65,
+  132,32,8,24,48,7,192,15,15,30,16,0,255,7,192,24,
+  48,32,8,71,196,79,228,140,98,128,98,129,194,135,2,140,
+  2,79,228,79,228,32,8,24,48,7,192,15,15,30,16,0,
+  255,7,192,24,48,32,8,71,196,79,228,140,98,128,98,129,
+  194,128,98,140,98,79,228,71,196,32,8,24,48,7,192,15,
+  15,30,16,0,255,7,192,24,48,32,8,64,228,65,228,131,
+  98,134,98,140,98,159,242,159,242,64,100,64,100,32,8,24,
+  48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,79,
+  228,79,228,140,2,143,194,143,226,128,98,140,98,79,228,71,
+  196,32,8,24,48,7,192,15,15,30,16,0,255,7,192,24,
+  48,32,8,71,196,79,228,140,2,143,194,143,226,140,98,140,
+  98,79,228,71,196,32,8,24,48,7,192,15,15,30,16,0,
+  255,7,192,24,48,32,8,79,228,79,228,128,98,128,98,128,
+  194,131,130,134,2,70,4,70,4,32,8,24,48,7,192,15,
+  15,30,16,0,255,7,192,24,48,32,8,71,196,79,228,140,
+  98,140,98,135,194,140,98,140,98,79,228,71,196,32,8,24,
+  48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,71,
+  196,79,228,140,98,140,98,143,226,135,226,128,98,79,228,71,
+  196,32,8,24,48,7,192,15,15,30,16,0,255,7,192,24,
+  48,32,8,68,228,77,244,157,178,141,178,141,178,141,178,141,
+  178,77,244,76,228,32,8,24,48,7,192,15,15,30,16,0,
+  255,7,192,31,240,63,248,127,124,126,124,252,126,254,126,254,
+  126,254,126,254,126,126,124,126,124,63,248,31,240,7,192,15,
+  15,30,16,0,255,7,192,31,240,63,248,120,60,112,28,243,
+  158,255,158,254,62,248,254,243,254,112,28,112,28,63,248,31,
+  240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,120,
+  60,112,28,243,158,255,158,254,62,255,158,243,158,112,28,120,
+  60,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31,
+  240,63,248,127,28,126,28,252,158,249,158,243,158,224,14,224,
+  14,127,156,127,156,63,248,31,240,7,192,15,15,30,16,0,
+  255,7,192,31,240,63,248,112,28,112,28,243,254,240,62,240,
+  30,255,158,243,158,112,28,120,60,63,248,31,240,7,192,15,
+  15,30,16,0,255,7,192,31,240,63,248,120,60,112,28,243,
+  254,240,62,240,30,243,158,243,158,112,28,120,60,63,248,31,
+  240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,112,
+  28,112,28,255,158,255,158,255,62,252,126,249,254,121,252,121,
+  252,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31,
+  240,63,248,120,60,112,28,243,158,243,158,248,62,243,158,243,
+  158,112,28,120,60,63,248,31,240,7,192,15,15,30,16,0,
+  255,7,192,31,240,63,248,120,60,112,28,243,158,243,158,240,
+  30,248,30,255,158,112,28,120,60,63,248,31,240,7,192,15,
+  15,30,16,0,255,7,192,31,240,63,248,123,28,114,12,226,
+  78,242,78,242,78,242,78,242,78,114,12,115,28,63,248,31,
+  240,7,192,15,13,26,16,0,0,31,128,15,192,7,224,3,
+  240,255,248,255,252,255,254,255,252,255,248,3,240,7,224,15,
+  192,31,128,11,11,22,16,2,1,14,0,14,0,14,0,14,
+  0,255,224,255,224,255,224,14,0,14,0,14,0,14,0,13,
+  3,6,16,1,5,255,248,255,248,255,248,13,11,22,16,1,
+  1,7,0,7,0,7,0,0,0,255,248,255,248,255,248,0,
+  0,7,0,7,0,7,0,11,11,22,16,2,1,32,0,112,
+  0,248,0,120,0,60,128,12,128,3,128,3,192,15,192,1,
+  192,0,32,15,9,18,16,0,2,1,0,1,128,224,192,252,
+  240,255,254,252,240,224,192,1,128,1,0,11,11,22,16,2,
+  0,0,32,1,192,15,192,3,192,3,128,12,128,60,128,120,
+  0,248,0,112,0,32,0,15,9,18,16,0,2,2,0,1,
+  0,1,192,0,240,255,254,0,240,1,192,1,0,2,0,15,
+  13,26,16,0,0,0,192,1,224,1,240,0,248,127,252,255,
+  254,255,254,255,254,127,252,0,248,1,240,1,224,0,192,15,
+  11,22,16,0,1,0,16,0,16,0,24,0,24,255,252,255,
+  254,255,252,0,24,0,24,0,16,0,16,15,13,26,16,0,
+  0,0,16,0,16,0,24,0,24,255,252,255,252,255,254,255,
+  252,255,252,0,24,0,24,0,16,0,16,15,9,18,16,0,
+  2,0,32,0,48,0,56,170,252,170,254,170,252,0,56,0,
+  48,0,32,15,9,18,16,0,2,0,32,0,48,170,248,170,
+  252,170,254,170,252,170,248,0,48,0,32,15,9,18,16,0,
+  2,0,32,0,48,0,56,255,252,255,254,255,252,0,56,0,
+  48,0,32,14,15,30,16,1,255,128,0,224,0,88,0,70,
+  0,33,128,32,96,16,24,15,252,31,248,63,224,63,128,126,
+  0,120,0,224,0,128,0,14,15,30,16,1,255,128,0,224,
+  0,120,0,126,0,63,128,63,224,31,248,15,252,16,24,32,
+  96,33,128,70,0,88,0,224,0,128,0,14,15,30,16,1,
+  255,128,0,224,0,120,0,126,0,63,128,63,224,31,248,15,
+  252,31,248,63,224,63,128,126,0,120,0,224,0,128,0,15,
+  8,16,16,0,3,128,0,128,16,192,24,127,252,127,254,63,
+  252,0,24,0,16,15,8,16,16,0,2,0,16,0,24,63,
+  252,127,254,127,252,192,24,128,16,128,0,7,13,13,16,5,
+  0,16,16,24,248,252,252,254,252,252,248,24,16,16,15,9,
+  18,16,0,2,0,64,0,64,255,224,255,240,255,254,255,240,
+  255,224,0,64,0,64,14,9,18,16,1,2,0,192,0,224,
+  255,176,128,24,128,12,128,24,255,176,0,224,0,192,14,9,
+  18,16,1,2,0,192,0,224,255,208,192,8,192,4,192,8,
+  255,208,0,224,0,192,15,13,26,16,0,255,0,8,0,24,
+  0,36,0,68,63,130,64,2,128,6,255,30,254,124,5,240,
+  15,192,15,0,12,0,15,13,26,16,0,0,12,0,15,0,
+  15,192,5,240,254,124,255,30,128,6,64,2,63,130,0,68,
+  0,36,0,24,0,8,15,12,24,16,0,0,0,128,0,192,
+  255,160,128,16,128,8,128,4,128,14,128,28,255,184,127,240,
+  0,224,0,64,15,12,24,16,0,1,0,64,0,224,127,240,
+  255,184,128,28,128,14,128,4,128,8,128,16,255,160,0,192,
+  0,128,16,12,24,16,0,0,0,64,0,96,0,80,255,200,
+  64,4,64,2,64,7,255,206,127,220,0,120,0,112,0,32,
+  7,6,6,8,1,3,198,56,68,68,68,56,16,12,24,16,
+  0,1,0,32,0,112,0,120,127,220,255,206,64,7,64,2,
+  64,4,255,200,0,80,0,96,0,64,14,15,30,16,1,255,
+  15,128,63,224,126,240,254,120,254,56,0,28,0,12,0,4,
+  0,12,0,28,254,56,254,120,126,240,63,224,15,128,15,7,
+  14,16,0,3,254,0,73,8,36,140,31,254,36,140,73,8,
+  254,0,11,11,22,16,2,1,16,0,24,0,28,0,252,0,
+  124,0,60,32,2,32,1,96,0,224,1,224,7,224,14,5,
+  10,16,1,4,248,16,124,24,63,252,124,24,248,16,11,11,
+  22,16,2,0,7,224,1,224,0,224,1,96,2,32,60,32,
+  124,0,252,0,28,0,24,0,16,0,11,11,22,16,2,1,
+  8,0,12,0,14,0,14,0,254,32,126,32,63,96,3,224,
+  1,224,3,224,15,224,15,9,18,16,0,2,0,32,252,16,
+  126,24,63,252,31,254,63,252,126,24,252,16,0,32,11,11,
+  22,16,2,0,15,224,3,224,1,224,3,224,63,96,126,32,
+  254,32,14,0,14,0,12,0,8,0,15,11,22,16,0,1,
+  0,96,0,240,0,240,120,56,255,12,255,254,255,12,120,56,
+  0,240,0,240,0,96,15,9,18,16,0,2,0,64,96,224,
+  120,240,252,120,255,254,252,120,120,240,96,224,0,64,15,7,
+  14,16,0,3,248,16,124,24,62,28,31,254,62,28,124,24,
+  248,16,15,9,18,16,0,2,248,96,252,112,126,120,127,252,
+  63,254,127,252,126,120,252,112,248,96,15,9,18,16,0,2,
+  2,32,1,16,0,136,255,196,0,2,255,196,0,136,1,16,
+  2,32,16,6,12,16,0,3,227,199,28,56,34,68,34,68,
+  34,68,28,56,6,6,6,8,1,0,128,136,144,160,192,252,
+  11,12,24,16,2,0,4,0,10,0,10,0,17,0,17,0,
+  36,128,42,128,74,64,81,64,159,32,128,32,255,224,5,6,
+  6,8,1,0,32,32,32,32,32,248,10,8,16,16,3,1,
+  63,192,64,0,129,128,130,64,130,64,129,128,64,0,63,192,
+  10,8,16,16,3,1,255,0,0,128,96,64,144,64,144,64,
+  96,64,0,128,255,0,5,10,10,8,2,0,112,136,136,16,
+  16,32,32,64,64,56,5,10,10,8,2,0,112,136,136,64,
+  64,32,32,16,16,224,7,8,8,8,0,0,130,130,84,68,
+  40,40,16,16,14,8,16,16,1,1,129,252,130,0,68,0,
+  68,0,36,0,36,0,18,0,17,252,14,8,16,16,1,1,
+  254,4,1,4,0,136,0,136,0,144,0,144,1,32,254,32,
+  3,10,10,8,2,0,64,64,64,64,224,64,64,64,64,64,
+  8,8,8,16,4,1,1,2,4,8,16,32,64,128,12,14,
+  28,16,2,254,255,240,128,0,64,0,64,0,32,0,32,0,
+  32,0,32,0,32,0,32,0,64,0,64,0,128,0,128,0,
+  8,8,8,16,4,1,128,64,32,16,8,4,2,1,13,13,
+  26,16,1,0,255,248,130,8,130,8,133,8,133,8,136,136,
+  136,136,144,72,144,72,160,40,160,40,192,24,255,248,13,13,
+  26,16,1,0,255,248,192,24,160,40,160,40,144,72,144,72,
+  136,136,136,136,133,8,133,8,130,8,130,8,255,248,9,9,
+  18,16,4,0,8,0,20,0,34,0,65,0,136,128,65,0,
+  34,0,20,0,8,0,7,8,8,8,0,0,16,16,40,40,
+  68,84,130,130,9,10,20,16,3,0,136,128,136,128,136,128,
+  136,128,136,128,136,128,136,128,136,128,73,0,62,0,6,6,
+  6,8,1,0,4,4,36,4,4,252,6,6,6,8,1,0,
+  252,128,128,144,128,128,12,10,20,16,2,0,224,16,48,48,
+  40,80,36,144,35,16,35,16,36,144,40,80,48,48,224,16,
+  12,10,20,16,2,0,128,112,192,192,161,64,146,64,140,64,
+  140,64,146,64,161,64,192,192,128,112,14,10,20,16,1,0,
+  224,28,48,48,40,80,36,144,35,16,35,16,36,144,40,80,
+  48,48,224,28,9,12,24,16,3,0,8,0,8,0,8,0,
+  8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,
+  255,128,9,12,24,16,3,0,255,128,8,0,8,0,8,0,
+  8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,
+  13,7,14,16,1,2,5,0,5,0,253,248,5,0,253,248,
+  5,0,5,0,13,7,14,16,1,2,5,0,5,0,5,0,
+  253,248,5,0,5,0,5,0,14,3,6,16,1,4,64,0,
+  191,252,64,0,14,3,6,16,1,4,128,0,255,252,128,0,
+  14,3,6,16,1,4,0,4,255,252,0,4,3,11,11,16,
+  7,255,64,160,64,64,64,64,64,64,64,64,224,7,11,11,
+  8,0,0,16,40,40,68,68,254,68,68,40,40,16,13,13,
+  26,16,1,0,2,0,5,0,5,0,8,128,16,64,96,48,
+  128,8,96,48,16,64,8,128,5,0,5,0,2,0,15,13,
+  26,16,0,0,0,128,1,64,1,64,2,32,4,16,24,12,
+  224,2,24,12,4,16,2,32,1,64,1,64,0,128,15,13,
+  26,16,1,0,2,0,5,0,5,0,8,128,16,64,96,48,
+  128,14,96,48,16,64,8,128,5,0,5,0,2,0,15,13,
+  26,16,0,0,31,254,16,2,16,2,16,2,16,2,16,2,
+  240,2,16,2,16,2,16,2,16,2,16,2,31,254,15,13,
+  26,16,1,0,255,240,128,16,128,16,128,16,128,16,128,16,
+  128,30,128,16,128,16,128,16,128,16,128,16,255,240,5,13,
+  13,8,2,0,248,160,160,160,160,160,160,160,160,160,160,160,
+  248,5,13,13,8,1,0,248,40,40,40,40,40,40,40,40,
+  40,40,40,248,4,12,12,8,2,0,16,32,32,64,64,128,
+  128,64,64,32,32,16,4,12,12,8,2,0,128,64,64,32,
+  32,16,16,32,32,64,64,128,6,12,12,8,1,0,20,40,
+  40,80,80,160,160,80,80,40,40,20,6,12,12,8,1,0,
+  160,80,80,40,40,20,20,40,40,80,80,160,4,12,12,8,
+  3,255,16,32,96,160,160,160,160,160,160,96,32,16,4,12,
+  12,8,1,255,128,64,96,80,80,80,80,80,80,96,64,128,
+  3,12,12,8,4,255,32,64,128,128,128,128,128,128,128,128,
+  64,32,3,12,12,8,1,255,128,64,32,32,32,32,32,32,
+  32,32,64,128,11,12,24,16,2,0,4,0,10,0,27,0,
+  42,128,106,192,170,160,42,128,42,128,42,128,42,128,42,128,
+  42,128,11,12,24,16,2,0,42,128,42,128,42,128,42,128,
+  42,128,42,128,170,160,106,192,42,128,27,0,10,0,4,0,
+  12,10,20,16,2,0,7,128,8,64,16,32,32,16,168,16,
+  112,16,32,16,0,32,8,64,7,128,12,10,20,16,2,0,
+  30,0,33,0,64,128,128,64,129,80,128,224,128,64,64,0,
+  33,0,30,0,15,7,14,16,0,1,3,128,5,72,9,36,
+  255,254,9,36,5,72,3,128,15,5,10,16,1,2,32,0,
+  64,0,255,254,64,0,32,0,15,5,10,16,0,2,0,8,
+  0,4,255,254,0,4,0,8,14,5,10,16,1,2,32,16,
+  64,8,255,252,64,8,32,16,15,7,14,16,0,1,16,0,
+  32,0,127,254,128,0,127,254,32,0,16,0,15,7,14,16,
+  0,1,0,16,0,8,255,252,0,2,255,252,0,8,0,16,
+  14,7,14,16,1,1,16,32,32,16,127,248,128,4,127,248,
+  32,16,16,32,14,5,10,16,1,2,32,4,64,4,255,252,
+  64,4,32,4,14,5,10,16,1,2,128,16,128,8,255,252,
+  128,8,128,16,14,7,14,16,1,1,16,4,32,4,127,252,
+  128,4,127,252,32,4,16,4,14,7,14,16,1,1,128,32,
+  128,16,255,248,128,4,255,248,128,16,128,32,15,5,10,16,
+  0,2,0,8,34,36,213,94,8,132,0,8};
 /*
-  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
-  Copyright: 
-  Capital A Height: 11, '1' Height: 6
-  Calculated Max Values w=15 h=15 x= 3 y= 3 dx=16 dy= 0 ascent=13 len=30
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
+  Capital A Height: 11, '1' Height: 5
+  Calculated Max Values w=15 h=15 x= 3 y= 4 dx=16 dy= 0 ascent=13 len=30
   Font Bounding box     w=16 h=16 x= 0 y=-2
   Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
-  Pure Font   ascent =11 descent= 3
+  Pure Font   ascent =11 descent= 2
   X Font      ascent =11 descent= 0
   Max Font    ascent =13 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifont_86[1876] U8G_SECTION(".progmem.u8g_font_unifont_86") = {
-  0,16,16,0,254,11,3,37,5,106,32,116,3,13,254,11,
+const u8g_fntpgm_uint8_t u8g_font_unifont_86[1858] U8G_FONT_SECTION("u8g_font_unifont_86") = {
+  0,16,16,0,254,11,3,31,5,100,32,116,2,13,254,11,
   0,11,11,22,16,2,0,7,224,4,32,2,32,4,32,8,
   160,17,96,34,0,68,0,136,0,80,0,32,0,11,11,22,
   16,2,0,252,0,132,0,136,0,132,0,162,0,209,0,8,
@@ -83629,119 +87606,118 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_86[1876] U8G_SECTION(".progmem.u8g_fon
   0,80,0,136,0,68,0,34,0,17,96,8,160,4,32,2,
   32,4,32,7,224,11,11,22,16,2,0,0,128,1,64,2,
   32,4,64,8,128,209,0,162,0,132,0,136,0,132,0,252,
-  0,14,7,14,16,1,0,16,32,48,48,95,232,128,4,95,
-  232,48,48,16,32,13,7,14,16,1,0,16,0,48,0,127,
-  248,255,248,127,248,48,0,16,0,7,11,11,8,0,0,16,
-  56,124,254,56,56,56,56,56,56,56,7,11,11,8,0,0,
-  56,56,56,56,56,56,56,254,124,56,16,11,11,22,16,2,
-  0,7,224,7,224,3,224,7,224,15,224,31,96,62,0,124,
-  0,248,0,112,0,32,0,11,11,22,16,2,0,252,0,252,
-  0,248,0,252,0,254,0,223,0,15,128,7,192,3,224,1,
-  192,0,128,11,11,22,16,2,0,32,0,112,0,248,0,124,
-  0,62,0,31,96,15,224,7,224,3,224,7,224,7,224,11,
-  11,22,16,2,0,0,128,1,192,3,224,7,192,15,128,223,
-  0,254,0,252,0,248,0,252,0,252,0,14,7,14,16,1,
-  0,16,32,48,48,127,248,255,252,127,248,48,48,16,32,7,
-  12,12,8,0,255,16,56,124,254,56,56,56,56,254,124,56,
-  16,14,6,12,16,1,0,255,240,0,16,0,16,0,84,0,
-  56,0,16,14,6,12,16,1,0,0,16,0,56,0,84,0,
-  16,0,16,255,240,14,6,12,16,1,0,63,252,32,0,32,
-  0,168,0,112,0,32,0,14,6,12,16,1,0,32,0,112,
-  0,168,0,32,0,32,0,63,252,10,10,20,16,3,255,255,
-  192,255,192,255,192,255,192,255,192,128,64,128,64,128,64,128,
-  64,255,192,10,10,20,16,3,255,255,192,128,64,128,64,128,
-  64,128,64,255,192,255,192,255,192,255,192,255,192,10,10,20,
-  16,3,255,255,192,255,192,191,192,159,192,143,192,135,192,131,
-  192,129,192,128,192,255,192,10,10,20,16,3,255,255,192,192,
-  64,224,64,240,64,248,64,252,64,254,64,255,64,255,192,255,
-  192,10,10,20,16,3,255,12,0,26,0,57,0,120,128,248,
-  64,248,64,120,128,57,0,26,0,12,0,10,10,20,16,3,
-  255,12,0,22,0,39,0,71,128,135,192,135,192,71,128,39,
-  0,22,0,12,0,10,10,20,16,3,255,12,0,30,0,63,
-  0,127,128,255,192,128,64,64,128,33,0,18,0,12,0,10,
-  10,20,16,3,255,12,0,18,0,33,0,64,128,128,64,255,
-  192,127,128,63,0,30,0,12,0,11,11,22,16,2,0,170,
-  160,0,0,128,32,0,0,128,32,0,0,128,32,0,0,128,
-  32,0,0,170,160,14,14,28,16,1,255,255,252,255,252,255,
+  0,14,7,14,16,1,1,16,32,48,48,95,232,128,4,95,
+  232,48,48,16,32,13,7,14,16,1,1,16,0,48,0,127,
+  248,255,248,127,248,48,0,16,0,7,12,12,8,0,0,16,
+  56,124,254,56,56,56,56,56,56,56,56,7,12,12,8,0,
+  0,56,56,56,56,56,56,56,56,254,124,56,16,11,11,22,
+  16,2,0,7,224,7,224,3,224,7,224,15,224,31,96,62,
+  0,124,0,248,0,112,0,32,0,11,11,22,16,2,0,252,
+  0,252,0,248,0,252,0,254,0,223,0,15,128,7,192,3,
+  224,1,192,0,128,11,11,22,16,2,0,32,0,112,0,248,
+  0,124,0,62,0,31,96,15,224,7,224,3,224,7,224,7,
+  224,11,11,22,16,2,0,0,128,1,192,3,224,7,192,15,
+  128,223,0,254,0,252,0,248,0,252,0,252,0,14,7,14,
+  16,1,1,16,32,48,48,127,248,255,252,127,248,48,48,16,
+  32,7,12,12,8,0,0,16,56,124,254,56,56,56,56,254,
+  124,56,16,15,5,10,16,0,0,255,248,0,8,0,42,0,
+  28,0,8,15,5,10,16,0,4,0,8,0,28,0,42,0,
+  8,255,248,15,5,10,16,1,0,63,254,32,0,168,0,112,
+  0,32,0,15,5,10,16,1,4,32,0,112,0,168,0,32,
+  0,63,254,10,10,20,16,3,255,255,192,255,192,255,192,255,
+  192,255,192,128,64,128,64,128,64,128,64,255,192,10,10,20,
+  16,3,255,255,192,128,64,128,64,128,64,128,64,255,192,255,
+  192,255,192,255,192,255,192,10,10,20,16,3,255,255,192,255,
+  192,191,192,159,192,143,192,135,192,131,192,129,192,128,192,255,
+  192,10,10,20,16,3,255,255,192,192,64,224,64,240,64,248,
+  64,252,64,254,64,255,64,255,192,255,192,10,10,20,16,3,
+  255,12,0,26,0,57,0,120,128,248,64,248,64,120,128,57,
+  0,26,0,12,0,10,10,20,16,3,255,12,0,22,0,39,
+  0,71,128,135,192,135,192,71,128,39,0,22,0,12,0,10,
+  10,20,16,3,255,12,0,30,0,63,0,127,128,255,192,128,
+  64,64,128,33,0,18,0,12,0,10,10,20,16,3,255,12,
+  0,18,0,33,0,64,128,128,64,255,192,127,128,63,0,30,
+  0,12,0,11,11,22,16,2,0,170,160,0,0,128,32,0,
+  0,128,32,0,0,128,32,0,0,128,32,0,0,170,160,14,
+  14,28,16,1,255,255,252,255,252,255,252,255,252,255,252,255,
   252,255,252,255,252,255,252,255,252,255,252,255,252,255,252,255,
-  252,255,252,255,252,255,252,14,14,28,16,1,255,255,252,128,
+  252,14,14,28,16,1,255,255,252,128,4,128,4,128,4,128,
   4,128,4,128,4,128,4,128,4,128,4,128,4,128,4,128,
-  4,128,4,128,4,128,4,255,252,4,4,4,8,2,2,240,
-  240,240,240,4,4,4,8,2,2,240,144,144,240,12,11,22,
-  16,2,0,6,0,15,0,31,128,63,192,127,224,255,240,127,
-  224,127,224,63,192,63,192,31,128,12,11,22,16,2,0,6,
-  0,9,0,16,128,32,64,64,32,128,16,64,32,64,32,32,
-  64,32,64,31,128,11,11,22,16,2,255,4,0,27,0,96,
-  192,128,32,128,32,128,32,128,32,128,32,96,192,27,0,4,
-  0,11,11,22,16,2,255,4,0,31,0,127,192,255,224,255,
-  224,255,224,255,224,255,224,127,192,31,0,4,0,14,10,20,
-  16,1,0,15,192,31,224,63,240,127,248,255,252,255,252,127,
-  248,63,240,31,224,15,192,14,13,26,16,1,254,31,224,63,
-  240,127,248,255,252,255,252,255,252,255,252,255,252,255,252,255,
-  252,127,248,63,240,31,224,7,7,7,8,0,0,16,56,124,
-  254,124,56,16,7,7,7,8,0,0,16,40,68,130,68,40,
-  16,7,11,11,8,0,0,16,56,56,124,124,254,124,124,56,
-  56,16,7,11,11,8,0,0,16,40,40,68,68,130,68,68,
-  40,40,16,5,5,5,8,1,3,32,112,248,112,32,5,7,
-  7,8,1,0,32,112,112,248,112,112,32,5,7,7,8,1,
-  0,32,80,80,136,80,80,32,15,6,12,16,0,0,15,224,
-  127,252,255,254,255,254,127,252,15,224,15,6,12,16,0,0,
-  15,224,112,28,128,2,128,2,112,28,15,224,6,13,13,8,
-  1,0,48,120,120,120,252,252,252,252,252,120,120,120,48,6,
-  13,13,8,1,0,48,72,72,72,132,132,132,132,132,72,72,
-  72,48,14,5,10,16,1,3,33,192,66,32,255,252,66,32,
-  33,192,14,15,30,16,1,254,32,0,64,0,255,252,64,0,
-  32,0,32,0,64,0,255,252,64,0,32,0,32,0,64,0,
-  255,252,64,0,32,0,14,5,10,16,1,3,33,192,66,160,
-  255,252,66,160,33,192,14,5,10,16,1,3,34,32,69,80,
-  245,92,72,128,32,0,14,5,10,16,1,3,40,64,80,64,
-  255,252,80,64,40,64,14,5,10,16,1,3,40,160,80,160,
-  255,252,80,160,40,160,14,5,10,16,1,3,40,4,80,4,
-  255,252,80,4,40,4,14,5,10,16,1,3,40,4,80,8,
-  253,176,80,8,40,4,14,5,10,16,1,3,32,0,64,0,
-  213,84,64,0,32,0,14,5,10,16,1,3,32,132,64,136,
-  255,240,64,136,32,132,14,5,10,16,1,3,33,68,65,72,
-  255,240,65,72,33,68,14,5,10,16,1,3,40,4,80,8,
-  255,240,80,8,40,4,14,5,10,16,1,3,40,132,80,136,
-  255,240,80,136,40,132,14,5,10,16,1,3,41,68,81,72,
-  255,240,81,72,41,68,14,5,10,16,1,3,40,144,80,96,
-  255,252,80,96,40,144,14,5,10,16,1,3,32,240,65,8,
-  254,4,64,0,32,0,14,7,14,16,1,3,3,240,0,0,
-  35,240,64,0,255,252,64,0,32,0,14,7,14,16,1,3,
-  0,112,8,136,39,0,64,0,255,252,64,0,32,0,14,10,
-  20,16,1,254,32,0,64,0,255,252,64,0,32,112,8,136,
-  7,0,0,112,8,136,7,0,14,9,18,16,1,1,224,0,
-  24,0,6,16,1,8,31,252,1,8,6,16,24,0,224,0,
-  14,11,22,16,1,0,252,0,2,0,1,0,0,144,0,136,
-  255,252,0,136,0,144,1,0,2,0,252,0,15,11,22,16,
-  0,1,4,0,8,0,31,254,32,0,127,254,128,0,127,254,
-  32,0,31,254,8,0,4,0,15,11,22,16,0,1,0,64,
-  0,32,255,240,0,8,255,252,0,2,255,252,0,8,255,240,
-  0,32,0,64,14,7,14,16,1,3,3,128,68,64,56,16,
-  0,8,255,252,0,8,0,16,14,10,20,16,1,254,0,16,
-  0,8,255,252,0,8,3,144,68,64,56,0,3,128,68,64,
-  56,0,14,7,14,16,1,3,7,0,8,136,32,112,64,0,
-  255,252,64,0,32,0,14,10,20,16,1,254,32,0,64,0,
-  255,252,64,0,39,0,8,136,0,112,7,0,8,136,0,112,
-  14,7,14,16,1,1,32,0,64,0,255,252,64,0,32,112,
-  8,136,7,0,14,7,14,16,1,1,0,16,0,8,255,252,
-  0,8,3,144,68,64,56,0,6,14,14,8,1,255,168,84,
-  168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,
-  1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,
-  6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,
-  168,84,168,84,13,13,26,16,1,0,2,0,2,0,5,0,
-  5,0,248,248,64,16,32,32,16,64,8,128,16,64,34,32,
-  77,144,112,112,11,10,20,16,2,1,4,0,14,0,14,0,
-  255,224,127,192,63,128,63,128,123,192,241,224,192,96,11,10,
-  20,16,2,1,4,0,10,0,10,0,241,224,64,64,32,128,
-  36,128,74,64,177,160,192,96,11,12,24,16,3,0,4,0,
-  30,0,127,0,255,128,255,192,255,224,255,224,255,192,255,128,
-  127,0,30,0,4,0,11,12,24,16,3,0,4,0,26,0,
-  97,0,128,128,128,64,128,32,128,32,128,64,128,128,97,0,
-  26,0,4,0};
+  4,255,252,4,4,4,8,2,2,240,240,240,240,4,4,4,
+  8,2,2,240,144,144,240,12,11,22,16,2,0,6,0,15,
+  0,31,128,63,192,127,224,255,240,127,224,127,224,63,192,63,
+  192,31,128,12,11,22,16,2,0,6,0,9,0,16,128,32,
+  64,64,32,128,16,64,32,64,32,32,64,32,64,31,128,11,
+  11,22,16,2,255,4,0,27,0,96,192,128,32,128,32,128,
+  32,128,32,128,32,96,192,27,0,4,0,11,11,22,16,2,
+  255,4,0,31,0,127,192,255,224,255,224,255,224,255,224,255,
+  224,127,192,31,0,4,0,14,10,20,16,1,0,15,192,31,
+  224,63,240,127,248,255,252,255,252,127,248,63,240,31,224,15,
+  192,14,13,26,16,1,254,31,224,63,240,127,248,255,252,255,
+  252,255,252,255,252,255,252,255,252,255,252,127,248,63,240,31,
+  224,7,7,7,8,0,0,16,56,124,254,124,56,16,7,7,
+  7,8,0,0,16,40,68,130,68,40,16,7,11,11,8,0,
+  0,16,56,56,124,124,254,124,124,56,56,16,7,11,11,8,
+  0,0,16,40,40,68,68,130,68,68,40,40,16,5,5,5,
+  8,1,3,32,112,248,112,32,5,7,7,8,1,0,32,112,
+  112,248,112,112,32,5,7,7,8,1,0,32,80,80,136,80,
+  80,32,15,6,12,16,0,0,15,224,127,252,255,254,255,254,
+  127,252,15,224,15,6,12,16,0,0,15,224,112,28,128,2,
+  128,2,112,28,15,224,6,13,13,8,1,0,48,120,120,120,
+  252,252,252,252,252,120,120,120,48,6,13,13,8,1,0,48,
+  72,72,72,132,132,132,132,132,72,72,72,48,15,5,10,16,
+  1,2,33,192,66,32,255,254,66,32,33,192,14,15,30,16,
+  1,254,32,0,64,0,255,252,64,0,32,0,32,0,64,0,
+  255,252,64,0,32,0,32,0,64,0,255,252,64,0,32,0,
+  15,5,10,16,1,2,33,192,66,160,255,254,66,160,33,192,
+  15,5,10,16,1,2,34,32,69,80,245,94,72,128,32,0,
+  15,5,10,16,1,2,40,64,80,64,255,254,80,64,40,64,
+  15,5,10,16,1,2,40,160,80,160,255,254,80,160,40,160,
+  14,5,10,16,1,2,40,4,80,4,255,252,80,4,40,4,
+  14,5,10,16,1,2,40,4,80,8,253,176,80,8,40,4,
+  14,5,10,16,1,2,32,0,64,0,213,84,64,0,32,0,
+  14,5,10,16,1,2,32,132,64,136,255,240,64,136,32,132,
+  14,5,10,16,1,2,33,68,65,72,255,240,65,72,33,68,
+  14,5,10,16,1,2,40,4,80,8,255,240,80,8,40,4,
+  14,5,10,16,1,2,40,132,80,136,255,240,80,136,40,132,
+  14,5,10,16,1,2,41,68,81,72,255,240,81,72,41,68,
+  15,5,10,16,1,2,40,144,80,96,255,254,80,96,40,144,
+  15,5,10,16,1,2,32,120,64,132,255,2,64,0,32,0,
+  15,7,14,16,1,2,3,240,0,0,35,240,64,0,255,254,
+  64,0,32,0,15,7,14,16,1,2,0,56,4,68,35,128,
+  64,0,255,254,64,0,32,0,15,9,18,16,1,254,32,0,
+  64,0,255,254,64,56,36,68,3,128,0,56,4,68,3,128,
+  14,9,18,16,1,0,224,0,24,0,6,16,1,8,31,252,
+  1,8,6,16,24,0,224,0,14,11,22,16,1,255,252,0,
+  2,0,1,0,0,144,0,136,255,252,0,136,0,144,1,0,
+  2,0,252,0,15,11,22,16,0,255,4,0,8,0,31,254,
+  32,0,127,254,128,0,127,254,32,0,31,254,8,0,4,0,
+  15,11,22,16,0,255,0,64,0,32,255,240,0,8,255,252,
+  0,2,255,252,0,8,255,240,0,32,0,64,15,7,14,16,
+  0,2,3,128,68,64,56,8,0,4,255,254,0,4,0,8,
+  15,9,18,16,0,254,0,8,0,4,255,254,3,132,68,72,
+  56,0,3,128,68,64,56,0,15,7,14,16,1,2,3,128,
+  4,68,32,56,64,0,255,254,64,0,32,0,15,9,18,16,
+  1,254,32,0,64,0,255,254,67,128,36,68,0,56,3,128,
+  4,68,0,56,15,7,14,16,1,0,32,0,64,0,255,254,
+  64,0,32,56,4,68,3,128,15,7,14,16,0,0,0,8,
+  0,4,255,254,0,4,3,136,68,64,56,0,10,12,24,16,
+  3,0,4,0,8,0,16,0,32,0,64,0,255,192,0,128,
+  1,0,2,0,20,0,24,0,28,0,4,6,6,8,2,0,
+  112,48,80,64,128,128,4,6,6,8,2,0,128,128,64,80,
+  48,112,13,13,26,16,1,0,2,0,2,0,5,0,5,0,
+  248,248,64,16,32,32,16,64,8,128,16,64,34,32,77,144,
+  112,112,11,10,20,16,2,1,4,0,14,0,14,0,255,224,
+  127,192,63,128,63,128,123,192,241,224,192,96,11,10,20,16,
+  2,1,4,0,10,0,10,0,241,224,64,64,32,128,36,128,
+  74,64,177,160,192,96,11,12,24,16,3,0,4,0,30,0,
+  127,0,255,128,255,192,255,224,255,224,255,192,255,128,127,0,
+  30,0,4,0,11,12,24,16,3,0,4,0,26,0,97,0,
+  128,128,128,64,128,32,128,32,128,64,128,128,97,0,26,0,
+  4,0};
 /*
-  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
-  Copyright: 
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
   Capital A Height: 8, '1' Height: 12
   Calculated Max Values w=16 h=16 x= 3 y=10 dx=16 dy= 0 ascent=14 len=32
   Font Bounding box     w=16 h=16 x= 0 y=-2
@@ -83751,8 +87727,8 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_86[1876] U8G_SECTION(".progmem.u8g_fon
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[4272] U8G_SECTION(".progmem.u8g_font_unifont_8_9") = {
-  0,16,16,0,254,8,4,65,6,56,0,255,0,14,254,12,
+const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[4279] U8G_FONT_SECTION("u8g_font_unifont_8_9") = {
+  0,16,16,0,254,8,4,67,6,64,0,255,0,14,254,12,
   0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
   0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128,
   0,0,1,128,0,85,85,6,14,14,8,1,0,72,72,0,
@@ -83770,259 +87746,259 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[4272] U8G_SECTION(".progmem.u8g_fo
   34,34,34,6,14,14,8,1,0,24,96,0,0,128,140,144,
   160,192,192,160,144,136,132,6,13,13,8,1,0,96,24,0,
   132,140,140,148,148,164,164,196,196,132,7,14,14,8,1,0,
-  132,132,120,0,130,130,68,68,40,40,16,16,32,96,7,10,
-  10,8,1,0,130,130,130,130,130,130,254,16,16,16,6,10,
-  10,8,1,0,48,72,72,132,132,132,252,132,132,132,6,10,
-  10,8,1,0,248,128,128,128,248,132,132,132,132,248,6,10,
-  10,8,1,0,248,132,132,132,248,132,132,132,132,248,6,10,
-  10,8,1,0,252,128,128,128,128,128,128,128,128,128,8,12,
-  12,8,0,254,14,18,18,18,34,34,34,66,66,255,129,129,
-  6,10,10,8,1,0,252,128,128,128,248,128,128,128,128,252,
-  7,10,10,8,1,0,146,146,84,84,56,56,84,84,146,146,
-  6,10,10,8,1,0,120,132,4,4,120,8,4,4,132,120,
-  6,10,10,8,1,0,132,140,140,148,148,164,164,196,196,132,
-  6,13,13,8,1,0,72,48,0,132,140,140,148,148,164,164,
-  196,196,132,6,10,10,8,1,0,128,140,144,160,192,192,160,
-  144,136,132,6,10,10,8,1,0,60,36,36,36,36,36,36,
-  68,68,132,6,10,10,8,1,0,132,132,204,204,180,180,132,
-  132,132,132,6,10,10,8,1,0,132,132,132,132,252,132,132,
-  132,132,132,6,10,10,8,1,0,120,132,132,132,132,132,132,
-  132,132,120,6,10,10,8,1,0,252,132,132,132,132,132,132,
-  132,132,132,6,10,10,8,1,0,248,132,132,132,248,128,128,
-  128,128,128,6,10,10,8,1,0,120,132,132,128,128,128,128,
-  132,132,120,7,10,10,8,1,0,254,16,16,16,16,16,16,
-  16,16,16,7,10,10,8,1,0,130,130,68,68,40,40,16,
-  16,32,96,7,11,11,8,1,0,16,124,146,146,146,146,146,
-  124,16,16,16,6,10,10,8,1,0,132,132,72,72,48,48,
-  72,72,132,132,7,12,12,8,1,254,132,132,132,132,132,132,
-  132,132,132,254,2,2,6,10,10,8,1,0,132,132,132,132,
-  132,252,4,4,4,4,7,10,10,8,1,0,146,146,146,146,
-  146,146,146,146,146,254,8,12,12,8,0,254,146,146,146,146,
-  146,146,146,146,146,255,1,1,7,10,10,8,1,0,224,32,
-  32,32,60,34,34,34,34,60,6,10,10,8,1,0,132,132,
-  132,132,228,148,148,148,148,228,6,10,10,8,1,0,128,128,
-  128,128,248,132,132,132,132,248,6,10,10,8,1,0,112,136,
-  4,4,124,4,4,4,136,112,6,10,10,8,1,0,152,164,
-  164,164,228,164,164,164,164,152,6,10,10,8,1,0,124,132,
-  132,132,124,36,68,68,132,132,6,8,8,8,1,0,120,132,
-  4,124,132,132,140,116,6,12,12,8,1,0,4,56,64,128,
-  248,132,132,132,132,132,132,120,6,8,8,8,1,0,248,132,
-  132,248,132,132,132,248,6,8,8,8,1,0,252,128,128,128,
-  128,128,128,128,7,9,9,8,1,255,60,36,68,68,132,132,
-  132,254,130,6,8,8,8,1,0,120,132,132,252,128,128,132,
-  120,7,8,8,8,1,0,146,146,84,56,56,84,146,146,6,
-  8,8,8,1,0,120,132,4,120,8,4,132,120,6,8,8,
-  8,1,0,140,140,148,148,164,164,196,196,6,12,12,8,1,
-  0,72,48,0,0,140,140,148,148,164,164,196,196,6,8,8,
-  8,1,0,140,144,160,192,160,144,136,132,6,8,8,8,1,
-  0,60,36,36,36,36,68,68,132,6,8,8,8,1,0,132,
-  204,204,180,180,132,132,132,6,8,8,8,1,0,132,132,132,
-  252,132,132,132,132,6,8,8,8,1,0,120,132,132,132,132,
-  132,132,120,6,8,8,8,1,0,252,132,132,132,132,132,132,
-  132,6,10,10,8,1,254,248,132,132,132,132,248,128,128,128,
-  128,6,8,8,8,1,0,120,132,128,128,128,128,132,120,7,
-  8,8,8,1,0,254,16,16,16,16,16,16,16,6,10,10,
-  8,1,254,132,132,72,72,48,48,32,32,64,192,7,10,10,
-  8,1,255,16,16,124,146,146,146,146,124,16,16,6,8,8,
-  8,1,0,132,132,72,48,48,72,132,132,7,10,10,8,1,
-  254,132,132,132,132,132,132,132,254,2,2,6,8,8,8,1,
-  0,132,132,132,132,252,4,4,4,7,8,8,8,1,0,146,
-  146,146,146,146,146,146,254,8,10,10,8,0,254,146,146,146,
-  146,146,146,146,255,1,1,7,8,8,8,1,0,224,32,32,
-  60,34,34,34,60,6,8,8,8,1,0,132,132,132,228,148,
-  148,148,228,6,8,8,8,1,0,128,128,128,248,132,132,132,
-  248,6,8,8,8,1,0,112,136,4,124,4,4,136,112,6,
-  8,8,8,1,0,152,164,164,228,164,164,164,152,6,8,8,
-  8,1,0,124,132,132,132,124,36,68,132,6,12,12,8,1,
-  0,96,24,0,0,120,132,132,252,128,128,132,120,6,12,12,
-  8,1,0,72,72,0,0,120,132,132,252,128,128,132,120,6,
-  11,11,8,1,255,64,64,240,64,64,120,68,68,68,68,24,
-  6,12,12,8,1,0,24,96,0,0,252,128,128,128,128,128,
-  128,128,6,8,8,8,1,0,56,68,128,248,128,128,68,56,
-  6,8,8,8,1,0,120,132,128,96,24,4,132,120,5,11,
-  11,8,2,0,32,32,0,96,32,32,32,32,32,32,248,5,
-  11,11,8,2,0,144,144,0,96,32,32,32,32,32,32,248,
-  5,13,13,8,1,254,8,8,0,24,8,8,8,8,8,8,
-  8,144,96,8,8,8,8,0,0,120,72,72,78,73,73,73,
-  142,7,8,8,8,1,0,144,144,144,252,146,146,146,156,6,
-  10,10,8,1,0,64,64,240,64,64,88,100,68,68,68,6,
-  12,12,8,1,0,24,96,0,0,140,144,160,192,160,144,136,
-  132,6,12,12,8,1,0,96,24,0,0,140,140,148,148,164,
-  164,196,196,6,15,15,8,1,254,132,132,120,0,0,132,132,
-  72,72,48,48,32,32,64,192,5,10,10,8,2,254,136,136,
-  136,136,136,136,248,32,32,32,7,10,10,8,1,0,108,130,
-  130,130,130,146,146,146,146,108,7,8,8,8,1,0,68,130,
-  130,146,146,146,146,108,7,10,10,8,1,0,32,248,32,32,
-  60,34,34,34,34,60,6,10,10,8,1,0,64,64,240,64,
-  64,120,68,68,68,120,7,10,10,8,1,0,140,146,160,160,
-  252,160,160,160,146,140,7,8,8,8,1,0,140,146,160,252,
-  160,160,146,140,7,10,10,8,1,0,16,16,40,40,68,108,
-  84,146,146,146,7,8,8,8,1,0,16,40,40,68,108,146,
-  146,146,7,10,10,8,1,0,144,144,168,168,164,236,212,146,
-  146,146,7,8,8,8,1,0,144,168,168,164,236,146,146,146,
-  7,10,10,8,1,0,124,68,68,40,16,56,84,146,146,146,
-  7,8,8,8,1,0,124,68,40,16,124,146,146,146,7,10,
-  10,8,1,0,190,162,162,148,232,156,170,170,170,170,7,8,
-  8,8,1,0,190,162,148,232,156,170,170,170,6,14,14,8,
-  1,254,72,48,120,132,4,4,120,8,4,4,4,120,128,128,
-  6,13,13,8,1,254,72,48,0,120,132,4,120,8,4,4,
-  120,128,128,7,10,10,8,1,0,146,146,146,146,146,124,16,
-  16,16,16,7,8,8,8,1,254,146,146,146,146,146,124,16,
-  16,6,10,10,8,1,0,120,132,132,132,252,132,132,132,132,
-  120,6,8,8,8,1,0,120,132,132,252,132,132,132,120,7,
-  10,10,8,1,0,134,136,136,136,80,80,80,32,32,32,6,
-  8,8,8,1,0,140,144,144,80,80,80,32,32,7,14,14,
-  8,1,0,204,34,0,0,134,136,136,136,80,80,80,32,32,
-  32,7,12,12,8,1,0,204,34,0,0,140,144,144,80,80,
-  80,32,32,7,12,12,8,1,254,64,160,178,178,178,170,172,
-  168,168,72,16,16,7,10,10,8,1,254,82,178,178,170,172,
-  168,168,72,16,16,7,12,12,8,1,255,16,124,146,130,130,
-  130,130,130,130,146,124,16,7,10,10,8,1,255,16,124,146,
-  130,130,130,130,146,124,16,7,14,14,8,1,0,120,134,48,
-  0,108,130,130,130,130,146,146,146,146,108,7,12,12,8,1,
-  0,120,134,48,0,68,130,130,146,146,146,146,108,7,14,14,
-  8,1,0,254,16,0,0,108,130,130,130,130,146,146,146,146,
-  108,7,12,12,8,1,0,254,16,0,0,68,130,130,146,146,
-  146,146,108,6,12,12,8,1,254,120,132,132,128,128,128,128,
-  128,120,8,8,8,6,10,10,8,1,254,120,132,132,128,128,
-  128,120,8,8,8,7,7,7,8,1,1,36,24,136,84,34,
-  48,72,4,3,3,8,1,10,16,240,128,5,4,4,8,0,
-  9,16,40,72,128,4,3,3,8,1,10,128,240,128,4,3,
-  3,8,1,10,16,240,16,8,3,3,8,0,10,48,76,131,
-  14,14,28,16,0,254,1,0,2,128,16,16,40,40,0,0,
-  0,0,64,8,160,20,0,0,0,0,0,0,16,16,41,40,
-  2,128,14,14,28,16,1,254,1,0,33,8,19,16,24,96,
-  0,0,0,0,0,16,224,28,32,0,0,0,0,0,25,176,
-  17,16,33,8,7,15,15,8,1,254,72,48,0,132,140,140,
-  148,148,164,164,196,196,134,4,8,7,14,14,8,1,254,72,
-  48,0,0,140,140,148,148,164,164,196,198,4,8,6,10,10,
-  8,1,0,64,224,64,64,64,120,68,68,76,120,6,7,7,
-  8,1,0,64,224,64,120,68,68,120,6,10,10,8,1,0,
-  248,132,148,136,244,128,128,128,128,128,6,10,10,8,1,254,
-  184,196,132,132,132,148,200,180,128,128,6,12,12,8,1,0,
-  4,4,252,128,128,128,128,128,128,128,128,128,6,10,10,8,
-  1,0,4,4,252,128,128,128,128,128,128,128,7,10,10,8,
-  1,0,62,32,32,32,32,248,32,32,32,32,7,8,8,8,
-  1,0,62,32,32,32,248,32,32,32,6,11,11,8,1,255,
-  252,128,128,128,128,248,132,132,132,132,24,6,9,9,8,1,
-  255,252,128,128,128,248,132,132,132,24,7,12,12,8,1,254,
-  146,146,84,84,56,56,84,84,146,146,2,2,7,10,10,8,
-  1,254,146,146,84,56,56,84,146,146,2,2,6,12,12,8,
-  1,254,120,132,4,4,120,8,4,4,132,120,16,96,6,10,
-  10,8,1,254,120,132,4,120,8,4,132,120,16,96,6,12,
-  12,8,1,254,128,140,144,160,192,192,160,144,136,132,4,4,
-  6,10,10,8,1,254,140,144,160,192,160,144,136,132,4,4,
-  7,10,10,8,1,0,128,134,168,168,240,168,168,168,132,130,
-  7,8,8,8,1,0,134,168,168,240,168,168,132,130,7,10,
-  10,8,1,0,64,230,72,80,96,96,80,72,68,66,7,8,
-  8,8,1,0,70,232,80,96,80,72,68,66,8,10,10,8,
-  0,0,224,35,36,40,48,48,40,36,34,33,8,8,8,8,
-  0,0,227,36,40,48,40,36,34,33,7,12,12,8,1,254,
-  132,132,132,132,252,132,132,132,132,134,2,2,7,10,10,8,
-  1,254,132,132,132,252,132,132,132,134,2,2,7,10,10,8,
-  1,0,142,136,136,136,248,136,136,136,136,136,7,8,8,8,
-  1,0,142,136,136,248,136,136,136,136,7,12,12,8,1,254,
-  240,144,144,144,144,156,146,146,146,146,2,12,7,10,10,8,
-  1,254,240,144,144,144,156,146,146,146,2,12,6,11,11,8,
-  1,255,56,64,128,152,164,164,164,164,88,48,12,6,9,9,
-  8,1,255,56,64,152,164,164,164,88,48,12,6,12,12,8,
-  1,254,120,132,132,128,128,128,128,132,132,120,32,24,6,10,
-  10,8,1,254,120,132,132,128,128,132,132,120,32,24,7,12,
-  12,8,1,254,254,16,16,16,16,16,16,16,16,24,8,8,
-  7,10,10,8,1,254,254,16,16,16,16,16,16,24,8,8,
-  7,10,10,8,1,0,130,130,68,68,40,16,16,16,16,16,
-  5,10,10,8,2,254,136,136,136,80,80,32,32,32,32,32,
-  7,10,10,8,1,0,130,130,68,68,40,16,16,124,16,16,
-  5,8,8,8,2,0,136,136,136,80,32,32,248,32,7,12,
-  12,8,1,254,132,132,72,72,48,48,72,72,132,134,2,2,
-  7,10,10,8,1,254,132,132,72,48,48,72,132,134,2,2,
-  8,12,12,8,0,254,250,34,34,34,34,34,34,34,34,63,
-  1,1,8,10,10,8,0,254,250,34,34,34,34,34,34,63,
-  1,1,7,12,12,8,1,254,132,132,132,132,132,140,116,4,
-  4,6,2,2,7,10,10,8,1,254,132,132,132,132,140,116,
-  4,6,2,2,6,10,10,8,1,0,132,132,132,132,164,172,
-  116,36,36,4,6,8,8,8,1,0,132,132,132,164,172,116,
-  36,4,6,10,10,8,1,0,128,128,128,184,196,132,132,132,
-  132,132,6,8,8,8,1,0,128,128,184,196,132,132,132,132,
-  6,10,10,8,1,0,152,164,164,164,124,32,32,36,36,24,
-  6,8,8,8,1,0,152,164,164,124,32,32,36,24,6,12,
-  12,8,1,254,152,164,164,164,124,32,32,36,36,24,16,12,
-  6,10,10,8,1,254,152,164,164,124,32,32,36,24,16,12,
-  5,10,10,8,2,0,248,32,32,32,32,32,32,32,32,248,
-  7,14,14,8,1,0,130,130,124,0,146,146,84,84,56,56,
-  84,84,146,146,7,13,13,8,1,0,68,68,56,0,0,146,
-  146,84,56,56,84,146,146,6,12,12,8,1,254,128,140,144,
-  160,192,248,132,132,132,132,4,24,6,10,10,8,1,254,140,
-  144,160,192,248,132,132,132,4,24,7,12,12,8,1,254,60,
-  36,36,36,36,36,36,68,68,134,4,8,7,10,10,8,1,
-  254,60,36,36,36,36,68,68,134,4,8,6,12,12,8,1,
-  254,132,132,132,132,252,132,132,132,132,132,4,24,6,10,10,
-  8,1,254,132,132,132,252,132,132,132,132,4,24,7,12,12,
-  8,1,254,132,132,132,132,252,132,132,132,132,134,4,8,7,
-  10,10,8,1,254,132,132,132,252,132,132,132,134,4,8,6,
-  12,12,8,1,254,132,132,132,132,132,140,116,4,4,12,8,
-  8,6,10,10,8,1,254,132,132,132,132,140,116,4,12,8,
-  8,7,12,12,8,1,254,132,132,204,204,180,180,132,132,132,
-  134,4,8,7,10,10,8,1,254,132,204,204,180,180,132,132,
-  134,4,8,3,10,10,8,3,0,224,64,64,64,64,64,64,
-  64,64,224,6,14,14,8,1,0,132,132,120,0,48,72,72,
-  132,132,252,132,132,132,132,6,13,13,8,1,0,132,132,120,
-  0,0,120,132,4,124,132,132,140,116,6,14,14,8,1,0,
-  72,72,0,0,48,72,72,132,132,252,132,132,132,132,6,12,
-  12,8,1,0,72,72,0,0,120,132,4,124,132,132,140,116,
-  7,10,10,8,1,0,62,80,144,144,254,144,144,144,144,158,
-  7,8,8,8,1,0,124,146,18,126,144,144,146,124,6,14,
-  14,8,1,0,132,132,120,0,252,128,128,128,248,128,128,128,
-  128,252,6,12,12,8,1,0,132,132,120,0,120,132,132,252,
-  128,128,132,120,6,10,10,8,1,0,48,72,132,4,4,252,
-  132,132,72,48,6,8,8,8,1,0,120,132,4,4,252,132,
-  132,120,6,14,14,8,1,0,72,72,0,0,48,72,132,4,
-  4,252,132,132,72,48,6,12,12,8,1,0,72,72,0,0,
-  120,132,4,4,252,132,132,120,7,14,14,8,1,0,72,72,
-  0,0,146,146,84,84,56,56,84,84,146,146,7,12,12,8,
-  1,0,72,72,0,0,146,146,84,56,56,84,146,146,6,14,
-  14,8,1,0,72,72,0,0,120,132,4,4,120,8,4,4,
-  132,120,6,12,12,8,1,0,72,72,0,0,120,132,4,120,
-  8,4,132,120,6,10,10,8,1,0,252,8,16,32,56,4,
-  4,4,140,120,6,10,10,8,1,254,124,8,16,32,56,4,
-  4,4,132,120,6,13,13,8,1,0,120,0,0,132,140,140,
-  148,148,164,164,196,196,132,6,11,11,8,1,0,120,0,0,
-  140,140,148,148,164,164,196,196,6,14,14,8,1,0,72,72,
-  0,0,132,140,140,148,148,164,164,196,196,132,6,12,12,8,
-  1,0,72,72,0,0,140,140,148,148,164,164,196,196,6,14,
-  14,8,1,0,72,72,0,0,120,132,132,132,132,132,132,132,
-  132,120,6,12,12,8,1,0,72,72,0,0,120,132,132,132,
-  132,132,132,120,6,10,10,8,1,0,120,132,132,132,252,132,
-  132,132,132,120,6,8,8,8,1,0,120,132,132,252,132,132,
-  132,120,6,14,14,8,1,0,72,72,0,0,120,132,132,132,
-  252,132,132,132,132,120,6,12,12,8,1,0,72,72,0,0,
-  120,132,132,252,132,132,132,120,6,12,12,8,1,0,72,0,
-  120,132,4,4,124,4,4,4,132,120,6,10,10,8,1,0,
-  72,0,120,132,4,60,4,4,132,120,7,13,13,8,1,0,
-  124,0,0,130,130,68,68,40,40,16,16,32,96,6,13,13,
-  8,1,254,120,0,0,132,132,72,72,48,48,32,32,64,192,
-  7,14,14,8,1,0,72,72,0,0,130,130,68,68,40,40,
-  16,16,32,96,6,14,14,8,1,254,72,72,0,0,132,132,
-  72,72,48,48,32,32,64,192,7,14,14,8,1,0,102,136,
-  0,0,130,130,68,68,40,40,16,16,32,96,7,14,14,8,
-  1,254,102,136,0,0,132,132,72,72,48,48,32,32,64,192,
-  6,14,14,8,1,0,72,72,0,0,132,132,132,132,132,140,
-  116,4,4,4,6,12,12,8,1,0,72,72,0,0,132,132,
-  132,132,140,116,4,4,6,12,12,8,1,254,252,128,128,128,
-  128,128,128,128,128,224,96,32,6,10,10,8,1,254,252,128,
-  128,128,128,128,128,224,96,32,6,14,14,8,1,0,72,72,
-  0,0,132,132,132,132,228,148,148,148,148,228,6,12,12,8,
-  1,0,72,72,0,0,132,132,132,228,148,148,148,228,6,12,
-  12,8,1,254,252,128,128,128,248,128,128,128,128,192,64,192,
-  5,10,10,8,1,254,248,128,128,240,128,128,128,192,64,192,
-  6,12,12,8,1,254,132,132,72,72,48,48,72,72,132,132,
-  4,8,6,10,10,8,1,254,132,132,72,48,48,72,132,132,
-  4,8,6,10,10,8,1,0,132,132,72,72,48,252,72,72,
-  132,132,6,8,8,8,1,0,132,132,72,48,252,72,132,132
-  };
+  132,132,120,0,130,130,68,68,40,40,16,16,32,96,7,12,
+  12,8,1,254,130,130,130,130,130,130,130,130,130,254,16,16,
+  6,10,10,8,1,0,48,72,72,132,132,252,132,132,132,132,
+  6,10,10,8,1,0,248,128,128,128,248,132,132,132,132,248,
+  6,10,10,8,1,0,248,132,132,132,248,132,132,132,132,248,
+  6,10,10,8,1,0,252,128,128,128,128,128,128,128,128,128,
+  8,12,12,8,0,254,14,18,18,18,34,34,34,66,66,255,
+  129,129,6,10,10,8,1,0,252,128,128,128,248,128,128,128,
+  128,252,7,10,10,8,1,0,146,146,84,84,56,56,84,84,
+  146,146,6,10,10,8,1,0,120,132,4,4,120,8,4,4,
+  132,120,6,10,10,8,1,0,132,140,140,148,148,164,164,196,
+  196,132,6,13,13,8,1,0,72,48,0,132,140,140,148,148,
+  164,164,196,196,132,6,10,10,8,1,0,140,144,144,160,160,
+  192,160,144,136,132,6,10,10,8,1,0,60,36,36,36,36,
+  36,36,68,68,132,6,10,10,8,1,0,132,132,204,204,180,
+  180,132,132,132,132,6,10,10,8,1,0,132,132,132,132,252,
+  132,132,132,132,132,6,10,10,8,1,0,120,132,132,132,132,
+  132,132,132,132,120,6,10,10,8,1,0,252,132,132,132,132,
+  132,132,132,132,132,6,10,10,8,1,0,248,132,132,132,248,
+  128,128,128,128,128,6,10,10,8,1,0,120,132,132,128,128,
+  128,128,132,132,120,7,10,10,8,1,0,254,16,16,16,16,
+  16,16,16,16,16,7,10,10,8,1,0,130,130,68,68,40,
+  40,16,16,32,96,7,11,11,8,1,0,16,124,146,146,146,
+  146,146,124,16,16,16,6,10,10,8,1,0,132,132,72,72,
+  48,48,72,72,132,132,7,12,12,8,1,254,132,132,132,132,
+  132,132,132,132,132,254,2,2,6,10,10,8,1,0,132,132,
+  132,132,132,252,4,4,4,4,7,10,10,8,1,0,146,146,
+  146,146,146,146,146,146,146,254,8,12,12,8,0,254,146,146,
+  146,146,146,146,146,146,146,255,1,1,7,10,10,8,1,0,
+  224,32,32,32,60,34,34,34,34,60,6,10,10,8,1,0,
+  132,132,132,132,228,148,148,148,148,228,6,10,10,8,1,0,
+  128,128,128,128,248,132,132,132,132,248,6,10,10,8,1,0,
+  112,136,4,4,124,4,4,4,136,112,6,10,10,8,1,0,
+  152,164,164,164,228,164,164,164,164,152,6,10,10,8,1,0,
+  124,132,132,132,124,36,68,68,132,132,6,8,8,8,1,0,
+  120,132,4,124,132,132,140,116,6,12,12,8,1,0,4,56,
+  64,128,248,132,132,132,132,132,132,120,6,8,8,8,1,0,
+  248,132,132,248,132,132,132,248,6,8,8,8,1,0,252,128,
+  128,128,128,128,128,128,7,9,9,8,1,255,60,36,68,68,
+  132,132,132,254,130,6,8,8,8,1,0,120,132,132,252,128,
+  128,132,120,7,8,8,8,1,0,146,146,84,56,56,84,146,
+  146,6,8,8,8,1,0,120,132,4,120,8,4,132,120,6,
+  8,8,8,1,0,140,140,148,148,164,164,196,196,6,12,12,
+  8,1,0,72,48,0,0,140,140,148,148,164,164,196,196,6,
+  8,8,8,1,0,140,144,160,192,160,144,136,132,6,8,8,
+  8,1,0,60,36,36,36,36,68,68,132,6,8,8,8,1,
+  0,132,204,204,180,180,132,132,132,6,8,8,8,1,0,132,
+  132,132,252,132,132,132,132,6,8,8,8,1,0,120,132,132,
+  132,132,132,132,120,6,8,8,8,1,0,252,132,132,132,132,
+  132,132,132,6,10,10,8,1,254,184,196,132,132,132,132,196,
+  184,128,128,6,8,8,8,1,0,120,132,128,128,128,128,132,
+  120,7,8,8,8,1,0,254,16,16,16,16,16,16,16,6,
+  10,10,8,1,254,132,132,72,72,48,48,32,32,64,192,7,
+  13,13,8,1,254,16,16,16,124,146,146,146,146,146,146,124,
+  16,16,6,8,8,8,1,0,132,132,72,48,48,72,132,132,
+  7,10,10,8,1,254,132,132,132,132,132,132,132,254,2,2,
+  6,8,8,8,1,0,132,132,132,132,252,4,4,4,7,8,
+  8,8,1,0,146,146,146,146,146,146,146,254,8,10,10,8,
+  0,254,146,146,146,146,146,146,146,255,1,1,7,8,8,8,
+  1,0,224,32,32,60,34,34,34,60,6,8,8,8,1,0,
+  132,132,132,228,148,148,148,228,6,8,8,8,1,0,128,128,
+  128,248,132,132,132,248,6,8,8,8,1,0,112,136,4,124,
+  4,4,136,112,6,8,8,8,1,0,152,164,164,228,164,164,
+  164,152,6,8,8,8,1,0,124,132,132,132,124,36,68,132,
+  6,12,12,8,1,0,96,24,0,0,120,132,132,252,128,128,
+  132,120,6,12,12,8,1,0,72,72,0,0,120,132,132,252,
+  128,128,132,120,7,13,13,8,0,254,64,240,64,92,98,66,
+  66,66,66,66,66,2,12,6,12,12,8,1,0,24,96,0,
+  0,252,128,128,128,128,128,128,128,6,8,8,8,1,0,56,
+  68,128,248,128,128,68,56,6,8,8,8,1,0,120,132,128,
+  96,24,4,132,120,5,11,11,8,2,0,32,32,0,96,32,
+  32,32,32,32,32,248,5,11,11,8,2,0,144,144,0,96,
+  32,32,32,32,32,32,248,5,13,13,8,1,254,8,8,0,
+  24,8,8,8,8,8,8,8,144,96,8,8,8,8,0,0,
+  120,72,72,78,73,73,73,142,7,8,8,8,1,0,144,144,
+  144,252,146,146,146,156,7,11,11,8,0,0,64,240,64,92,
+  98,66,66,66,66,66,66,6,12,12,8,1,0,24,96,0,
+  0,140,144,160,192,160,144,136,132,6,12,12,8,1,0,96,
+  24,0,0,140,140,148,148,164,164,196,196,6,15,15,8,1,
+  254,132,132,120,0,0,132,132,72,72,48,48,32,32,64,192,
+  5,10,10,8,2,254,136,136,136,136,136,136,136,248,32,32,
+  7,10,10,8,1,0,146,146,146,146,146,146,146,146,180,72,
+  7,8,8,8,1,0,68,130,130,146,146,146,146,108,7,10,
+  10,8,1,0,32,248,32,32,60,34,34,34,34,60,6,10,
+  10,8,1,0,64,64,240,64,64,120,68,68,68,120,7,10,
+  10,8,1,0,140,146,160,160,252,160,160,160,146,140,7,8,
+  8,8,1,0,140,146,160,252,160,160,146,140,7,10,10,8,
+  1,0,16,16,40,40,68,108,84,146,146,146,7,8,8,8,
+  1,0,16,40,40,68,108,146,146,146,7,10,10,8,1,0,
+  144,144,168,168,164,236,212,146,146,146,7,8,8,8,1,0,
+  144,168,168,164,236,146,146,146,7,10,10,8,1,0,124,68,
+  68,40,16,56,84,146,146,146,7,8,8,8,1,0,124,68,
+  40,16,124,146,146,146,7,10,10,8,1,0,190,162,162,148,
+  232,156,170,170,170,170,7,8,8,8,1,0,190,162,148,232,
+  156,170,170,170,6,14,14,8,1,254,72,48,120,132,4,4,
+  120,8,4,4,4,120,128,128,6,13,13,8,1,254,72,48,
+  0,120,132,4,120,8,4,4,120,128,128,7,10,10,8,1,
+  0,146,146,146,146,146,124,16,16,16,16,7,8,8,8,1,
+  254,146,146,146,146,146,124,16,16,6,10,10,8,1,0,120,
+  132,132,132,252,132,132,132,132,120,6,8,8,8,1,0,120,
+  132,132,252,132,132,132,120,7,10,10,8,1,0,134,136,136,
+  136,80,80,80,32,32,32,6,8,8,8,1,0,140,144,144,
+  80,80,80,32,32,7,14,14,8,1,0,204,34,0,0,134,
+  136,136,136,80,80,80,32,32,32,7,12,12,8,1,0,204,
+  34,0,0,140,144,144,80,80,80,32,32,7,12,12,8,1,
+  254,64,160,178,178,178,170,172,168,168,72,16,16,7,10,10,
+  8,1,254,82,178,178,170,172,168,168,72,16,16,7,12,12,
+  8,1,255,16,124,146,130,130,130,130,130,130,146,124,16,7,
+  10,10,8,1,255,16,124,146,130,130,130,130,146,124,16,7,
+  14,14,8,1,0,120,134,48,8,16,0,108,130,130,146,146,
+  146,146,108,7,11,11,8,1,0,120,134,48,8,16,0,108,
+  130,146,146,108,7,13,13,8,1,0,254,16,0,146,146,146,
+  146,146,146,146,146,180,72,7,10,10,8,1,0,254,16,0,
+  146,146,146,146,146,180,72,6,12,12,8,1,254,120,132,132,
+  128,128,128,128,128,120,8,8,8,6,10,10,8,1,254,120,
+  132,132,128,128,128,120,8,8,8,7,7,7,8,1,1,36,
+  24,136,84,34,48,72,4,3,3,8,1,10,16,240,128,5,
+  4,4,8,0,9,16,40,72,128,4,3,3,8,1,10,112,
+  128,96,4,3,3,8,2,10,224,16,96,8,3,3,8,0,
+  10,48,76,131,14,14,28,16,0,254,1,0,2,128,16,16,
+  40,40,0,0,0,0,64,8,160,20,0,0,0,0,0,0,
+  16,16,41,40,2,128,14,14,28,16,1,254,1,0,33,8,
+  19,16,24,96,0,0,0,0,0,16,224,28,32,0,0,0,
+  0,0,25,176,17,16,33,8,7,15,15,8,1,254,72,48,
+  0,132,140,140,148,148,164,164,196,196,134,4,8,7,14,14,
+  8,1,254,72,48,0,0,140,140,148,148,164,164,196,198,4,
+  8,6,10,10,8,1,0,64,224,64,64,64,120,68,68,76,
+  120,6,7,7,8,1,0,64,224,64,120,68,68,120,6,10,
+  10,8,1,0,248,132,148,136,244,128,128,128,128,128,6,10,
+  10,8,1,254,184,196,132,132,132,148,200,180,128,128,6,12,
+  12,8,1,0,4,4,252,128,128,128,128,128,128,128,128,128,
+  6,10,10,8,1,0,4,4,252,128,128,128,128,128,128,128,
+  7,10,10,8,1,0,62,32,32,32,32,248,32,32,32,32,
+  7,8,8,8,1,0,62,32,32,32,248,32,32,32,6,11,
+  11,8,1,255,252,128,128,128,128,248,132,132,132,132,24,6,
+  9,9,8,1,255,252,128,128,128,248,132,132,132,24,7,12,
+  12,8,1,254,146,146,84,84,56,56,84,84,146,146,2,2,
+  7,10,10,8,1,254,146,146,84,56,56,84,146,146,2,2,
+  6,12,12,8,1,254,120,132,4,4,120,8,4,4,132,120,
+  16,96,6,10,10,8,1,254,120,132,4,120,8,4,132,120,
+  16,96,6,12,12,8,1,254,128,140,144,160,192,192,160,144,
+  136,132,4,4,6,10,10,8,1,254,140,144,160,192,160,144,
+  136,132,4,4,7,10,10,8,1,0,128,134,168,168,240,168,
+  168,168,132,130,7,8,8,8,1,0,134,168,168,240,168,168,
+  132,130,7,10,10,8,1,0,64,230,72,80,96,96,80,72,
+  68,66,7,8,8,8,1,0,70,232,80,96,80,72,68,66,
+  8,10,10,8,0,0,224,35,36,40,48,48,40,36,34,33,
+  8,8,8,8,0,0,227,36,40,48,40,36,34,33,7,12,
+  12,8,1,254,132,132,132,132,252,132,132,132,132,134,2,2,
+  7,10,10,8,1,254,132,132,132,252,132,132,132,134,2,2,
+  7,10,10,8,1,0,142,136,136,136,248,136,136,136,136,136,
+  7,8,8,8,1,0,142,136,136,248,136,136,136,136,7,12,
+  12,8,1,254,240,144,144,144,144,156,146,146,146,146,2,12,
+  7,10,10,8,1,254,240,144,144,144,156,146,146,146,2,12,
+  6,12,12,8,1,255,64,152,164,164,164,164,164,164,164,88,
+  48,12,6,9,9,8,1,255,64,152,164,164,164,164,88,48,
+  12,6,12,12,8,1,254,120,132,132,128,128,128,128,132,132,
+  120,32,24,6,10,10,8,1,254,120,132,132,128,128,132,132,
+  120,32,24,7,12,12,8,1,254,254,16,16,16,16,16,16,
+  16,16,24,8,8,7,10,10,8,1,254,254,16,16,16,16,
+  16,16,24,8,8,7,10,10,8,1,0,130,130,68,68,40,
+  16,16,16,16,16,5,10,10,8,2,254,136,136,136,80,80,
+  32,32,32,32,32,7,10,10,8,1,0,130,130,68,68,40,
+  16,16,124,16,16,5,8,8,8,2,0,136,136,136,80,32,
+  32,248,32,7,12,12,8,1,254,132,132,72,72,48,48,72,
+  72,132,134,2,2,7,10,10,8,1,254,132,132,72,48,48,
+  72,132,134,2,2,8,12,12,8,0,254,250,34,34,34,34,
+  34,34,34,34,63,1,1,8,10,10,8,0,254,250,34,34,
+  34,34,34,34,63,1,1,7,12,12,8,1,254,132,132,132,
+  132,132,140,116,4,4,6,2,2,7,10,10,8,1,254,132,
+  132,132,132,140,116,4,6,2,2,6,10,10,8,1,0,132,
+  132,132,132,164,172,116,36,36,4,6,8,8,8,1,0,132,
+  132,132,164,172,116,36,4,6,10,10,8,1,0,128,128,128,
+  184,196,132,132,132,132,132,6,8,8,8,1,0,128,128,184,
+  196,132,132,132,132,6,10,10,8,1,0,152,164,164,164,124,
+  32,32,36,36,24,6,8,8,8,1,0,152,164,164,124,32,
+  32,36,24,6,12,12,8,1,254,152,164,164,164,124,32,32,
+  36,36,24,16,16,6,12,12,8,1,254,152,164,164,164,124,
+  32,32,36,36,24,16,16,5,10,10,8,2,0,248,32,32,
+  32,32,32,32,32,32,248,7,14,14,8,1,0,130,130,124,
+  0,146,146,84,84,56,56,84,84,146,146,7,13,13,8,1,
+  0,68,68,56,0,0,146,146,84,56,56,84,146,146,6,12,
+  12,8,1,254,128,140,144,160,192,248,132,132,132,132,4,24,
+  6,10,10,8,1,254,140,144,160,192,248,132,132,132,4,24,
+  7,12,12,8,1,254,60,36,36,36,36,36,36,68,68,134,
+  4,8,7,10,10,8,1,254,60,36,36,36,36,68,68,134,
+  4,8,6,12,12,8,1,254,132,132,132,132,252,132,132,132,
+  132,132,4,24,6,10,10,8,1,254,132,132,132,252,132,132,
+  132,132,4,24,7,12,12,8,1,254,132,132,132,132,252,132,
+  132,132,132,134,4,8,7,10,10,8,1,254,132,132,132,252,
+  132,132,132,134,4,8,6,12,12,8,1,254,132,132,132,132,
+  132,140,116,4,4,12,8,8,6,10,10,8,1,254,132,132,
+  132,132,140,116,4,12,8,8,7,12,12,8,1,254,132,132,
+  204,204,180,180,132,132,132,134,4,8,7,10,10,8,1,254,
+  132,204,204,180,180,132,132,134,4,8,3,10,10,8,3,0,
+  224,64,64,64,64,64,64,64,64,224,6,14,14,8,1,0,
+  132,132,120,0,48,72,72,132,132,252,132,132,132,132,6,13,
+  13,8,1,0,132,132,120,0,0,120,132,4,124,132,132,140,
+  116,6,14,14,8,1,0,72,72,0,0,48,72,72,132,132,
+  252,132,132,132,132,6,12,12,8,1,0,72,72,0,0,120,
+  132,4,124,132,132,140,116,7,10,10,8,1,0,62,80,144,
+  144,254,144,144,144,144,158,7,8,8,8,1,0,124,146,18,
+  126,144,144,146,124,6,14,14,8,1,0,132,132,120,0,252,
+  128,128,128,248,128,128,128,128,252,6,12,12,8,1,0,132,
+  132,120,0,120,132,132,252,128,128,132,120,6,10,10,8,1,
+  0,48,72,132,4,4,252,132,132,72,48,6,8,8,8,1,
+  0,120,132,4,4,252,132,132,120,6,14,14,8,1,0,72,
+  72,0,0,48,72,132,4,4,252,132,132,72,48,6,12,12,
+  8,1,0,72,72,0,0,120,132,4,4,252,132,132,120,7,
+  14,14,8,1,0,72,72,0,0,146,146,84,84,56,56,84,
+  84,146,146,7,12,12,8,1,0,72,72,0,0,146,146,84,
+  56,56,84,146,146,6,14,14,8,1,0,72,72,0,0,120,
+  132,4,4,120,8,4,4,132,120,6,12,12,8,1,0,72,
+  72,0,0,120,132,4,120,8,4,132,120,6,10,10,8,1,
+  0,252,8,16,32,56,4,4,4,140,120,6,10,10,8,1,
+  254,124,8,16,32,56,4,4,4,132,120,6,13,13,8,1,
+  0,120,0,0,132,140,140,148,148,164,164,196,196,132,6,11,
+  11,8,1,0,120,0,0,140,140,148,148,164,164,196,196,6,
+  14,14,8,1,0,72,72,0,0,132,140,140,148,148,164,164,
+  196,196,132,6,12,12,8,1,0,72,72,0,0,140,140,148,
+  148,164,164,196,196,6,14,14,8,1,0,72,72,0,0,120,
+  132,132,132,132,132,132,132,132,120,6,12,12,8,1,0,72,
+  72,0,0,120,132,132,132,132,132,132,120,6,10,10,8,1,
+  0,120,132,132,132,252,132,132,132,132,120,6,8,8,8,1,
+  0,120,132,132,252,132,132,132,120,6,14,14,8,1,0,72,
+  72,0,0,120,132,132,132,252,132,132,132,132,120,6,12,12,
+  8,1,0,72,72,0,0,120,132,132,252,132,132,132,120,6,
+  12,12,8,1,0,72,0,120,132,4,4,124,4,4,4,132,
+  120,6,10,10,8,1,0,72,0,120,132,4,60,4,4,132,
+  120,7,13,13,8,1,0,124,0,0,130,130,68,68,40,40,
+  16,16,32,96,6,13,13,8,1,254,120,0,0,132,132,72,
+  72,48,48,32,32,64,192,7,14,14,8,1,0,72,72,0,
+  0,130,130,68,68,40,40,16,16,32,96,6,14,14,8,1,
+  254,72,72,0,0,132,132,72,72,48,48,32,32,64,192,7,
+  14,14,8,1,0,102,136,0,0,130,130,68,68,40,40,16,
+  16,32,96,7,14,14,8,1,254,102,136,0,0,132,132,72,
+  72,48,48,32,32,64,192,6,14,14,8,1,0,72,72,0,
+  0,132,132,132,132,132,140,116,4,4,4,6,12,12,8,1,
+  0,72,72,0,0,132,132,132,132,140,116,4,4,6,12,12,
+  8,1,254,252,128,128,128,128,128,128,128,128,224,96,32,6,
+  10,10,8,1,254,252,128,128,128,128,128,128,224,96,32,6,
+  14,14,8,1,0,72,72,0,0,132,132,132,132,228,148,148,
+  148,148,228,6,12,12,8,1,0,72,72,0,0,132,132,132,
+  228,148,148,148,228,6,12,12,8,1,254,252,128,128,128,248,
+  128,128,128,128,192,64,192,5,10,10,8,1,254,248,128,128,
+  240,128,128,128,192,64,192,6,12,12,8,1,254,132,132,72,
+  72,48,48,72,72,132,132,4,8,6,10,10,8,1,254,132,
+  132,72,48,48,72,132,132,4,8,6,10,10,8,1,0,132,
+  132,72,72,48,252,72,72,132,132,6,8,8,8,1,0,132,
+  132,72,48,252,72,132,132};
 /*
-  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
-  Copyright: 
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
   Capital A Height: 10, '1' Height: 10
   Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=32
   Font Bounding box     w=16 h=16 x= 0 y=-2
@@ -84032,7 +88008,7 @@ const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[4272] U8G_SECTION(".progmem.u8g_fo
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifont[5516] U8G_SECTION(".progmem.u8g_font_unifont") = {
+const u8g_fntpgm_uint8_t u8g_font_unifont[5551] U8G_FONT_SECTION("u8g_font_unifont") = {
   0,16,16,0,254,10,6,167,8,149,0,255,254,14,254,11,
   254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
   0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128,
@@ -84054,26 +88030,26 @@ const u8g_fntpgm_uint8_t u8g_font_unifont[5516] U8G_SECTION(".progmem.u8g_font_u
   254,170,170,0,1,128,0,0,1,128,0,115,209,202,16,115,
   209,202,16,115,223,128,0,0,1,128,0,0,1,128,0,85,
   85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
-  0,120,225,197,0,120,193,196,32,121,193,128,0,0,1,128,
+  0,30,57,145,64,30,49,145,8,30,113,128,0,0,1,128,
   0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
-  1,128,0,0,1,128,0,69,241,196,64,124,65,196,64,68,
-  65,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
-  16,0,254,170,170,0,1,128,0,0,1,128,0,65,241,193,
-  0,65,241,193,0,125,1,128,0,0,1,128,0,0,1,128,
+  1,128,0,0,1,128,0,34,249,162,32,62,33,162,32,34,
+  33,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,32,249,160,
+  128,32,249,160,128,62,129,128,0,0,1,128,0,0,1,128,
   0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
-  1,128,0,69,241,196,64,68,65,168,64,16,65,128,0,0,
+  1,128,0,34,249,162,32,34,33,148,32,8,33,128,0,0,
   1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
-  170,0,1,128,0,0,1,128,0,125,241,193,0,125,241,193,
-  0,65,1,128,0,0,1,128,0,0,1,128,0,85,85,16,
-  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,61,
-  225,193,16,65,225,193,32,61,17,128,0,0,1,128,0,0,
+  170,0,1,128,0,0,1,128,0,62,249,160,128,62,249,160,
+  128,32,129,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,30,
+  241,160,136,32,241,160,144,30,137,128,0,0,1,128,0,0,
   1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
-  0,0,1,128,0,60,225,193,16,57,17,133,16,120,225,128,
+  0,0,1,128,0,30,113,160,136,28,137,130,136,60,113,128,
   0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
-  254,170,170,0,1,128,0,0,1,128,0,61,241,192,64,56,
-  65,132,64,121,241,128,0,0,1,128,0,0,1,128,0,85,
+  254,170,170,0,1,128,0,0,1,128,0,30,249,160,32,28,
+  33,130,32,60,249,128,0,0,1,128,0,0,1,128,0,85,
   85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
-  0,114,57,202,32,74,57,202,32,115,185,128,0,0,1,128,
+  0,57,29,165,16,37,29,165,16,57,221,128,0,0,1,128,
   0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
   1,128,0,0,1,128,0,113,137,202,24,74,9,202,8,113,
   157,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
@@ -84094,34 +88070,34 @@ const u8g_fntpgm_uint8_t u8g_font_unifont[5516] U8G_SECTION(".progmem.u8g_font_u
   85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
   0,51,37,196,180,71,173,196,164,52,165,128,0,0,1,128,
   0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
-  1,128,0,0,1,128,0,125,17,193,176,125,81,193,16,125,
-  17,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  1,128,0,0,1,128,0,62,137,160,216,62,169,160,136,62,
+  137,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
   16,0,254,170,170,0,1,128,0,0,1,128,0,58,93,194,
   82,50,93,138,82,113,157,128,0,0,1,128,0,0,1,128,
   0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
   1,128,0,121,207,194,16,121,145,192,80,123,143,128,0,0,
   1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
-  170,0,1,128,0,0,1,128,0,121,193,194,0,121,129,192,
-  64,67,129,128,0,0,1,128,0,0,1,128,0,85,85,16,
-  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57,
-  193,194,0,89,129,200,64,59,129,128,0,0,1,128,0,0,
+  170,0,1,128,0,0,1,128,0,30,113,144,128,30,97,144,
+  16,16,225,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,14,
+  113,144,128,22,97,146,16,14,225,128,0,0,1,128,0,0,
   1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
-  0,0,1,128,0,113,193,202,0,113,129,208,64,75,129,128,
+  0,0,1,128,0,28,113,146,128,28,97,148,16,18,225,128,
   0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
-  254,170,170,0,1,128,0,0,1,128,0,73,193,202,0,73,
-  129,200,64,51,129,128,0,0,1,128,0,0,1,128,0,85,
+  254,170,170,0,1,128,0,0,1,128,0,18,113,146,128,18,
+  97,146,16,12,225,128,0,0,1,128,0,0,1,128,0,85,
   85,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128,
   128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136,
   136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144,
   144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124,
   16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82,
-  140,7,10,10,8,1,0,56,68,68,68,56,114,138,132,140,
+  140,7,10,10,8,1,0,56,68,68,40,48,82,138,132,140,
   114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3,
   255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12,
   8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7,
   7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8,
   1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192,
-  64,64,128,6,1,1,8,1,4,252,2,2,2,8,3,0,
+  64,64,128,4,1,1,8,2,4,240,2,2,2,8,3,0,
   192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64,
   128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132,
   72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32,
@@ -84180,207 +88156,209 @@ const u8g_fntpgm_uint8_t u8g_font_unifont[5516] U8G_SECTION(".progmem.u8g_font_u
   132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132,
   132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32,
   32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8,
-  8,8,8,8,8,8,144,96,6,10,10,8,1,0,128,128,
-  136,144,160,192,160,144,136,132,5,10,10,8,2,0,96,32,
-  32,32,32,32,32,32,32,248,7,8,8,8,1,0,236,146,
-  146,146,146,146,146,146,6,8,8,8,1,0,184,196,132,132,
-  132,132,132,132,6,8,8,8,1,0,120,132,132,132,132,132,
-  132,120,6,10,10,8,1,254,184,196,132,132,132,132,196,184,
-  128,128,6,10,10,8,1,254,116,140,132,132,132,132,140,116,
-  4,4,6,8,8,8,1,0,184,196,132,128,128,128,128,128,
-  6,8,8,8,1,0,120,132,128,96,24,4,132,120,5,10,
-  10,8,1,0,32,32,248,32,32,32,32,32,32,24,6,8,
-  8,8,1,0,132,132,132,132,132,132,140,116,6,8,8,8,
-  1,0,132,132,132,72,72,72,48,48,7,8,8,8,1,0,
-  130,146,146,146,146,146,146,108,6,8,8,8,1,0,132,132,
-  72,48,48,72,132,132,6,10,10,8,1,254,132,132,132,132,
-  132,76,52,4,4,120,6,8,8,8,1,0,252,4,8,16,
-  32,64,128,252,3,12,12,8,3,255,96,128,128,64,64,128,
-  128,64,64,128,128,96,1,14,14,8,4,254,128,128,128,128,
-  128,128,128,128,128,128,128,128,128,128,3,12,12,8,2,255,
-  192,32,32,64,64,32,32,64,64,32,32,192,7,3,3,8,
-  1,8,98,146,140,16,16,32,16,0,254,170,170,0,1,128,
-  0,0,1,128,0,115,209,202,16,75,209,202,16,115,223,128,
-  0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
-  254,170,170,0,1,128,0,0,1,128,0,113,157,202,82,115,
-  211,194,82,66,93,128,0,0,1,128,0,0,1,128,0,85,
-  85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
-  0,73,157,202,82,122,93,202,80,73,145,128,0,0,1,128,
-  0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
-  1,128,0,0,1,128,0,115,147,202,82,115,159,202,18,114,
-  19,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
-  16,0,254,170,170,0,1,128,0,0,1,128,0,75,147,234,
-  82,91,159,202,82,75,147,128,0,0,1,128,0,0,1,128,
+  8,8,8,8,8,8,144,96,6,11,11,8,1,0,128,128,
+  128,136,144,160,192,160,144,136,132,5,11,11,8,2,0,96,
+  32,32,32,32,32,32,32,32,32,248,7,8,8,8,1,0,
+  236,146,146,146,146,146,146,146,6,8,8,8,1,0,184,196,
+  132,132,132,132,132,132,6,8,8,8,1,0,120,132,132,132,
+  132,132,132,120,6,10,10,8,1,254,184,196,132,132,132,132,
+  196,184,128,128,6,10,10,8,1,254,116,140,132,132,132,132,
+  140,116,4,4,6,8,8,8,1,0,184,196,132,128,128,128,
+  128,128,6,8,8,8,1,0,120,132,128,96,24,4,132,120,
+  5,10,10,8,1,0,32,32,32,248,32,32,32,32,32,24,
+  6,8,8,8,1,0,132,132,132,132,132,132,140,116,6,8,
+  8,8,1,0,132,132,132,72,72,72,48,48,7,8,8,8,
+  1,0,130,146,146,146,146,146,146,108,6,8,8,8,1,0,
+  132,132,72,48,48,72,132,132,6,10,10,8,1,254,132,132,
+  132,132,132,76,52,4,4,120,6,8,8,8,1,0,252,4,
+  8,16,32,64,128,252,3,12,12,8,3,255,96,128,128,64,
+  64,128,128,64,64,128,128,96,1,14,14,8,4,254,128,128,
+  128,128,128,128,128,128,128,128,128,128,128,128,3,12,12,8,
+  2,255,192,32,32,64,64,32,32,64,64,32,32,192,7,3,
+  3,8,1,8,98,146,140,16,16,32,16,0,254,170,170,0,
+  1,128,0,0,1,128,0,115,209,202,16,75,209,202,16,115,
+  223,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,113,157,202,
+  82,115,211,194,82,66,93,128,0,0,1,128,0,0,1,128,
   0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
-  1,128,0,116,185,166,164,37,165,164,164,116,185,128,0,0,
+  1,128,0,73,157,202,82,122,93,202,80,73,145,128,0,0,
   1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
-  170,0,1,128,0,0,1,128,0,75,209,234,16,91,209,202,
-  16,75,223,128,0,0,1,128,0,0,1,128,0,85,85,16,
-  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57,
-  205,194,18,49,159,136,82,115,147,128,0,0,1,128,0,0,
+  170,0,1,128,0,0,1,128,0,115,147,202,82,115,159,202,
+  18,114,19,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,75,
+  147,234,82,91,159,202,82,75,147,128,0,0,1,128,0,0,
   1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
-  0,0,1,128,0,121,205,194,18,121,159,192,82,123,147,128,
+  0,0,1,128,0,116,185,166,164,37,165,164,164,116,185,128,
   0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
-  254,170,170,0,1,128,0,0,1,128,0,75,157,201,32,121,
-  25,201,4,73,57,128,0,0,1,128,0,0,1,128,0,85,
+  254,170,170,0,1,128,0,0,1,128,0,75,209,234,16,91,
+  209,202,16,75,223,128,0,0,1,128,0,0,1,128,0,85,
   85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
-  0,75,185,201,8,121,9,201,8,73,49,128,0,0,1,128,
+  0,57,205,194,18,49,159,136,82,115,147,128,0,0,1,128,
   0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
-  1,128,0,0,1,128,0,69,205,196,144,68,137,168,132,16,
-  153,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
-  16,0,254,170,170,0,1,128,0,0,1,128,0,114,29,202,
-  18,114,19,194,18,67,221,128,0,0,1,128,0,0,1,128,
+  1,128,0,0,1,128,0,121,205,194,18,121,159,192,82,123,
+  147,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,75,157,201,
+  32,121,25,201,4,73,57,128,0,0,1,128,0,0,1,128,
   0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
-  1,128,0,114,19,202,18,114,19,194,18,67,205,128,0,0,
+  1,128,0,37,221,164,132,60,133,164,132,36,153,128,0,0,
   1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
-  170,0,1,128,0,0,1,128,0,14,33,137,32,14,33,138,
-  32,9,33,128,0,0,1,128,0,0,1,128,0,85,85,16,
-  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57,
-  221,194,2,49,141,136,80,115,159,128,0,0,1,128,0,0,
+  170,0,1,128,0,0,1,128,0,69,205,196,144,68,137,168,
+  132,16,153,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,114,
+  29,202,18,114,19,194,18,67,221,128,0,0,1,128,0,0,
   1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
-  0,0,1,128,0,57,221,194,2,49,141,136,66,115,157,128,
+  0,0,1,128,0,114,19,202,18,114,19,194,18,67,205,128,
   0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
-  254,170,170,0,1,128,0,0,1,128,0,113,207,202,16,74,
-  13,202,2,113,221,128,0,0,1,128,0,0,1,128,0,85,
+  254,170,170,0,1,128,0,0,1,128,0,14,33,137,32,14,
+  33,138,32,9,33,128,0,0,1,128,0,0,1,128,0,85,
   85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
-  0,114,69,202,76,114,69,194,68,65,143,128,0,0,1,128,
+  0,57,221,194,2,49,141,136,80,115,159,128,0,0,1,128,
   0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
-  1,128,0,0,1,128,0,114,93,202,66,114,77,194,80,65,
-  159,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
-  16,0,254,170,170,0,1,128,0,0,1,128,0,59,157,193,
-  32,49,25,137,4,113,57,128,0,0,1,128,0,0,1,128,
+  1,128,0,0,1,128,0,57,221,194,2,49,141,136,66,115,
+  157,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,113,207,202,
+  16,74,13,202,2,113,221,128,0,0,1,128,0,0,1,128,
   0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
-  1,128,0,57,211,194,18,66,31,194,18,57,211,128,0,0,
+  1,128,0,114,69,202,76,114,69,194,68,65,143,128,0,0,
   1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
-  170,0,1,128,0,0,1,128,0,69,17,237,16,85,81,197,
-  176,69,17,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  170,0,1,128,0,0,1,128,0,114,93,202,66,114,77,194,
+  80,65,159,128,0,0,1,128,0,0,1,128,0,85,85,16,
   16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,59,
-  141,194,82,51,159,138,18,114,19,128,0,0,1,128,0,0,
+  157,193,32,49,25,137,4,113,57,128,0,0,1,128,0,0,
   1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
-  0,0,1,128,0,123,141,194,82,123,159,194,18,122,19,128,
+  0,0,1,128,0,57,211,194,18,66,31,194,18,57,211,128,
   0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
-  254,170,170,0,1,128,0,0,1,128,0,57,143,194,80,50,
-  77,138,66,113,157,128,0,0,1,128,0,0,1,128,0,85,
+  254,170,170,0,1,128,0,0,1,128,0,34,137,182,136,42,
+  169,162,216,34,137,128,0,0,1,128,0,0,1,128,0,85,
   85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
-  0,51,155,196,34,37,163,148,162,99,155,128,0,0,1,128,
+  0,59,141,194,82,51,159,138,18,114,19,128,0,0,1,128,
   0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
-  1,128,0,0,1,128,0,57,221,194,8,50,9,138,8,113,
-  221,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
-  16,0,254,170,170,0,1,128,0,0,1,128,0,57,221,194,
-  8,65,137,192,72,59,157,128,0,0,1,128,0,0,1,128,
+  1,128,0,0,1,128,0,123,141,194,82,123,159,194,18,122,
+  19,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32,
+  16,0,254,170,170,0,1,128,0,0,1,128,0,57,143,194,
+  80,50,77,138,66,113,157,128,0,0,1,128,0,0,1,128,
   0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0,
-  1,128,0,14,249,144,32,12,33,130,32,28,33,128,0,0,
+  1,128,0,51,155,196,34,37,163,148,162,99,155,128,0,0,
   1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170,
-  170,0,1,128,0,0,1,128,0,49,207,202,16,73,145,200,
-  80,51,143,128,0,0,1,128,0,0,1,128,0,85,85,16,
-  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,114,
-  33,203,96,114,161,194,32,66,33,128,0,0,1,128,0,0,
+  170,0,1,128,0,0,1,128,0,57,221,194,8,50,9,138,
+  8,113,221,128,0,0,1,128,0,0,1,128,0,85,85,16,
+  16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57,
+  221,194,8,65,137,192,72,59,157,128,0,0,1,128,0,0,
   1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128,
-  0,0,1,128,0,51,143,202,80,123,145,202,16,74,15,128,
-  0,0,1,128,0,0,1,128,0,85,85,0,0,0,8,0,
-  14,1,10,10,8,4,0,128,128,0,128,128,128,128,128,128,
-  128,7,10,10,8,1,0,16,16,124,146,144,144,146,124,16,
-  16,7,10,10,8,1,0,28,32,32,32,248,32,32,32,124,
-  194,6,8,8,8,1,1,132,72,120,72,72,120,72,132,7,
-  10,10,8,1,0,130,68,40,16,254,16,254,16,16,16,1,
-  10,10,8,4,0,128,128,128,128,0,0,128,128,128,128,6,
-  10,10,8,1,0,120,132,128,120,132,132,120,4,132,120,4,
-  2,2,8,2,12,144,144,8,10,10,8,0,0,60,66,153,
-  165,161,161,165,153,66,60,5,7,7,8,2,5,112,8,120,
-  136,120,0,248,6,9,9,8,1,0,36,36,72,72,144,72,
-  72,36,36,6,4,4,8,1,0,252,4,4,4,6,1,1,
-  8,1,4,252,8,10,10,8,0,0,60,66,185,165,165,185,
-  169,165,66,60,6,1,1,8,1,11,252,3,4,4,8,2,
-  10,64,160,160,64,7,9,9,8,1,1,16,16,16,254,16,
-  16,16,0,254,5,7,7,8,2,5,112,136,8,112,128,128,
-  248,5,7,7,8,2,5,112,136,8,112,8,136,112,3,3,
-  3,8,3,10,32,64,128,5,8,8,8,2,254,136,136,136,
-  136,216,168,128,128,6,12,12,8,1,255,124,244,244,244,244,
-  116,20,20,20,20,20,28,2,2,2,8,3,4,192,192,3,
-  2,2,8,2,254,32,192,3,7,7,8,2,5,32,96,160,
-  32,32,32,32,5,7,7,8,2,5,112,136,136,136,112,0,
-  248,6,9,9,8,1,0,144,144,72,72,36,72,72,144,144,
-  6,10,10,8,1,0,68,196,72,80,80,36,44,84,156,132,
-  6,10,10,8,1,0,68,196,72,80,80,40,52,68,136,156,
-  6,10,10,8,1,0,196,36,72,48,208,36,44,84,156,132,
-  6,10,10,8,1,0,16,16,0,16,16,96,132,132,132,120,
-  6,14,14,8,1,0,96,24,0,0,48,72,72,132,132,252,
-  132,132,132,132,6,14,14,8,1,0,24,96,0,0,48,72,
-  72,132,132,252,132,132,132,132,6,14,14,8,1,0,48,72,
-  0,0,48,72,72,132,132,252,132,132,132,132,6,14,14,8,
-  1,0,100,152,0,0,48,72,72,132,132,252,132,132,132,132,
-  6,14,14,8,1,0,72,72,0,0,48,72,72,132,132,252,
-  132,132,132,132,6,14,14,8,1,0,48,72,48,0,48,72,
-  72,132,132,252,132,132,132,132,7,10,10,8,1,0,62,80,
-  144,144,254,144,144,144,144,158,6,12,12,8,1,254,120,132,
-  132,128,128,128,128,132,132,120,16,96,6,14,14,8,1,0,
-  96,24,0,0,252,128,128,128,248,128,128,128,128,252,6,14,
-  14,8,1,0,24,96,0,0,252,128,128,128,248,128,128,128,
-  128,252,6,14,14,8,1,0,48,72,0,0,252,128,128,128,
-  248,128,128,128,128,252,6,14,14,8,1,0,72,72,0,0,
-  252,128,128,128,248,128,128,128,128,252,5,14,14,8,2,0,
-  96,24,0,0,248,32,32,32,32,32,32,32,32,248,5,14,
-  14,8,2,0,48,192,0,0,248,32,32,32,32,32,32,32,
-  32,248,5,14,14,8,2,0,96,144,0,0,248,32,32,32,
-  32,32,32,32,32,248,5,14,14,8,2,0,144,144,0,0,
-  248,32,32,32,32,32,32,32,32,248,7,10,10,8,0,0,
-  120,68,66,66,242,66,66,66,68,120,6,14,14,8,1,0,
-  100,152,0,0,132,196,196,164,164,148,148,140,140,132,6,14,
-  14,8,1,0,96,24,0,0,120,132,132,132,132,132,132,132,
-  132,120,6,14,14,8,1,0,24,96,0,0,120,132,132,132,
-  132,132,132,132,132,120,6,14,14,8,1,0,48,72,0,0,
-  120,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0,
-  100,152,0,0,120,132,132,132,132,132,132,132,132,120,6,14,
-  14,8,1,0,72,72,0,0,120,132,132,132,132,132,132,132,
-  132,120,6,5,5,8,1,2,132,72,48,72,132,6,12,12,
-  8,1,255,4,116,136,140,148,148,164,164,196,68,184,128,6,
-  14,14,8,1,0,96,24,0,0,132,132,132,132,132,132,132,
-  132,132,120,6,14,14,8,1,0,24,96,0,0,132,132,132,
-  132,132,132,132,132,132,120,6,14,14,8,1,0,48,72,0,
-  0,132,132,132,132,132,132,132,132,132,120,6,14,14,8,1,
-  0,72,72,0,0,132,132,132,132,132,132,132,132,132,120,7,
-  14,14,8,1,0,24,96,0,0,130,130,68,68,40,16,16,
-  16,16,16,6,11,11,8,1,0,128,128,240,136,132,132,136,
-  240,128,128,128,6,10,10,8,1,0,112,136,136,136,248,132,
-  132,132,196,184,6,12,12,8,1,0,96,24,0,0,120,132,
-  4,124,132,132,140,116,6,12,12,8,1,0,24,96,0,0,
-  120,132,4,124,132,132,140,116,6,12,12,8,1,0,48,72,
-  0,0,120,132,4,124,132,132,140,116,6,12,12,8,1,0,
-  100,152,0,0,120,132,4,124,132,132,140,116,6,12,12,8,
-  1,0,72,72,0,0,120,132,4,124,132,132,140,116,6,13,
-  13,8,1,0,48,72,48,0,0,120,132,4,124,132,132,140,
-  116,7,8,8,8,1,0,124,146,18,126,144,144,146,124,6,
-  10,10,8,1,254,120,132,128,128,128,128,132,120,16,96,6,
-  12,12,8,1,0,96,24,0,0,120,132,132,252,128,128,132,
-  120,6,12,12,8,1,0,24,96,0,0,120,132,132,252,128,
-  128,132,120,6,12,12,8,1,0,48,72,0,0,120,132,132,
-  252,128,128,132,120,6,12,12,8,1,0,72,72,0,0,120,
-  132,132,252,128,128,132,120,5,12,12,8,2,0,192,48,0,
-  0,96,32,32,32,32,32,32,248,5,12,12,8,2,0,48,
-  192,0,0,96,32,32,32,32,32,32,248,5,12,12,8,2,
-  0,96,144,0,0,96,32,32,32,32,32,32,248,5,12,12,
-  8,2,0,144,144,0,0,96,32,32,32,32,32,32,248,6,
-  12,12,8,1,0,100,24,40,68,4,124,132,132,132,132,132,
-  120,6,12,12,8,1,0,100,152,0,0,184,196,132,132,132,
-  132,132,132,6,12,12,8,1,0,96,24,0,0,120,132,132,
-  132,132,132,132,120,6,12,12,8,1,0,24,96,0,0,120,
-  132,132,132,132,132,132,120,6,12,12,8,1,0,48,72,0,
-  0,120,132,132,132,132,132,132,120,6,12,12,8,1,0,100,
-  152,0,0,120,132,132,132,132,132,132,120,6,12,12,8,1,
-  0,72,72,0,0,120,132,132,132,132,132,132,120,6,7,7,
-  8,1,1,48,0,0,252,0,0,48,6,10,10,8,1,255,
-  4,120,140,148,148,164,164,196,120,128,6,12,12,8,1,0,
-  96,24,0,0,132,132,132,132,132,132,140,116,6,12,12,8,
-  1,0,24,96,0,0,132,132,132,132,132,132,140,116,6,12,
-  12,8,1,0,48,72,0,0,132,132,132,132,132,132,140,116,
-  6,12,12,8,1,0,72,72,0,0,132,132,132,132,132,132,
-  140,116,6,14,14,8,1,254,24,96,0,0,132,132,132,132,
-  132,76,52,4,4,120,5,12,12,8,2,254,128,128,240,136,
-  136,136,144,160,192,128,128,128,6,14,14,8,1,254,72,72,
-  0,0,132,132,132,132,132,76,52,4,4,120};
+  0,0,1,128,0,14,249,144,32,12,33,130,32,28,33,128,
+  0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0,
+  254,170,170,0,1,128,0,0,1,128,0,49,207,202,16,73,
+  145,200,80,51,143,128,0,0,1,128,0,0,1,128,0,85,
+  85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128,
+  0,28,137,146,216,28,169,144,136,16,137,128,0,0,1,128,
+  0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0,
+  1,128,0,0,1,128,0,51,143,202,80,123,145,202,16,74,
+  15,128,0,0,1,128,0,0,1,128,0,85,85,0,0,0,
+  8,0,14,1,10,10,8,4,0,128,128,0,128,128,128,128,
+  128,128,128,7,10,10,8,1,0,16,16,124,146,144,144,146,
+  124,16,16,7,10,10,8,1,0,28,32,32,32,248,32,32,
+  32,124,194,6,8,8,8,1,1,132,72,120,72,72,120,72,
+  132,7,10,10,8,1,0,130,68,40,16,254,16,254,16,16,
+  16,1,10,10,8,4,0,128,128,128,128,0,0,128,128,128,
+  128,6,10,10,8,1,0,120,132,128,120,132,132,120,4,132,
+  120,4,2,2,8,2,12,144,144,8,10,10,8,0,0,60,
+  66,153,165,161,161,165,153,66,60,5,7,7,8,2,5,112,
+  8,120,136,120,0,248,6,9,9,8,1,0,36,36,72,72,
+  144,72,72,36,36,6,4,4,8,1,0,252,4,4,4,16,
+  16,32,16,0,254,170,170,0,1,128,0,58,99,194,84,51,
+  201,138,72,114,73,128,0,0,1,128,0,3,193,128,0,0,
+  1,128,0,85,85,8,10,10,8,0,0,60,66,185,165,165,
+  185,169,165,66,60,6,1,1,8,1,11,252,3,4,4,8,
+  2,10,64,160,160,64,7,9,9,8,1,1,16,16,16,254,
+  16,16,16,0,254,5,7,7,8,2,5,112,136,8,112,128,
+  128,248,5,7,7,8,2,5,112,136,8,112,8,136,112,3,
+  3,3,8,3,10,32,64,128,8,10,10,8,0,254,66,66,
+  66,66,66,66,102,89,64,128,6,12,12,8,1,255,124,244,
+  244,244,244,116,20,20,20,20,20,28,2,2,2,8,3,4,
+  192,192,3,2,2,8,2,254,32,192,3,7,7,8,2,5,
+  32,96,160,32,32,32,32,5,7,7,8,2,5,112,136,136,
+  136,112,0,248,6,9,9,8,1,0,144,144,72,72,36,72,
+  72,144,144,6,10,10,8,1,0,68,196,72,80,80,36,44,
+  84,156,132,6,10,10,8,1,0,68,196,72,80,80,40,52,
+  68,136,156,6,10,10,8,1,0,196,36,72,48,208,36,44,
+  84,156,132,6,10,10,8,1,0,16,16,0,16,16,96,132,
+  132,132,120,6,14,14,8,1,0,96,24,0,0,48,72,72,
+  132,132,252,132,132,132,132,6,14,14,8,1,0,24,96,0,
+  0,48,72,72,132,132,252,132,132,132,132,6,14,14,8,1,
+  0,48,72,0,0,48,72,72,132,132,252,132,132,132,132,6,
+  14,14,8,1,0,100,152,0,0,48,72,72,132,132,252,132,
+  132,132,132,6,14,14,8,1,0,72,72,0,0,48,72,72,
+  132,132,252,132,132,132,132,6,14,14,8,1,0,48,72,48,
+  0,48,72,72,132,132,252,132,132,132,132,7,10,10,8,1,
+  0,62,80,144,144,254,144,144,144,144,158,6,12,12,8,1,
+  254,120,132,132,128,128,128,128,132,132,120,16,96,6,14,14,
+  8,1,0,96,24,0,0,252,128,128,128,248,128,128,128,128,
+  252,6,14,14,8,1,0,24,96,0,0,252,128,128,128,248,
+  128,128,128,128,252,6,14,14,8,1,0,48,72,0,0,252,
+  128,128,128,248,128,128,128,128,252,6,14,14,8,1,0,72,
+  72,0,0,252,128,128,128,248,128,128,128,128,252,5,14,14,
+  8,2,0,96,24,0,0,248,32,32,32,32,32,32,32,32,
+  248,5,14,14,8,2,0,48,192,0,0,248,32,32,32,32,
+  32,32,32,32,248,5,14,14,8,2,0,96,144,0,0,248,
+  32,32,32,32,32,32,32,32,248,5,14,14,8,2,0,144,
+  144,0,0,248,32,32,32,32,32,32,32,32,248,7,10,10,
+  8,0,0,120,68,66,66,242,66,66,66,68,120,6,14,14,
+  8,1,0,100,152,0,0,132,196,196,164,164,148,148,140,140,
+  132,6,14,14,8,1,0,96,24,0,0,120,132,132,132,132,
+  132,132,132,132,120,6,14,14,8,1,0,24,96,0,0,120,
+  132,132,132,132,132,132,132,132,120,6,14,14,8,1,0,48,
+  72,0,0,120,132,132,132,132,132,132,132,132,120,6,14,14,
+  8,1,0,100,152,0,0,120,132,132,132,132,132,132,132,132,
+  120,6,14,14,8,1,0,72,72,0,0,120,132,132,132,132,
+  132,132,132,132,120,6,5,5,8,1,2,132,72,48,72,132,
+  6,12,12,8,1,255,4,116,136,140,148,148,164,164,196,68,
+  184,128,6,14,14,8,1,0,96,24,0,0,132,132,132,132,
+  132,132,132,132,132,120,6,14,14,8,1,0,24,96,0,0,
+  132,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0,
+  48,72,0,0,132,132,132,132,132,132,132,132,132,120,6,14,
+  14,8,1,0,72,72,0,0,132,132,132,132,132,132,132,132,
+  132,120,7,14,14,8,1,0,24,96,0,0,130,130,68,68,
+  40,16,16,16,16,16,6,11,11,8,1,0,128,128,240,136,
+  132,132,136,240,128,128,128,6,10,10,8,1,0,112,136,136,
+  144,176,136,132,132,164,152,6,12,12,8,1,0,96,24,0,
+  0,120,132,4,124,132,132,140,116,6,12,12,8,1,0,24,
+  96,0,0,120,132,4,124,132,132,140,116,6,12,12,8,1,
+  0,48,72,0,0,120,132,4,124,132,132,140,116,6,12,12,
+  8,1,0,100,152,0,0,120,132,4,124,132,132,140,116,6,
+  12,12,8,1,0,72,72,0,0,120,132,4,124,132,132,140,
+  116,6,13,13,8,1,0,48,72,48,0,0,120,132,4,124,
+  132,132,140,116,7,8,8,8,1,0,124,146,18,126,144,144,
+  146,124,6,10,10,8,1,254,120,132,128,128,128,128,132,120,
+  16,96,6,12,12,8,1,0,96,24,0,0,120,132,132,252,
+  128,128,132,120,6,12,12,8,1,0,24,96,0,0,120,132,
+  132,252,128,128,132,120,6,12,12,8,1,0,48,72,0,0,
+  120,132,132,252,128,128,132,120,6,12,12,8,1,0,72,72,
+  0,0,120,132,132,252,128,128,132,120,5,12,12,8,2,0,
+  192,48,0,0,96,32,32,32,32,32,32,248,5,12,12,8,
+  2,0,48,192,0,0,96,32,32,32,32,32,32,248,5,12,
+  12,8,2,0,96,144,0,0,96,32,32,32,32,32,32,248,
+  5,12,12,8,2,0,144,144,0,0,96,32,32,32,32,32,
+  32,248,6,12,12,8,1,0,100,24,40,68,4,124,132,132,
+  132,132,132,120,6,12,12,8,1,0,100,152,0,0,184,196,
+  132,132,132,132,132,132,6,12,12,8,1,0,96,24,0,0,
+  120,132,132,132,132,132,132,120,6,12,12,8,1,0,24,96,
+  0,0,120,132,132,132,132,132,132,120,6,12,12,8,1,0,
+  48,72,0,0,120,132,132,132,132,132,132,120,6,12,12,8,
+  1,0,100,152,0,0,120,132,132,132,132,132,132,120,6,12,
+  12,8,1,0,72,72,0,0,120,132,132,132,132,132,132,120,
+  6,7,7,8,1,1,48,0,0,252,0,0,48,6,10,10,
+  8,1,255,4,120,140,148,148,164,164,196,120,128,6,12,12,
+  8,1,0,96,24,0,0,132,132,132,132,132,132,140,116,6,
+  12,12,8,1,0,24,96,0,0,132,132,132,132,132,132,140,
+  116,6,12,12,8,1,0,48,72,0,0,132,132,132,132,132,
+  132,140,116,6,12,12,8,1,0,72,72,0,0,132,132,132,
+  132,132,132,140,116,6,14,14,8,1,254,24,96,0,0,132,
+  132,132,132,132,76,52,4,4,120,5,12,12,8,2,254,128,
+  128,240,136,136,136,144,160,192,128,128,128,6,14,14,8,1,
+  254,72,72,0,0,132,132,132,132,132,76,52,4,4,120};
 /*
-  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
-  Copyright: 
+  Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1
+  Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception.
   Capital A Height: 10, '1' Height: 10
   Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=14
   Font Bounding box     w=16 h=16 x= 0 y=-2
@@ -84390,20 +88368,20 @@ const u8g_fntpgm_uint8_t u8g_font_unifont[5516] U8G_SECTION(".progmem.u8g_font_u
   Max Font    ascent =14 descent=-2
 */
 #include "u8g.h"
-const u8g_fntpgm_uint8_t u8g_font_unifontr[1483] U8G_SECTION(".progmem.u8g_font_unifontr") = {
+const u8g_fntpgm_uint8_t u8g_font_unifontr[1485] U8G_FONT_SECTION("u8g_font_unifontr") = {
   0,16,16,0,254,10,1,231,3,213,32,127,254,14,254,11,
   254,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128,
   128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136,
   136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144,
   144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124,
   16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82,
-  140,7,10,10,8,1,0,56,68,68,68,56,114,138,132,140,
+  140,7,10,10,8,1,0,56,68,68,40,48,82,138,132,140,
   114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3,
   255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12,
   8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7,
   7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8,
   1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192,
-  64,64,128,6,1,1,8,1,4,252,2,2,2,8,3,0,
+  64,64,128,4,1,1,8,2,4,240,2,2,2,8,3,0,
   192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64,
   128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132,
   72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32,
@@ -84462,25 +88440,25 @@ const u8g_fntpgm_uint8_t u8g_font_unifontr[1483] U8G_SECTION(".progmem.u8g_font_
   132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132,
   132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32,
   32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8,
-  8,8,8,8,8,8,144,96,6,10,10,8,1,0,128,128,
-  136,144,160,192,160,144,136,132,5,10,10,8,2,0,96,32,
-  32,32,32,32,32,32,32,248,7,8,8,8,1,0,236,146,
-  146,146,146,146,146,146,6,8,8,8,1,0,184,196,132,132,
-  132,132,132,132,6,8,8,8,1,0,120,132,132,132,132,132,
-  132,120,6,10,10,8,1,254,184,196,132,132,132,132,196,184,
-  128,128,6,10,10,8,1,254,116,140,132,132,132,132,140,116,
-  4,4,6,8,8,8,1,0,184,196,132,128,128,128,128,128,
-  6,8,8,8,1,0,120,132,128,96,24,4,132,120,5,10,
-  10,8,1,0,32,32,248,32,32,32,32,32,32,24,6,8,
-  8,8,1,0,132,132,132,132,132,132,140,116,6,8,8,8,
-  1,0,132,132,132,72,72,72,48,48,7,8,8,8,1,0,
-  130,146,146,146,146,146,146,108,6,8,8,8,1,0,132,132,
-  72,48,48,72,132,132,6,10,10,8,1,254,132,132,132,132,
-  132,76,52,4,4,120,6,8,8,8,1,0,252,4,8,16,
-  32,64,128,252,3,12,12,8,3,255,96,128,128,64,64,128,
-  128,64,64,128,128,96,1,14,14,8,4,254,128,128,128,128,
-  128,128,128,128,128,128,128,128,128,128,3,12,12,8,2,255,
-  192,32,32,64,64,32,32,64,64,32,32,192,7,3,3,8,
-  1,8,98,146,140,16,16,32,16,0,254,170,170,0,1,128,
-  0,0,1,128,0,115,209,202,16,75,209,202,16,115,223,128,
-  0,0,1,128,0,0,1,128,0,85,85};
+  8,8,8,8,8,8,144,96,6,11,11,8,1,0,128,128,
+  128,136,144,160,192,160,144,136,132,5,11,11,8,2,0,96,
+  32,32,32,32,32,32,32,32,32,248,7,8,8,8,1,0,
+  236,146,146,146,146,146,146,146,6,8,8,8,1,0,184,196,
+  132,132,132,132,132,132,6,8,8,8,1,0,120,132,132,132,
+  132,132,132,120,6,10,10,8,1,254,184,196,132,132,132,132,
+  196,184,128,128,6,10,10,8,1,254,116,140,132,132,132,132,
+  140,116,4,4,6,8,8,8,1,0,184,196,132,128,128,128,
+  128,128,6,8,8,8,1,0,120,132,128,96,24,4,132,120,
+  5,10,10,8,1,0,32,32,32,248,32,32,32,32,32,24,
+  6,8,8,8,1,0,132,132,132,132,132,132,140,116,6,8,
+  8,8,1,0,132,132,132,72,72,72,48,48,7,8,8,8,
+  1,0,130,146,146,146,146,146,146,108,6,8,8,8,1,0,
+  132,132,72,48,48,72,132,132,6,10,10,8,1,254,132,132,
+  132,132,132,76,52,4,4,120,6,8,8,8,1,0,252,4,
+  8,16,32,64,128,252,3,12,12,8,3,255,96,128,128,64,
+  64,128,128,64,64,128,128,96,1,14,14,8,4,254,128,128,
+  128,128,128,128,128,128,128,128,128,128,128,128,3,12,12,8,
+  2,255,192,32,32,64,64,32,32,64,64,32,32,192,7,3,
+  3,8,1,8,98,146,140,16,16,32,16,0,254,170,170,0,
+  1,128,0,0,1,128,0,115,209,202,16,75,209,202,16,115,
+  223,128,0,0,1,128,0,0,1,128,0,85,85};
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ll_api.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ll_api.c
index 41c7fada1858b99fcf1d8957e004651164147088..856d77437dc6858fd6045367ce23c547c07155cb 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ll_api.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ll_api.c
@@ -102,6 +102,17 @@ void u8g_Draw8PixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, ui
   u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_SET_8PIXEL, arg);
 }
 
+void u8g_Draw4TPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel)
+{
+  u8g_dev_arg_pixel_t *arg = &(u8g->arg_pixel);
+  arg->x = x;
+  arg->y = y;
+  arg->dir = dir;
+  arg->pixel = pixel;
+  u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_SET_4TPIXEL, arg);
+}
+
+
 #ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION
 uint8_t u8g_IsBBXIntersectionLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h)
 {  
@@ -145,17 +156,21 @@ void u8g_UpdateDimension(u8g_t *u8g)
 
 static void u8g_init_data(u8g_t *u8g)
 {
-  uint8_t i;
   u8g->font = NULL;
   u8g->cursor_font = NULL;
   u8g->cursor_bg_color = 0;
   u8g->cursor_fg_color = 1;
   u8g->cursor_encoding = 34;
   u8g->cursor_fn = (u8g_draw_cursor_fn)0;
-  
-  for( i = 0; i < U8G_PIN_LIST_LEN; i++ )
-    u8g->pin_list[i] = U8G_PIN_NONE;
 
+#if defined(U8G_WITH_PINLIST)  
+  {
+    uint8_t i;
+    for( i = 0; i < U8G_PIN_LIST_LEN; i++ )
+      u8g->pin_list[i] = U8G_PIN_NONE;
+  }
+#endif
+  
   u8g_SetColorIndex(u8g, 1);
 
   u8g_SetFontPosBaseline(u8g);
@@ -192,6 +207,33 @@ uint8_t u8g_Init(u8g_t *u8g, u8g_dev_t *dev)
   return u8g_Begin(u8g);
 }
 
+/* special init for pure ARM systems */
+uint8_t u8g_InitComFn(u8g_t *u8g, u8g_dev_t *dev, u8g_com_fnptr com_fn)
+{
+  u8g_init_data(u8g);
+  
+#if defined(U8G_WITH_PINLIST)  
+  {
+    uint8_t i;
+    for( i = 0; i < U8G_PIN_LIST_LEN; i++ )
+      u8g->pin_list[i] = U8G_PIN_DUMMY;
+  }
+#endif
+  
+  u8g->dev = dev;
+  
+  /* replace the device procedure with a custom communication procedure */
+  u8g->dev->com_fn = com_fn;
+  
+  /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */
+  /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */
+  /* if Arduino call u8g_UpdateDimension else u8g_Begin */
+  /* issue 146 */
+  return u8g_Begin(u8g);
+}
+
+
+#if defined(U8G_WITH_PINLIST)  
 uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset)
 {
   
@@ -336,6 +378,7 @@ uint8_t u8g_InitRW8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8
   
   return u8g_Begin(u8g);
 }
+#endif /* defined(U8G_WITH_PINLIST)  */
 
 void u8g_FirstPage(u8g_t *u8g)
 {
@@ -377,6 +420,12 @@ void u8g_Draw8Pixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t
   u8g_Draw8PixelLL(u8g, u8g->dev, x, y, dir, pixel);
 }
 
+void u8g_Draw4TPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel)
+{
+  u8g_Draw4TPixelLL(u8g, u8g->dev, x, y, dir, pixel);
+}
+
+
 /* u8g_IsBBXIntersection() has been moved to u8g_clip.c */
 #ifdef OBSOLETE_CODE
 uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h)
@@ -394,12 +443,72 @@ uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t
 }
 #endif
 
+/*
+  idx: index for the palette entry (0..255)
+  r: value for red (0..255)
+  g: value for green (0..255)
+  b: value for blue (0..255)
+*/
+void u8g_SetColorEntry(u8g_t *u8g, uint8_t idx, uint8_t r, uint8_t g, uint8_t b)
+{
+  u8g_dev_arg_irgb_t irgb;
+  irgb.idx = idx;
+  irgb.r = r;
+  irgb.g = g;
+  irgb.b = b;  
+  u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_SET_COLOR_ENTRY, &irgb);
+}
+
 void u8g_SetColorIndex(u8g_t *u8g, uint8_t idx)
 {
   u8g->arg_pixel.color = idx;
   /*u8g->color_index = idx; */ /* must be removed */
 }
 
+void u8g_SetHiColor(u8g_t *u8g, uint16_t rgb)
+{
+  u8g->arg_pixel.color = rgb&255;
+  u8g->arg_pixel.hi_color = rgb>>8;
+  /*u8g->color_index = idx; */ /* must be removed */
+}
+
+void u8g_SetHiColorByRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b)
+{
+  
+  r &= ~7;
+  g >>= 2;
+  b >>= 3;
+  u8g->arg_pixel.color = b;
+  u8g->arg_pixel.color |= (g & 7) << 5;
+  u8g->arg_pixel.hi_color = r;
+  u8g->arg_pixel.hi_color |= (g>>3) & 7;
+  
+  //u8g_SetHiColor(u8g, U8G_GET_HICOLOR_BY_RGB(r,g,b));
+}
+
+void u8g_SetRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b)
+{
+  if ( u8g->mode == U8G_MODE_R3G3B2 ) 
+  {
+    r &= 0x0e0;
+    g &= 0x0e0;
+    g >>= 3;
+    b >>= 6;
+    u8g->arg_pixel.color = r | g | b;
+  }
+  else if ( u8g->mode == U8G_MODE_HICOLOR )
+  {
+    u8g_SetHiColorByRGB(u8g, r,g,b);
+  }
+  else
+  {
+    u8g->arg_pixel.color = r;
+    u8g->arg_pixel.hi_color = g;
+    u8g->arg_pixel.blue = b;
+  }
+}
+
+
 uint8_t u8g_GetColorIndex(u8g_t *u8g)
 {
   return u8g->arg_pixel.color;
@@ -420,7 +529,15 @@ uint8_t u8g_GetDefaultForegroundColor(u8g_t *u8g)
 
 void u8g_SetDefaultForegroundColor(u8g_t *u8g)
 {
-  u8g_SetColorIndex(u8g, u8g_GetDefaultForegroundColor(u8g));
+  if ( u8g->mode == U8G_MODE_HICOLOR )
+  {
+    u8g->arg_pixel.color = 0x0ff;
+    u8g->arg_pixel.hi_color = 0x0ff;
+  }
+  else
+  {
+    u8g_SetColorIndex(u8g, u8g_GetDefaultForegroundColor(u8g));
+  }
 }
 
 uint8_t u8g_GetDefaultBackgroundColor(u8g_t *u8g)
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb14v1.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb14v1.c
index dbcd0215f84d10cc702c26c2fe6534f390a10ba8..d8667f35a937596b6a7b39c5db76a4d159fd5b0b 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb14v1.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb14v1.c
@@ -187,7 +187,7 @@ uint8_t u8g_dev_pb14v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *ar
     case U8G_DEV_MSG_GET_HEIGHT:
       *((u8g_uint_t *)arg) = pb->p.total_height;
       break;
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
       break;
     case U8G_DEV_MSG_SET_XY_CB:
       break;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h1.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h1.c
index 6f1502ed77c2b4afba7ade007e639a0cbd585500..d598633fa2cf0d8c613d3f19347d990983da35e3 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h1.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h1.c
@@ -200,7 +200,7 @@ uint8_t u8g_dev_pb16h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *ar
     case U8G_DEV_MSG_GET_HEIGHT:
       *((u8g_uint_t *)arg) = pb->p.total_height;
       break;
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
       break;
     case U8G_DEV_MSG_SET_XY_CB:
       break;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h2.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h2.c
index d694efbece95e877fa93c02195e98f4445243704..2d0523cf8139c67d420c38993c2cd68909f6eabe 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h2.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h2.c
@@ -62,8 +62,8 @@ void u8g_pb16h2_Init(u8g_pb_t *b, void *buf, u8g_uint_t width)
   u8g_pb16h2_Clear(b);
 }
 
-static void u8g_pb16h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE;
-static void u8g_pb16h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index)
+static void u8g_pb16h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index, uint8_t is_or) U8G_NOINLINE;
+static void u8g_pb16h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index, uint8_t is_or)
 {
   register uint8_t mask;
   register uint16_t tmp;
@@ -84,18 +84,20 @@ static void u8g_pb16h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_
   tmp = x;
   tmp &= 3;
   tmp <<= 1;
-  mask = 3;
-  mask <<= tmp;
-  mask = ~mask;
+  if ( is_or == 0 )
+  {
+    mask = 3;
+    mask <<= tmp;
+    mask = ~mask;
+    *ptr &= mask;
+  }
   color_index &= 3;
   color_index <<= tmp;
-    
-  *ptr &= mask;
   *ptr |= color_index;
 }
 
 
-void u8g_pb16h2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel)
+void u8g_pb16h2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel, uint8_t is_or)
 {
   if ( arg_pixel->y < b->p.page_y0 )
     return;
@@ -103,7 +105,7 @@ void u8g_pb16h2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixe
     return;
   if ( arg_pixel->x >= b->width )
     return;
-  u8g_pb16h2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color);
+  u8g_pb16h2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color, is_or);
 }
 
 
@@ -114,7 +116,7 @@ void u8g_pb16h2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel)
   {
     if ( pixel & 128 )
     {
-      u8g_pb16h2_SetPixel(b, arg_pixel);
+      u8g_pb16h2_SetPixel(b, arg_pixel, 0);
     }
     switch( arg_pixel->dir )
     {
@@ -127,6 +129,24 @@ void u8g_pb16h2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel)
   } while( pixel != 0  );
 }
 
+void u8g_pb16h2_Or4PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel)
+{
+  register uint8_t pixel = arg_pixel->pixel;
+  do
+  {
+    arg_pixel->color = pixel & 0x0c0;
+    arg_pixel->color >>= 6;
+    u8g_pb16h2_SetPixel(b, arg_pixel, 1);
+    switch( arg_pixel->dir )
+    {
+      case 0: arg_pixel->x++; break;
+      case 1: arg_pixel->y++; break;
+      case 2: arg_pixel->x--; break;
+      case 3: arg_pixel->y--; break;
+    }
+    pixel <<= 2;
+  } while( pixel != 0  );
+}
 
 
 uint8_t u8g_dev_pb16h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
@@ -141,7 +161,13 @@ uint8_t u8g_dev_pb16h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *ar
       }
       break;
     case U8G_DEV_MSG_SET_PIXEL:
-      u8g_pb16h2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg);
+      u8g_pb16h2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg, 0);
+      break;
+    case U8G_DEV_MSG_SET_4TPIXEL:
+      u8g_pb16h2_Or4PixelStd(pb, (u8g_dev_arg_pixel_t *)arg);
+      break;
+    case U8G_DEV_MSG_SET_TPIXEL:
+      u8g_pb16h2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg, 1);
       break;
     case U8G_DEV_MSG_INIT:
       break;
@@ -169,7 +195,7 @@ uint8_t u8g_dev_pb16h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *ar
     case U8G_DEV_MSG_GET_HEIGHT:
       *((u8g_uint_t *)arg) = pb->p.total_height;
       break;
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
       break;
     case U8G_DEV_MSG_SET_XY_CB:
       break;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v1.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v1.c
index 774aaec7001f3b12eed2bd980fa2d4dd2e1ec4a6..3716411c11278a4736c51947a429ddad8999492a 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v1.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v1.c
@@ -187,7 +187,7 @@ uint8_t u8g_dev_pb16v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *ar
     case U8G_DEV_MSG_GET_HEIGHT:
       *((u8g_uint_t *)arg) = pb->p.total_height;
       break;
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
       break;
     case U8G_DEV_MSG_SET_XY_CB:
       break;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v2.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v2.c
index 3d40ddad71b5ce7c838c980d274384ab08f5fb45..94ef7e28ac977bb3ab940d9fa26b4fca6b39911e 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v2.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v2.c
@@ -159,7 +159,7 @@ uint8_t u8g_dev_pb16v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *ar
     case U8G_DEV_MSG_GET_HEIGHT:
       *((u8g_uint_t *)arg) = pb->p.total_height;
       break;
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
       break;
     case U8G_DEV_MSG_SET_XY_CB:
       break;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb32h1.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb32h1.c
index 6ac100f325c225fd9e8a93b709a1f3cb0085ee58..d40f7ce571b7f47b3720d8203f3729b94e51e800 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb32h1.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb32h1.c
@@ -195,7 +195,7 @@ uint8_t u8g_dev_pb32h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *ar
     case U8G_DEV_MSG_GET_HEIGHT:
       *((u8g_uint_t *)arg) = pb->p.total_height;
       break;
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
       break;
     case U8G_DEV_MSG_SET_XY_CB:
       break;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1.c
index 8a13e0b7b1a47ee824ac8588067f96b59b633fe1..80dc99b589af5ff178ceeef58bf5bed25e3b1c2f 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1.c
@@ -376,7 +376,7 @@ uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg
     case U8G_DEV_MSG_GET_HEIGHT:
       *((u8g_uint_t *)arg) = pb->p.total_height;
       break;
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
       break;
     case U8G_DEV_MSG_SET_XY_CB:
       break;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1f.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1f.c
index ffc90c2a3df4fa889d031a97e845afd1b0323cfe..c7be1fe10b45ab065adbeef9a7bee13ee2ac9c24 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1f.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1f.c
@@ -181,7 +181,7 @@ uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *ar
     case U8G_DEV_MSG_GET_HEIGHT:
       *((u8g_uint_t *)arg) = pb->p.total_height;
       break;
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
       break;
     case U8G_DEV_MSG_SET_XY_CB:
       break;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h2.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h2.c
index 0e37f211f717ba2b0a761157c63824be5b175363..aad6e42757b01d88343e1acbbacc3dde3b21ab41 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h2.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h2.c
@@ -154,7 +154,7 @@ uint8_t u8g_dev_pb8h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg
     case U8G_DEV_MSG_GET_HEIGHT:
       *((u8g_uint_t *)arg) = pb->p.total_height;
       break;
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
       break;
     case U8G_DEV_MSG_SET_XY_CB:
       break;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h8.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h8.c
index 5753645d1d26f9d58cabddba4d5d706746f95a96..49dbb86169987417175d6f08607a176e98bacbae 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h8.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h8.c
@@ -2,7 +2,8 @@
 
   u8g_pb8h8.c
   
-  8 bits per pixel, horizontal
+  8 lines per page, horizontal, 8 bits per pixel
+  (22 May 2013: might also support any number of lines --> needs to be checked)
   
   Universal 8bit Graphics Library
   
@@ -51,21 +52,26 @@ u8g_dev_t name = { dev_fn, &u8g_index_color_8h8_pb, com_fn }
 
 #include "u8g.h"
 
+/*
 #define WIDTH_BITS 7
 #define WIDTH (1<<WIDTH_BITS)
 #define PAGE_HEIGHT_BITS 3
 #define PAGE_HEIGHT (1<<PAGE_HEIGHT_BITS)
+*/
 
 void u8g_pb8h8_Clear(u8g_pb_t *b)
 {
   uint8_t *ptr = (uint8_t *)b->buf;
   uint8_t *end_ptr = ptr;
   uint8_t cnt = b->p.page_height;
+  end_ptr += b->width*cnt;
+  /*
   do
   {
     end_ptr += b->width;
     cnt--;
   } while( cnt > 0 );
+  */
   do
   {
     *ptr++ = 0;
@@ -167,7 +173,7 @@ uint8_t u8g_dev_pb8h8_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg
     case U8G_DEV_MSG_GET_HEIGHT:
       *((u8g_uint_t *)arg) = pb->p.total_height;
       break;
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
       break;
     case U8G_DEV_MSG_SET_XY_CB:
       break;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v1.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v1.c
index 37352fd11eb2fb5d6b1487901319a064ba16ff84..28ac4e0ea22f651c3c08a3401ab55e93b65b94d5 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v1.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v1.c
@@ -171,7 +171,7 @@ uint8_t u8g_dev_pb8v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg
     case U8G_DEV_MSG_GET_HEIGHT:
       *((u8g_uint_t *)arg) = pb->p.total_height;
       break;
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
       break;
     case U8G_DEV_MSG_SET_XY_CB:
       break;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v2.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v2.c
index 3656511dbcf457903bbead0ae8a5d02805502b10..c8e8926b13e0d7c8e98c977deab61ecb86ac032e 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v2.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v2.c
@@ -140,7 +140,7 @@ uint8_t u8g_dev_pb8v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg
     case U8G_DEV_MSG_GET_HEIGHT:
       *((u8g_uint_t *)arg) = pb->p.total_height;
       break;
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
       break;
     case U8G_DEV_MSG_SET_XY_CB:
       break;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pbxh16.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pbxh16.c
new file mode 100644
index 0000000000000000000000000000000000000000..9e3455346e1bf97880c27ce1d53d9a2ad5352eb4
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pbxh16.c
@@ -0,0 +1,184 @@
+/*
+
+  u8g_pbxh16.c
+  
+  x lines per page, horizontal, 16 bits per pixel (hi color modes)
+  
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2013, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+
+
+struct _u8g_pb_t
+{
+  u8g_page_t p;
+  u8g_uint_t width;
+  void *buf;
+};
+typedef struct _u8g_pb_t u8g_pb_t;
+
+
+uint8_t u8g_index_color_xh16_buf[2*WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; 
+u8g_pb_t u8g_index_color_xh16_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0},  WIDTH, u8g_index_color_xh16_buf}; 
+u8g_dev_t name = { dev_fn, &u8g_index_color_xh16_pb , com_fn }
+
+*/
+
+#include "u8g.h"
+
+/*
+#define WIDTH_BITS 7
+#define WIDTH (1<<WIDTH_BITS)
+#define PAGE_HEIGHT_BITS 3
+#define PAGE_HEIGHT (1<<PAGE_HEIGHT_BITS)
+*/
+
+void u8g_pbxh16_Clear(u8g_pb_t *b)
+{
+  uint8_t *ptr = (uint8_t *)b->buf;
+  uint8_t *end_ptr = ptr;
+  uint8_t cnt = b->p.page_height;
+  do
+  {
+    end_ptr += b->width*2;
+    cnt--;
+  } while( cnt > 0 );
+  do
+  {
+    *ptr++ = 0;
+  } while( ptr != end_ptr );
+}
+
+
+void u8g_pbxh16_Init(u8g_pb_t *b, void *buf, u8g_uint_t width)
+{
+  b->buf = buf;
+  b->width = width;
+  u8g_pbxh16_Clear(b);
+}
+
+static void u8g_pbxh16_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t low, uint8_t high)
+{
+  uint16_t tmp;
+  uint8_t *ptr = b->buf;
+  y -= b->p.page_y0;
+  tmp = y;
+  tmp *= b->width;
+  tmp += x;
+  tmp <<= 1;
+  ptr += tmp;
+  *ptr = low;
+  ptr++;
+  *ptr = high;
+}
+
+void u8g_pbxh16_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel)
+{
+  if ( arg_pixel->y < b->p.page_y0 )
+    return;
+  if ( arg_pixel->y > b->p.page_y1 )
+    return;
+  if ( arg_pixel->x >= b->width )
+    return;
+  u8g_pbxh16_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color, arg_pixel->hi_color);
+}
+
+
+void u8g_pbxh16_Set8Pixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel)
+{
+  register uint8_t pixel = arg_pixel->pixel;
+  u8g_uint_t dx = 0;
+  u8g_uint_t dy = 0;
+  
+  switch( arg_pixel->dir )
+  {
+    case 0: dx++; break;
+    case 1: dy++; break;
+    case 2: dx--; break;
+    case 3: dy--; break;
+  }
+  
+  do
+  {
+    if ( pixel & 128 )
+      u8g_pbxh16_SetPixel(b, arg_pixel);
+    arg_pixel->x += dx;
+    arg_pixel->y += dy;
+    pixel <<= 1;
+  } while( pixel != 0  );  
+}
+
+
+uint8_t u8g_dev_pbxh16_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+  switch(msg)
+  {
+    case U8G_DEV_MSG_SET_8PIXEL:
+      if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) )
+        u8g_pbxh16_Set8Pixel(pb, (u8g_dev_arg_pixel_t *)arg);
+      break;
+    case U8G_DEV_MSG_SET_PIXEL:
+      u8g_pbxh16_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg);
+      break;
+    case U8G_DEV_MSG_INIT:
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_FIRST:
+      u8g_pbxh16_Clear(pb);
+      u8g_page_First(&(pb->p));
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      if ( u8g_page_Next(&(pb->p)) == 0 )
+        return 0;
+      u8g_pbxh16_Clear(pb);
+      break;
+#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION
+    case U8G_DEV_MSG_IS_BBX_INTERSECTION:
+      return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg);
+#endif
+    case U8G_DEV_MSG_GET_PAGE_BOX:
+      u8g_pb_GetPageBox(pb, (u8g_box_t *)arg);
+      break;
+    case U8G_DEV_MSG_GET_WIDTH:
+      *((u8g_uint_t *)arg) = pb->width;
+      break;
+    case U8G_DEV_MSG_GET_HEIGHT:
+      *((u8g_uint_t *)arg) = pb->p.total_height;
+      break;
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
+      break;
+    case U8G_DEV_MSG_SET_XY_CB:
+      break;
+    case U8G_DEV_MSG_GET_MODE:
+      return U8G_MODE_HICOLOR;
+  }
+  return 1;
+}
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pbxh24.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pbxh24.c
new file mode 100644
index 0000000000000000000000000000000000000000..61ed011a1ffbd79992fba2aa1756bde42244e122
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pbxh24.c
@@ -0,0 +1,287 @@
+/*
+
+  u8g_pbxh24.c
+  
+  x lines per page, horizontal, 24 bits per pixel (true color modes)
+  
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2013, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+
+
+struct _u8g_pb_t
+{
+  u8g_page_t p;
+  u8g_uint_t width;
+  void *buf;
+};
+typedef struct _u8g_pb_t u8g_pb_t;
+
+
+uint8_t u8g_index_color_xh16_buf[2*WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; 
+u8g_pb_t u8g_index_color_xh16_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0},  WIDTH, u8g_index_color_xh16_buf}; 
+u8g_dev_t name = { dev_fn, &u8g_index_color_xh16_pb , com_fn }
+
+*/
+
+#include "u8g.h"
+
+/*
+#define WIDTH_BITS 7
+#define WIDTH (1<<WIDTH_BITS)
+#define PAGE_HEIGHT_BITS 3
+#define PAGE_HEIGHT (1<<PAGE_HEIGHT_BITS)
+*/
+
+void u8g_pbxh24_Clear(u8g_pb_t *b)
+{
+  uint8_t *ptr = (uint8_t *)b->buf;
+  uint8_t *end_ptr = ptr;
+  uint8_t cnt = b->p.page_height;
+  do
+  {
+    end_ptr += b->width*3;
+    cnt--;
+  } while( cnt > 0 );
+  do
+  {
+    *ptr++ = 0;
+  } while( ptr != end_ptr );
+}
+
+
+void u8g_pbxh24_Init(u8g_pb_t *b, void *buf, u8g_uint_t width)
+{
+  b->buf = buf;
+  b->width = width;
+  u8g_pbxh24_Clear(b);
+}
+
+#ifdef OBSOLETE
+static void u8g_pbxh24_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t r, uint8_t g, uint8_t b)
+{
+  uint16_t tmp;
+  uint8_t *ptr = b->buf;
+  y -= b->p.page_y0;
+  tmp = y;
+  tmp *= b->width;
+  tmp += x;
+  tmp *= 3;
+  ptr += tmp;
+  *ptr = r;
+  ptr++;
+  *ptr = g;
+  ptr++;
+  *ptr = b;
+}
+#endif
+
+/*
+  intensity
+    0..3		intensity value
+    4			replace color
+*/
+static void u8g_pbxh24_set_tpixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t red, uint8_t green, uint8_t blue, uint8_t intensity)
+{
+  uint16_t tmp;
+  uint8_t *ptr = b->buf;
+  
+  if ( intensity == 0 )
+    return;
+  
+  y -= b->p.page_y0;
+  tmp = y;
+  tmp *= b->width;
+  tmp += x;
+  tmp *= 3;
+  ptr += tmp;
+  
+  if ( intensity == 4 )
+  {
+    *ptr = red;
+    ptr++;
+    *ptr = green;
+    ptr++;
+    *ptr = blue;
+    return;
+  }
+
+  if ( intensity == 2 )
+  {
+    /*
+    red = red/4 + red/2;
+    green = green/4 + green/2;
+    blue = blue/4 + blue/2;
+    */
+    red >>= 1;
+    green >>= 1;
+    blue >>= 1;
+  }
+  else if ( intensity == 1 )
+  {
+    red >>= 2;
+    green >>= 2;
+    blue >>= 2;
+  }
+
+  if ( *ptr >= 255-red ) *ptr = 255; 
+  else *ptr += red;
+  ptr++;
+
+  if ( *ptr >= 255-green ) *ptr = 255; 
+  else *ptr += green;
+  ptr++;
+
+  if ( *ptr >= 255-blue ) *ptr = 255; 
+  else *ptr += blue;
+  
+  /*
+  if ( *ptr < red ) *ptr = red;
+  ptr++;
+  if ( *ptr < green ) *ptr = green;
+  ptr++;
+  if ( *ptr < blue ) *ptr = blue;
+  */
+  
+  
+}
+
+void u8g_pbxh24_SetTPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel, uint8_t intensity)
+{
+  if ( arg_pixel->y < b->p.page_y0 )
+    return;
+  if ( arg_pixel->y > b->p.page_y1 )
+    return;
+  if ( arg_pixel->x >= b->width )
+    return;
+  u8g_pbxh24_set_tpixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color, arg_pixel->hi_color, arg_pixel->blue, intensity);
+}
+
+
+void u8g_pbxh24_Set8Pixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel)
+{
+  register uint8_t pixel = arg_pixel->pixel;
+  u8g_uint_t dx = 0;
+  u8g_uint_t dy = 0;
+  
+  switch( arg_pixel->dir )
+  {
+    case 0: dx++; break;
+    case 1: dy++; break;
+    case 2: dx--; break;
+    case 3: dy--; break;
+  }
+  
+  do
+  {
+    if ( pixel & 128 )
+      u8g_pbxh24_SetTPixel(b, arg_pixel, 4);
+    arg_pixel->x += dx;
+    arg_pixel->y += dy;
+    pixel <<= 1;
+  } while( pixel != 0  );  
+}
+
+void u8g_pbxh24_Set4TPixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel)
+{
+  register uint8_t pixel = arg_pixel->pixel;
+  u8g_uint_t dx = 0;
+  u8g_uint_t dy = 0;
+  
+  switch( arg_pixel->dir )
+  {
+    case 0: dx++; break;
+    case 1: dy++; break;
+    case 2: dx--; break;
+    case 3: dy--; break;
+  }
+  
+  do
+  {
+    u8g_pbxh24_SetTPixel(b, arg_pixel, pixel >> 6);
+    arg_pixel->x += dx;
+    arg_pixel->y += dy;
+    pixel <<= 2;
+  } while( pixel != 0  );  
+}
+
+
+uint8_t u8g_dev_pbxh24_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+  switch(msg)
+  {
+    case U8G_DEV_MSG_SET_8PIXEL:
+      if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) )
+        u8g_pbxh24_Set8Pixel(pb, (u8g_dev_arg_pixel_t *)arg);
+      break;
+    case U8G_DEV_MSG_SET_PIXEL:
+      u8g_pbxh24_SetTPixel(pb, (u8g_dev_arg_pixel_t *)arg, 4);
+      break;
+    case U8G_DEV_MSG_SET_4TPIXEL:
+      u8g_pbxh24_Set4TPixel(pb, (u8g_dev_arg_pixel_t *)arg);
+      break;
+    case U8G_DEV_MSG_SET_TPIXEL:
+      u8g_pbxh24_SetTPixel(pb, (u8g_dev_arg_pixel_t *)arg, ((u8g_dev_arg_pixel_t *)arg)->pixel&3);
+      break;
+    case U8G_DEV_MSG_INIT:
+      break;
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_FIRST:
+      u8g_pbxh24_Clear(pb);
+      u8g_page_First(&(pb->p));
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      if ( u8g_page_Next(&(pb->p)) == 0 )
+        return 0;
+      u8g_pbxh24_Clear(pb);
+      break;
+#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION
+    case U8G_DEV_MSG_IS_BBX_INTERSECTION:
+      return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg);
+#endif
+    case U8G_DEV_MSG_GET_PAGE_BOX:
+      u8g_pb_GetPageBox(pb, (u8g_box_t *)arg);
+      break;
+    case U8G_DEV_MSG_GET_WIDTH:
+      *((u8g_uint_t *)arg) = pb->width;
+      break;
+    case U8G_DEV_MSG_GET_HEIGHT:
+      *((u8g_uint_t *)arg) = pb->p.total_height;
+      break;
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
+      break;
+    case U8G_DEV_MSG_SET_XY_CB:
+      break;
+    case U8G_DEV_MSG_GET_MODE:
+      return U8G_MODE_TRUECOLOR;
+  }
+  return 1;
+}
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_polygon.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_polygon.c
new file mode 100644
index 0000000000000000000000000000000000000000..f7e9b65965d0cb206519540bed639bcf7543bac7
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_polygon.c
@@ -0,0 +1,334 @@
+/*
+
+  u8g_polygon.c
+
+  Implementation of a polygon draw algorithm for "convex" polygons. 
+ 
+  Universal 8bit Graphics Library
+  
+  Copyright (c) 2013, olikraus@gmail.com
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without modification, 
+  are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright notice, this list 
+    of conditions and the following disclaimer.
+    
+  * Redistributions in binary form must reproduce the above copyright notice, this 
+    list of conditions and the following disclaimer in the documentation and/or other 
+    materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
+ 
+  See also:
+  http://www.angelfire.com/linux/myp/ConvexPolRas/ConvexPolRas.html
+  Computer Graphics, Principles and Practice, Foley, van Dam, Feiner, Hughes (pp 92)
+  Michael Abrash's Graphics Programming Black Book, Special Edition (Chapter 38 and 39)
+
+  Optimized for embedded systems
+  - static memory usage only
+  - consistent data types
+  - low flash ROM consumption
+  
+*/
+
+
+#include "u8g.h"
+
+
+
+
+/*===========================================*/
+/* procedures, which should not be inlined (save as much flash ROM as possible */
+
+static uint8_t pge_Next(struct pg_edge_struct *pge) PG_NOINLINE;
+static uint8_t pg_inc(pg_struct *pg, uint8_t i) PG_NOINLINE;
+static uint8_t pg_dec(pg_struct *pg, uint8_t i) PG_NOINLINE;
+static void pg_expand_min_y(pg_struct *pg, pg_word_t min_y, uint8_t pge_idx) PG_NOINLINE;
+static void pg_line_init(pg_struct * const pg, uint8_t pge_index) PG_NOINLINE;
+
+/*===========================================*/
+/* line draw algorithm */
+
+static uint8_t pge_Next(struct pg_edge_struct *pge)
+{
+  if ( pge->current_y >= pge->max_y )
+    return 0;
+  
+  pge->current_x += pge->current_x_offset;
+  pge->error += pge->error_offset;
+  if ( pge->error > 0 )
+  {
+    pge->current_x += pge->x_direction;
+    pge->error -= pge->height;
+  }  
+  
+  pge->current_y++;
+  return 1;
+}
+
+/* assumes y2 > y1 */
+static void pge_Init(struct pg_edge_struct *pge, pg_word_t x1, pg_word_t y1, pg_word_t x2, pg_word_t y2)
+{
+  pg_word_t dx = x2 - x1;
+  pg_word_t width;
+
+  pge->height = y2 - y1;
+  pge->max_y = y2;
+  pge->current_y = y1;
+  pge->current_x = x1;
+
+  if ( dx >= 0 )
+  {
+    pge->x_direction = 1;
+    width = dx;
+    pge->error = 0;
+  }
+  else
+  {
+    pge->x_direction = -1;
+    width = -dx;
+    pge->error = 1 - pge->height;
+  }
+  
+  pge->current_x_offset = dx / pge->height;
+  pge->error_offset = width % pge->height;
+}
+
+/*===========================================*/
+/* convex polygon algorithm */
+
+static uint8_t pg_inc(pg_struct *pg, uint8_t i)
+{
+    i++;
+    if ( i >= pg->cnt )
+      i = 0;
+    return i;
+}
+
+static uint8_t pg_dec(pg_struct *pg, uint8_t i)
+{
+    i--;
+    if ( i >= pg->cnt )
+      i = pg->cnt-1;
+    return i;
+}
+
+static void pg_expand_min_y(pg_struct *pg, pg_word_t min_y, uint8_t pge_idx)
+{
+  uint8_t i = pg->pge[pge_idx].curr_idx;
+  for(;;)
+  {
+    i = pg->pge[pge_idx].next_idx_fn(pg, i);
+    if ( pg->list[i].y != min_y )
+      break;	
+    pg->pge[pge_idx].curr_idx = i;
+  }
+}
+
+static uint8_t pg_prepare(pg_struct *pg)
+{
+  pg_word_t max_y;
+  pg_word_t min_y;
+  uint8_t i;
+
+  /* setup the next index procedures */
+  pg->pge[PG_RIGHT].next_idx_fn = pg_inc;
+  pg->pge[PG_LEFT].next_idx_fn = pg_dec;
+  
+  /* search for highest and lowest point */
+  max_y = pg->list[0].y;
+  min_y = pg->list[0].y;
+  pg->pge[PG_LEFT].curr_idx = 0;
+  for( i = 1; i < pg->cnt; i++ )
+  {
+    if ( max_y < pg->list[i].y )
+    {
+      max_y = pg->list[i].y;
+    }
+    if ( min_y > pg->list[i].y )
+    {
+      pg->pge[PG_LEFT].curr_idx = i;
+      min_y = pg->list[i].y;
+    }
+  }
+
+  /* calculate total number of scan lines */
+  pg->total_scan_line_cnt = max_y;
+  pg->total_scan_line_cnt -= min_y;
+  
+  /* exit if polygon height is zero */
+  if ( pg->total_scan_line_cnt == 0 )
+    return 0;
+  
+  /* if the minimum y side is flat, try to find the lowest and highest x points */
+  pg->pge[PG_RIGHT].curr_idx = pg->pge[PG_LEFT].curr_idx;  
+  pg_expand_min_y(pg, min_y, PG_RIGHT);
+  pg_expand_min_y(pg, min_y, PG_LEFT);
+  
+  /* check if the min side is really flat (depends on the x values) */
+  pg->is_min_y_not_flat = 1;
+  if ( pg->list[pg->pge[PG_LEFT].curr_idx].x != pg->list[pg->pge[PG_RIGHT].curr_idx].x )
+  {
+    pg->is_min_y_not_flat = 0;
+  }
+  else
+  {
+    pg->total_scan_line_cnt--;
+    if ( pg->total_scan_line_cnt == 0 )
+      return 0;
+  }
+
+  return 1;
+}
+
+static void pg_hline(pg_struct *pg, u8g_t *u8g)
+{
+  pg_word_t x1, x2, y;
+  x1 = pg->pge[PG_LEFT].current_x;
+  x2 = pg->pge[PG_RIGHT].current_x;
+  y = pg->pge[PG_RIGHT].current_y;
+  
+  if ( y < 0 )
+    return;
+  if ( y >= u8g_GetHeight(u8g) )
+    return;
+  if ( x1 < x2 )
+  {
+    if ( x2 < 0 )
+      return;
+    if ( x1 >= u8g_GetWidth(u8g) )
+      return;
+    if ( x1 < 0 )
+      x1 = 0;
+    if ( x2 >= u8g_GetWidth(u8g) )
+      x2 = u8g_GetWidth(u8g);
+    u8g_DrawHLine(u8g, x1, y, x2 - x1);
+  }
+  else
+  {
+    if ( x1 < 0 )
+      return;
+    if ( x2 >= u8g_GetWidth(u8g) )
+      return;
+    if ( x2 < 0 )
+      x1 = 0;
+    if ( x1 >= u8g_GetWidth(u8g) )
+      x1 = u8g_GetWidth(u8g);
+    u8g_DrawHLine(u8g, x2, y, x1 - x2);
+  }
+}
+
+static void pg_line_init(pg_struct * pg, uint8_t pge_index)
+{
+  struct pg_edge_struct  *pge = pg->pge+pge_index;
+  uint8_t idx;  
+  pg_word_t x1;
+  pg_word_t y1;
+  pg_word_t x2;
+  pg_word_t y2;
+
+  idx = pge->curr_idx;  
+  y1 = pg->list[idx].y;
+  x1 = pg->list[idx].x;
+  idx = pge->next_idx_fn(pg, idx);
+  y2 = pg->list[idx].y;
+  x2 = pg->list[idx].x; 
+  pge->curr_idx = idx;
+  
+  pge_Init(pge, x1, y1, x2, y2);
+}
+
+static void pg_exec(pg_struct *pg, u8g_t *u8g)
+{
+  pg_word_t i = pg->total_scan_line_cnt;
+
+  /* first line is skipped if the min y line is not flat */
+  pg_line_init(pg, PG_LEFT);		
+  pg_line_init(pg, PG_RIGHT);
+  
+  if ( pg->is_min_y_not_flat != 0 )
+  {
+    pge_Next(&(pg->pge[PG_LEFT])); 
+    pge_Next(&(pg->pge[PG_RIGHT]));
+  }
+
+  do
+  {
+    pg_hline(pg, u8g);
+    while ( pge_Next(&(pg->pge[PG_LEFT])) == 0 )
+    {
+      pg_line_init(pg, PG_LEFT);
+    }
+    while ( pge_Next(&(pg->pge[PG_RIGHT])) == 0 )
+    {
+      pg_line_init(pg, PG_RIGHT);
+    }
+    i--;
+  } while( i > 0 );
+}
+
+/*===========================================*/
+/* API procedures */
+
+void pg_ClearPolygonXY(pg_struct *pg)
+{
+  pg->cnt = 0;
+}
+
+void pg_AddPolygonXY(pg_struct *pg, u8g_t *u8g, int16_t x, int16_t y)
+{
+  if ( pg->cnt < PG_MAX_POINTS )
+  {
+    pg->list[pg->cnt].x = x;
+    pg->list[pg->cnt].y = y;
+    pg->cnt++;
+  }
+}
+
+void pg_DrawPolygon(pg_struct *pg, u8g_t *u8g)
+{
+  if ( pg_prepare(pg) == 0 )
+    return;
+  pg_exec(pg, u8g);
+}
+
+pg_struct u8g_pg;
+
+void u8g_ClearPolygonXY(void)
+{
+  pg_ClearPolygonXY(&u8g_pg);
+}
+
+void u8g_AddPolygonXY(u8g_t *u8g, int16_t x, int16_t y)
+{
+  pg_AddPolygonXY(&u8g_pg, u8g, x, y);
+}
+
+void u8g_DrawPolygon(u8g_t *u8g)
+{
+  pg_DrawPolygon(&u8g_pg, u8g);
+}
+
+void u8g_DrawTriangle(u8g_t *u8g, int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2)
+{
+  u8g_ClearPolygonXY();
+  u8g_AddPolygonXY(u8g, x0, y0);
+  u8g_AddPolygonXY(u8g, x1, y1);
+  u8g_AddPolygonXY(u8g, x2, y2);
+  u8g_DrawPolygon(u8g);
+}
+
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rot.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rot.c
index c581104cb2420609d8244e0ab5dbd781b9a8a18e..3791675b6a3133d05e89ac3178abb52a04a79cdd 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rot.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rot.c
@@ -40,7 +40,12 @@ uint8_t u8g_dev_rot90_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg);
 uint8_t u8g_dev_rot180_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg);
 uint8_t u8g_dev_rot270_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg);
 
-u8g_dev_t u8g_dev_rot = { u8g_dev_rot90_fn, NULL, NULL };
+uint8_t u8g_dev_rot_dummy_fn(void *u8g, void *dev, uint8_t msg, void *arg)
+{
+  return 0;
+}
+
+u8g_dev_t u8g_dev_rot = { u8g_dev_rot_dummy_fn, NULL, NULL };
 
 
 void u8g_UndoRotation(u8g_t *u8g)
@@ -95,7 +100,7 @@ uint8_t u8g_dev_rot90_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
     case U8G_DEV_MSG_STOP:
     case U8G_DEV_MSG_PAGE_FIRST:
     case U8G_DEV_MSG_PAGE_NEXT:
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
     case U8G_DEV_MSG_SET_XY_CB:
     */
       return u8g_call_dev_fn(u8g, rotation_chain, msg, arg);
@@ -151,6 +156,7 @@ uint8_t u8g_dev_rot90_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
       *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g, rotation_chain);
       break;
     case U8G_DEV_MSG_SET_PIXEL:
+    case U8G_DEV_MSG_SET_TPIXEL:
       {
         u8g_uint_t x, y;
         y = ((u8g_dev_arg_pixel_t *)arg)->x;
@@ -163,6 +169,7 @@ uint8_t u8g_dev_rot90_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
       u8g_call_dev_fn(u8g, rotation_chain, msg, arg);
       break;
     case U8G_DEV_MSG_SET_8PIXEL:
+    case U8G_DEV_MSG_SET_4TPIXEL:
       {
         u8g_uint_t x, y;
 	//uint16_t x,y;
@@ -192,7 +199,7 @@ uint8_t u8g_dev_rot180_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
     case U8G_DEV_MSG_STOP:
     case U8G_DEV_MSG_PAGE_FIRST:
     case U8G_DEV_MSG_PAGE_NEXT:
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
     case U8G_DEV_MSG_SET_XY_CB:
     */
       return u8g_call_dev_fn(u8g, rotation_chain, msg, arg);
@@ -248,6 +255,7 @@ uint8_t u8g_dev_rot180_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
       *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g, rotation_chain);
       break;
     case U8G_DEV_MSG_SET_PIXEL:
+    case U8G_DEV_MSG_SET_TPIXEL:
       {
         u8g_uint_t x, y;
 
@@ -265,6 +273,7 @@ uint8_t u8g_dev_rot180_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
       u8g_call_dev_fn(u8g, rotation_chain, msg, arg);
       break;
     case U8G_DEV_MSG_SET_8PIXEL:
+    case U8G_DEV_MSG_SET_4TPIXEL:
       {
         u8g_uint_t x, y;
         
@@ -298,7 +307,7 @@ uint8_t u8g_dev_rot270_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
     case U8G_DEV_MSG_STOP:
     case U8G_DEV_MSG_PAGE_FIRST:
     case U8G_DEV_MSG_PAGE_NEXT:
-    case U8G_DEV_MSG_SET_COLOR_INDEX:
+    case U8G_DEV_MSG_SET_COLOR_ENTRY:
     case U8G_DEV_MSG_SET_XY_CB:
     */
       return u8g_call_dev_fn(u8g, rotation_chain, msg, arg);
@@ -353,6 +362,7 @@ uint8_t u8g_dev_rot270_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
       *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g, rotation_chain);
       break;
     case U8G_DEV_MSG_SET_PIXEL:
+    case U8G_DEV_MSG_SET_TPIXEL:
       {
         u8g_uint_t x, y;
         x = ((u8g_dev_arg_pixel_t *)arg)->y;
@@ -372,6 +382,7 @@ uint8_t u8g_dev_rot270_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
       u8g_call_dev_fn(u8g, rotation_chain, msg, arg);
       break;
     case U8G_DEV_MSG_SET_8PIXEL:
+    case U8G_DEV_MSG_SET_4TPIXEL:
       {
         u8g_uint_t x, y;
         x = ((u8g_dev_arg_pixel_t *)arg)->y;
diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_state.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_state.c
index 3ae3eee4a8be2303df742ced54ba104fc92ea788..9573c8bf3b5c95571c0789219b56ddae3318cc60 100644
--- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_state.c
+++ b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_state.c
@@ -63,6 +63,15 @@ void u8g_SetHardwareBackup(u8g_t *u8g, u8g_state_cb backup_cb)
 }
 
 
+/*===============================================================*/
+/* register variable for restoring interrupt state */
+
+#if defined(__AVR__)
+uint8_t global_SREG_backup;
+#endif
+
+
+
 /*===============================================================*/
 /* AVR */
 
@@ -82,7 +91,7 @@ void u8g_SetHardwareBackup(u8g_t *u8g, u8g_state_cb backup_cb)
 #include <avr/interrupt.h>
 static uint8_t u8g_state_avr_spi_memory[2];
 
-void u8g_backup_avr_spi(uint8_t msg)
+void u8g_backup_spi(uint8_t msg)
 {
   if ( U8G_STATE_MSG_IS_BACKUP(msg) )
   {
@@ -98,5 +107,52 @@ void u8g_backup_avr_spi(uint8_t msg)
   }
 }
 
+#elif defined (U8G_RASPBERRY_PI)
+
+#include <stdio.h>
+
+void u8g_backup_spi(uint8_t msg) {
+  printf("u8g_backup_spi %d\r\n",msg);
+}
+
+#elif defined(ARDUINO) && defined(__SAM3X8E__)		// Arduino Due, maybe we should better check for __SAM3X8E__
+
+#include "sam.h"
+
+struct sam_backup_struct
+{
+  uint32_t mr;
+  uint32_t sr;
+  uint32_t csr[4];  
+} sam_backup[2];
+
+void u8g_backup_spi(uint8_t msg)
+{
+  uint8_t idx = U8G_STATE_MSG_GET_IDX(msg);
+  if ( U8G_STATE_MSG_IS_BACKUP(msg) )
+  {
+    sam_backup[idx].mr = SPI0->SPI_MR;
+    sam_backup[idx].sr = SPI0->SPI_SR;
+    sam_backup[idx].csr[0] = SPI0->SPI_CSR[0];
+    sam_backup[idx].csr[1] = SPI0->SPI_CSR[1];
+    sam_backup[idx].csr[2] = SPI0->SPI_CSR[2];
+    sam_backup[idx].csr[3] = SPI0->SPI_CSR[3];
+  }
+  else
+  {
+    SPI0->SPI_MR = sam_backup[idx].mr;
+    SPI0->SPI_CSR[0] = sam_backup[idx].csr[0];
+    SPI0->SPI_CSR[1] = sam_backup[idx].csr[1];
+    SPI0->SPI_CSR[2] = sam_backup[idx].csr[2];
+    SPI0->SPI_CSR[3] = sam_backup[idx].csr[3];
+  }
+}
+
+#else
+
+void u8g_backup_spi(uint8_t msg)
+{
+}
+
 #endif