Complete Guide: Using an ILI9341 Display with the TFT_eSPI Library

Are you looking to explore the potential of the ili9143 TFT SPI Display with the ESP32 and TFT_eSPI Library? Look no further! In this comprehensive guide, we will dive deep into the functionality and features of this powerful display and show you how to get the most out of it with the ESP32 microcontroller. Whether you are a beginner or an experienced developer, this guide will provide you with step-by-step instructions and code examples to help you integrate this TFT display into your projects seamlessly.
From understanding the basics of the ili9143 TFT SPI Display to learning how to set up the necessary libraries on your ESP32, we will cover it all. Additionally, we will explore various aspects like displaying text, graphics, and images on the TFT display, touch input integration, and other advanced features. By the end of this guide, you will have a comprehensive understanding of how to leverage the power of the ili9143 TFT SPI Display in conjunction with the ESP32 microcontroller, opening up new possibilities for your projects.
Let’s get started on this exciting journey to enhance your projects with vibrant displays and interactive interfaces that the ili9143 TFT SPI Display and ESP32 can offer. By the end of this guide, you will not only be able to display colorful graphics and text but also implement advanced functionalities that will take your projects to the next level.
ILI9341 Specifications
The ILI9341 is a widely-used TFT LCD controller known for its vivid color display and efficient performance. It powers a 2.4-inch, 2.8-inch, or even larger displays with a resolution of 320×240 pixels (QVGA), offering sharp and bright visuals. The display supports 65K (16-bit) and 262K (18-bit) color modes, making it ideal for rich graphical interfaces. It operates via a SPI interface, which minimizes the number of GPIO pins required for connection, making it perfect for microcontrollers like the ESP32, Arduino, and STM32. The ILI9341 supports a refresh rate of up to 60Hz, ensuring smooth visual transitions, and offers features like hardware scrolling, partial display, and sleep mode for power efficiency. It also includes a flexible backlight control pin for adjustable brightness. With its compatibility, affordability, and robust features, the ILI9341 is a go-to choice for applications such as gaming, weather stations, dashboards, and interactive systems.
- Resolution: 320×240 pixels (QVGA) for sharp and clear visuals.
- Color Depth: Supports 65K (16-bit) and 262K (18-bit) color modes.
- Interface: SPI (Serial Peripheral Interface), minimizing GPIO usage.
- Refresh Rate: Up to 60Hz for smooth visual transitions.
- Screen Size: Commonly found in 2.4-inch, 2.8-inch, or larger displays.
- Touch Compatibility: Many versions include a resistive or capacitive touch layer.
- Backlight Control: Pin available for PWM-based brightness adjustment.
- Low Power Modes: Includes sleep and partial display modes for energy efficiency.
- Hardware Features: Supports scrolling, pixel inversion, and windowing functions.
- Compatibility: Works seamlessly with microcontrollers like ESP32, Arduino, and STM32.
- Applications: Ideal for dashboards, gaming, interactive systems, weather stations, and more.
Wiring
For this test, we will use a DOIT ESP32 DevKit V1. This device is widely used and simple.

Here my esp32 selection ESP32 Dev Kit v1 - TTGO T-Display 1.14 ESP32 - NodeMCU V3 V2 ESP8266 Lolin32 - NodeMCU ESP-32S - WeMos Lolin32 - WeMos Lolin32 mini - ESP32-CAM programmer - ESP32-CAM bundle - ESP32-WROOM-32 - ESP32-S
ILI9143 has various form factors.

Here my display selection 240 * 320 ILI9341 2,8 - from 320 * 240 ILI9341 from 2,2 to 3,5 -
The ILI9341 uses SPI to communicate with the ESP32. Below is the standard wiring configuration:
ILI9341 TFT Pin | ESP32 Pin | Description |
---|---|---|
VCC | 3.3V (With J1 soldered) or 5V | Power supply |
GND | GND | Ground |
CS | GPIO15 | Chip Select (TFT_CS) |
RESET | GPIO4 | Display Reset |
DC | GPIO2 | Data/Command (TFT_DC) |
SDI (MOSI) | GPIO23 | SPI MOSI |
SCK | GPIO18 | SPI Clock (SCLK) |
SDO (MISO) | Not connected | Not required |
LED | 3.3V | Backlight |
Note: If your ILI9341 module has a LED pin, connect it to 3.3V or a GPIO pin for backlight control.

Installing the TFT_eSPI Library
The TFT_eSPI Library is a highly optimized library designed to facilitate the use of TFT displays with the ESP32 and other microcontrollers. It is built specifically for high performance and offers extensive support for various display drivers, including the ili9143. This library simplifies the process of drawing graphics, displaying text, and handling touch input, making it an essential tool for developers working with TFT displays.
One of the key advantages of the TFT_eSPI Library is its ease of use. With a straightforward API, developers can quickly implement display functionality without delving into the complexities of the underlying hardware. The library includes predefined functions for drawing shapes, rendering images, and displaying fonts, which can significantly reduce development time. Furthermore, the library’s configuration options allow users to tailor the functionality to suit their specific requirements, enabling greater flexibility in projects.
The TFT_eSPI Library also supports various advanced features such as partial screen updates, which can improve performance when refreshing only a portion of the display. This feature is particularly useful in applications that require frequent updates, as it minimizes flicker and enhances the user experience. Additionally, the library supports multiple font types and sizes, allowing developers to customize text displays to fit their design aesthetic. Overall, the TFT_eSPI Library is an invaluable resource for anyone looking to work with the ili9143 TFT SPI Display and the ESP32, making it easier to create visually appealing and interactive applications.
Open the Arduino IDE.
- Go to Tools > Manage Libraries.
- Search for
TFT_eSPI
and install the library by Bodmer.

Library Configuration
This library isn’t ready to use. We must configure the microcontroller’s display and PINs correctly. To help with this, a file named UserSetupSelect.h
exists under the main library folder. Here the default content.
// This header file contains a list of user setup files and defines which one the
// compiler uses when the IDE performs a Verify/Compile or Upload.
//
// Users can create configurations for different boards and TFT displays.
// This makes selecting between hardware setups easy by "uncommenting" one line.
// The advantage of this hardware configuration method is that the examples provided
// with the library should work with immediately without any other changes being
// needed. It also improves the portability of users sketches to other hardware
// configurations and compatible libraries.
//
// Create a shortcut to this file on your desktop to permit quick access for editing.
// Re-compile and upload after making and saving any changes to this file.
// Example User_Setup files are stored in the "User_Setups" folder. These can be used
// unmodified or adapted for a particular hardware configuration.
#ifndef USER_SETUP_LOADED // Lets PlatformIO users define settings in
// platformio.ini, see notes in "Tools" folder.
///////////////////////////////////////////////////////
// User configuration selection lines are below //
///////////////////////////////////////////////////////
// Only ONE line below should be uncommented to define your setup. Add extra lines and files as needed.
#include <User_Setup.h> // Default setup is root library folder
//#include <User_Setups/Setup1_ILI9341.h> // Setup file for ESP8266 configured for my ILI9341
//#include <User_Setups/Setup2_ST7735.h> // Setup file for ESP8266 configured for my ST7735
//#include <User_Setups/Setup3_ILI9163.h> // Setup file for ESP8266 configured for my ILI9163
//#include <User_Setups/Setup4_S6D02A1.h> // Setup file for ESP8266 configured for my S6D02A1
//#include <User_Setups/Setup5_RPi_ILI9486.h> // Setup file for ESP8266 configured for my stock RPi TFT
//#include <User_Setups/Setup6_RPi_Wr_ILI9486.h> // Setup file for ESP8266 configured for my modified RPi TFT
//#include <User_Setups/Setup7_ST7735_128x128.h> // Setup file for ESP8266 configured for my ST7735 128x128 display
//#include <User_Setups/Setup8_ILI9163_128x128.h> // Setup file for ESP8266 configured for my ILI9163 128x128 display
//#include <User_Setups/Setup9_ST7735_Overlap.h> // Setup file for ESP8266 configured for my ST7735
//#include <User_Setups/Setup10_RPi_touch_ILI9486.h> // Setup file for ESP8266 configured for ESP8266 and RPi TFT with touch
//#include <User_Setups/Setup11_RPi_touch_ILI9486.h> // Setup file configured for ESP32 and RPi TFT with touch
//#include <User_Setups/Setup12_M5Stack_Basic_Core.h>// Setup file for the ESP32 based M5Stack (Basic Core only)
//#include <User_Setups/Setup13_ILI9481_Parallel.h> // Setup file for the ESP32 with parallel bus TFT
//#include <User_Setups/Setup14_ILI9341_Parallel.h> // Setup file for the ESP32 with parallel bus TFT
//#include <User_Setups/Setup15_HX8357D.h> // Setup file for ESP8266 configured for HX8357D
//#include <User_Setups/Setup16_ILI9488_Parallel.h> // Setup file for the ESP32 with parallel bus TFT
//#include <User_Setups/Setup17_ePaper.h> // Setup file for ESP8266 and any Waveshare ePaper display
//#include <User_Setups/Setup18_ST7789.h> // Setup file for ESP8266 configured for ST7789
//#include <User_Setups/Setup19_RM68140_Parallel.h> // Setup file configured for RM68140 with parallel bus
//#include <User_Setups/Setup20_ILI9488.h> // Setup file for ESP8266 and ILI9488 SPI bus TFT
//#include <User_Setups/Setup21_ILI9488.h> // Setup file for ESP32 and ILI9488 SPI bus TFT
//#include <User_Setups/Setup22_TTGO_T4.h> // Setup file for ESP32 and TTGO T4 version 1.2
//#include <User_Setups/Setup22_TTGO_T4_v1.3.h> // Setup file for ESP32 and TTGO T4 version 1.3
//#include <User_Setups/Setup23_TTGO_TM.h> // Setup file for ESP32 and TTGO TM ST7789 SPI bus TFT
//#include <User_Setups/Setup24_ST7789.h> // Setup file for DSTIKE/ESP32/ESP8266 configured for ST7789 240 x 240
//#include <User_Setups/Setup25_TTGO_T_Display.h> // Setup file for ESP32 and TTGO T-Display ST7789V SPI bus TFT
//#include <User_Setups/Setup26_TTGO_T_Wristband.h> // Setup file for ESP32 and TTGO T-Wristband ST7735 SPI bus TFT
//#include <User_Setups/Setup27_RPi_ST7796_ESP32.h> // ESP32 RPi MHS-4.0 inch Display-B
//#include <User_Setups/Setup28_RPi_ST7796_ESP8266.h> // ESP8266 RPi MHS-4.0 inch Display-B
//#include <User_Setups/Setup29_ILI9341_STM32.h> // Setup for Nucleo board
//#include <User_Setups/Setup30_ILI9341_Parallel_STM32.h> // Setup for Nucleo board and parallel display
//#include <User_Setups/Setup31_ST7796_Parallel_STM32.h> // Setup for Nucleo board and parallel display
//#include <User_Setups/Setup32_ILI9341_STM32F103.h> // Setup for "Blue/Black Pill"
//#include <User_Setups/Setup33_RPi_ILI9486_STM32.h> // Setup for Nucleo board
//#include <User_Setups/Setup34_ILI9481_Parallel_STM32.h> // Setup for Nucleo board and parallel display
//#include <User_Setups/Setup35_ILI9341_STM32_Port_Bus.h> // Setup for STM32 port A parallel display
//#include <User_Setups/Setup36_RPi_touch_ST7796.h> // Setup file configured for ESP32 and RPi ST7796 TFT with touch
// #include <User_Setups/Setup42_ILI9341_ESP32.h> // Setup file for ESP32 and SPI ILI9341 240x320
//#include <User_Setups/Setup43_ST7735.h> // Setup file for ESP8266 & ESP32 configured for my ST7735S 80x160
//#include <User_Setups/Setup44_TTGO_CameraPlus.h> // Setup file for ESP32 and TTGO T-CameraPlus ST7789 SPI bus TFT 240x240
//#include <User_Setups/Setup45_TTGO_T_Watch.h> // Setup file for ESP32 and TTGO T-Watch ST7789 SPI bus TFT 240x240
//#include <User_Setups/Setup46_GC9A01_ESP32.h> // Setup file for ESP32 and GC9A01 SPI bus TFT 240x240
//#include <User_Setups/Setup47_ST7735.h> // Setup file for ESP32 configured for ST7735 128 x 128 animated eyes
//#include <User_Setups/Setup50_SSD1963_Parallel.h> // Setup file for ESP32 and SSD1963 TFT display
//#include <User_Setups/Setup51_LilyPi_ILI9481.h> // Setup file for LilyGo LilyPi with ILI9481 display
//#include <User_Setups/Setup52_LilyPi_ST7796.h> // Setup file for LilyGo LilyPi with ST7796 display
//#include <User_Setups/Setup60_RP2040_ILI9341.h> // Setup file for RP2040 with SPI ILI9341
//#include <User_Setups/Setup61_RP2040_ILI9341_PIO_SPI.h> // Setup file for RP2040 with PIO SPI ILI9341
//#include <User_Setups/Setup62_RP2040_Nano_Connect_ILI9341.h> // Setup file for RP2040 with SPI ILI9341
//#include <User_Setups/Setup66_Seeed_XIAO_Round.h> // Setup file for Seeed XIAO with GC9A01 240x240
//#include <User_Setups/Setup70_ESP32_S2_ILI9341.h> // Setup file for ESP32 S2 with SPI ILI9341
//#include <User_Setups/Setup70b_ESP32_S3_ILI9341.h> // Setup file for ESP32 S3 with SPI ILI9341
//#include <User_Setups/Setup70c_ESP32_C3_ILI9341.h> // Setup file for ESP32 C3 with SPI ILI9341
//#include <User_Setups/Setup70d_ILI9488_S3_Parallel.h> // Setup file for ESP32 S3 with SPI ILI9488
//#include <User_Setups/Setup71_ESP32_S2_ST7789.h> // Setup file for ESP32 S2 with ST7789
//#include <User_Setups/Setup72_ESP32_ST7789_172x320.h> // Setup file for ESP32 with ST7789 1.47" 172x320
//#include <User_Setups/Setup100_RP2040_ILI9488_parallel.h> // Setup file for Pico/RP2040 with 8-bit parallel ILI9488
//#include <User_Setups/Setup101_RP2040_ILI9481_parallel.h> // Setup file for Pico/RP2040 with 8-bit parallel ILI9481
//#include <User_Setups/Setup102_RP2040_ILI9341_parallel.h> // Setup file for Pico/RP2040 with 8-bit parallel ILI9341
//#include <User_Setups/Setup103_RP2040_ILI9486_parallel.h> // Setup file for Pico/RP2040 with 8-bit parallel ILI9486
//#include <User_Setups/Setup104_RP2040_ST7796_parallel.h> // Setup file for Pico/RP2040 with 8-bit parallel ST7796
//#include <User_Setups/Setup105_RP2040_ST7796_16bit_parallel.h> // Setup file for RP2040 16-bit parallel display
//#include <User_Setups/Setup106_RP2040_ILI9481_16bit_parallel.h> // Setup file for RP2040 16-bit parallel display
//#include <User_Setups/Setup107_RP2040_ILI9341_16bit_parallel.h> // Setup file for RP2040 16-bit parallel display
//#include <User_Setups/Setup108_RP2040_ST7735.h> // Setup file for Waveshare RP2040 board with onboard ST7735 0.96" 160x80 display
//#include <User_Setups/Setup135_ST7789.h> // Setup file for ESP8266 and ST7789 135 x 240 TFT
//#include <User_Setups/Setup136_LilyGo_TTV.h> // Setup file for ESP32 and Lilygo TTV ST7789 SPI bus TFT 135x240
//#include <User_Setups/Setup137_LilyGo_TDisplay_RP2040.h> // Setup file for Lilygo T-Display RP2040 (ST7789 on SPI bus with 135x240 TFT)
//#include <User_Setups/Setup138_Pico_Explorer_Base_RP2040_ST7789.h> // Setup file for Pico Explorer Base by Pimoroni for RP2040 (ST7789 on SPI bus with 240x240 TFT)
//#include <User_Setups/Setup200_GC9A01.h> // Setup file for ESP32 and GC9A01 240 x 240 TFT
//#include <User_Setups/Setup201_WT32_SC01.h> // Setup file for ESP32 based WT32_SC01 from Seeed
//#include <User_Setups/Setup202_SSD1351_128.h> // Setup file for ESP32/ESP8266 based SSD1351 128x128 1.5inch OLED display
//#include <User_Setups/Setup203_ST7789.h> // Setup file for ESP32/ESP8266 based ST7789 240X280 1.69inch TFT
//#include <User_Setups/Setup204_ESP32_TouchDown.h> // Setup file for the ESP32 TouchDown based on ILI9488 480 x 320 TFT
//#include <User_Setups/Setup205_ESP32_TouchDown_S3.h> // Setup file for the ESP32 TouchDown S3 based on ILI9488 480 x 320 TFT
//#include <User_Setups/Setup206_LilyGo_T_Display_S3.h> // For the LilyGo T-Display S3 based ESP32S3 with ST7789 170 x 320 TFT
//#include <User_Setups/Setup207_LilyGo_T_HMI.h> // For the LilyGo T-HMI S3 based ESP32S3 with ST7789 240 x 320 TFT
//#include <User_Setups/Setup209_LilyGo_T_Dongle_S3.h> // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT
//#include <User_Setups/Setup210_LilyGo_T_Embed_S3.h> // For the LilyGo T-Embed S3 based ESP32S3 with ST7789 170 x 320 TFT
//#include <User_Setups/Setup211_LilyGo_T_QT_Pro_S3.h> // For the LilyGo T-QT Pro S3 based ESP32S3 with GC9A01 128 x 128 TFT
// #include <User_Setups/Setup212_LilyGo_T_PicoPro.h> // For the LilyGo T-PICO-Pro with ST7796 222 x 480 TFT
// #include <User_Setups/Setup213_LilyGo_T_Beam_Shield.h> // For the LilyGo T-BEAM V1.x with ST7796 222 x 480 TFT
//#include <User_Setups/Setup250_ESP32_S3_Box_Lite.h> // For the ESP32 S3 Box Lite
//#include <User_Setups/Setup251_ESP32_S3_Box.h> // For the ESP32 S3 Box
//#include <User_Setups/Setup301_BW16_ST7735.h> // Setup file for Bw16-based boards with ST7735 160 x 80 TFT
//#include <User_Setups/Setup302_Waveshare_ESP32S3_GC9A01.h> // Setup file for Waveshare ESP32-S3-Touch-LCD-1.28 board with GC9A01 240*240 TFT
//#include <User_Setups/SetupX_Template.h> // Template file for a setup
//#include <User_Setups/Dustin_ILI9488.h> // Setup file for Dustin Watts PCB with ILI9488
//#include <User_Setups/Dustin_ST7796.h> // Setup file for Dustin Watts PCB with ST7796
//#include <User_Setups/Dustin_ILI9488_Pico.h> // Setup file for Dustin Watts Pico PCB with ST7796
//#include <User_Setups/Dustin_ST7789_Pico.h> // Setup file for Dustin Watts PCB with ST7789 240 x 240 on 3.3V adapter board
//#include <User_Setups/Dustin_GC9A01_Pico.h> // Setup file for Dustin Watts PCB with GC9A01 240 x 240 on 3.3V adapter board
//#include <User_Setups/Dustin_GC9A01_ESP32.h> // Setup file for Dustin Watts PCB with GC9A01 240 x 240 on 3.3V adapter board
//#include <User_Setups/Dustin_STT7789_ESP32.h> // Setup file for Dustin Watts PCB with ST7789 240 x 240 on 3.3V adapter board
//#include <User_Setups/Dustin_ILI9341_ESP32.h> // Setup file for Dustin Watts PCB with ILI9341
//#include <User_Setups/ILI9225.h>
#endif // USER_SETUP_LOADED
/////////////////////////////////////////////////////////////////////////////////////
// //
// DON'T TINKER WITH ANY OF THE FOLLOWING LINES, THESE ADD THE TFT DRIVERS //
// AND ESP8266 PIN DEFINITONS, THEY ARE HERE FOR BODMER'S CONVENIENCE! //
// //
/////////////////////////////////////////////////////////////////////////////////////
// Identical looking TFT displays may have a different colour ordering in the 16-bit colour
#define TFT_BGR 0 // Colour order Blue-Green-Red
#define TFT_RGB 1 // Colour order Red-Green-Blue
// Legacy setup support, RPI_DISPLAY_TYPE replaces RPI_DRIVER
#if defined (RPI_DRIVER)
#if !defined (RPI_DISPLAY_TYPE)
#define RPI_DISPLAY_TYPE
#endif
#endif
// Legacy setup support, RPI_ILI9486_DRIVER form is deprecated
// Instead define RPI_DISPLAY_TYPE and also define driver (e.g. ILI9486_DRIVER)
#if defined (RPI_ILI9486_DRIVER)
#if !defined (ILI9486_DRIVER)
#define ILI9486_DRIVER
#endif
#if !defined (RPI_DISPLAY_TYPE)
#define RPI_DISPLAY_TYPE
#endif
#endif
// Invoke 18-bit colour for selected displays
#if !defined (RPI_DISPLAY_TYPE) && !defined (TFT_PARALLEL_8_BIT) && !defined (TFT_PARALLEL_16_BIT) && !defined (ESP32_PARALLEL)
#if defined (ILI9481_DRIVER) || defined (ILI9486_DRIVER) || defined (ILI9488_DRIVER)
#define SPI_18BIT_DRIVER
#endif
#endif
// Load the right driver definition - do not tinker here !
#if defined (ILI9341_DRIVER) || defined(ILI9341_2_DRIVER) || defined (ILI9342_DRIVER)
#include <TFT_Drivers/ILI9341_Defines.h>
#define TFT_DRIVER 0x9341
#elif defined (ST7735_DRIVER)
#include <TFT_Drivers/ST7735_Defines.h>
#define TFT_DRIVER 0x7735
#elif defined (ILI9163_DRIVER)
#include <TFT_Drivers/ILI9163_Defines.h>
#define TFT_DRIVER 0x9163
#elif defined (S6D02A1_DRIVER)
#include <TFT_Drivers/S6D02A1_Defines.h>
#define TFT_DRIVER 0x6D02
#elif defined (ST7796_DRIVER)
#include "TFT_Drivers/ST7796_Defines.h"
#define TFT_DRIVER 0x7796
#elif defined (ILI9486_DRIVER)
#include <TFT_Drivers/ILI9486_Defines.h>
#define TFT_DRIVER 0x9486
#elif defined (ILI9481_DRIVER)
#include <TFT_Drivers/ILI9481_Defines.h>
#define TFT_DRIVER 0x9481
#elif defined (ILI9488_DRIVER)
#include <TFT_Drivers/ILI9488_Defines.h>
#define TFT_DRIVER 0x9488
#elif defined (HX8357D_DRIVER)
#include "TFT_Drivers/HX8357D_Defines.h"
#define TFT_DRIVER 0x8357
#elif defined (EPD_DRIVER)
#include "TFT_Drivers/EPD_Defines.h"
#define TFT_DRIVER 0xE9D
#elif defined (ST7789_DRIVER)
#include "TFT_Drivers/ST7789_Defines.h"
#define TFT_DRIVER 0x7789
#elif defined (R61581_DRIVER)
#include "TFT_Drivers/R61581_Defines.h"
#define TFT_DRIVER 0x6158
#elif defined (ST7789_2_DRIVER)
#include "TFT_Drivers/ST7789_2_Defines.h"
#define TFT_DRIVER 0x778B
#elif defined (RM68140_DRIVER)
#include "TFT_Drivers/RM68140_Defines.h"
#define TFT_DRIVER 0x6814
#elif defined (SSD1351_DRIVER)
#include "TFT_Drivers/SSD1351_Defines.h"
#define TFT_DRIVER 0x1351
#elif defined (SSD1963_480_DRIVER)
#include "TFT_Drivers/SSD1963_Defines.h"
#define TFT_DRIVER 0x1963
#elif defined (SSD1963_800_DRIVER)
#include "TFT_Drivers/SSD1963_Defines.h"
#define TFT_DRIVER 0x1963
#elif defined (SSD1963_800ALT_DRIVER)
#include "TFT_Drivers/SSD1963_Defines.h"
#define TFT_DRIVER 0x1963
#elif defined (SSD1963_800BD_DRIVER)
#include "TFT_Drivers/SSD1963_Defines.h"
#define TFT_DRIVER 0x1963
#elif defined (GC9A01_DRIVER)
#include "TFT_Drivers/GC9A01_Defines.h"
#define TFT_DRIVER 0x9A01
#elif defined (ILI9225_DRIVER)
#include "TFT_Drivers/ILI9225_Defines.h"
#define TFT_DRIVER 0x9225
#elif defined (RM68120_DRIVER)
#include "TFT_Drivers/RM68120_Defines.h"
#define TFT_DRIVER 0x6812
#elif defined (HX8357B_DRIVER)
#include "TFT_Drivers/HX8357B_Defines.h"
#define TFT_DRIVER 0x835B
#elif defined (HX8357C_DRIVER)
#include "TFT_Drivers/HX8357C_Defines.h"
#define TFT_DRIVER 0x835C
// <<<<<<<<<<<<<<<<<<<<<<<< ADD NEW DRIVER HERE
// XYZZY_init.h and XYZZY_rotation.h must also be added in TFT_eSPI.cpp
#elif defined (XYZZY_DRIVER)
#include "TFT_Drivers/XYZZY_Defines.h"
#define TFT_DRIVER 0x0000
#else
#define TFT_DRIVER 0x0000
#endif
// These are the pins for ESP8266 boards
// Name GPIO NodeMCU Function
#define PIN_D0 16 // GPIO16 WAKE
#define PIN_D1 5 // GPIO5 User purpose
#define PIN_D2 4 // GPIO4 User purpose
#define PIN_D3 0 // GPIO0 Low on boot means enter FLASH mode
#define PIN_D4 2 // GPIO2 TXD1 (must be high on boot to go to UART0 FLASH mode)
#define PIN_D5 14 // GPIO14 HSCLK
#define PIN_D6 12 // GPIO12 HMISO
#define PIN_D7 13 // GPIO13 HMOSI RXD2
#define PIN_D8 15 // GPIO15 HCS TXD0 (must be low on boot to enter UART0 FLASH mode)
#define PIN_D9 3 // RXD0
#define PIN_D10 1 // TXD0
#define PIN_MOSI 8 // SD1 FLASH and overlap mode
#define PIN_MISO 7 // SD0
#define PIN_SCLK 6 // CLK
#define PIN_HWCS 0 // D3
#define PIN_D11 9 // SD2
#define PIN_D12 10 // SD4
This configuration file is enabled by default, and by default, the file User_Setup.h
is uncommented and selected. But you can see a commented line with this text
#include <User_Setups/Setup42_ILI9341_ESP32.h> // Setup file for ESP32 and SPI ILI9341 240x320
Inside that file there is a basic configuration for our display.
// See SetupX_Template.h for all options available
#define USER_SETUP_ID 42
#define ILI9341_DRIVER
#define TFT_MISO 19 // (leave TFT SDO disconnected if other SPI devices share MISO)
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS 15 // Chip select control pin
#define TFT_DC 2 // Data Command control pin
#define TFT_RST 4 // Reset pin (could connect to RST pin)
// Optional touch screen chip select
#define TOUCH_CS 21 // Chip select pin (T_CS) of touch screen
#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:.
#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts
#define SMOOTH_FONT
// TFT SPI clock frequency
// #define SPI_FREQUENCY 20000000
// #define SPI_FREQUENCY 27000000
#define SPI_FREQUENCY 40000000
// #define SPI_FREQUENCY 80000000
// Optional reduced SPI frequency for reading TFT
#define SPI_READ_FREQUENCY 16000000
// SPI clock frequency for touch controller
#define SPI_TOUCH_FREQUENCY 2500000
This configuration is pretty good, but I prefer to set a specified file inside the project folder without change the library files because on update you lost all the change you made.
So we can disable the content of the default configuration by adding a defined USER_SETUP, and I created a custom file User_Setup.h
in the folder of my project.
// Add this in the header of the project file
#define USER_SETUP_LOADED //for not loading internal USER_SETTINGS
#include "User_Setup.h"
Our custom User_Setup.h
become like so.
/**
* User setup for ili9143 and esp32
* by Renzo Mischianti <mischianti.org>
* Tutorial for ili9143
*/
#define USER_SETUP_INFO "User_Setup"
// ##################################################################################
//
// Section 1. Call up the right driver file and any options for it
//
// ##################################################################################
#define ILI9341_DRIVER // Generic driver for common displays
#define TFT_WIDTH 240 // ST7789 240 x 240 and 240 x 320
#define TFT_HEIGHT 320 // ST7789 240 x 320
// ##################################################################################
//
// Section 2. Define the pins that are used to interface with the display here
//
// ##################################################################################
// If a backlight control signal is available then define the TFT_BL pin in Section 2
// below. The backlight will be turned ON when tft.begin() is called, but the library
// needs to know if the LEDs are ON with the pin HIGH or LOW. If the LEDs are to be
// driven with a PWM signal or turned OFF/ON then this must be handled by the user
// sketch. e.g. with digitalWrite(TFT_BL, LOW);
// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP32 SETUP ######
// For ESP32 Dev board (only tested with ILI9341 display)
// The hardware SPI can be mapped to any pins
#define TFT_MISO 19
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS 15 // Chip select control pin
#define TFT_DC 2 // Data Command control pin
#define TFT_RST 4 // Reset pin (could connect to RST pin)
//#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST
//#define TFT_BL 22 // LED back-light
#define TOUCH_CS 21 // Chip select pin (T_CS) of touch screen
// ##################################################################################
//
// Section 3. Define the fonts that are to be used here
//
// ##################################################################################
// Comment out the #defines below with // to stop that font being loaded
// The ESP8366 and ESP32 have plenty of memory so commenting out fonts is not
// normally necessary. If all fonts are loaded the extra FLASH space required is
// about 17Kbytes. To save FLASH space only enable the fonts you need!
#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-.
#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT
#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts
// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded
// this will save ~20kbytes of FLASH
#define SMOOTH_FONT
// ##################################################################################
//
// Section 4. Other options
//
// ##################################################################################
// TFT SPI clock frequency
// #define SPI_FREQUENCY 20000000
// #define SPI_FREQUENCY 27000000
#define SPI_FREQUENCY 40000000
// #define SPI_FREQUENCY 80000000
// Optional reduced SPI frequency for reading TFT
#define SPI_READ_FREQUENCY 16000000
// SPI clock frequency for touch controller
#define SPI_TOUCH_FREQUENCY 2500000
//#define SPI_TOUCH_FREQUENCY 1000000 // Reduce to 1 MHz for debugging
// Transactions are automatically enabled by the library for an ESP32 (to use HAL mutex)
// so changing it here has no effect
// #define SUPPORT_TRANSACTIONS
First Test Program
Basic Initialization and Screen Clearing
/**
* Blank screen
* by Renzo Mischianti <mischianti.org>
*/
#define USER_SETUP_LOADED //for not loading internal USER_SETTINGS
#include "User_Setup.h"
#include <TFT_eSPI.h>
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI(); // Invoke library
void setup() {
tft.init();
tft.fillScreen(TFT_BLACK); // Clear the screen with black color
}
void loop() {
// Do nothing
}
Explanation:
tft.init()
initializes the display.tft.fillScreen()
clears the display to a specified color, e.g.,TFT_BLACK
.
Screen Rotation
/**
* Screen rotation
* by Renzo Mischianti <mischianti.org>
*/
#define USER_SETUP_LOADED //for not loading internal USER_SETTINGS
#include "User_Setup.h"
#include <TFT_eSPI.h>
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI(); // Invoke library
void setup() {
tft.init();
for (int i = 0; i < 4; i++) {
tft.setRotation(i); // Set rotation: 0, 1, 2, or 3
tft.fillScreen(TFT_BLUE);
tft.println("Hello, World!"); // Print a message
delay(1000); // Pause to observe the effect
}
}
void loop() {
// Do nothing
}
Explanation:
setRotation()
changes the screen orientation (landscape/portrait modes).
Drawing Basic Shapes
Draw lines, rectangles, and circles, both filled and unfilled.

/**
* Draw lines, rectangles, and circles, both filled and unfilled
* by Renzo Mischianti <mischianti.org>
*/
#define USER_SETUP_LOADED //for not loading internal USER_SETTINGS
#include "User_Setup.h"
#include <TFT_eSPI.h>
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI(); // Invoke library
void setup() {
tft.init();
tft.fillScreen(TFT_BLACK);
tft.drawLine(10, 10, 100, 10, TFT_WHITE); // Draw a white line
tft.drawRect(10, 20, 50, 30, TFT_RED); // Draw a red rectangle
tft.fillRect(70, 20, 50, 30, TFT_GREEN); // Draw a filled green rectangle
tft.drawCircle(50, 100, 20, TFT_YELLOW); // Draw a yellow circle
tft.fillCircle(100, 100, 20, TFT_BLUE); // Draw a filled blue circle
}
void loop() {
// Do nothing
}
Explanation:
- The library provides functions like
drawLine
,drawRect
, anddrawCircle
for rendering shapes.
Drawing Text
Example demonstrating various text drawing functionalities.

/**
* Example demonstrating various text drawing functionalities using TFT_eSPI
* library with the ILI9341 display.
*
* Features:
* - Draw basic text with custom colors and background.
* - Display text with a transparent background.
* - Center text horizontally and vertically on the screen.
* - Align text to the right edge of the screen.
*
* Author: Renzo Mischianti <mischianti.org>
*/
#define USER_SETUP_LOADED //for not loading internal USER_SETTINGS
#include "User_Setup.h"
#include <TFT_eSPI.h>
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI(); // Invoke library
void setup() {
tft.init();
tft.fillScreen(TFT_BLACK); // Clear screen
// Example 1: Basic Text
tft.setTextColor(TFT_WHITE, TFT_RED); // Text color with background
tft.setTextSize(1); // Scale the font size
tft.setCursor(10, 10); // Set cursor position
tft.println("Hello, World!"); // Print a message
// Example 2: Text with Transparent Background
tft.setTextColor(TFT_GREEN); // Text color without background
tft.setTextSize(2); // Larger font size
tft.setCursor(10, 50);
tft.println("Transparent Text");
// Example 3: Centered Text
String text = "Centered Text";
uint8_t textSizeCentered = 1;
tft.setTextSize(textSizeCentered);
int16_t textWidth = tft.textWidth(text, textSizeCentered); // Get text width
int16_t textHeight = tft.fontHeight(textSizeCentered); // Get text height
int16_t x = (tft.width()/2) - (textWidth / 2); // Center horizontally
int16_t y = (tft.height()/2) - (textHeight / 2); // Center vertically
tft.setTextColor(TFT_YELLOW);
tft.setCursor(x, y);
tft.println(text);
// Example 4: Right-aligned Text
String rightText = "Right-Aligned";
uint8_t textSizeRightAligned = 1;
tft.setTextSize(textSizeRightAligned);
textWidth = tft.textWidth(rightText, textSizeRightAligned);
tft.setCursor(tft.width() - textWidth - 10, 100); // Align right
tft.setTextColor(TFT_CYAN);
tft.println(rightText);
}
void loop() {
// Do nothing
}
Basic Text:
setTextColor(TFT_WHITE, TFT_BLACK)
: Sets the text color to white and the background color to black.setTextSize(2)
: Sets the text size to a scale of 2.setCursor(10, 10)
: Positions the text at coordinates (10, 10).println("Hello, World!")
: Displays the text.
Text with Transparent Background:
setTextColor(TFT_GREEN)
: Sets the text color to green, with no background specified.setTextSize(3)
: Increases the text size to 3.- Displays “Transparent Text” without a background box.
Centered Text:
textWidth()
: Calculates the width of the text in pixels based on the font size.fontHeight()
: Retrieves the height of the text in pixels for the current font.- Positions the text by centering it horizontally and vertically.
- Displays “Centered Text” in yellow.
Right-aligned Text:
textWidth()
: Used to calculate the width of the text for alignment.setCursor(tft.width() - textWidth - 10, 100)
: Positions the text 10 pixels from the right edge.- Displays “Right-Aligned” in cyan.
Using Free Fonts
Example demonstrating the use of multiple fonts.

/**
* Example demonstrating the use of multiple fonts with TFT_eSPI library
* and ILI9341 display.
*
* Features:
* - Use built-in and custom FreeFonts.
* - Apply different colors and font styles.
* - Demonstrates font scaling and positioning.
*
* Author: Renzo Mischianti <mischianti.org>
*/
#define USER_SETUP_LOADED //for not loading internal USER_SETTINGS
#include "User_Setup.h"
#include <TFT_eSPI.h>
#include <SPI.h>
#include <Fonts/GFXFF/FreeSansBold12pt7b.h>
#include <Fonts/GFXFF/FreeSerifItalic18pt7b.h>
#include <Fonts/GFXFF/FreeMonoOblique9pt7b.h>
TFT_eSPI tft = TFT_eSPI(); // Invoke library
void setup() {
tft.init();
tft.fillScreen(TFT_BLACK);
// Example 1: Using FreeSansBold12pt7b
tft.setFreeFont(&FreeSansBold12pt7b); // Set a free font
tft.setTextColor(TFT_CYAN, TFT_BLACK); // Text with background
tft.drawString("Sans Bold Font", 10, 30);
// Example 2: Using FreeSerifItalic18pt7b
tft.setFreeFont(&FreeSerifItalic18pt7b); // Change to another free font
tft.setTextColor(TFT_GREEN); // Text without background
tft.drawString("Serif Italic", 10, 70);
// Example 3: Using FreeMonoOblique9pt7b
tft.setFreeFont(&FreeMonoOblique9pt7b); // Another free font style
tft.setTextColor(TFT_YELLOW);
tft.drawString("Mono Oblique", 10, 110);
// Example 4: Default Font with Scaling
tft.setTextFont(1); // Use the default font
tft.setTextSize(2); // Scale text size
tft.setTextColor(TFT_WHITE);
tft.setCursor(10, 150); // Position using cursor
tft.println("Default Font");
}
void loop() {
// Do nothing
}
Explanation:
- Example 1–3: Show different FreeFonts available in the library (
FreeSansBold12pt7b
,FreeSerifItalic18pt7b
, andFreeMonoOblique9pt7b
). - Example 4: Demonstrates the use of the default font with scaling using
setTextFont
andsetTextSize
.
Drawing Bitmaps
To manage images, I added a tool to the site to convert them to a byte array, which is very useful for me.
Here an example:

It’s quite simple: select and upload the image, check the correct parameter (by default, it works like this example), and click the Conver button.
Example demonstrating how to display an image from a byte array.

/**
* Example demonstrating how to display an image from a byte array using the TFT_eSPI library.
*
* Features:
* - Show an image stored in a byte array on an ILI9341 TFT display.
* - Utilize the PROGMEM directive to store image data in flash memory.
* - Manage image rendering with the TFT_eSPI library.
*
* Author: Renzo Mischianti <mischianti.org>
*/
#define USER_SETUP_LOADED //for not loading internal USER_SETTINGS
#include "User_Setup.h"
#include <TFT_eSPI.h>
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI(); // Invoke library
#define LOGO_HEIGHT 100
#define LOGO_WIDTH 100
// array size is 20000
static const uint16_t logo[] PROGMEM = {
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7df, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf77d, 0xc638, 0x9cb2, 0xbdf7, 0xef5c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe6fb, 0xa534, 0xad34, 0xdeba, 0xffbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0xa4b2, 0x38e3, 0x3861, 0x38a2, 0x6aea, 0xe73c, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xde99, 0x6249, 0x3881, 0x3060, 0x4944, 0xbd95, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdeba, 0x6227, 0x4080, 0x4040, 0x4060, 0x38c2, 0x9c71, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf77d, 0x7b6d, 0x4081, 0x4060, 0x4060, 0x4060, 0x6aaa, 0xe6fb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xce59, 0x5185, 0x4060, 0x4840, 0x4840, 0x4061, 0x6207, 0xdedb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd69a, 0x51a6, 0x4040, 0x4040, 0x4060, 0x4060, 0x59c6, 0xd679, 0xf7fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xd6ba, 0x6207, 0x4060, 0x4060, 0x4861, 0x4040, 0x4103, 0xb554, 0xf7de, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf77d, 0x93ef, 0x4082, 0x4040, 0x4040, 0x4040, 0x3881, 0x6aaa, 0xe71b, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0x83ae, 0x4081, 0x4060, 0x4040, 0x4060, 0x4081, 0x7b2c, 0xef5c, 0xf7df, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xdeba, 0x6228, 0x4040, 0x4060, 0x4040, 0x4040, 0x38a1, 0xa4d2, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xc5d7, 0x4904, 0x4061, 0x4060, 0x4060, 0x4040, 0x59a6, 0xd659, 0xf7ff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xad34, 0x40e3, 0x4040, 0x4060, 0x4060, 0x4040, 0x5185, 0xd679, 0xf7de, 0xf7df, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5c, 0x6a69, 0x4040, 0x4060, 0x4040, 0x4040, 0x4081, 0x8c0f, 0xefde, 0xf7df, 0xf79d, 0xe71b, 0xc617, 0xc5d7, 0xc5d7, 0xc5d7, 0xc5d7, 0xce18, 0xe73c, 0xf77d, 0xf7de, 0xef7c, 0x72ca, 0x4060, 0x4060, 0x4060, 0x4080, 0x4881, 0x8bef, 0xffbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7de, 0xad13, 0x40c2, 0x4060, 0x4040, 0x4040, 0x4040, 0x5164, 0x9c70, 0x8bef, 0x6268, 0x51a6, 0x40e2, 0x40a1, 0x4081, 0x4081, 0x40a1, 0x40c2, 0x59e6, 0x6aa9, 0x942f, 0xa470, 0x48e3, 0x4060, 0x4060, 0x4060, 0x4060, 0x4924, 0xd638, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71b, 0x5a07, 0x4060, 0x4040, 0x4040, 0x4040, 0x3860, 0x40a1, 0x40a1, 0x4060, 0x4060, 0x4840, 0x4840, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4081, 0x40a1, 0x4081, 0x4040, 0x4040, 0x4040, 0x4081, 0x836d, 0xf77d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf7be, 0x9c2f, 0x40a1, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4080, 0x4060, 0x4040, 0x4040, 0x4060, 0x4040, 0x4060, 0x4060, 0x4060, 0x3860, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x48e2, 0xbd55, 0xf7df, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xef5c, 0x836d, 0x40a1, 0x4060, 0x4060, 0x4060, 0x4040, 0x3840, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4040, 0x40a1, 0x93cf, 0xef1c, 0xf7ff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf79e, 0xc5d7, 0x6aaa, 0x38a1, 0x4060, 0x4040, 0x4060, 0x4060, 0x4060, 0x4880, 0x48a1, 0x48a1, 0x48a1, 0x4080, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4040, 0x4060, 0x40c2, 0x7b0c, 0xd67a, 0xf79e, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf7be, 0xbd95, 0x59e7, 0x4061, 0x4060, 0x4060, 0x4060, 0x4060, 0x48a0, 0x5943, 0x69e5, 0x7206, 0x7a26, 0x7206, 0x69c5, 0x5922, 0x48a0, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x3860, 0x4060, 0x4081, 0x6a49, 0xcdd7, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7be, 0xce17, 0x51a6, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x48a0, 0x71e4, 0x8287, 0x8287, 0x8aa7, 0x8aa7, 0x8aa7, 0x82a7, 0x8287, 0x69c5, 0x4080, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4040, 0x4040, 0x4061, 0x5a07, 0xd679, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd679, 0x59e7, 0x4881, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x6183, 0x8aa7, 0x8aa6, 0x8aa6, 0x8aa6, 0x8aa6, 0x8aa6, 0x8aa6, 0x8ac7, 0x8aa7, 0x61a4, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x3881, 0x72aa, 0xe6db, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71b, 0x7b2c, 0x4082, 0x4881, 0x4060, 0x4040, 0x4040, 0x4040, 0x4080, 0x7a26, 0x8ac7, 0x8aa6, 0x8ac7, 0x8aa6, 0x8aa6, 0x8aa6, 0x8aa6, 0x8ac6, 0x8aa7, 0x7225, 0x48a0, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x3860, 0x4060, 0x4060, 0x4881, 0x8b8e, 0xef5d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7df, 0xf7ff, 0xf7de, 0xffff, 0xffff, 0xf7be, 0xf77c, 0xe71b, 0xce38, 0xce17, 0xc5f7, 0xce17, 0xe6fb, 0xf77d, 0xf79d, 0xf7be, 0xf7be, 0xf79d, 0xa4d2, 0x4103, 0x3861, 0x4061, 0x4040, 0x4040, 0x4040, 0x4040, 0x4080, 0x7a26, 0x8aa7, 0x8aa7, 0x8aa7, 0x8ac7, 0x8aa7, 0x8aa7, 0x8aa7, 0x8ac7, 0x8aa7, 0x7225, 0x48a0, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x5165, 0xbdd6, 0xf7de, 0xf7be, 0xffde, 0xf79d, 0xf75d, 0xef1b, 0xce38, 0xc5f7, 0xc5f7, 0xce58, 0xef5c, 0xf77d, 0xf7be, 0xffff, 0xffdf, 0xffdf, 0xf7df, 0xf7df, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7bf, 0xf79d, 0xe6fb, 0xc5b5, 0xa491, 0x7aeb, 0x5a07, 0x51a6, 0x40e3, 0x48c2, 0x40c2, 0x48e3, 0x5986, 0x59e7, 0x72cb, 0x9c50, 0xbdb5, 0xd617, 0x6a48, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x61a4, 0x82a7, 0x8aa7, 0x8aa7, 0x8aa7, 0x8aa7, 0x8aa7, 0x8aa7, 0x8aa7, 0x8287, 0x6184, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4881, 0x72a9, 0xc5b5, 0xad13, 0x9c50, 0x72aa, 0x59c7, 0x5185, 0x48e3, 0x40a2, 0x40c2, 0x4123, 0x51c6, 0x5a07, 0x7b2c, 0xa4b1, 0xd679, 0xe71c, 0xef9e, 0xf7de, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xe6fb, 0xbd54, 0x8bae, 0x6207, 0x4903, 0x4081, 0x3860, 0x4060, 0x4040, 0x4040, 0x4060, 0x4040, 0x4040, 0x4060, 0x4040, 0x3860, 0x3880, 0x4123, 0x4964, 0x4060, 0x4840, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x48c0, 0x69a4, 0x8266, 0x8aa7, 0x8aa7, 0x8aa7, 0x8aa7, 0x8aa7, 0x8266, 0x69a4, 0x48a1, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4081, 0x4923, 0x40c2, 0x4060, 0x4060, 0x4061, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x3860, 0x3881, 0x4924, 0x6227, 0x8bce, 0xbdb6, 0xef5c, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf7df, 0xffdf, 0xef7d, 0xb575, 0x6a89, 0x4903, 0x4081, 0x4060, 0x4060, 0x4040, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4880, 0x5922, 0x69c5, 0x7205, 0x7a26, 0x7205, 0x69c4, 0x5122, 0x4080, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4840, 0x4040, 0x4040, 0x4060, 0x3840, 0x3881, 0x4944, 0x72eb, 0xbd96, 0xef7d, 0xffdf, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7df, 0xf79d, 0xcdf7, 0x72eb, 0x40e3, 0x40a2, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4860, 0x4081, 0x40a1, 0x40a1, 0x40c1, 0x40a1, 0x40a1, 0x40a1, 0x4081, 0x4060, 0x4860, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4040, 0x4080, 0x4080, 0x4080, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4840, 0x4840, 0x4040, 0x4040, 0x4060, 0x4081, 0x40a1, 0x40a1, 0x40c1, 0x40c2, 0x40c1, 0x40a1, 0x4081, 0x4061, 0x4881, 0x4040, 0x4040, 0x4040, 0x4060, 0x3861, 0x4103, 0x7b4c, 0xe6fb, 0xf79e, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe73c, 0xacb2, 0x5165, 0x4061, 0x4060, 0x4060, 0x4060, 0x4060, 0x48c2, 0x5985, 0x6248, 0x834c, 0x9c70, 0xb534, 0xb534, 0xb534, 0xb513, 0xacd2, 0xa4b1, 0x8bad, 0x7aca, 0x69e6, 0x5164, 0x40c1, 0x3880, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x3840, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x48a1, 0x5944, 0x6a07, 0x7b0b, 0x9c2f, 0xacf3, 0xb534, 0xbd55, 0xb575, 0xb554, 0xad34, 0x9470, 0x7b2c, 0x6208, 0x5145, 0x4081, 0x4060, 0x4060, 0x4080, 0x4080, 0x40a1, 0x6a49, 0xbd95, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xf7df, 0xe71c, 0x83ae, 0x5124, 0x4060, 0x3860, 0x4080, 0x4060, 0x4081, 0x61e6, 0x9c2f, 0xce59, 0xe6fb, 0xf79d, 0xf7be, 0xffdf, 0xffdf, 0xffdf, 0xffdf, 0xffdf, 0xffbe, 0xf75c, 0xeeda, 0xd617, 0xc574, 0x9bee, 0x6a67, 0x48e2, 0x4080, 0x4080, 0x4060, 0x3840, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4860, 0x4040, 0x4040, 0x4040, 0x4060, 0x4080, 0x4923, 0x7288, 0x9c0e, 0xc594, 0xde78, 0xef3b, 0xf79d, 0xffdf, 0xffdf, 0xffdf, 0xffde, 0xffde, 0xffde, 0xf7be, 0xef7d, 0xdeda, 0xc5b7, 0x9430, 0x5a07, 0x40c1, 0x40a1, 0x4080, 0x4881, 0x4040, 0x5985, 0xacf3, 0xf7be, 0xffde, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffdf, 0xf7de, 0xe71b, 0x7b2c, 0x4082, 0x4040, 0x4060, 0x4060, 0x3861, 0x5165, 0x9c51, 0xe6ba, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbe, 0xf77c, 0xf75b, 0xeed9, 0xe657, 0xb4d1, 0x6a67, 0x40c1, 0x3880, 0x4080, 0x3840, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4080, 0x4902, 0x832a, 0xbd52, 0xe697, 0xf73a, 0xf77c, 0xffbe, 0xfffe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7df, 0xf7be, 0xe6fa, 0x940f, 0x4903, 0x4061, 0x4040, 0x4840, 0x4841, 0x4924, 0xad14, 0xf79d, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffdf, 0xef5c, 0x8bce, 0x4082, 0x4840, 0x4861, 0x3860, 0x40e2, 0x7b2c, 0xce38, 0xffbe, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xf79d, 0xf75b, 0xf71a, 0xf6f9, 0xe676, 0xac6f, 0x6a26, 0x40c1, 0x3860, 0x4060, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x48e2, 0x7ac9, 0xbd11, 0xee97, 0xf739, 0xf75a, 0xf79d, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xfffe, 0xffde, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xf79e, 0xbdb6, 0x6aaa, 0x40c2, 0x4041, 0x4840, 0x4060, 0x4903, 0xad13, 0xf79d, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xf7be, 0xacf3, 0x5164, 0x3860, 0x4060, 0x4081, 0x4924, 0x93ef, 0xdedb, 0xf7df, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xf7bd, 0xef5b, 0xf719, 0xf718, 0xeeb7, 0xd5d4, 0x9bed, 0x59a4, 0x4080, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x40c1, 0x6a47, 0xb46f, 0xe635, 0xf6d8, 0xf6f9, 0xf739, 0xf77c, 0xffbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xf77b, 0xef39, 0xf75b, 0xffbe, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xf7df, 0xdeba, 0x7b6d, 0x40c2, 0x4040, 0x4080, 0x4061, 0x59a6, 0xbdb6, 0xf7df, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffdf, 0xdeba, 0x5a08, 0x40a1, 0x3860, 0x4081, 0x5144, 0xacf3, 0xef5d, 0xffbf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xf7bc, 0xf73a, 0xf719, 0xf718, 0xeef8, 0xeed8, 0xc573, 0x7288, 0x40a1, 0x4080, 0x4060, 0x4040, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4040, 0x48c1, 0x832a, 0xd5d4, 0xf6d8, 0xf718, 0xf718, 0xef19, 0xf75b, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xef3a, 0xf6f8, 0xf718, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xe73c, 0x83ad, 0x40c2, 0x4060, 0x3840, 0x4861, 0x72aa, 0xef7d, 0xffff, 0xffff, 0xffff,
0xffdf, 0xffff, 0xf79e, 0x734c, 0x3881, 0x4081, 0x4080, 0x48c2, 0x940f, 0xef7d, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xf79c, 0xf73a, 0xef19, 0xef18, 0xeef8, 0xeed8, 0xddf5, 0x8b6b, 0x40e2, 0x4060, 0x4040, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4080, 0x5143, 0xa42e, 0xe697, 0xf6f8, 0xeef8, 0xef18, 0xef18, 0xef5a, 0xf79d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xef39, 0xf6f8, 0xf718, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xe73b, 0x7b2c, 0x40a1, 0x4060, 0x4820, 0x48a2, 0xa4b3, 0xf7be, 0xffff, 0xffff,
0xffdf, 0xffde, 0xbdd7, 0x4123, 0x4060, 0x4060, 0x4060, 0x72ca, 0xdeba, 0xf7df, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xf77b, 0xef19, 0xeef8, 0xeef8, 0xeef8, 0xf6d8, 0xe656, 0x9bed, 0x5163, 0x4080, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x3860, 0x4080, 0x6226, 0xb4f1, 0xeeb7, 0xeef8, 0xeef8, 0xef18, 0xef18, 0xef39, 0xf77b, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xef39, 0xf6f8, 0xf718, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7df, 0xce18, 0x59e7, 0x4080, 0x4060, 0x3860, 0x51a6, 0xd69a, 0xffff, 0xffff,
0xffdf, 0xf77d, 0x8bae, 0x3860, 0x3840, 0x4040, 0x40c2, 0xbdb5, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7bd, 0xf75a, 0xef19, 0xeef8, 0xeef8, 0xeef8, 0xf6d8, 0xee97, 0xac6f, 0x5164, 0x4060, 0x4040, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x3880, 0x5a05, 0xbd32, 0xeed8, 0xeef8, 0xeef8, 0xf6f8, 0xf6f8, 0xef39, 0xef5b, 0xf7bd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xef39, 0xf6f8, 0xf718, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf77e, 0xa4b3, 0x40c1, 0x4060, 0x4060, 0x4081, 0x9c91, 0xffde, 0xffff,
0xffff, 0xd699, 0x59c6, 0x4060, 0x4040, 0x3860, 0x7b0c, 0xf77d, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xf77c, 0xf739, 0xef18, 0xef18, 0xef18, 0xf6f8, 0xf6f8, 0xeeb8, 0xb490, 0x4922, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4040, 0x3880, 0x59c5, 0xc573, 0xeef8, 0xeef8, 0xef18, 0xf718, 0xf6f8, 0xf6f8, 0xf73a, 0xf77c, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xef39, 0xf6f8, 0xf718, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf75d, 0x6a89, 0x4080, 0x4060, 0x3840, 0x6a89, 0xe73c, 0xffff,
0xf7de, 0xb554, 0x4903, 0x4040, 0x4060, 0x4923, 0xc5d7, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79c, 0xf75a, 0xef19, 0xef18, 0xef18, 0xef19, 0xf6f8, 0xf6f8, 0xeeb7, 0xac8f, 0x5984, 0x4080, 0x4040, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4080, 0x6206, 0xc552, 0xeed8, 0xeef8, 0xef18, 0xeef8, 0xeef8, 0xf6f8, 0xf719, 0xf75b, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xef3a, 0xf6f8, 0xef18, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xa4d3, 0x38a1, 0x4060, 0x4080, 0x59a5, 0xd678, 0xffff,
0xf7be, 0x942f, 0x40a1, 0x4040, 0x4061, 0x5a48, 0xef3c, 0xffff, 0xffff, 0xffff, 0xf7de, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf79c, 0xf77d, 0xffdf, 0xffff, 0xffff, 0xffff, 0xf7bd, 0xef5b, 0xef19, 0xeef8, 0xf6f8, 0xf6f8, 0xf6f8, 0xf6f8, 0xeef8, 0xeeb8, 0xa44e, 0x4943, 0x4080, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x3860, 0x59a4, 0xbcf1, 0xeed8, 0xef18, 0xf6f8, 0xf6f8, 0xf6f8, 0xeef8, 0xf6f8, 0xf719, 0xf75c, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbe, 0xef39, 0xef18, 0xef38, 0xf7bd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdeda, 0x5165, 0x4040, 0x4860, 0x4903, 0xbd95, 0xffff,
0xf79e, 0x838d, 0x4080, 0x4040, 0x4081, 0x8bae, 0xf79e, 0xffff, 0xffff, 0xffff, 0xf75b, 0xeef8, 0xef18, 0xeef8, 0xeef8, 0xeef8, 0xeef8, 0xeef8, 0xeef8, 0xeef8, 0xeef8, 0xeef8, 0xeef8, 0xeef8, 0xeef8, 0xeef8, 0xeef8, 0xef18, 0xef18, 0xef3a, 0xffdf, 0xffff, 0xffff, 0xffff, 0xf7dd, 0xef5b, 0xef19, 0xeef8, 0xf6f8, 0xf6f8, 0xf6f8, 0xef18, 0xeef8, 0xeed8, 0xe677, 0x93cc, 0x38a0, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4102, 0xac6f, 0xeeb7, 0xeef8, 0xeef8, 0xf6f8, 0xf6f8, 0xf6f8, 0xeef8, 0xf6f8, 0xf719, 0xf77c, 0xffde, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdd, 0xef39, 0xeef8, 0xef19, 0xff9d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xffff, 0xffff, 0xf77d, 0x6a48, 0x4060, 0x4040, 0x48e2, 0xb513, 0xffdf,
0xef9d, 0x7b4c, 0x4040, 0x4060, 0x4061, 0x9c30, 0xffbe, 0xffff, 0xffff, 0xffff, 0xf77b, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef39, 0xffde, 0xffff, 0xffff, 0xffff, 0xffde, 0xf77b, 0xef19, 0xeef8, 0xf6f8, 0xf6f8, 0xf6f8, 0xeef8, 0xef18, 0xef18, 0xf6f8, 0xe636, 0x7ae9, 0x4080, 0x4040, 0x4040, 0x4040, 0x4040, 0x48e2, 0x9c2e, 0xe6b7, 0xeef8, 0xf719, 0xf6f8, 0xf6f8, 0xf6f8, 0xf6f8, 0xeef8, 0xeef8, 0xf739, 0xf77c, 0xffde, 0xffff, 0xffff, 0xffbe, 0xf75b, 0xf75a, 0xf75a, 0xf75a, 0xf75a, 0xf75a, 0xf75a, 0xf75a, 0xf75a, 0xef38, 0xf719, 0xef19, 0xf73a, 0xf75a, 0xf75a, 0xf75a, 0xf75a, 0xf75a, 0xf75a, 0xf75a, 0xf77a, 0xf7bc, 0xffff, 0xffff, 0xf77d, 0x7289, 0x4060, 0x3840, 0x4081, 0x93ef, 0xf7be,
0xef9d, 0x832c, 0x4060, 0x4040, 0x4081, 0x9c0f, 0xffde, 0xffff, 0xffff, 0xffff, 0xf77b, 0xeef8, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef19, 0xffde, 0xffff, 0xffff, 0xffff, 0xffde, 0xf75b, 0xef19, 0xeef8, 0xf6f8, 0xf6f8, 0xf6f8, 0xeef8, 0xeef8, 0xeef8, 0xeef8, 0xf6f8, 0xcd32, 0x5123, 0x4040, 0x4040, 0x4060, 0x4060, 0x6a06, 0xe656, 0xeef9, 0xeef8, 0xf718, 0xf6f8, 0xeef8, 0xeef8, 0xeef8, 0xef18, 0xef18, 0xf73a, 0xf77c, 0xffde, 0xffff, 0xffff, 0xffbd, 0xef19, 0xf718, 0xf6f8, 0xf6f8, 0xf6f8, 0xf6f8, 0xf6f8, 0xeef8, 0xeef8, 0xf718, 0xf719, 0xef19, 0xef18, 0xeef8, 0xf6f8, 0xf6f8, 0xf6f8, 0xf6f8, 0xf6f8, 0xf6f8, 0xeef8, 0xf79c, 0xffff, 0xffff, 0xf7be, 0x72ca, 0x4040, 0x4040, 0x4081, 0x8bce, 0xf7be,
0xf79e, 0x834c, 0x4060, 0x4060, 0x4061, 0x93ee, 0xffde, 0xffff, 0xffff, 0xffff, 0xf75b, 0xeef8, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xef18, 0xf719, 0xffde, 0xffff, 0xffff, 0xffff, 0xffde, 0xf75b, 0xef19, 0xeef8, 0xf6f8, 0xf6f8, 0xf6f8, 0xf6f8, 0xeef8, 0xeef8, 0xeef8, 0xeeb7, 0x9bad, 0x48a1, 0x4840, 0x4060, 0x4060, 0x4060, 0x5144, 0xb4b1, 0xf6b8, 0xf6f8, 0xeef8, 0xef18, 0xeef8, 0xeef8, 0xeef8, 0xef18, 0xef19, 0xf73a, 0xf77c, 0xffde, 0xffff, 0xffff, 0xffbe, 0xef3a, 0xef39, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xf718, 0xef18, 0xef39, 0xef39, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef1a, 0xf79d, 0xffff, 0xffff, 0xf7be, 0x72aa, 0x4040, 0x4840, 0x4081, 0x8bcf, 0xf7be,
0xf79e, 0x836d, 0x4060, 0x4040, 0x4061, 0x8bae, 0xf7be, 0xffff, 0xffff, 0xffff, 0xf77c, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xef19, 0xf73a, 0xffde, 0xffff, 0xffff, 0xffff, 0xffde, 0xf75b, 0xef19, 0xeef8, 0xf6f8, 0xf6f8, 0xf6f8, 0xf6f8, 0xf6f8, 0xeef8, 0xeeb8, 0xacb0, 0x4902, 0x4860, 0x4840, 0x4060, 0x4060, 0x4060, 0x4081, 0x5164, 0xcd32, 0xf6d8, 0xeef8, 0xef18, 0xeef8, 0xeef8, 0xeef8, 0xef18, 0xef19, 0xf73a, 0xf77c, 0xffde, 0xffff, 0xffff, 0xffff, 0xfffe, 0xfffe, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffbd, 0xf73a, 0xf6f8, 0xf719, 0xff9c, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffdf, 0xffff, 0xffff, 0xf79d, 0x6a89, 0x4040, 0x4840, 0x40a2, 0xa4b2, 0xffdf,
0xf79e, 0x93ef, 0x4081, 0x4060, 0x4060, 0x6a89, 0xef5c, 0xffff, 0xffff, 0xffff, 0xffde, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbe, 0xf75b, 0xef19, 0xef18, 0xef18, 0xf6f8, 0xf6f8, 0xf6f8, 0xf6f8, 0xf6f8, 0xbd32, 0x59e5, 0x4080, 0x4040, 0x4840, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x7aa9, 0xd5d4, 0xeed8, 0xeef8, 0xeef8, 0xf6f8, 0xeef8, 0xef18, 0xef18, 0xf739, 0xf77c, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xef3a, 0xf6f8, 0xf719, 0xff9d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71b, 0x59c6, 0x4060, 0x4040, 0x48e2, 0xb554, 0xffff,
0xffbf, 0xad14, 0x48c3, 0x4060, 0x4060, 0x5165, 0xd658, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff9d, 0xf75b, 0xef19, 0xef18, 0xef18, 0xf6f8, 0xf6f8, 0xf6f8, 0xf6f8, 0xd5f5, 0x6a67, 0x40a0, 0x4080, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x48a1, 0x7ac9, 0xde36, 0xeef8, 0xf6f8, 0xf6f8, 0xeef8, 0xef18, 0xef18, 0xef39, 0xf75b, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xef39, 0xf6f8, 0xf718, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdb5, 0x48a2, 0x4060, 0x4060, 0x5144, 0xc617, 0xffff,
0xffdf, 0xce17, 0x5985, 0x4080, 0x4060, 0x4081, 0x93f0, 0xf77e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf79c, 0xf75b, 0xef19, 0xef18, 0xef18, 0xf6f8, 0xf718, 0xeef8, 0xd5f5, 0x6226, 0x4060, 0x4040, 0x4040, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4040, 0x4081, 0x7ac9, 0xde36, 0xeef8, 0xeef8, 0xeef8, 0xef18, 0xef18, 0xef39, 0xef3a, 0xf79c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xef39, 0xf6f8, 0xf718, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbe, 0x730b, 0x4060, 0x4060, 0x4060, 0x6228, 0xe71b, 0xffff,
0xffff, 0xef3b, 0x72ca, 0x3880, 0x4860, 0x4041, 0x4945, 0xd638, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbe, 0xf77b, 0xf73a, 0xef19, 0xef18, 0xeef8, 0xeef8, 0xeed8, 0xcdb4, 0x72a8, 0x4081, 0x4060, 0x4860, 0x4060, 0x4060, 0x3860, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4040, 0x40a1, 0x7ae9, 0xcdd4, 0xeef8, 0xeef7, 0xef18, 0xeef8, 0xf718, 0xef39, 0xef5b, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xef39, 0xf6f8, 0xf718, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7de, 0xce38, 0x4924, 0x4040, 0x3860, 0x4080, 0x9410, 0xf79e, 0xffff,
0xffff, 0xf7be, 0xacf3, 0x38c1, 0x4040, 0x4041, 0x4061, 0x838d, 0xef3c, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xf79c, 0xf73a, 0xf719, 0xeed8, 0xeef8, 0xeef8, 0xeed8, 0xc532, 0x6a67, 0x40a1, 0x4060, 0x4040, 0x4040, 0x4861, 0x40a0, 0x48a0, 0x48a0, 0x5080, 0x4880, 0x4880, 0x4080, 0x4060, 0x4040, 0x4060, 0x40c1, 0x72c9, 0xd635, 0xeef8, 0xf6f8, 0xf6f8, 0xeef8, 0xf719, 0xef1a, 0xf77c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xef39, 0xf6f8, 0xf718, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7de, 0xe71b, 0x730b, 0x3860, 0x4040, 0x3860, 0x4944, 0xce39, 0xffdf, 0xffff,
0xffff, 0xffff, 0xe71c, 0x5a08, 0x4081, 0x4060, 0x4060, 0x5144, 0xb534, 0xf7de, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7bd, 0xf75b, 0xef39, 0xef18, 0xeef8, 0xf6f8, 0xee97, 0xb4b0, 0x51a4, 0x40a0, 0x4060, 0x4040, 0x4040, 0x48a0, 0x8ae3, 0xb424, 0xb443, 0xb403, 0xabc4, 0xab63, 0xa344, 0x79e2, 0x4860, 0x4060, 0x3880, 0x4060, 0x4081, 0x7289, 0xc553, 0xeed8, 0xf719, 0xeed8, 0xf6f9, 0xeef9, 0xef1a, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xef39, 0xf6f8, 0xf718, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x9450, 0x40e2, 0x3860, 0x4040, 0x3861, 0x83ae, 0xf79e, 0xffff, 0xffff,
0xffff, 0xffff, 0xffdf, 0xbd55, 0x4924, 0x4060, 0x3880, 0x4081, 0x59e6, 0xc5d6, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xf79c, 0xef3a, 0xef18, 0xef18, 0xeef8, 0xddf5, 0x9bcd, 0x4923, 0x4080, 0x4080, 0x4060, 0x4040, 0x50e0, 0x9343, 0xe5c5, 0xf643, 0xf662, 0xf663, 0xf623, 0xf583, 0xed04, 0xd446, 0x8202, 0x48a0, 0x3880, 0x4060, 0x4040, 0x4061, 0x5985, 0xacb0, 0xde57, 0xeed9, 0xf6f8, 0xeef8, 0xef19, 0xef3b, 0xffbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xef3a, 0xf6f8, 0xef19, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0xa4d2, 0x4144, 0x3860, 0x4060, 0x4061, 0x59c7, 0xd69a, 0xffdf, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xef5d, 0x93cf, 0x48c3, 0x4060, 0x4060, 0x4080, 0x59c6, 0xbd75, 0xef9d, 0xf7de, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xf79c, 0xf73b, 0xf719, 0xf718, 0xe6b7, 0xbd12, 0x7288, 0x48e2, 0x4060, 0x4060, 0x4060, 0x4061, 0x50e0, 0xa362, 0xe5a3, 0xf642, 0xf641, 0xfe41, 0xfe41, 0xfe41, 0xfdc2, 0xed02, 0xe4a4, 0xd405, 0x8a42, 0x48a0, 0x4060, 0x4040, 0x4040, 0x4060, 0x5123, 0x7b0a, 0xc573, 0xeeb7, 0xf6f8, 0xeef8, 0xef19, 0xf75b, 0xffdd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xef5b, 0xef19, 0xef1a, 0xffbd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef3c, 0x9c71, 0x4924, 0x4060, 0x4040, 0x4060, 0x4924, 0xacf3, 0xffdf, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xf7df, 0xdeba, 0x72aa, 0x4060, 0x4040, 0x3860, 0x3861, 0x5165, 0x9c71, 0xef5c, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xf79c, 0xf75b, 0xf6f9, 0xf6f9, 0xddf5, 0x9bee, 0x5144, 0x4080, 0x4060, 0x4040, 0x4060, 0x4060, 0x5920, 0xabe3, 0xede3, 0xf641, 0xfe61, 0xfe41, 0xfe41, 0xfe61, 0xfe41, 0xfe01, 0xed41, 0xe4a3, 0xeca4, 0xdc44, 0x9282, 0x48a0, 0x4040, 0x4040, 0x4040, 0x4060, 0x4081, 0x5984, 0x9bed, 0xddf5, 0xf6d8, 0xf6f9, 0xef1a, 0xf75b, 0xffbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xffde, 0xffbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xdeda, 0x8bce, 0x4903, 0x4060, 0x4040, 0x4840, 0x4082, 0x8bef, 0xe73c, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffdf, 0xf7de, 0xce38, 0x6228, 0x4081, 0x3840, 0x4060, 0x4060, 0x48c2, 0x730b, 0xce58, 0xf77d, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xf79c, 0xf75b, 0xeed9, 0xddf5, 0x9bee, 0x59c5, 0x40a1, 0x4060, 0x4040, 0x4040, 0x4060, 0x4880, 0x69c1, 0xbc84, 0xf643, 0xf642, 0xf621, 0xfe42, 0xfe21, 0xfe42, 0xfe42, 0xfe42, 0xfe42, 0xf5c2, 0xece2, 0xf4c3, 0xf4a2, 0xec85, 0xa2e4, 0x5921, 0x4040, 0x4041, 0x4040, 0x4060, 0x4040, 0x40c2, 0x6a47, 0xbcf2, 0xd615, 0xeeb8, 0xef19, 0xef5c, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xef5d, 0xc596, 0x6a49, 0x40c1, 0x4080, 0x4060, 0x4060, 0x40a1, 0x6aca, 0xe71c, 0xf7df, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xce58, 0x72a9, 0x48a2, 0x4060, 0x4060, 0x4840, 0x4861, 0x5164, 0x836d, 0xb555, 0xe6fb, 0xf79e, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffbe, 0xf77c, 0xeefa, 0xd636, 0xb512, 0x938c, 0x69e6, 0x40c1, 0x4080, 0x4060, 0x4040, 0x4060, 0x4060, 0x50e0, 0x82a2, 0xcd04, 0xee23, 0xf681, 0xf662, 0xf642, 0xf641, 0xfe41, 0xfe41, 0xf642, 0xfe42, 0xfe42, 0xfde3, 0xed02, 0xecc3, 0xf4a3, 0xf4a3, 0xe484, 0xbb84, 0x71a2, 0x4881, 0x4840, 0x4060, 0x4060, 0x4060, 0x4080, 0x4902, 0x6206, 0x93ac, 0xc512, 0xde36, 0xe6b8, 0xf75b, 0xffbd, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7de, 0xf7be, 0xf77d, 0xd679, 0xad13, 0x7aeb, 0x4904, 0x4041, 0x4060, 0x4080, 0x40a1, 0x4924, 0x8bce, 0xdeba, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xde99, 0x834c, 0x40c2, 0x4081, 0x4060, 0x4060, 0x4040, 0x4081, 0x5103, 0x6208, 0x8b8d, 0xad13, 0xd679, 0xd6ba, 0xdeda, 0xe6da, 0xe6ba, 0xde79, 0xd638, 0xbd54, 0x9c2f, 0x830b, 0x61e6, 0x4902, 0x4081, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4860, 0x69a3, 0xabe6, 0xe5a5, 0xf643, 0xf662, 0xf663, 0xf643, 0xf643, 0xf663, 0xf662, 0xf663, 0xf663, 0xf663, 0xf663, 0xfe03, 0xf504, 0xecc4, 0xecc4, 0xecc4, 0xecc3, 0xe4c4, 0xd446, 0x9aa4, 0x5901, 0x4060, 0x3840, 0x4060, 0x4060, 0x4060, 0x4060, 0x48a1, 0x5123, 0x6a06, 0x830a, 0xa450, 0xbd54, 0xcdf6, 0xde78, 0xde99, 0xde9a, 0xd679, 0xd659, 0xc5f7, 0xa4d2, 0x836d, 0x5a07, 0x48e2, 0x4080, 0x4060, 0x4060, 0x4060, 0x4061, 0x5104, 0x9410, 0xef3c, 0xf7df, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xef5c, 0xacd3, 0x51a6, 0x38a1, 0x3880, 0x3861, 0x4040, 0x4840, 0x4040, 0x4060, 0x4061, 0x38a1, 0x40e2, 0x4944, 0x5165, 0x5144, 0x48e3, 0x48c2, 0x40a1, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4080, 0x4040, 0x4060, 0x4040, 0x4860, 0x48a0, 0x7a25, 0xa3a6, 0xa3a3, 0xa3a3, 0xa3a2, 0xa3c3, 0xa3c3, 0xa3a3, 0xa3a3, 0xa3a2, 0xa3a3, 0xa3a3, 0xa3a3, 0xa3a3, 0xa363, 0xa303, 0xa2e3, 0x9ae3, 0x9ae3, 0x9ae3, 0x9ae4, 0x92c3, 0x92c6, 0x69a3, 0x4880, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4081, 0x48a1, 0x4903, 0x5144, 0x5144, 0x4903, 0x40c2, 0x3881, 0x3861, 0x4061, 0x4061, 0x4060, 0x4040, 0x4080, 0x3860, 0x40a2, 0x59c7, 0xc596, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xce38, 0x836d, 0x5165, 0x4081, 0x4061, 0x4060, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4880, 0x48a0, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4860, 0x4860, 0x4860, 0x4860, 0x4860, 0x4860, 0x4860, 0x4060, 0x4860, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x3860, 0x4060, 0x4040, 0x4080, 0x4060, 0x4061, 0x48c2, 0x59c6, 0x8bef, 0xdedb, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7df, 0xef5c, 0xc5d6, 0x940f, 0x6248, 0x4103, 0x4060, 0x4040, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4040, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4081, 0x4903, 0x6a8a, 0xa4b2, 0xce38, 0xef7d, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffdf, 0xf7be, 0xef3c, 0xc637, 0x838d, 0x6248, 0x40e3, 0x4081, 0x4061, 0x3840, 0x3860, 0x3860, 0x3860, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4040, 0x3860, 0x3860, 0x3860, 0x3840, 0x3860, 0x3861, 0x3881, 0x40e3, 0x6228, 0x83ce, 0xce38, 0xef5c, 0xffbe, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf77d, 0xdedb, 0xd679, 0xbd96, 0x9c72, 0x9471, 0x9450, 0x940f, 0x6248, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4040, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x3881, 0x72eb, 0x9c51, 0x9c30, 0x9451, 0x9c72, 0xbd96, 0xd6ba, 0xdedb, 0xef5d, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xf7de, 0xf7de, 0xf79d, 0xa4b2, 0x4081, 0x4040, 0x4040, 0x4060, 0x4060, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4060, 0x4040, 0x4060, 0x38c2, 0xb555, 0xf7be, 0xffde, 0xffdf, 0xffbe, 0xf7df, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf7ff, 0xffff, 0xffdf, 0xb534, 0x4081, 0x4040, 0x4040, 0x4060, 0x4040, 0x4060, 0x4060, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4060, 0x4040, 0x4060, 0x4124, 0xd679, 0xf7df, 0xf7de, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffff, 0xffff, 0xbd95, 0x40c2, 0x4080, 0x4060, 0x4040, 0x4861, 0x48a1, 0x48e1, 0x48e0, 0x48e0, 0x48e0, 0x48e0, 0x48e0, 0x50c0, 0x50c0, 0x50c0, 0x50c0, 0x50c0, 0x50e0, 0x50e0, 0x50e0, 0x50e0, 0x50e0, 0x50e0, 0x50e0, 0x50c0, 0x50c0, 0x50c0, 0x50c0, 0x50a0, 0x50a0, 0x50a0, 0x50a0, 0x50a0, 0x50a0, 0x50a0, 0x50a0, 0x50a0, 0x50a0, 0x50a0, 0x50a0, 0x50a0, 0x48a0, 0x40a1, 0x4060, 0x4060, 0x4040, 0x4040, 0x4965, 0xe71c, 0xf7df, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd679, 0x4944, 0x4080, 0x4060, 0x4060, 0x4880, 0x8ae4, 0xbc64, 0xbc82, 0xbc82, 0xbc63, 0xbc63, 0xbc63, 0xc463, 0xc463, 0xc463, 0xc463, 0xc463, 0xc463, 0xc463, 0xc463, 0xc463, 0xc463, 0xc463, 0xc463, 0xc463, 0xc463, 0xc463, 0xbc03, 0xb382, 0xb363, 0xb363, 0xb363, 0xb363, 0xb363, 0xb363, 0xb363, 0xb363, 0xb363, 0xb363, 0xb363, 0xb363, 0xb343, 0x79c2, 0x4080, 0x4060, 0x4040, 0x4040, 0x51c7, 0xef3c, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5c, 0x51e7, 0x4061, 0x4040, 0x4860, 0x4881, 0x9b43, 0xede4, 0xf642, 0xf642, 0xfe21, 0xfe21, 0xfe21, 0xfe41, 0xfe41, 0xfe41, 0xfe41, 0xfe41, 0xfe41, 0xfe41, 0xfe41, 0xfe41, 0xfe41, 0xfe41, 0xfe41, 0xf641, 0xf642, 0xf624, 0xf583, 0xe4c2, 0xecc3, 0xecc3, 0xecc3, 0xecc2, 0xecc2, 0xecc2, 0xecc3, 0xecc3, 0xecc3, 0xecc3, 0xecc3, 0xecc3, 0xe464, 0x81e2, 0x4080, 0x4060, 0x4040, 0x4061, 0x834d, 0xf79e, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbe, 0x8bcf, 0x4061, 0x4060, 0x4880, 0x4061, 0x7a41, 0xdda2, 0xf641, 0xf641, 0xf641, 0xf641, 0xf641, 0xf661, 0xf661, 0xf661, 0xf661, 0xf641, 0xf641, 0xf641, 0xf641, 0xf641, 0xf641, 0xf641, 0xf641, 0xf641, 0xf660, 0xf641, 0xed82, 0xecc2, 0xecc4, 0xecc4, 0xf4c3, 0xf4c3, 0xf4c3, 0xf4c3, 0xf4a4, 0xf4a4, 0xf4a4, 0xf4a4, 0xf4c4, 0xecc4, 0xcc25, 0x6141, 0x4040, 0x4060, 0x4040, 0x40a1, 0xa4b2, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbd75, 0x48a2, 0x4040, 0x4060, 0x4040, 0x5941, 0xc4c3, 0xf662, 0xfe42, 0xfe41, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xf661, 0xfe22, 0xf522, 0xecc2, 0xf4a3, 0xf4a3, 0xf4a3, 0xf4a3, 0xf4a3, 0xf4a3, 0xf4a3, 0xf4a3, 0xf4a3, 0xf4a2, 0xf4a3, 0xeca5, 0xb344, 0x50a0, 0x4040, 0x4060, 0x4060, 0x4944, 0xdeba, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe6fb, 0x5186, 0x4040, 0x4040, 0x4040, 0x48a0, 0x9b63, 0xf644, 0xfe42, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xfe61, 0xf641, 0xfe02, 0xed02, 0xf4c3, 0xf4a3, 0xf4a3, 0xf4c3, 0xf4c3, 0xf4c3, 0xf4c3, 0xecc3, 0xecc3, 0xecc3, 0xecc2, 0xf4e3, 0xe485, 0x8202, 0x4840, 0x4040, 0x4040, 0x4061, 0x6269, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7be, 0x7b6d, 0x4061, 0x4040, 0x4040, 0x4060, 0x61c1, 0xddc4, 0xfe63, 0xfe62, 0xfe63, 0xfe63, 0xfe63, 0xfe63, 0xfe63, 0xfe63, 0xfe63, 0xfe63, 0xfe63, 0xfe63, 0xfe63, 0xfe63, 0xfe62, 0xfe62, 0xfe62, 0xf642, 0xf5e3, 0xed03, 0xf4c4, 0xecc4, 0xecc4, 0xecc4, 0xecc4, 0xecc4, 0xecc4, 0xecc4, 0xecc4, 0xecc4, 0xecc4, 0xecc4, 0xc3a4, 0x58e0, 0x4040, 0x4040, 0x4060, 0x40c2, 0xacf3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbd95, 0x4943, 0x3860, 0x4840, 0x4040, 0x40a0, 0x82e2, 0xa3a3, 0xa3c3, 0xa3c3, 0xa3c3, 0xa3a3, 0xa3a3, 0xa3a3, 0xa3a3, 0xa3a3, 0xa3c3, 0xa3c3, 0xa3c3, 0xa3c3, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa382, 0xa303, 0xa2e3, 0x9ae3, 0x9ae3, 0x9ae3, 0x9ae3, 0x9ae3, 0xa2e3, 0xa2e3, 0xa2e3, 0xa2e3, 0x9ae3, 0x9b03, 0x79c2, 0x4860, 0x4840, 0x4060, 0x3860, 0x59a6, 0xd658, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xe71c, 0x72ea, 0x4060, 0x4820, 0x4040, 0x4060, 0x4080, 0x4880, 0x4880, 0x4880, 0x48a0, 0x48a0, 0x40a0, 0x40a0, 0x40a0, 0x48a0, 0x48a0, 0x48a0, 0x48a0, 0x4880, 0x48a0, 0x40a0, 0x40a0, 0x40a0, 0x48c0, 0x48a0, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x4880, 0x48a0, 0x48a0, 0x4060, 0x4060, 0x4840, 0x4060, 0x3881, 0x836d, 0xef5d, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7be, 0xb534, 0x48c2, 0x4820, 0x4040, 0x4040, 0x4060, 0x4060, 0x4040, 0x3840, 0x3840, 0x4040, 0x4040, 0x4040, 0x4040, 0x3840, 0x4040, 0x4040, 0x3840, 0x3840, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4041, 0x4060, 0x4040, 0x4040, 0x5164, 0xc5f7, 0xffbf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71c, 0x6a69, 0x4061, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4861, 0x4081, 0x7b8e, 0xf7be, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xb595, 0x4944, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4080, 0x4081, 0x5a07, 0xce59, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef9d, 0x9c91, 0x48e2, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4080, 0x4923, 0xb534, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xe75c, 0x6aab, 0x4061, 0x4040, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x3860, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4040, 0x4040, 0x4040, 0x4060, 0x4040, 0x4040, 0x40a1, 0x8bad, 0xf77d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf7be, 0xc5b7, 0x59a6, 0x4841, 0x4040, 0x4040, 0x4040, 0x4040, 0x4060, 0x4080, 0x50e1, 0x5101, 0x5101, 0x5101, 0x5101, 0x5101, 0x5101, 0x5101, 0x5101, 0x58e1, 0x58c1, 0x58c1, 0x50c0, 0x50c1, 0x50c1, 0x50c1, 0x50c0, 0x50c0, 0x50e1, 0x48c0, 0x4060, 0x4040, 0x4040, 0x4040, 0x4060, 0x3840, 0x3881, 0x6a69, 0xd658, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf7df, 0xf79d, 0xad13, 0x4924, 0x4041, 0x4040, 0x4040, 0x4040, 0x4040, 0x48a1, 0x82c5, 0xb465, 0xbc83, 0xbc83, 0xbc83, 0xc483, 0xc483, 0xc483, 0xc444, 0xbbc3, 0xbb84, 0xbb84, 0xbb84, 0xbb84, 0xbb63, 0xbb63, 0xbb64, 0xbb65, 0xab26, 0x71c3, 0x4060, 0x4040, 0x4040, 0x4040, 0x4060, 0x3860, 0x51a6, 0xc5f7, 0xf7be, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79d, 0xacf3, 0x5103, 0x4040, 0x4060, 0x4060, 0x4040, 0x4021, 0x5941, 0xac03, 0xe604, 0xf642, 0xf641, 0xf641, 0xfe41, 0xf622, 0xf583, 0xed02, 0xeca3, 0xecc3, 0xece4, 0xecc4, 0xecc3, 0xecc3, 0xeca4, 0xdc45, 0x9a83, 0x58c1, 0x4060, 0x4060, 0x4060, 0x4860, 0x4060, 0x4965, 0xb575, 0xf7df, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7df, 0xf79d, 0xa4b2, 0x5165, 0x4060, 0x4060, 0x4040, 0x4041, 0x4040, 0x5100, 0x9322, 0xd543, 0xee22, 0xf641, 0xfe21, 0xf5a2, 0xed03, 0xecc2, 0xecc3, 0xf4c4, 0xeca3, 0xecc3, 0xf4c3, 0xe484, 0xc3c5, 0x8202, 0x5880, 0x4840, 0x4080, 0x3860, 0x4060, 0x4861, 0x59a6, 0xb513, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf7de, 0xef7d, 0xacd3, 0x4965, 0x4061, 0x4040, 0x4040, 0x4040, 0x4061, 0x48c1, 0x69e1, 0xabe3, 0xdd64, 0xf584, 0xf502, 0xf4a3, 0xeca3, 0xecc3, 0xecc3, 0xecc4, 0xeca5, 0xd405, 0x9aa3, 0x6121, 0x4880, 0x4060, 0x4040, 0x4060, 0x4040, 0x4081, 0x6228, 0xb554, 0xf79d, 0xf7de, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf79e, 0xbdd6, 0x6a69, 0x4081, 0x4060, 0x4080, 0x4060, 0x4060, 0x4061, 0x50c0, 0x7a02, 0xb384, 0xe465, 0xf4a5, 0xf4a4, 0xeca3, 0xe4c4, 0xd465, 0xa304, 0x6981, 0x48a1, 0x4841, 0x4060, 0x4060, 0x4080, 0x4060, 0x4881, 0x6aaa, 0xd699, 0xf7de, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf7ff, 0xd69a, 0x72ab, 0x48c2, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x50c0, 0x79c1, 0xab23, 0xd445, 0xd405, 0xaae3, 0x71a1, 0x4880, 0x3860, 0x4060, 0x4060, 0x4040, 0x4060, 0x4061, 0x4903, 0x7b2c, 0xdeba, 0xf7df, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf7df, 0xf7de, 0xdeba, 0x940f, 0x5986, 0x4081, 0x4060, 0x4060, 0x4060, 0x4060, 0x4060, 0x4860, 0x50a0, 0x6961, 0x6141, 0x48a1, 0x4040, 0x4040, 0x4060, 0x4060, 0x4060, 0x4060, 0x40a1, 0x5a07, 0xa4b2, 0xe71b, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xffdf, 0xf77d, 0xc5f7, 0x72ca, 0x48c2, 0x4060, 0x4860, 0x4840, 0x4040, 0x4820, 0x4841, 0x4060, 0x4040, 0x3860, 0x4080, 0x4060, 0x4060, 0x4040, 0x4081, 0x4103, 0x838d, 0xd679, 0xf7be, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef3c, 0xa4d2, 0x51a5, 0x48c1, 0x4040, 0x4860, 0x4860, 0x4060, 0x4060, 0x4040, 0x4060, 0x4080, 0x4061, 0x4081, 0x40c2, 0x6268, 0xb575, 0xef7d, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xf79e, 0xde9a, 0x9430, 0x6207, 0x48c2, 0x4080, 0x4080, 0x4060, 0x4060, 0x4060, 0x4080, 0x4903, 0x6a69, 0x9c71, 0xdeda, 0xf7de, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xffdf, 0xf79e, 0xd69a, 0xacd3, 0x72ca, 0x4923, 0x3881, 0x4081, 0x4924, 0x7b0c, 0xb534, 0xdedb, 0xf79e, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79d, 0xc5b6, 0x7b8d, 0x9430, 0xce38, 0xef7d, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xf7be, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff
};
void setup() {
tft.init();
tft.fillScreen(TFT_WHITE);
tft.setSwapBytes(true);
int16_t x = (tft.width()/2) - (LOGO_WIDTH / 2); // Center horizontally
int16_t y = (tft.height()/2) - (LOGO_HEIGHT / 2); // Center vertically
tft.pushImage(x, y, LOGO_WIDTH, LOGO_HEIGHT, logo); // Draw a small bitmap
}
void loop() {
// Do nothing
}
Explanation:
pushImage()
displays raw bitmap data stored as a 16-bit RGB565 array.
Drawing Animations
Moving Circle on an ILI9341 TFT Display.

/**
* Simple Animation Example: Moving Circle on an ILI9341 TFT Display
*
*
* Author: Renzo Mischianti <mischianti.org>
*/
#define USER_SETUP_LOADED //for not loading internal USER_SETTINGS
#include "User_Setup.h"
#include <TFT_eSPI.h>
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI(); // Invoke library
void setup() {
tft.init();
}
void loop() {
for (int x = 0; x < tft.width(); x += 10) {
tft.fillScreen(TFT_BLACK);
tft.fillCircle(x, tft.height() / 2, 20, TFT_BLUE);
delay(100); // Pause for smooth animation
}
}
Explanation:
- Use a loop to create simple animations by updating the display.
Smooth Color Gradients
/**
* Create a dynamic gradient background on an ILI9341 TFT display using the TFT_eSPI library
*
*
* Author: Renzo Mischianti <mischianti.org>
*/
#define USER_SETUP_LOADED //for not loading internal USER_SETTINGS
#include "User_Setup.h"
#include <TFT_eSPI.h>
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI(); // Invoke library
void setup() {
tft.init();
}
void loop() {
for (int i = 0; i < 256; i++) {
tft.fillScreen(tft.color565(i, 0, 255 - i)); // Gradually change colors
delay(10);
}
}
Explanation:
- Use
color565()
to generate custom colors.
Scrolling Text
void setup() {
tft.init();
tft.fillScreen(TFT_BLACK);
tft.setTextSize(2);
}
void loop() {
tft.fillScreen(TFT_BLACK);
tft.drawString("Scrolling Text!", 10, 10);
tft.scroll(0, -10); // Scroll text upwards
delay(200);
}
Explanation:
- Scrolling effects are implemented with
scroll()
.
Troubleshooting
If the display doesn’t work:
- Double-check all connections, especially CS, DC, and RST pins.
- Ensure the ILI9341 is powered correctly (3.3V or 5V).
- Reduce the SPI frequency for testing:cppCopia codice
#define SPI_FREQUENCY 20000000 // Reduce to 20 MHz
- Verify the
User_Setup.h
file matches your wiring.
Next Steps
Now that the display works, the next tutorial will cover:
- Touchscreen integration.
- Reading touch input using the controller.
With this tutorial, you’re ready to start using your ILI9341 with the TFT_eSPI library. Customize the code to suit your project needs, from interactive games to simple graphical interfaces!
Thanks
- ESP32: pinout, specs and Arduino IDE configuration
- ESP32: integrated SPIFFS Filesystem
- ESP32: manage multiple Serial and logging
- ESP32 practical power saving
- ESP32 practical power saving: manage WiFi and CPU
- ESP32 practical power saving: modem and light sleep
- ESP32 practical power saving: deep sleep and hibernation
- ESP32 practical power saving: preserve data, timer and touch wake up
- ESP32 practical power saving: external and ULP wake up
- ESP32 practical power saving: UART and GPIO wake up
- ESP32: integrated LittleFS FileSystem
- ESP32: integrated FFat (Fat/exFAT) FileSystem
- ESP32-wroom-32
- ESP32-CAM
- ESP32: use ethernet w5500 with plain (HTTP) and SSL (HTTPS)
- ESP32: use ethernet enc28j60 with plain (HTTP) and SSL (HTTPS)
- How to use SD card with esp32
- esp32 and esp8266: FAT filesystem on external SPI flash memory
- Firmware and OTA update management
- Firmware management
- OTA update with Arduino IDE
- OTA update with Web Browser
- Self OTA uptate from HTTP server
- Non-standard Firmware update
- Integrating LAN8720 with ESP32 for Ethernet Connectivity with plain (HTTP) and SSL (HTTPS)
- Connecting the EByte E70 to ESP32 c3/s3 devices and a simple sketch example
- ESP32-C3: pinout, specs and Arduino IDE configuration
- Integrating W5500 with ESP32 Using Core 3: Native Ethernet Protocol Support with SSL and Other Features
- Integrating LAN8720 with ESP32 Using Core 3: Native Ethernet Protocol Support with SSL and Other Features
- Dallas ds18b20:
- Guide to I2C on ESP32: Communication with Heterogeneous 5V and 3.3V Devices, Additional Interface Management and Scanner
- Display
- Complete Guide: Using an ILI9341 Display with the TFT_eSPI Library
- Integrating Touch Screen Functionality with Your ILI9341 TFT Display
- Complete Guide: Using an ILI9341 Display with the TFT_eSPI Library
- Integrating Touch Screen Functionality with Your ILI9341 TFT Display