CH9329 でPS/2キーボードをUSBキーボードとして現役復帰

>

PS/2Keyboard_CH9329
<前回、CH9329をモジュール化して、シリアル入力からUSBのキー入力ができるようになったので、これにPS/2キーボードをつないでUSBキーボードとして使えるようにしてみました。
PS/2キーボードのデータの読み取りは、こちらのサイトを参考にさせていただき、ほとんどそのまま使わせて頂いています。
説明も詳しく、キーボードのLEDも点灯できて、とても助かりました。
okiraku-camera.tokyo
接続は、PS/2キーボード→5v/3.3vレベル変換→ATOM Lite→CH9329→USB/PC の順で、
間にATOM Liteをかましていますが、オーバースペックだし、3.3Vなので、5Vからの変換も必要なので、ゆくゆくは、PICかAVRのようなマイコンに置き換えようと思っています。5Vのマイコンを使えば、レベル変換もいらなくなりますしね。
接続のピンは、以下のような感じ。

モジュール間の接続ピン

レベル変換は、FETで以下のような回路を組んでいます。 
レベル変換も、CH9329も安いモジュールが沢山出ているから、それらを利用してもいいですね。

レベル変換

ATOM Liteのスケッチは、前述のPS/2のキーコードを受け取り、受け取ったデータに応じて該当するコードに変換してシリアルでCH9329に送るだけです。
一応、手持ちのキーボードでは、全部のキーコードがカバーできていると思います。


スペルミスは、ご愛敬ということで…。

以下、ATOM Liteのスケッチ。(余計なコードやら、エラーがあるかもしれませんがとりあえず、こんな感じ…。)
お決まりのお約束ですが、追試される方は、自己責任で…。よろしく

#define TXPIN       19
#define RXPIN       22
#define PS2_DATA    21
#define PS2_CLK     25
#define CLK_INT     25
#define LED         23

void show_error(int ms) {
  digitalWrite(LED, 1);
  delay(ms);
  digitalWrite(LED, 0);
  delay(ms);
}

static const uint8_t KBD_BUFFER_SIZE = 12;
volatile uint8_t kbd_in, kbd_out;
uint8_t kbd_buffer[KBD_BUFFER_SIZE];  //  fifo key buffer

void clear_buffer() {
  cli();
  kbd_in = kbd_out = 0;
  sei();
}

bool put_buffer(uint8_t s) {
  uint8_t rx = kbd_in + 1;
  if (rx >= KBD_BUFFER_SIZE) rx = 0;
  if (rx == kbd_out) return false; // buffer is full.
  kbd_buffer[kbd_in] = s;
  kbd_in = rx;
  return true;
}

uint8_t get_buffer() {
  if (kbd_in == kbd_out) return 0;  // empty.
  uint8_t s = kbd_buffer[kbd_out];
  cli();
  if (++kbd_out >= KBD_BUFFER_SIZE) kbd_out = 0;
  sei();
  return s;
}

uint8_t cmd_to_send;

typedef enum { None = 0, Idle, Receiving, WaitForStart, Sending }  bus_state_t;
volatile bus_state_t bus_state;

void  clk_interrupt() {
  volatile static uint8_t data = 0;
  volatile static uint8_t clocks = 0;
  volatile static uint8_t par = 0;
  switch (bus_state) {
    case Idle:
      clocks = 0;
      data = 0;
      digitalWrite(LED, 1);
      bus_state = Receiving; // found Start bit
      break;
    case Receiving:
      clocks++;
      if (clocks < 9) {
        data = data >> 1 | (digitalRead(PS2_DATA) ? 0x80 : 0);
        if (clocks == 8)   // パリティとストップビットは無視。
          put_buffer(data); // とりあえずバッファフルは見ない。
      } else if (clocks == 10) {    // STOP bit.
        bus_state = Idle;
        digitalWrite(LED, 0);
      }
      break;
    case WaitForStart:   // Start bit will be fetched. (DATA is LOW)
      par = 0;
      clocks = 0;
      data = cmd_to_send;
      bus_state = Sending;
      break;
    case Sending:
      clocks++;
      if (clocks == 9)  // parity
        digitalWrite(PS2_DATA, par & 1 ? LOW : HIGH);
      else if (clocks == 10)  // STOP bit timing.
        pinMode(PS2_DATA, INPUT); // release DATA
      else if (clocks == 11)  // ACK bit from keyboard.
        bus_state = Idle;
      else if (clocks > 0 && clocks < 9) {  // send data bits.
        if (data & 1) {
          digitalWrite(PS2_DATA, HIGH);
          par++;
        } else
          digitalWrite(PS2_DATA, LOW);
        data = data >> 1;
      }
      break;
  }
}

bool send_command(uint8_t cmd, uint8_t resp_count = 1, uint8_t* resp = 0) {
  int timeout = 15;
  unsigned long start = millis();
  while (bus_state != Idle && millis() - start < timeout)
    delayMicroseconds(200);
  clear_buffer();
  cmd_to_send = cmd;
  bus_state = WaitForStart;
  pinMode(PS2_CLK, OUTPUT);  //
  digitalWrite(PS2_CLK, 0);  // drive LOW.
  delayMicroseconds(100);    // at least 100usec.
  pinMode(PS2_DATA, OUTPUT);  // drive LOW (START bit)
  digitalWrite(PS2_DATA , 0);
  delayMicroseconds(50);
  pinMode(PS2_CLK, INPUT);  // release clock. CLK goes to HIGH.

  start = millis();
  while (bus_state != Idle && millis() - start < timeout)
    delayMicroseconds(100);

  uint8_t ret = 0;
  for (int8_t i = 0; i < resp_count; i++) {
    char tmp[20];
    start = millis();
    if (cmd == 0xff && i == 1)
      timeout = 500;  // for Basic Assuarance Test.
    while ((ret = get_buffer()) == 0 && millis() - start < timeout) // タイムアウトチェックする
      ;
    if (resp)
      resp[i] = ret;
    sprintf(tmp, "cmd=%02X, resp=%02X", cmd, ret);
    Serial.println(tmp);
  }
  return (ret == 0xfa);
}

bool kbd_reset() {
  uint8_t tmp[2];
  send_command(0xff, 2, tmp); // reset keyboard.
  if (tmp[0] == 0xfa && tmp[1] == 0xaa)
    return true;
  return false;
}

#define PS2_LED_CAPSLOCK  4
#define PS2_LED_NUMLOCK   2
#define PS2_LED_SCRLOCK   1

uint8_t kbd_led_state = 0;
bool kbd_led(uint8_t led) {
  bool f = send_command(0xed); // LED
  if (f) {
    kbd_led_state = led;
    send_command(led); // LED parameter.
  } else
    kbd_reset();
  return f;
}

void toggle_led(uint8_t led) {
  uint8_t new_led = kbd_led_state;
  if (new_led & led)  new_led &= ~led;
  else                new_led |= led;
  kbd_led(new_led);
}

const uint8_t pattern[] = {0, 2, 4, 1, 0, 1, 4, 2, 0, 2, 6, 7, 5, 1, 0, 7};
void led_demo() {
  kbd_reset();
  delay(50);
  for (int j = 0; j < 5; j++) {
    for (uint8_t i = 0; i < sizeof(pattern); i++) {
      kbd_led(pattern[i] & 7);
      delay(200);
    }
  }
  kbd_led(0);
}

void sendKeyPacket(uint8_t ckey, uint8_t ukey) {
  uint8_t sum      = 0x10C + ckey + ukey;
  uint8_t packet[14] = {0x57, 0xAB, 0x00, 0x02, 0x08, ckey, 0x00,
              ukey, 0x00, 0x00, 0x00, 0x00, 0x00, sum};
  for(int i = 0; i < 14; i++) {
    Serial2.write(packet[i]);
  }
}

void press1key(uint8_t ckey, uint8_t ukey) {
  sendKeyPacket(ckey, ukey);
  //  __delay_ms(1);
  sendKeyPacket(0x00, 0x00);
}

void setup() {
  Serial.begin(115200);
  delay(100);
  Serial.println("CH9329_PS2_Kyboard converter");
  Serial2.begin(9600, SERIAL_8N1, RXPIN, TXPIN);
  pinMode(LED, OUTPUT);
  digitalWrite(LED, 0);
  pinMode(PS2_DATA, INPUT);
  pinMode(PS2_CLK, INPUT);
  attachInterrupt(CLK_INT, clk_interrupt, FALLING);
  delay(50);
  if (!kbd_reset())
    show_error(300);
  toggle_led(PS2_LED_NUMLOCK);
}

  uint8_t pckey = 0x00;

void loop() {
  uint8_t scan_code = get_buffer();
  static bool e0_prefix = false;
  static bool f0_prefix = false;
  static bool e1_prefix = false;
  
  if (scan_code) {
    char tmp[20];
    sprintf(tmp, "%02X ", scan_code);
    Serial.println(tmp);
    switch(scan_code) {
      case 0x1C :                 //a
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x04);
        break;
      case 0x32 :                 //b
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x05);
        break;
      case 0x21 :                 //c
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x06);
        break;
      case 0x23 :                 //d
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x07);
        break;
      case 0x24 :                 //e
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x08);
        break;
      case 0x2B :                 //f
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x09);
        break;
      case 0x34 :                 //g
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x0A);
        break;
      case 0x33 :                 //h
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x0B);
        break;
      case 0x43 :                 //i
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x0C);
        break;
      case 0x3B :                 //j
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x0D);
        break;
      case 0x42 :                 //k
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x0E);
        break;
      case 0x4B :                 //l
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x0F);
        break;
      case 0x3A :                 //m
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x10);
        break;
      case 0x31 :                 //n
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x11);
        break;
      case 0x44 :                 //o
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x12);
        break;
      case 0x4D :                 //p
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x13);
        break;
      case 0x15 :                 //q
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x14);
        break;
      case 0x2D :                 //r
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x15);
        break;
      case 0x1B :                 //s
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x16);
        break;
      case 0x2C :                 //t
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x17);
        break;
      case 0x3C :                 //u
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x18);
        break;
      case 0x2A :                 //v
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x19);
        break;
      case 0x1D :                 //w
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x1A);
        break;
      case 0x22 :                 //x
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x1B);
        break;
      case 0x35 :                 //y
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x1C);
        break;
      case 0x1A :                 //z
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x1D);
        break;
      case 0x16 :                 //1
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x1E);
        break;
      case 0x1E :                 //2
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x1F);
        break;
      case 0x26 :                 //3
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x20);
        break;
      case 0x25 :                 //4
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x21);
        break;
      case 0x2E :                 //5
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x22);
        break;
      case 0x36 :                 //6
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x23);
        break;
      case 0x3D :                 //7
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x24);
        break;
      case 0x3E :                 //8
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x25);
        break;
      case 0x46 :                 //9
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x26);
        break;
      case 0x45 :                 //0
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x27);
        break;
      case 0x4E :                 //-
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x2D);
        break;
      case 0x55 :                 //^
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x2E);
        break;
      case 0x6A :                 // back slash
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x89);
        break;
     case 0x54 :                 //@
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x2F);
        break;
     case 0x5B :                 //[
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x30);
        break;
     case 0x4C :                 //;
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x33);
        break;
     case 0x52 :                 //:
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x34);
        break;
     case 0x5D :                 //]
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x31);
        break;
     case 0x41 :                 //,
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x36);
        break;
     case 0x49 :                 //.
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x37);
        break;
     case 0x4A :                 ///
        if(!f0_prefix) { 
          if(!e0_prefix)
            sendKeyPacket(pckey, 0x38);
           else
            sendKeyPacket(pckey, 0x54);
        }
        break;
     case 0x51 :                 // back slash
        if(!f0_prefix) 
          sendKeyPacket(pckey, 0x87);
        break;
     case 0x29 :                 //Space
        if(!f0_prefix) 
          sendKeyPacket(pckey, 0x2C);
        break;
      case 0x76 :                 //ESC
        if(!f0_prefix) 
          sendKeyPacket(pckey, 0x29);
        break;
// Function Key
     case 0x05 :                 //F1
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x3A);
        break;
     case 0x06 :                 //F2
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x3B);
        break;
     case 0x04 :                 //F3
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x3C);
        break;
     case 0x0C :                 //F4
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x3D);
        break;
     case 0x03 :                 //F5
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x3E);
        break;
     case 0x0B :                 //F6
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x3F);
        break;
     case 0x83 :                 //F7
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x40);
        break;
     case 0x0A :                 //F8
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x41);
        break;
     case 0x01 :                 //F9
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x42);
        break;
     case 0x09 :                 //F10
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x43);
        break;
     case 0x78 :                 //F11
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x44);
        break;
     case 0x07 :                 //F12
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x45);
        break;

// Ten Key
     case 0x70 :                 //0
        if(!f0_prefix) {
          if(!e0_prefix)
            sendKeyPacket(pckey, 0x62);
          else 
            sendKeyPacket(pckey, 0x49); //Insert
        }
        break;
     case 0x69 :                 //1
        if(!f0_prefix) {
          if(!e0_prefix)
            sendKeyPacket(pckey, 0x59);
          else 
            sendKeyPacket(pckey, 0x4D);   //End
        }
        break;
     case 0x72 :                 //2
        if(!f0_prefix) {
          if(!e0_prefix)
            sendKeyPacket(pckey, 0x5A);
          else 
            sendKeyPacket(pckey, 0x51);   //Down
        }
        break;
     case 0x7A :                 //3
        if(!f0_prefix) {
          if(!e0_prefix)
            sendKeyPacket(pckey, 0x5B);
          else 
            sendKeyPacket(pckey, 0x4E);   //PgDn
        }
        break;
     case 0x6B :                 //4
        if(!f0_prefix) {
          if(!e0_prefix)
            sendKeyPacket(pckey, 0x5C);
          else 
            sendKeyPacket(pckey, 0x50);   //Left
        }
        break;
     case 0x73 :                 //5
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x5D);
        break;
     case 0x74 :                 //6
        if(!f0_prefix) {
          if(!e0_prefix)
            sendKeyPacket(pckey, 0x5E);
          else 
            sendKeyPacket(pckey, 0x4F);   //Right
        }
       break;
     case 0x6C :                 //7
        if(!f0_prefix) {
          if(!e0_prefix)
            sendKeyPacket(pckey, 0x5F);
          else 
            sendKeyPacket(pckey, 0x4A);   //Home
        }
        break;
     case 0x75 :                 //8
        if(!f0_prefix) {
          if(!e0_prefix)
            sendKeyPacket(pckey, 0x60);
          else 
            sendKeyPacket(pckey, 0x52);   //Up
        }
        break;
     case 0x7D :                 //9
        if(!f0_prefix) {
          if(!e0_prefix)
            sendKeyPacket(pckey, 0x61);
          else 
            sendKeyPacket(pckey, 0x4B);   //PgUp
        }
        break;
     case 0x71 :                 //.
        if(!f0_prefix) {
          if(!e0_prefix) 
            sendKeyPacket(pckey, 0x63);
          else 
            sendKeyPacket(pckey, 0x4C);   //Delete
        }
        break;
     case 0x7C :                 //*
        if(!f0_prefix) {
          if(!e0_prefix) 
            sendKeyPacket(pckey, 0x55);
          else 
            sendKeyPacket(pckey, 0x46);   //Prt Sc
        }
        break;
     case 0x7B :                 //-
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x56);
        break;
     case 0x79 :                 //+
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x57);
        break;
     case 0x77 :                 //NumLk
        if(!f0_prefix && !e1_prefix) 
        sendKeyPacket(pckey, 0x53);
        break;
     case 0x7E :                 //Scr Lk
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x47);
        break;

        
//other Key
     case 0x58 :                 //CAPS
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x39);
        break;
      case 0x0E :                //半角全角
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x35);
        break;
      case 0x0D :                 //Tab
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x2B);
        break;
      case 0x5A :                //Enter
        if(!f0_prefix) {
          if(!e0_prefix)
            sendKeyPacket(pckey, 0x28);
          else
            sendKeyPacket(pckey, 0x58);
        }
        break;
      case 0x66 :                //BackSpace
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x2A);
        break;
      case 0x1F :                //L_Win
        if(!f0_prefix) {
          if(e0_prefix) 
            sendKeyPacket(pckey, 0xE3);
            pckey = pckey | 0x08;   //L_Win
        }
        else {
          pckey = 0;
        }
        break;
      case 0x27 :                //R_Win
        if(!f0_prefix) {
          if(e0_prefix) 
            sendKeyPacket(pckey, 0xE7);
            pckey = pckey | 0x08;   
        }
        else {
          pckey = 0;
        }
        break;
      case 0x67 :                 //無変換
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x8B);
        break;
      case 0x64 :                 //変換
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x8A);
        break;
      case 0x13 :                 //カタひらローマ
        if(!f0_prefix) 
        sendKeyPacket(pckey, 0x88);
        break;
      case 0x2F :                //Application
        if(!f0_prefix) {
          if(e0_prefix) 
            sendKeyPacket(pckey, 0x65);
        }
        break;
      case 0xE1 :                //Pause
        if(!f0_prefix) {
            sendKeyPacket(pckey, 0x48);
        }
        break;
 
        
//Special Key
      case 0x12 :                 //L_shift
        if(!f0_prefix) {
          if(!e0_prefix)
            pckey = pckey | 0x02;
        }
         else
          pckey = 0;
        break;
      case 0x59 :                 //R_Shift
        if(!f0_prefix) 
        pckey = pckey | 0x20;
         else
          pckey = 0;
        break;
      case 0x14 :   
        if(!e1_prefix){              
        if(!f0_prefix) {
          if(!e0_prefix)
            pckey = pckey | 0x01;   //L_Ctrl
          else
            pckey = pckey | 0x10;   //R_Ctrl
        }
        else {
          pckey = 0;
        }
        }
        break;  
      case 0x11 :                 
        if(!f0_prefix) {
          if(!e0_prefix)
            pckey = pckey | 0x04;   //L_Alt
          else
            pckey = pckey | 0x40;   //R_Alt
        }
        else {
          pckey = 0;
        }
        break;  
         
     
     case 0xf0 :               //Key Release
        f0_prefix = true;
        sendKeyPacket(0x00, 0x00);
        break;

    }
   
    if (scan_code == 0xf0)
      f0_prefix = true;
    else if (scan_code == 0xe0)
      e0_prefix = true;
    else if (scan_code == 0xe1){
      e1_prefix = true;
      uint8_t scan_code = get_buffer();
      if (scan_code) {
        sprintf(tmp, ": %02X : ", scan_code);
        Serial.println(tmp);
      }
    }
    else if (!f0_prefix && !e0_prefix && !e1_prefix) { // LED.
      if (scan_code == 0x77 )  // Num Lock
        toggle_led(PS2_LED_NUMLOCK);
      else if (scan_code == 0x58) // CAPS
        toggle_led(PS2_LED_CAPSLOCK);
      else if (scan_code == 0x7E) // SCROLL
        toggle_led(PS2_LED_SCRLOCK);
      //else if (scan_code == 0x77) // Num Lock
        //led_demo();
    }
    if (scan_code != 0xe0 && scan_code != 0xf0 && scan_code != 0xe1) {
      if (e0_prefix) e0_prefix = false;
      if (f0_prefix) f0_prefix = false;
      if (e1_prefix && scan_code == 0x77) e1_prefix = false;
    }
  }
}

USB-シリアル変換IC CH9329でキーボードシミュレーション

CH9329

最近、シリアル‐USB変換ICのCH9329というICが出てて、シリアルからキーボード入力ができるようなのでちょっと試してみました。
回路は、データシートそのままで、他のサイトにもたくさん出てるのと同じものです。

CH9329_Sch

とりあえず、これにM5 ATOM Lite からシリアルで”Hello World” と、送ってみた。


ちなみに、このときうっかりCH9329から出てる3.3VにATOM Liteをつないでしまったけど、たぶんそんなに電流流せないと思うので、皆さんは、そんな無謀なことはやらないようにご注意を!!
ATOM Liteの19番ピンとCH9329のRx、22ピンとTxを接続します。
メッセージを送るだけなので、22ピンはつながなくても良いかも…。
ATOM Liteのスケッチは、以下のようなもの、いたってシンプルです。

#define TXPIN  (19)
#define RXPIN  (22)

void setup() {
  Serial2.begin(9600, SERIAL_8N1, RXPIN, TXPIN);
}

void loop() {
  M5.update();
  if (M5.Btn.wasPressed()) {
  Serial2.println("Hello World!");  
  }
  delay(200);
}

PC側のプログラムを作らなくても簡単にエクセルとかにデータを放り込めるので、温度とかをロギングしてエクセルのセルに入力して、キーボードマクロみたいにグラフまで自動でできちゃいそうですね。

M5Core2でカチカチと鳴る電子メトロノームを作ってみた

ギターの練習をするのにメトロノームが欲しくなったので、M5StackCore2 で作ることにしました。

Metronome

電子メトロノームというとピコピコという電子音のものが多いのですが、もうちょっとレトロなカチカチとクリック音のするものにしたかったので、WAVファイルからデータを作成して鳴らしてみました。
ところが、この音の再生に時間がかかりテンポがずれてしまい、1ミリ秒の割り込みを作るところまでは、すんなりと行ったのだけど、その後の処理の時間の分の調整が意外と厄介でした。
また、Beatの頭のチーンという音も、余韻を響かせると次の音と重なってしまい、短く切り詰めると、”ガチン”といった不本意な音になってしまったけど、まぁ、実用には差し支えなさそうなのでこれで行くことにしました。
機能としては、Beatの調整とSpeedの調整があり、Beatの表示部分をタッチするとBeatの頭でチーン(ガチン?)と鳴ります。
下部にボタンが3つあり、左からSoundボタン、Startボタン、Clickボタンとなっており、Startボタンをタッチするとメトロノームが開始し、もう一度タッチすると停止します。
Soundボタンは、タッチするとクリック音がし、もう一度タッチすると音が停止します。
Clickボタンは、タッチしたときにクリック音が鳴ります。 マニュアルで音を鳴らしたいときに使えます。…特に用途は思いつきませんが一応…。
プログラム的には、テンポの調整にSPEEDADJ というマクロ変数とSOUNDADJというマクロ変数で調整しています。
音の発音に時間がかかるようで、SoundのONとOFFでタイミングが異なるので2種類の調整時間を用意しています。調整するときは、SoundをOFFにして、先にSPEEDADJでテンポをあわせてから、SoundをONにして、SOUNDADJでテンポ合わせれば良いと思います。
一応33番のピンに出力できるようにしてあるので、デジタルアウトの部分のコメントアウトしているところを有効にして、オシロとかで見ながら調整すれば精度が上がると思いますが、私は、目分量でやっています。
WAVデータの再生は、以前の記事
M5Stack Core2でWAVデータを再生してみる。 - 満腹居士 七転八倒の記
を参照いただければ良いかと思います。

以下、プログラム

#include <M5Core2.h>
#include <driver/i2s.h>

#define LGFX_USE_V1
#include <LovyanGFX.hpp>
#include <LGFX_AUTODETECT.hpp>

#define TestPin 33    //Digital out pin for interval check or LED
#define SPEEDADJ 5    // for interval adjust without sound
#define SOUNDADJ 60   // for interval adjust with sound

static LGFX lcd;
static LGFX_Sprite spriteBY(&lcd);    // sprite for Big Yellow Dot
static LGFX_Sprite spriteSR(&lcd);    // sprite for Small Red Dot
static LGFX_Sprite spriteBB(&lcd);    // sprite for Big Blue Dot

//HotZone P_Btn(80,130,160,210);
ButtonColors cl_on  = {CYAN, WHITE, WHITE};   // Color on tap (Back color, String, Border)
ButtonColors cl_off = {DARKCYAN, WHITE, WHITE};   // Color released (Back color, String, Border)

Button myBtn_BL( 10,120, 50, 80);   // Beat Down Button
Button myBtn_BR( 60,120, 50, 80);   // Beat Up Button
Button myBtn_SL(210,120, 50, 80);   // Speed Down Button
Button myBtn_SR(260,120, 50, 80);   // Speed Up Button
Button myBtn_BE( 10,50,100,50);     // Beat Enable Button

Button btn_start(110,200, 100,40, false , "Start", cl_off, cl_on);   // Start Button
Button btn_sound(0,200, 100,40, false , "Sound", cl_off, cl_on);     // Sound Button
Button btn_click(220,200, 100,40, false , "Click", cl_off, cl_on);   // Click Button

hw_timer_t * timer = NULL;
volatile uint32_t counter = 0;  // for speed
uint8_t counter2 = 0;  // for beat

bool start_fg = false;  // Start flag
bool sound_fg = true;   //sound enable flag
bool beat_en = false;   //beat enable flag
uint16_t speed = 60;    // default Speed
uint8_t beat = 4;       // default beat (1/4)
uint8_t LED = LOW;      // for digital out
uint16_t adjust;        // for Speed adjust

//Sound function ---------------------------------------------------------------
extern const unsigned char   clk[2448];   // for click sound data
extern const unsigned char   cheen[2440]; // for ding sound data

#define CONFIG_I2S_BCK_PIN     12
#define CONFIG_I2S_LRCK_PIN    0
#define CONFIG_I2S_DATA_PIN    2
#define CONFIG_I2S_DATA_IN_PIN 34

#define Speak_I2S_NUMBER I2S_NUM_0
#define SAMPLE_RATE 16000

#define MODE_MIC  0
#define MODE_SPK  1
#define DATA_SIZE 32
bool InitI2SSpeakOrMic(int mode) {  // Init I2S.
  esp_err_t err = ESP_OK;

  i2s_driver_uninstall(Speak_I2S_NUMBER);  // Uninstall the I2S driver.
  i2s_config_t i2s_config = {
    .mode = (i2s_mode_t)(I2S_MODE_MASTER),  // Set the I2S operating mode.
    .sample_rate = SAMPLE_RATE,  // Set the I2S sampling rate.
    .bits_per_sample =
    I2S_BITS_PER_SAMPLE_16BIT,  // Fixed 16-bit stereo MSB.
    .channel_format =
    I2S_CHANNEL_FMT_ONLY_RIGHT,  // Set the channel format.
    .communication_format =
    I2S_COMM_FORMAT_I2S,  // Set the format of the communication.
    .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1,  // Set the interrupt flag.
    .dma_buf_count = 2,        // DMA buffer count.
    .dma_buf_len   = 128,      // DMA buffer length.
  };
  if (mode == MODE_MIC) {
    i2s_config.mode =
      (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX | I2S_MODE_PDM);
  } else {
    i2s_config.mode     = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_TX);
    i2s_config.use_apll = false;  // I2S clock setup.
    i2s_config.tx_desc_auto_clear = true;  // Enables auto-cleanup descriptors for understreams.
  }
  // Install and drive I2S.
  err += i2s_driver_install(Speak_I2S_NUMBER, &i2s_config, 0, NULL);

  i2s_pin_config_t tx_pin_config;

#if (ESP_IDF_VERSION > ESP_IDF_VERSION_VAL(4, 3, 0))
  tx_pin_config.mck_io_num = I2S_PIN_NO_CHANGE;
#endif
  tx_pin_config.bck_io_num = CONFIG_I2S_BCK_PIN;  // Link the BCK to the CONFIG_I2S_BCK_PIN pin.
  tx_pin_config.ws_io_num    = CONFIG_I2S_LRCK_PIN;     //          ...
  tx_pin_config.data_out_num = CONFIG_I2S_DATA_PIN;     //       ...
  tx_pin_config.data_in_num  = CONFIG_I2S_DATA_IN_PIN;  //      ...
  err +=
    i2s_set_pin(Speak_I2S_NUMBER,
                &tx_pin_config);  // Set the I2S pin number.
  err += i2s_set_clk(
           Speak_I2S_NUMBER, SAMPLE_RATE, I2S_BITS_PER_SAMPLE_16BIT,
           I2S_CHANNEL_MONO);  // Set the clock and bitwidth used by I2S Rx and Tx.

  return true;
}

void SpeakInit(void) {
  M5.Axp.SetSpkEnable(true);
  InitI2SSpeakOrMic(MODE_SPK);
}

// Click sound
void Sound(void) { 
  size_t bytes_written = 0;
  i2s_write(Speak_I2S_NUMBER, clk, 2448, &bytes_written,
            portMAX_DELAY);
}

// Ding sound
void Sound2(void) {
  size_t bytes_written = 0;
  i2s_write(Speak_I2S_NUMBER, cheen, 2440, &bytes_written,
            portMAX_DELAY);
}

// end of sound ---------------------------------------------------

// Interrupt fanction (1mSec counter)
void IRAM_ATTR onTimer(){
  counter++;
}

void setup() {
  M5.begin(true, true, true, true);

  pinMode(TestPin, OUTPUT);

  lcd.init();
  lcd.setRotation(1);
  lcd.setBrightness(128);

// Create Sprite for Red, Yellow, Blue Dot
  spriteBY.createSprite(80, 80);
  spriteSR.createSprite(80, 80);
  spriteBB.createSprite(80, 80);
  spriteBY.fillCircle(40, 40, 40,YELLOW);
  spriteSR.fillCircle(40, 40, 10,RED);
  spriteBB.fillCircle(40, 40, 40,BLUE);

 // Timer Interrupt
  timer = timerBegin(0, 80, true);    // timer0(80MHz) / 80 = 1uSec
  timerAttachInterrupt(timer, &onTimer, true);
  timerAlarmWrite(timer, 1000, true); //1mSec
  timerAlarmEnable(timer);
  
  lcd.setFont(&fonts::lgfxJapanGothic_20);

// Display
  lcd.clear();
  M5.Buttons.draw();
  //lcd.drawRect(0,0,319,239,WHITE);
  lcd.fillTriangle(12,140,58,120,58,160,GREEN);
  lcd.fillTriangle(108,140,62,120,62,160,GREEN);
  lcd.fillTriangle(212,140,258,120,258,160,BLUE);
  lcd.fillTriangle(308,140,262,120,262,160,BLUE);
  lcd.setCursor(80,0);
  lcd.setTextSize(1.5);
  lcd.setTextColor(YELLOW);
  lcd.print("METRONOME");
  lcd.setTextSize(1);
  lcd.setTextColor(WHITE);
  lcd.setCursor(30,20);
  lcd.print("Beat");
  lcd.setCursor(220,20);
  lcd.print("Speed");

  lcd.setCursor(20,50);
  lcd.setTextSize(2);
  lcd.printf("1/%d",beat);
  
  lcd.fillRect(10,196,80,2,RED);

  lcd.setCursor(220,50);
  lcd.setTextSize(2);
  lcd.print(speed);

  SpeakInit();

}

void loop() {
  if(sound_fg == true){
  adjust = SPEEDADJ + SOUNDADJ;
  }
  else {
    adjust = SPEEDADJ;
  }
  
  if(counter >= 60000/speed-adjust) {
    /*
      if you would like to digital out for interval check or LED flush, enable the following comment.
      LED=(LED == LOW)? HIGH:LOW;
      digitalWrite(TestPin, LED);
    */
    
    if(counter2 == 0) {               // Start of Beat
      if(start_fg == true){           // Start on
          if (beat_en == true){       // Beat enabled
            if(sound_fg == true) {    // Sound on
              Sound2();
            }
            spriteBB.pushSprite(120,80);
          }
          else {
            if(sound_fg == true) {
              Sound();
            }
            spriteBY.pushSprite(120,80);
          }
      }
    }
    else {
      if(start_fg == true){
        if(sound_fg == true) {
          Sound();     
        }
      spriteBY.pushSprite(120,80);
      }
    }
     counter = 0;
     counter2++;
     if(counter2 > beat-1)counter2=0;
  }

  if((counter > (60000/speed)/2) and  (counter < (60000/speed-SPEEDADJ-10))) {
      spriteSR.pushSprite(120,80); 
      lcd.fillCircle(5,195,2,BLACK); // charm!
  }

  
  M5.update();

  if (btn_start.wasReleased() == 1) {             // Start button push and released
       start_fg=(start_fg == false)?true:false;   // toggle Start ON and OFF
       if(start_fg==true) {                       // If Start ON
        lcd.fillCircle(5,195,2,BLACK);  // charm!
        lcd.fillRect(120,196,80,2,RED);
        counter = 0;
        counter2 = 0;
       }
       else {                                     // If Start OFF
        lcd.fillCircle(5,195,2,BLACK);  // charm!
        lcd.fillRect(120,196,80,2,BLACK);
       }
       
  }
  if (btn_sound.wasReleased() == 1) {             // Sound button push and released
       sound_fg=(sound_fg == false)?true:false;
       if(sound_fg==true) {
        lcd.fillRect(10,196,80,2,RED);
       }
       else {
        lcd.fillRect(10,196,80,2,BLACK);
       }
  }
  if (btn_click.wasReleased() == 1) {
    Sound();
  }
  
  if (myBtn_BL.wasReleased() == 1){             // Beat Down button push and released
    beat--;
    if (beat < 1) beat = 16;
    lcd.setCursor(20,50);
    lcd.setTextSize(2);
    lcd.fillRect(60,50,90,35,BLACK);
    lcd.printf("1/%d",beat);      

  }
  
  if (myBtn_BR.wasReleased() == 1){             // Beat Up button push and released
    beat++;
    if (beat > 16) beat = 1;
    lcd.setCursor(20,50);
    lcd.setTextSize(2);
    lcd.fillRect(60,50,90,35,BLACK);
    lcd.printf("1/%d",beat);      

  }
  
  if (myBtn_SL.wasReleased() == 1){             // Speed Down button push and released
    speed--;
    if (speed < 1) speed = 200;
    lcd.setCursor(220,50);
    lcd.setTextSize(2);
    lcd.fillRect(220,50,90,35,BLACK);
    lcd.printf("%d",speed);

  }
  if (myBtn_SR.wasReleased() == 1){             // Speed Up button push and released
    speed++;
    if (speed > 200) speed = 1;
    lcd.setCursor(220,50);
    lcd.setTextSize(2);
    lcd.fillRect(220,50,90,35,BLACK);
    lcd.printf("%d",speed);

  }


  if (myBtn_BE.wasReleased() == 1){             // Beat enable button push and released
    beat_en =(beat_en == false)?true:false;     // toggle Beat ON and OFF
    if(beat_en == true) {
      lcd.fillRect(30,40,40,2,RED);
    }
    else {
      //lcd.fillCircle(60,230,3,BLACK);
      lcd.fillRect(30,40,40,2,BLACK);
    }

  }

}

クリック音のデータ (Click.C)

const unsigned char clk[2448]={ 
0xFE,0xFF,0xFC,0xFF,0xF9,0xFF,0x01,0x00,0x0A,0x00,0x06,0x00,0x01,0x00,0xFB,0xFF,
0xFF,0xFF,0xF7,0xFF,0xF0,0xFF,0xF8,0xFF,0x03,0x00,0x06,0x00,0x02,0x00,0x07,0x00,
0x03,0x00,0x0D,0x00,0x21,0x00,0x0F,0x00,0x09,0x00,0x05,0x00,0x08,0x00,0x0F,0x00,
0x6E,0xFF,0x83,0xFF,0xC8,0xFF,0xDF,0xFF,0x47,0x00,0xF2,0xFF,0x95,0xFF,0xBB,0x00,
0x6F,0x01,0x6E,0x00,0xCF,0xFF,0xD1,0xFF,0x65,0x00,0x62,0xFF,0x67,0xFF,0xEB,0xFF,
0x72,0x00,0xA5,0x00,0x86,0xFF,0x4B,0x00,0x81,0x00,0x92,0xFF,0xC0,0xFD,0x8A,0xFE,
0xAA,0x00,0x24,0x00,0x4E,0xFF,0x41,0x00,0x95,0x00,0x70,0x01,0x20,0x02,0xD5,0xFF,
0xC0,0xFF,0xCD,0xFF,0x9D,0xFF,0x0F,0xFF,0x39,0xFE,0x69,0xFF,0x03,0x02,0x34,0x02,
0x4F,0xFE,0xAD,0x03,0xEC,0x0D,0xC3,0xF0,0xB6,0xEF,0xCB,0x03,0x49,0x0D,0xF5,0xFD,
0x48,0x0A,0x41,0x1A,0x59,0x02,0x6A,0xD2,0xE5,0xE6,0x5A,0xFE,0x99,0xE6,0xA6,0xE8,
0xE2,0x05,0x91,0x2E,0x01,0x28,0x01,0x0F,0x04,0x13,0x2D,0x15,0x59,0x06,0x62,0xE7,
0x21,0xDF,0x9E,0xE8,0x13,0xEB,0x8C,0xD7,0x15,0xD9,0x23,0xFA,0x99,0x1C,0x00,0x27,
0xB6,0x24,0x33,0x30,0x59,0x2B,0xEF,0x23,0x86,0x00,0xF3,0xE3,0x91,0xDC,0xEB,0xD2,
0xF5,0xCF,0x3D,0xD4,0x34,0xDF,0x0D,0x00,0x69,0x21,0xF2,0x24,0x18,0x2D,0xC7,0x2B,
0xBE,0x25,0x4F,0x17,0x49,0xF3,0x80,0xD8,0x72,0xD5,0xBD,0xD5,0x7D,0xD4,0x03,0xDC,
0x71,0xE5,0x06,0xF9,0x76,0x17,0x36,0x2E,0xEB,0x33,0xE8,0x30,0xD7,0x27,0xAE,0x10,
0x9C,0xFD,0x32,0xED,0xF4,0xE1,0x1B,0xDC,0xE0,0xD6,0xAF,0xE0,0xA9,0xF3,0x08,0x0D,
0x9F,0x1D,0x2D,0x21,0xDE,0x24,0x27,0x2C,0xBB,0x1A,0xC1,0x01,0x8F,0xF2,0xBE,0xE7,
0xCA,0xE0,0xC4,0xD6,0x5C,0xD7,0x46,0xE9,0xB5,0xF7,0x01,0x03,0x4F,0x17,0xC3,0x18,
0x27,0x0F,0x1D,0x16,0xCB,0x16,0x2C,0x00,0x2B,0xEC,0x87,0xE5,0xC9,0xEF,0x51,0xF5,
0x96,0xEC,0xE5,0xEA,0x74,0xFE,0xAF,0x12,0x11,0x1A,0xB5,0x15,0xD8,0x16,0x80,0x18,
0x83,0x11,0x27,0x04,0xD7,0x02,0xD3,0x04,0x36,0xFB,0xFE,0xF5,0xFB,0xFD,0xDE,0xF7,
0x34,0xFC,0x3C,0x03,0x02,0xFE,0x76,0xFC,0xF3,0xFD,0x8B,0x04,0x80,0x02,0xD5,0xF1,
0x4F,0xF0,0x2A,0xFB,0x27,0xF6,0x2F,0xEF,0x43,0xF5,0xD1,0xFD,0x8B,0xFB,0x67,0xF2,
0x4C,0xF5,0x50,0xFF,0x65,0x04,0xCB,0x02,0x50,0x04,0xF3,0x07,0x59,0x0A,0x4C,0x08,
0xD6,0x07,0xCC,0x0B,0xCF,0x05,0x43,0x03,0x8A,0x03,0xE5,0x08,0x10,0x09,0x5F,0x08,
0x85,0x0B,0x09,0x0D,0x17,0x0F,0x30,0x06,0xCE,0x01,0xE7,0x01,0x8C,0xFD,0xB0,0xF7,
0x7A,0xFB,0xF1,0xF4,0x1D,0xED,0x1B,0xF3,0x42,0xF6,0x31,0xF4,0xC9,0xF6,0x68,0xFA,
0x64,0xFF,0xE3,0xFF,0x34,0xFD,0xED,0xFB,0x8E,0xFD,0xCA,0xF7,0xEF,0xF1,0xF7,0xF4,
0xFA,0xF8,0x29,0xF7,0x2E,0xFA,0xFB,0x02,0x1F,0x0B,0xBA,0x0B,0x7D,0x0E,0x0D,0x0C,
0xFB,0x06,0xB1,0x08,0xEF,0x06,0x1A,0xFA,0x80,0xF1,0x33,0xF2,0xFE,0xF4,0xF7,0xF7,
0x8A,0xF9,0x2D,0xFD,0x48,0x04,0xC4,0x0B,0xB1,0x10,0x00,0x0F,0x4F,0x0D,0xA2,0x0D,
0xF5,0x04,0x25,0xFA,0x15,0xF7,0xC0,0xF7,0xC7,0xF3,0xC3,0xEF,0x56,0xF2,0x75,0xF8,
0x48,0x00,0x8B,0x05,0xF0,0x09,0x2C,0x0E,0x7F,0x0D,0x47,0x0A,0x5D,0x06,0xD3,0xFF,
0xE4,0xFB,0xF8,0xF6,0x02,0xF4,0x2F,0xF1,0xEC,0xEE,0x9A,0xF6,0xB1,0xFC,0xE2,0x00,
0x68,0x07,0xDF,0x0E,0xB4,0x13,0xEA,0x12,0xD8,0x0F,0xBF,0x08,0x09,0xFE,0x47,0xF9,
0x9F,0xF4,0x4E,0xF0,0x24,0xF0,0xF0,0xF0,0x37,0xF9,0x6D,0x00,0xC4,0x07,0x77,0x0F,
0x67,0x11,0xF3,0x0F,0x53,0x0A,0x9B,0x04,0xFB,0xFF,0x71,0xF8,0xB4,0xF1,0x10,0xED,
0xB3,0xED,0x4B,0xF2,0x6D,0xF7,0xC3,0x00,0x1B,0x09,0x58,0x0B,0x23,0x0E,0x0D,0x10,
0x21,0x0E,0x10,0x06,0x85,0xFF,0xCE,0xFA,0xC4,0xF4,0x68,0xF0,0x4F,0xF1,0x40,0xF5,
0xD8,0xFA,0xEA,0x00,0x9C,0x08,0x0B,0x0E,0x64,0x0F,0x75,0x0D,0xD7,0x09,0x84,0x05,
0x4B,0x01,0xE6,0xFA,0xAE,0xF6,0x86,0xF4,0xDD,0xF3,0x24,0xF5,0xCF,0xF8,0x7C,0xFE,
0x16,0x03,0x56,0x07,0xF1,0x0A,0xFD,0x09,0x27,0x04,0x2F,0x02,0xD8,0x01,0xCC,0xFF,
0xFD,0xFA,0xC3,0xF8,0xF8,0xF8,0xCC,0xF7,0x45,0xF7,0x83,0xFB,0xFB,0xFE,0x10,0x00,
0xD2,0x02,0x23,0x07,0xC6,0x07,0xD5,0x04,0x8A,0x04,0x22,0x03,0x97,0xFF,0x15,0xFB,
0x28,0xF9,0x83,0xFB,0x4E,0xFC,0xC0,0xFA,0x9F,0xFB,0x33,0x02,0x0E,0x09,0x6E,0x09,
0xF9,0x08,0x37,0x08,0x72,0x06,0x71,0x07,0xE5,0x05,0x07,0x02,0x5F,0xFC,0x94,0xF8,
0x33,0xF9,0xA6,0xF7,0x79,0xF8,0xF6,0xFB,0x0D,0x03,0xEB,0x05,0x61,0x03,0xF9,0x04,
0x0F,0x07,0x29,0x05,0xD6,0xFD,0x37,0xF7,0x0C,0xF7,0xA2,0xF9,0xA9,0xF8,0xE3,0xF6,
0xA4,0xF7,0x1B,0xFE,0x66,0x04,0xB4,0x04,0x0B,0x04,0xCC,0x06,0x32,0x08,0x7C,0x02,
0xDF,0xFB,0xFA,0xFB,0x10,0xFF,0x0F,0xFF,0x34,0xFA,0x9F,0xFA,0xC7,0x00,0xA7,0x04,
0x28,0x07,0x03,0x07,0xBA,0x06,0xF8,0x06,0x93,0x04,0xE7,0xFF,0x2C,0xFE,0x3E,0xFD,
0x19,0xFC,0x3D,0xFA,0xA5,0xFB,0x82,0xFE,0xE1,0x00,0x45,0x03,0x5A,0x05,0x4B,0x05,
0x0A,0x04,0x1B,0x00,0x64,0xFE,0xEB,0xFD,0xEA,0xFB,0x89,0xF9,0xD8,0xF9,0xBA,0xFB,
0xDD,0xFD,0x08,0xFE,0x40,0xFF,0x34,0x01,0x63,0x02,0xF0,0x02,0x22,0x01,0x98,0x00,
0x62,0xFF,0xA6,0xFD,0x82,0xFC,0xF1,0xFC,0x54,0xFF,0xE7,0x02,0x1E,0x03,0x8C,0x02,
0x34,0x04,0x57,0x07,0x26,0x06,0x81,0x02,0xBA,0xFF,0xD3,0xFF,0x51,0x00,0x78,0xFD,
0x21,0xFC,0x67,0x00,0x19,0x04,0xF1,0x03,0xF6,0x01,0xEF,0x00,0xEB,0x01,0x8B,0x00,
0x9C,0xFC,0x84,0xFA,0xBD,0xFA,0xCE,0xFB,0xA3,0xFC,0x99,0xFE,0x76,0xFF,0x4E,0xFF,
0xA2,0x01,0x45,0x02,0x6F,0x01,0xC5,0xFF,0xB3,0xFD,0x53,0xFD,0x52,0xFD,0x1C,0xFC,
0x7B,0xFC,0x7B,0xFF,0x8E,0x02,0xF7,0x01,0xEB,0x01,0x8B,0x03,0xCB,0x05,0xAF,0x06,
0x13,0x03,0xD8,0xFF,0x4E,0xFF,0xA9,0xFD,0x14,0xFD,0x14,0xFD,0xBB,0xFD,0x71,0x00,
0x63,0x03,0x4F,0x03,0x47,0x03,0x04,0x04,0x58,0x03,0x67,0x01,0x61,0xFF,0x76,0xFD,
0xB6,0xFB,0x0A,0xFD,0x14,0xFF,0x98,0xFE,0x96,0xFF,0x7F,0x00,0x83,0x01,0x18,0x01,
0x25,0x00,0xBF,0xFE,0xA8,0xFF,0x68,0x00,0xCE,0xFD,0x67,0xFC,0x49,0xFD,0xB0,0xFD,
0xFC,0xFE,0xAB,0xFF,0x03,0x00,0x14,0x01,0x8C,0x03,0x49,0x02,0xF8,0xFE,0xD7,0xFF,
0xA9,0x00,0xFD,0xFF,0xC9,0xFF,0xFE,0xFE,0x23,0x01,0x17,0x04,0x43,0x04,0x26,0x03,
0x12,0x03,0x48,0x03,0x41,0x02,0x59,0xFF,0x95,0xFB,0x66,0xFC,0xF5,0xFE,0x91,0xFE,
0x6C,0xFE,0xB2,0x00,0x80,0x03,0x1A,0x03,0x63,0x01,0x82,0x00,0x71,0xFF,0xF9,0xFD,
0x89,0xFC,0x35,0xFC,0x14,0xFC,0x6E,0xFC,0xFE,0xFD,0xCD,0xFF,0x9B,0x00,0xE3,0x01,
0xE6,0x02,0x76,0x02,0x9C,0x03,0xA4,0x03,0xBC,0xFF,0xAB,0xFE,0x35,0xFF,0x9A,0xFE,
0x22,0xFD,0xFD,0xFC,0x7A,0xFF,0xE5,0xFF,0x01,0x01,0x0C,0x03,0xA6,0x05,0x17,0x05,
0xA4,0x01,0xEF,0xFF,0x66,0x00,0xFE,0xFE,0x1C,0xFE,0x1C,0xFE,0x3C,0xFD,0x5E,0xFD,
0x59,0xFE,0xC0,0xFE,0x83,0xFF,0xFA,0x01,0x2D,0x03,0xF7,0x01,0x9E,0x01,0x07,0x01,
0x67,0x00,0x65,0xFF,0xF9,0xFD,0xB6,0xFD,0x21,0xFE,0xBF,0xFD,0x08,0xFE,0x90,0xFF,
0x4B,0x01,0xBD,0x01,0xFD,0x01,0xB4,0x01,0x70,0x01,0xF3,0x01,0xE1,0xFF,0x18,0xFF,
0xB4,0x00,0x45,0xFF,0xF0,0xFD,0xBA,0xFD,0x00,0xFF,0xA4,0xFD,0x98,0xFE,0xC9,0x01,
0x36,0x02,0xFC,0x01,0xDC,0x01,0x43,0x02,0x72,0x03,0x5B,0x02,0x09,0x00,0x54,0xFF,
0x6B,0xFF,0x1D,0xFF,0xB1,0xFC,0x30,0xFC,0x7D,0xFD,0xCA,0xFE,0x9D,0xFF,0x2D,0xFF,
0x70,0x01,0xB4,0x03,0x60,0x02,0xF2,0x00,0x48,0x01,0x36,0x01,0x42,0xFE,0x50,0xFB,
0x9D,0xFA,0x01,0xFB,0xAB,0xFC,0x13,0xFE,0xA1,0xFE,0x5E,0x01,0x52,0x04,0x0A,0x06,
0xF3,0x05,0x62,0x04,0xCB,0x03,0x6A,0x02,0xC8,0xFF,0x1D,0xFC,0x48,0xFB,0x44,0xFC,
0x7C,0xFC,0x0A,0xFE,0xBF,0x00,0x99,0x03,0xD2,0x05,0x69,0x05,0x7C,0x05,0x6D,0x05,
0xDC,0x02,0x50,0xFE,0x38,0xFB,0x05,0xFA,0x1A,0xF9,0x5B,0xF8,0x02,0xFB,0x62,0xFE,
0x80,0x00,0x94,0x01,0x70,0x03,0x9B,0x04,0xE1,0x03,0x7F,0x01,0x60,0x00,0xAD,0xFF,
0x9D,0xFD,0x46,0xFC,0x25,0xFC,0xD3,0xFC,0x18,0xFE,0xEC,0xFF,0x72,0x02,0x1A,0x04,
0xAA,0x03,0x46,0x03,0x81,0x03,0x81,0x02,0xFE,0xFF,0xFA,0xFE,0xE0,0xFE,0x29,0xFE,
0x8E,0xFD,0x28,0xFD,0x81,0xFF,0x30,0x02,0x8F,0x02,0xD5,0x00,0x6E,0x00,0x84,0x01,
0xAC,0x00,0x6F,0xFF,0x49,0xFE,0xD7,0xFE,0x1A,0x00,0x0F,0xFF,0x51,0xFE,0x38,0xFF,
0xCC,0xFF,0x40,0x00,0xD8,0xFF,0x0A,0x00,0xF9,0x00,0x07,0x02,0x4A,0x01,0xED,0xFE,
0xDF,0xFE,0x3A,0xFF,0x75,0xFE,0x77,0xFE,0x69,0xFE,0x2D,0xFF,0xD1,0xFF,0x6C,0x01,
0x73,0x01,0x90,0x01,0x77,0x03,0xFF,0x02,0x73,0x01,0x2B,0x00,0xE2,0xFF,0x20,0x00,
0x34,0xFE,0xBB,0xFC,0x81,0xFD,0x7D,0xFE,0x03,0x00,0x76,0x00,0xB4,0x00,0x8D,0x02,
0x8F,0x03,0x2A,0x03,0xBA,0x00,0x57,0xFF,0x3D,0xFF,0xA0,0xFD,0x5D,0xFC,0x71,0xFB,
0x1F,0xFC,0xEB,0xFD,0x89,0xFE,0x75,0xFF,0x7D,0x01,0xE4,0x02,0xFC,0x02,0x89,0x02,
0x5B,0x02,0x7F,0x00,0x1F,0xFF,0x92,0xFF,0x88,0xFE,0x3B,0xFD,0xB2,0xFD,0x6C,0xFF,
0x4D,0x01,0xE9,0x01,0xF9,0x01,0x43,0x01,0x2B,0x02,0x04,0x02,0xD2,0xFF,0x15,0x00,
0x4A,0x00,0x8F,0xFF,0xD9,0xFE,0x86,0xFE,0x44,0xFF,0xD4,0x00,0xB8,0x01,0xA1,0x00,
0xB0,0xFF,0xA0,0x00,0xB6,0xFF,0xC8,0xFE,0xA8,0xFE,0xE9,0xFD,0xA7,0xFE,0xDE,0xFF,
0x61,0x00,0x1D,0x01,0x5B,0x02,0xED,0x01,0x15,0x00,0x4D,0xFF,0x85,0xFE,0x8A,0xFD,
0x27,0xFD,0xC0,0xFD,0x39,0xFE,0x55,0xFE,0xE9,0xFF,0x8D,0x02,0xAB,0x04,0xCA,0x04,
0xFC,0x02,0x32,0x02,0x3D,0x02,0x30,0x00,0xE0,0xFC,0x85,0xFB,0x81,0xFC,0x21,0xFE,
0x2A,0xFF,0xBC,0xFF,0x22,0x02,0x75,0x04,0xEB,0x04,0x9B,0x03,0x9A,0x02,0x75,0x02,
0x1A,0x01,0x53,0xFD,0x16,0xFA,0x4E,0xFA,0xC5,0xFB,0x55,0xFC,0x0D,0xFD,0x5D,0xFF,
0x5B,0x02,0x80,0x04,0xF6,0x04,0x3C,0x04,0xE8,0x02,0x80,0x01,0x8E,0xFF,0xE0,0xFC,
0x0A,0xFB,0xB6,0xFA,0x04,0xFC,0x2D,0xFD,0x00,0xFE,0x2F,0x00,0x8B,0x03,0xFD,0x05,
0xED,0x04,0x38,0x04,0xDA,0x03,0x97,0x01,0x04,0xFF,0x63,0xFD,0xDF,0xFB,0xEC,0xFA,
0xD0,0xFB,0x87,0xFD,0xA2,0xFE,0xF7,0x00,0x8D,0x03,0x3E,0x04,0xEB,0x03,0x4E,0x03,
0x5F,0x02,0x65,0x01,0x70,0xFF,0xD0,0xFC,0x77,0xFB,0xB4,0xFB,0x10,0xFC,0x5D,0xFD,
0x4F,0xFF,0x1D,0x01,0xB0,0x02,0x94,0x03,0xB1,0x03,0x69,0x03,0xE9,0x02,0xF9,0x00,
0x2E,0xFE,0x0B,0xFD,0x2C,0xFD,0xFF,0xFC,0x66,0xFC,0x67,0xFD,0x75,0xFF,0x7B,0x01,
0x37,0x03,0x9F,0x03,0xA5,0x03,0xC4,0x03,0xCB,0x01,0xB9,0xFF,0xC9,0xFE,0x37,0xFE,
0x48,0xFD,0x8D,0xFC,0x17,0xFD,0x68,0xFE,0x10,0x00,0xB7,0x00,0x5D,0x01,0x3C,0x03,
0x5C,0x03,0x13,0x02,0x13,0x01,0xE7,0xFF,0xF7,0xFE,0xEC,0xFD,0x1B,0xFD,0xF6,0xFC,
0x21,0xFE,0x90,0xFF,0x90,0xFF,0x35,0x00,0x89,0x01,0x07,0x02,0x7B,0x02,0x3B,0x02,
0xF2,0x01,0xD2,0x00,0x6F,0xFF,0x5D,0xFF,0xFE,0xFE,0xAF,0xFD,0x82,0xFD,0x7F,0xFE,
0xD3,0xFF,0x83,0xFF,0x63,0xFF,0x7B,0x01,0x2E,0x03,0x81,0x02,0x74,0x00,0x95,0x00,
0x4E,0x01,0x77,0x00,0x6D,0xFE,0xEA,0xFC,0xF4,0xFD,0xB1,0xFE,0x8C,0xFD,0x05,0xFE,
0x3F,0x00,0xC1,0x01,0x33,0x02,0x9E,0x01,0xF5,0x01,0xAF,0x02,0xA8,0x01,0xD0,0xFF,
0x4C,0xFE,0xE9,0xFD,0xD9,0xFD,0xE5,0xFD,0x76,0xFD,0x65,0xFE,0xBC,0x00,0xFA,0x01,
0xA9,0x01,0x78,0x01,0x47,0x02,0x4E,0x02,0xAD,0x00,0xB3,0xFF,0x47,0xFF,0xF9,0xFE,
0x80,0xFE,0xBD,0xFD,0x21,0xFE,0x10,0xFF,0xF4,0xFF,0x67,0x00,0xBF,0x00,0x9B,0x01,
0x8B,0x01,0x16,0x01,0x82,0x00,0x4F,0xFF,0x0B,0xFF,0x04,0xFF,0xFA,0xFE,0xF3,0xFE,
0xFC,0xFE,0xD9,0xFF,0x7B,0x00,0x47,0x00,0x10,0x00,0x25,0x00,0x53,0x01,0xAC,0x01,
0xEB,0x00,0x90,0xFF,0x18,0xFF,0xA1,0xFF,0x62,0xFF,0xD8,0xFE,0x50,0xFF,0x5D,0x00,
0x89,0x00,0xA1,0x00,0x02,0x01,0x0F,0x00,0x4B,0x00,0x86,0x00,0xC1,0xFF,0xA1,0xFF,
0xBE,0xFF,0x13,0xFF,0xB6,0xFE,0x06,0xFF,0x2C,0xFF,0x7D,0xFF,0xC9,0x00,0xAF,0x00,
0x4A,0x00,0xCD,0x00,0x86,0x00,0x42,0x00,0x3D,0x00,0xB8,0xFF,0x33,0xFF,0x09,0xFF,
0xF9,0xFE,0xC1,0xFE,0xDE,0xFF,0x69,0x01,0x06,0x01,0xCB,0x00,0x61,0x00,0x70,0x00,
0x33,0x01,0xBD,0x00,0xA6,0xFF,0x18,0xFF,0x44,0xFF,0x67,0xFF,0xBB,0xFE,0x63,0xFF,
0x15,0x00,0xC9,0xFF,0x2B,0x00,0x5C,0x00,0xC4,0x00,0xDF,0x00,0x13,0x00,0x07,0xFF,
0xD6,0xFE,0xEE,0xFF,0xFD,0xFF,0x4D,0xFF,0x2E,0x00,0x5D,0x00,0x0E,0x00,0x52,0x00,
0xDE,0x00,0xA2,0x00,0x82,0xFF,0x3E,0xFF,0x56,0xFF,0x9E,0xFF,0xF7,0xFF,0xD3,0xFF,
0x09,0x00,0xA4,0x00,0xAA,0x00,0x8A,0x00,0x68,0x00,0x5C,0x00,0x0F,0x00,0x5F,0xFF,
0xE3,0xFE,0x53,0xFF,0xFA,0xFF,0xAB,0xFF,0x04,0xFF,0x8D,0xFF,0x12,0x00,0x42,0x00,
0x3F,0x00,0xFB,0xFF,0x08,0x00,0x25,0x00,0x30,0x00,0x6E,0x00,0x3C,0x00,0xB3,0xFF,
0x4D,0xFF,0x06,0xFF,0x02,0xFF,0x6F,0xFF,0x0E,0x00,0x8D,0x00,0x61,0x00,0x6B,0x00,
0x8E,0x00,0xBB,0x00,0x9F,0x00,0x06,0x00,0xB1,0xFF,0x8C,0xFF,0x56,0xFF,0xEE,0xFE,
0xFA,0xFE,0xED,0xFF,0x3F,0x00,0x38,0x00,0xD7,0x00,0x68,0x01,0x6B,0x01,0xDB,0x00,
0x05,0x00,0x8A,0xFF,0x6D,0xFF,0x43,0xFF,0xED,0xFE,0xCD,0xFE,0xD5,0xFE,0x67,0xFF,
0x73,0x00,0x0E,0x01,0xF5,0x00,0x55,0x01,0x2C,0x01,0x25,0x00,0xB4,0xFF,0x9C,0xFF,
0x41,0xFF,0x3F,0xFE,0x1A,0xFE,0x87,0xFE,0x09,0xFF,0x0F,0x00,0xD7,0x00,0x30,0x01,
0x7F,0x01,0x4D,0x01,0xDC,0x00,0xDA,0x00,0x53,0x00,0x36,0xFF,0x97,0xFE,0x97,0xFE,
0xDF,0xFE,0xAD,0xFE,0x02,0xFF,0xC7,0xFF,0x7F,0x00,0x4B,0x01,0x21,0x01,0x28,0x01,
0x4F,0x01,0x33,0x00,0xFC,0xFF,0x7C,0xFF,0x0E,0xFF,0x8C,0xFF,0x75,0xFF,0x88,0xFF,
0xD7,0xFF,0x04,0x00,0x1E,0x00,0x99,0xFF,0x04,0x00,0x0F,0x00,0x19,0x00,0x65,0x00,
0xE5,0xFF,0xD0,0xFF,0x3B,0x00,0x4F,0x00,0x19,0x00,0xDB,0xFF,0x17,0x00,0xE8,0xFF,
0x7C,0xFF,0xA0,0xFF,0xD0,0xFF,0xB9,0xFF,0xCC,0xFF,0x26,0x00,0x49,0x00,0x05,0x00,
0x1B,0x00,0x8C,0x00,0x49,0x00,0xDC,0xFF,0xAD,0xFF,0xEA,0xFF,0x0D,0x00,0x25,0xFF,
0xB1,0xFE,0x77,0xFF,0xFB,0xFF,0x1A,0x00,0xFF,0xFF,0x68,0x00,0xEC,0x00,0xDF,0x00,
0x73,0x00,0x08,0x00,0x16,0x00,0xF8,0xFF,0x97,0xFF,0x68,0xFF,0x4D,0xFF,0xA5,0xFF,
0x09,0x00,0xFD,0xFF,0xFD,0xFF,0x27,0x00,0x42,0x00,0x25,0x00,0x0C,0x00,0x06,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};

チーン音 (Ding.C)

const unsigned char cheen[2440]={ 
0x36,0xFE,0x42,0xFF,0xEA,0x01,0xBD,0xFF,0x2D,0xFE,0xFD,0x01,0x3B,0xFF,0x63,0xFA,
0xB7,0xFD,0x2C,0x05,0xC3,0x01,0x57,0xFE,0xA2,0xFF,0x35,0x01,0x72,0xFC,0x50,0xFF,
0xD6,0x01,0xC3,0xFF,0xDB,0xFE,0xC2,0x02,0x45,0x04,0x3D,0x01,0xC8,0xFF,0xE2,0xFE,
0xBD,0xFD,0x40,0xFF,0xA6,0x01,0xD4,0x00,0x9B,0xFE,0xD6,0x01,0x62,0x00,0x63,0xFD,
0x5E,0xFF,0xEE,0x00,0x0F,0x00,0xDB,0xFD,0xA6,0x00,0xB9,0x00,0xDD,0xFC,0xDD,0xFF,
0xB0,0x01,0xB7,0xFE,0xEE,0xFC,0xED,0xFE,0xEE,0x00,0x77,0xFF,0xFA,0x00,0xBA,0x03,
0x3B,0x00,0x9C,0xFF,0x5C,0x02,0xD6,0x00,0x82,0x00,0x1C,0x04,0xF7,0x03,0x50,0xFF,
0xA2,0xFE,0x22,0x01,0x0E,0xFE,0xD0,0xF9,0x2D,0x05,0xA8,0xFE,0x2F,0xFC,0xD9,0x01,
0xC3,0x01,0x57,0x01,0x81,0xFE,0xEC,0x04,0x79,0x00,0xFF,0xFF,0x85,0x01,0xF9,0xFF,
0x2C,0xFC,0x95,0xFF,0x3D,0x00,0x4D,0xFD,0x29,0xFC,0x7F,0x00,0x16,0x01,0x2F,0xFE,
0x47,0x01,0x0D,0x00,0x12,0xFE,0xE1,0x02,0xB6,0x01,0xDB,0x00,0x2E,0xFC,0x29,0x02,
0xCD,0xFF,0x74,0xFE,0xD9,0xFE,0xD5,0xFD,0x79,0xFC,0x29,0xFD,0x85,0x01,0x17,0xFF,
0xBD,0xFD,0xAE,0x03,0xC3,0x03,0x89,0x01,0x28,0x00,0xEA,0x02,0xB8,0xFF,0x21,0xFC,
0x5C,0x00,0xB0,0x00,0xC6,0xFE,0x62,0x01,0xD0,0x02,0xCE,0xFE,0x63,0x01,0xB1,0x01,
0xC8,0x02,0x1E,0x00,0xDB,0xFE,0x6B,0xFE,0xEF,0xFD,0x54,0x00,0x62,0x01,0x77,0xFF,
0x85,0x00,0x87,0xFE,0xD9,0x00,0x6F,0x01,0x82,0xFF,0x0D,0x02,0x5A,0x05,0xE5,0xFF,
0x78,0x00,0x6C,0xFD,0x92,0xFE,0x48,0x00,0x61,0xFF,0xC9,0xFE,0xFD,0xFE,0x06,0x03,
0xC6,0xFE,0xC4,0xFD,0x8A,0xFE,0x18,0xFD,0x9B,0xFD,0xCB,0xFE,0x67,0xFD,0x41,0xFA,
0x8E,0xFD,0xDA,0xFF,0x4B,0x01,0x7E,0x02,0x6D,0x00,0x75,0xFB,0x72,0xFF,0xFB,0x09,
0x69,0x06,0xDE,0xF6,0x68,0xF3,0x0E,0xF6,0x57,0x00,0xCA,0x1F,0x14,0x19,0xC4,0xF6,
0xD6,0xED,0xAB,0x06,0x04,0x1A,0x95,0x07,0x55,0x21,0xA6,0x01,0x3C,0xD6,0x6F,0xE0,
0x09,0x00,0xCB,0x01,0x16,0xFF,0x92,0x1B,0x3E,0x02,0xAC,0xF6,0xA0,0x1D,0x7C,0x14,
0xEC,0x09,0xE4,0xD8,0x32,0xD6,0x0D,0xC2,0xFC,0xFE,0x9B,0x4F,0xD1,0xF8,0xFA,0x82,
0x58,0xD3,0x48,0x39,0x96,0x21,0xD9,0x05,0xEA,0x55,0xD1,0x54,0x8D,0x0D,0x82,0x12,
0xE9,0x2E,0xAA,0x07,0xCE,0xE5,0x62,0xE1,0xC6,0xF0,0xF9,0x1D,0x1C,0xFF,0xF0,0xC9,
0x0D,0xDA,0x38,0x22,0x79,0x08,0x85,0xDA,0x9C,0x18,0x45,0xFA,0xCE,0x9E,0x9A,0xCB,
0x4B,0x51,0x3C,0x28,0x24,0xE6,0x76,0xF8,0x1D,0x15,0x08,0xBE,0x9D,0xF5,0x1E,0x21,
0x38,0xFA,0x73,0xF1,0xBC,0x36,0x63,0x47,0xEB,0x11,0x5D,0xF8,0x18,0xE5,0x6E,0xDD,
0x84,0xFE,0x42,0x1B,0xCB,0x01,0xAF,0xF9,0x57,0x17,0x48,0xEF,0x08,0xDF,0x8C,0x01,
0xFC,0x08,0x19,0xEC,0x87,0xF2,0xD4,0x0C,0xBC,0xE4,0x49,0xE6,0x0A,0x13,0xD3,0xFB,
0xDB,0xD0,0xEE,0xDE,0x64,0x05,0x29,0xFE,0xC4,0x0C,0x4E,0x3B,0x05,0x10,0x03,0xFA,
0x7C,0x27,0xCC,0x13,0x7E,0x0B,0xF4,0x49,0x64,0x4B,0x43,0xF4,0xF7,0xE5,0xF2,0x14,
0x8C,0xD5,0xD5,0x9A,0x2B,0x55,0x35,0xE1,0xCB,0xC6,0xA7,0x22,0x88,0x20,0xE9,0x0B,
0x78,0x01,0xA0,0x45,0xBB,0x06,0x98,0x09,0xE5,0x13,0xF0,0xE3,0xAE,0xD0,0xC8,0xFD,
0x87,0xEC,0xDC,0xC2,0xD9,0xDF,0xAF,0x0F,0xF0,0xF4,0x7B,0xFE,0xA6,0x09,0xEC,0xE8,
0x00,0x16,0xD0,0x27,0xF7,0x14,0x25,0xCE,0x8D,0x0C,0x79,0x07,0x3C,0xE8,0x4A,0xE8,
0x4E,0xD9,0x35,0xC0,0x82,0xC8,0x72,0x16,0x82,0xF1,0x20,0xD6,0x12,0x45,0x33,0x46,
0x3F,0x1B,0xB0,0x06,0x2A,0x33,0x3F,0xF3,0xE3,0xC1,0x3E,0x07,0x6D,0x07,0x12,0xF3,
0x00,0x20,0x5D,0x21,0x8F,0xF6,0xAF,0x1C,0xEA,0x26,0xE8,0x24,0xD5,0xF8,0xC4,0xE6,
0xFF,0xDD,0x65,0xEE,0x5F,0x10,0xC9,0x07,0xF7,0x01,0x5A,0xF3,0x60,0xFD,0x53,0x14,
0x79,0xF2,0x8F,0x04,0x71,0x32,0x24,0x0E,0x0E,0xFE,0x31,0xD5,0x08,0xE8,0x02,0x09,
0x90,0x0C,0x51,0xEB,0x5B,0xEA,0xBA,0x3C,0x9B,0x23,0xBE,0xC4,0xC9,0xC7,0x2C,0xF7,
0x7C,0xE1,0x2B,0xE0,0xFB,0x04,0xF5,0xE6,0x0A,0xE9,0x04,0xE5,0x47,0x14,0x03,0x26,
0x8A,0x10,0xDF,0x15,0x98,0xF9,0x1F,0x04,0xE9,0x0F,0xD9,0x08,0x19,0x07,0x0D,0x00,
0x25,0xFD,0x2F,0xF3,0x8F,0x05,0xE7,0x24,0x10,0xFB,0xA0,0xE7,0xD1,0x00,0xB9,0x23,
0x45,0x2A,0x04,0x0A,0xBF,0x04,0x7A,0xE6,0x7D,0xDD,0x85,0xF0,0x5E,0x07,0x62,0x0F,
0x2A,0x11,0xF7,0xFA,0x31,0x10,0xBF,0x12,0x39,0x2D,0x13,0x01,0x9E,0xD0,0xED,0xDD,
0x6D,0xF7,0x1C,0xE1,0xC6,0xFB,0x7E,0xE3,0x10,0xEA,0xB7,0xF0,0x2E,0xEC,0x81,0x02,
0x7E,0x23,0x1D,0x1D,0xA5,0x1A,0x87,0x00,0xA3,0xF6,0x3A,0xF4,0xCC,0x0F,0x10,0x16,
0xFE,0x02,0x42,0x05,0xA3,0x0B,0x69,0x10,0xDE,0xF5,0xD5,0xE6,0xD6,0xED,0x8F,0xE9,
0x27,0xF3,0xF1,0x10,0xA6,0x12,0xE0,0x07,0xD8,0x0D,0x0E,0x0D,0x34,0xF4,0xEA,0x0F,
0xD1,0x1F,0xDA,0x06,0x27,0xFF,0x7B,0x02,0x4A,0xED,0x1D,0xE8,0x58,0xEF,0x07,0xFD,
0xEF,0xED,0x30,0x1B,0x6C,0x0D,0x05,0x09,0x3E,0xFA,0xE6,0xF2,0xEE,0xE4,0x4E,0xE9,
0x8A,0x12,0xA2,0x05,0xE7,0xF0,0xFD,0xF9,0x14,0xFF,0x94,0xFF,0x8F,0x08,0x3F,0x06,
0x50,0x04,0xD5,0x00,0xF8,0xF6,0x9D,0xED,0x03,0xFF,0xE7,0x15,0xD3,0x05,0x81,0xF2,
0x7B,0xF3,0x57,0x13,0xB6,0x15,0xB2,0x12,0x6B,0x0C,0xD2,0x01,0x46,0xFE,0xE3,0xF9,
0xD7,0x0F,0xAD,0xF8,0x8F,0xF0,0x80,0xFB,0xF2,0x0D,0x31,0xEE,0x88,0xF9,0x97,0x0B,
0x25,0xED,0x3F,0xF7,0x9D,0xF6,0xBA,0x08,0x83,0x06,0x35,0x16,0xD4,0xF7,0xB1,0xF7,
0x84,0x0A,0x92,0x13,0xC4,0x04,0x12,0xFE,0xD7,0xFD,0xC8,0xED,0xD2,0xF7,0xBB,0xF2,
0xA4,0xF7,0xCF,0xFE,0x5A,0xFE,0x15,0xEC,0x46,0xF3,0xA6,0x11,0xD3,0x0B,0xA4,0xFD,
0x38,0xF6,0xB6,0xFA,0xDB,0xFC,0xB7,0x06,0xB7,0x05,0x0D,0x04,0x48,0x05,0x3E,0xF9,
0x4E,0xEF,0x67,0x01,0xC8,0x13,0x11,0x08,0xF1,0x07,0x76,0xF7,0x66,0x15,0xDC,0x01,
0x28,0xF5,0xF9,0xFD,0x0B,0xF6,0x1A,0x0A,0xFA,0xFF,0x5C,0x27,0x2C,0xFC,0x5B,0xFF,
0xCF,0x02,0x7C,0x10,0x62,0x08,0x57,0x08,0x02,0x10,0x4E,0xEB,0x84,0xFF,0xB5,0xF7,
0x19,0xF3,0x0F,0xF8,0x36,0x05,0xA6,0xEE,0x45,0xF6,0x54,0x0A,0xCA,0x05,0x06,0xF8,
0xE6,0xF4,0x65,0xF7,0x10,0xFF,0x4E,0x14,0x2D,0x07,0x13,0x02,0x59,0x01,0x85,0xFC,
0x82,0xE3,0x19,0xF9,0xD9,0x00,0x44,0xFB,0x66,0x01,0x6F,0xF1,0x5E,0x09,0x93,0xF2,
0x9C,0x0E,0x5F,0xFD,0x79,0x13,0x85,0xF6,0xC3,0xFA,0xCF,0x07,0x0E,0x06,0x79,0xF8,
0xA3,0xF6,0x8A,0x08,0x35,0xED,0xF0,0x09,0x0C,0x0D,0xCC,0xFF,0x2C,0x01,0x50,0x0E,
0xEE,0x10,0xF7,0xFC,0x5F,0x0C,0x5C,0x00,0x11,0xFC,0xBB,0x07,0x1A,0x09,0x5D,0xF8,
0xE2,0xFF,0x06,0xF9,0xC7,0xF8,0xC5,0x01,0xFD,0xFF,0xF4,0xF6,0x18,0xFD,0x42,0x09,
0x7E,0xF3,0xFC,0xFE,0x19,0xF9,0x8A,0xFF,0xB1,0xF6,0x2C,0x04,0xB7,0xF7,0x83,0x09,
0xE6,0x0E,0x85,0xEE,0x53,0x00,0xAE,0xFE,0xA5,0x0C,0x48,0xFD,0x34,0x0A,0xC5,0x01,
0xB1,0x05,0x3D,0x0B,0x53,0xF8,0x38,0x02,0xCB,0x08,0xB0,0x05,0xA2,0xF9,0xAF,0x08,
0x59,0xFD,0xEC,0xF4,0xC2,0xF5,0x72,0xF0,0x3D,0xEC,0x3C,0xF6,0xD0,0x06,0x36,0xF9,
0xBE,0x05,0xDF,0x06,0x7F,0xFC,0xA3,0xF7,0x35,0x02,0x96,0xFC,0x52,0x07,0x0B,0x08,
0x88,0xFA,0x65,0xFB,0x60,0xFE,0xC9,0xFE,0x75,0xFA,0x5B,0x0E,0xA1,0x02,0xE2,0x00,
0xE2,0x04,0x53,0x00,0xFC,0x06,0xDF,0x02,0xE5,0x01,0x6B,0xEF,0xE2,0x1C,0x63,0x06,
0x0A,0xFA,0xDB,0x02,0x9E,0x07,0xDF,0xF3,0xB0,0xFC,0xDC,0x0B,0x7C,0x00,0xAC,0x0F,
0x60,0xFC,0xB5,0xF3,0x1F,0x05,0x47,0x12,0xA1,0xFD,0xCE,0xFD,0xFA,0x11,0xDC,0x01,
0xDF,0xFD,0x98,0x05,0xFB,0xF8,0x94,0xF2,0x3E,0x03,0xB7,0xF7,0xB7,0xF6,0x59,0x00,
0x4F,0xFD,0x85,0xF4,0x7A,0xFF,0x83,0xFD,0x63,0xF9,0x3F,0x08,0x5D,0x03,0x01,0xF5,
0xD0,0xF4,0xF8,0x13,0x7F,0x01,0xF7,0x01,0x6B,0xFB,0x52,0xF2,0xCA,0x0C,0x8B,0xF8,
0xF5,0xF7,0x00,0xF5,0x52,0x0A,0x2B,0xF6,0x49,0xF9,0x24,0x0E,0xF0,0x00,0x0A,0x02,
0x4B,0x03,0xCC,0x02,0x65,0xFF,0x91,0x0F,0xC5,0xFA,0xA7,0xF7,0xC3,0x02,0xC8,0xFC,
0x3B,0xFA,0xEF,0x07,0xF1,0x04,0x46,0xF9,0x43,0x08,0x4A,0x04,0x25,0xFC,0xF1,0x04,
0xC4,0x08,0x58,0xF7,0x0E,0x04,0x28,0x04,0xA6,0xFB,0xA5,0xFF,0x02,0x07,0x6D,0x00,
0x68,0xF5,0xF6,0x13,0x6D,0xF7,0x95,0xFF,0x59,0xFD,0xE3,0xF9,0x4A,0xF8,0x46,0xFF,
0x49,0xFE,0xD3,0xF5,0xC4,0x0D,0x6C,0xF6,0xEE,0xFA,0xF7,0x00,0xCD,0xFF,0x26,0xF7,
0x02,0x07,0x54,0x07,0x49,0xF7,0x5B,0x08,0xC6,0x03,0x6D,0xF8,0x0F,0xFF,0x29,0x0B,
0x00,0xFF,0xE7,0x02,0xE8,0x06,0x27,0xFA,0x35,0xFE,0xA5,0x05,0xF0,0xFA,0x73,0xFE,
0x19,0x08,0xF4,0xF6,0xA6,0xFB,0x6C,0x03,0xC9,0x03,0x1D,0xF9,0x24,0x08,0xAB,0xFF,
0x7E,0x01,0x02,0x0C,0x35,0xFC,0xEB,0xFD,0x73,0xFD,0x53,0x04,0x37,0xEE,0xF2,0x0C,
0x42,0x06,0x3B,0xFA,0x44,0x02,0x84,0xFE,0x0C,0x02,0xBC,0x00,0xCB,0x0B,0x3A,0xFB,
0x3C,0x05,0x3B,0x04,0x83,0xF6,0x07,0xFD,0x44,0x02,0xE1,0xFA,0x45,0xFD,0x9C,0x08,
0x7B,0xFA,0x48,0xFD,0x76,0x01,0x16,0xFE,0x99,0xFC,0xA1,0x06,0x75,0xFA,0xEC,0xFD,
0xBA,0x09,0x25,0xFD,0x56,0xF8,0x53,0x01,0xC3,0x01,0xD4,0xF6,0x8A,0x07,0x9D,0xFB,
0xD7,0xFB,0xEA,0x01,0x2F,0xFE,0xC3,0xF4,0xEE,0x01,0x6C,0x12,0xD0,0xF0,0x87,0x0A,
0x01,0x04,0x3D,0xFD,0x4A,0xFE,0x2F,0x07,0x95,0xFE,0x4B,0xFA,0x02,0x0C,0xA0,0xF7,
0xA7,0xFE,0xBA,0x07,0xD5,0xFF,0x14,0xFA,0xEE,0x08,0x2F,0x03,0xC1,0xF7,0x6C,0x05,
0x1E,0x00,0xE7,0xFD,0x0E,0x04,0x82,0x03,0x63,0xF9,0x4E,0x06,0xBA,0x00,0xC1,0xF8,
0x78,0x00,0xD9,0x05,0x83,0xF8,0x99,0xFC,0x0F,0x02,0x50,0xF7,0xE4,0x03,0xA1,0x02,
0xE2,0xFE,0x92,0xFC,0x26,0x09,0xFC,0xF8,0x60,0xFE,0x19,0x07,0x70,0xF9,0x16,0xFE,
0x70,0x02,0xEE,0x04,0x7A,0xF6,0x9F,0x0C,0x46,0xFC,0x07,0xFA,0x7D,0x07,0xD8,0x00,
0x85,0xFE,0xEB,0x01,0x36,0x07,0xE7,0xF5,0x36,0x04,0xE4,0x02,0x22,0xFC,0x8C,0x03,
0x4E,0x04,0xCC,0xFA,0xF3,0xFF,0xD5,0x06,0xF1,0xFA,0xF0,0xFE,0xC3,0x02,0x8A,0xFD,
0x14,0xFD,0xFE,0x06,0x65,0xFA,0x3E,0xFF,0x0F,0x02,0x59,0xFB,0x7E,0xFB,0x76,0x02,
0xF3,0xFF,0x76,0xF7,0xF6,0x09,0x4E,0xF9,0x43,0xFD,0x73,0x00,0xF9,0xFE,0x81,0xF8,
0xD5,0x03,0xF8,0x06,0xFD,0xF3,0xB2,0x0A,0x3E,0x00,0x04,0xFD,0x3D,0x00,0xC7,0x08,
0xEA,0xFA,0x49,0xFE,0x64,0x08,0xFD,0xF5,0x25,0x01,0xBF,0x02,0xFB,0x00,0x1D,0xFE,
0xEE,0x08,0x9B,0xFD,0xB9,0xFC,0x14,0x06,0x7E,0xFE,0xCF,0xFE,0x5D,0x06,0x6C,0x02,
0xD6,0xFB,0xA2,0x05,0x65,0xFF,0x40,0xFF,0x18,0x02,0xBC,0x01,0xC2,0xFA,0xCA,0x06,
0xD2,0xFF,0x18,0xF8,0xF4,0x05,0x83,0xFE,0xE7,0xFB,0x5C,0xFD,0xA4,0x07,0x65,0xF5,
0x35,0x02,0xBC,0x01,0xBD,0xF4,0xFC,0xFE,0xD4,0x00,0x6C,0xFD,0xC8,0xF7,0x56,0x0B,
0x84,0xF7,0xD8,0xFC,0x13,0x05,0xEF,0xFC,0x2F,0xFC,0x5E,0x03,0x32,0x02,0xB5,0xF9,
0xD0,0x06,0xE2,0xFC,0x0A,0xFB,0x35,0x03,0x85,0x03,0x4B,0xFC,0x0A,0x05,0x9B,0x03,
0x98,0xFB,0x3B,0x03,0x2F,0x04,0xD4,0xFD,0x41,0x02,0xE0,0x06,0xD7,0xFA,0x03,0x04,
0xD9,0x01,0x2E,0xFD,0xB1,0xFE,0xA8,0x05,0x11,0xFD,0x4D,0xFD,0x50,0x0C,0x1C,0xF9,
0xBA,0x01,0x79,0x02,0x54,0x01,0x49,0xF9,0x05,0x0A,0x23,0x01,0xE7,0xF6,0xC1,0x0B,
0x89,0xFC,0x0F,0xFD,0xA1,0xFF,0xB0,0x05,0x8A,0xF7,0x29,0x03,0x28,0x04,0xE9,0xF8,
0xA8,0x02,0xA9,0x00,0x21,0xFD,0xD8,0xFD,0x88,0x05,0xD4,0xFA,0xDC,0xFF,0xF5,0x02,
0x09,0xFB,0x57,0xFB,0x04,0x02,0xBA,0xFC,0xBA,0xFD,0x32,0x04,0x96,0xFC,0xD2,0xFF,
0xE4,0x02,0x19,0x00,0x63,0xF9,0x65,0x08,0x51,0xFF,0xAE,0xFD,0xEB,0x05,0xE7,0xFF,
0xC4,0xFD,0xC8,0x00,0x61,0x06,0x5E,0xF5,0xF0,0x08,0x12,0x02,0xDA,0xFA,0xB7,0x02,
0x35,0x03,0x14,0xFD,0x77,0xFD,0x87,0x0A,0xC5,0xF9,0x0D,0x03,0x9F,0x04,0x1C,0xFF,
0x8B,0xFF,0x47,0x05,0x0A,0x00,0xAD,0xFC,0x27,0x06,0xC4,0xFD,0xB1,0xFD,0xF1,0x01,
0xE3,0xFF,0x6D,0xFC,0xB0,0x03,0x5D,0xFE,0x14,0xFD,0xF7,0x01,0x5C,0x00,0x83,0xFC,
0xBA,0x01,0x66,0x01,0x30,0xFA,0x60,0x05,0x10,0x00,0x5A,0xFE,0x91,0xFE,0x6A,0x03,
0x1C,0xF9,0xCF,0x00,0x3E,0x06,0x3C,0xF7,0x4E,0x03,0x8B,0x00,0x87,0xFD,0x03,0xFA,
0xDC,0x07,0xA6,0xFB,0xB7,0xFB,0xE8,0x06,0x7F,0xFB,0xE0,0xFE,0x4D,0x01,0x69,0x02,
0x95,0xF9,0x06,0x05,0x43,0x00,0x87,0xFC,0x5E,0x04,0x0A,0x01,0x8D,0xFE,0x8B,0x01,
0xBC,0x02,0x75,0xFB,0x6D,0x03,0x0D,0x02,0x29,0xFE,0x23,0x01,0xAB,0x03,0xCA,0xFB,
0x10,0x02,0x8F,0x04,0x1B,0xFD,0x86,0x02,0xB1,0x03,0x4D,0x00,0x1B,0xFD,0x3C,0x08,
0xB2,0xFA,0x75,0x00,0x30,0x05,0xE8,0xFD,0x90,0xFD,0xA1,0x03,0x04,0x03,0x9C,0xF4,
0x1A,0x08,0x45,0xFD,0x1C,0xFC,0xDC,0x01,0x1C,0x01,0x36,0xFC,0x94,0xFF,0x70,0x04,
0xA8,0xF7,0xE7,0x02,0x44,0x01,0x08,0xFD,0x84,0xFF,0x64,0x03,0xF1,0xFC,0x40,0xFE,
0x61,0x03,0xC4,0xFB,0xDC,0xFE,0xB0,0x02,0x84,0xFE,0xA0,0xFD,0x97,0x03,0xE2,0xFC,
0x40,0xFF,0x09,0x03,0x5D,0xFF,0xFD,0xFB,0x8E,0x03,0xB1,0xFF,0x98,0xFB,0x8C,0x05,
0x52,0xFD,0x1A,0xFF,0xBA,0x00,0xD2,0x03,0x3E,0xF9,0x63,0x05,0x48,0x04,0x77,0xF8,
0x1D,0x05,0xBF,0x01,0x7A,0xFF,0x05,0xFE,0xE2,0x07,0xAA,0xFB,0x4E,0x00,0x45,0x05,
0x5F,0xFC,0x5D,0x00,0xB9,0x02,0x76,0x01,0x8F,0xFC,0x5E,0x05,0x0B,0xFE,0x2C,0xFE,
0xED,0x02,0xA8,0xFF,0xE7,0xFD,0x86,0x02,0x72,0x00,0xBE,0xFC,0x66,0x02,0xDC,0xFE,
0x87,0xFD,0x84,0x00,0xE4,0x01,0x6F,0xFB,0x47,0x03,0x16,0x00,0x70,0xFC,0xBC,0x00,
0xFA,0xFF,0xA5,0xFD,0x29,0xFF,0xFA,0x05,0x76,0xF8,0x97,0x02,0xD3,0x01,0x3C,0xFD,
0x6E,0xFE,0xA4,0x03,0x63,0xFF,0xD9,0xF9,0x26,0x08,0xE6,0xFA,0xF6,0xFE,0xF1,0x01,
0xB3,0xFF,0xC6,0xFC,0x29,0x02,0x5C,0x02,0x1E,0xFB,0xE1,0x03,0x7F,0xFF,0x63,0xFE,
0x98,0x00,0x20,0x02,0x18,0xFD,0x22,0x02,0x0D,0x02,0x09,0xFD,0x91,0x01,0xD6,0x01,
0x6D,0xFD,0xE9,0xFF,0x80,0x03,0x30,0xFD,0xB7,0x01,0xEA,0x01,0x74,0xFE,0x7B,0xFE,
0xDF,0x04,0x3F,0xFD,0xC6,0xFE,0xA8,0x05,0x0B,0xFC,0xB1,0xFF,0x81,0x01,0xD8,0x01,
0xF6,0xF9,0xAB,0x06,0xA6,0xFF,0x6C,0xFA,0x19,0x05,0x1B,0xFF,0x18,0xFE,0xEC,0xFF,
0x5F,0x03,0xA4,0xFB,0x69,0x01,0x36,0x01,0x0E,0xFE,0x3A,0x00,0x7A,0x00,0x6F,0xFF,
0x7E,0xFF,0xAF,0x00,0x9C,0xFF,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

押しボタン信号機の押しボタンをM5Stackで作ってみた(その2)


前回の続きです。
ボタンのデータがもう一つあります。
これもボタン1と同様に拡張子”c”のテキストファイルにして、スケッチと同じフォルダに保存してください。

#include <stdint.h>

extern const uint16_t RB_push[6400] = {
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x6510, 0x8410, 0x8410, 0xa410, 0x8410, 0x8410, 0x8410, 0x8410, 0xa410, 0x8410, 0x8410, 0x6510, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4508, 0x6510, 0x8410, 0x8410, 0x8410, 0x8310, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0x8310, 0x8410, 0x8410, 0x8410, 0x6510, 0x4508, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8410, 0x8310, 0x8410, 0xc618, 0xc6f8, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc6f8, 0xc618, 0x8410, 0x8310, 0x8410, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8310, 0x8410, 0xc618, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc618, 0x8410, 0x8310, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8310, 0x8410, 0xc6f8, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc6f8, 0x8410, 0x8310, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0x8410, 0xc6f8, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x8410, 0x8310, 0xc618, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc618, 0x8310, 0x8410, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8310, 0xc618, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc618, 0x8310, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0xc618, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc618, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc6f8, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xc6f8, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc6f8, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4508, 0x8410, 0xc618, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc618, 0x8410, 0x4508, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0xc618, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc618, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x8410, 0xc6f8, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc6f8, 0x8410, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xa410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xa410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x8410, 0xc6f8, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc6f8, 0x8410, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0xc618, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc618, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4508, 0x8410, 0xc618, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc618, 0x8410, 0x4508, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xc6f8, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc6f8, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xc6f8, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc6f8, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0xc618, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc618, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8310, 0xc618, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xc100, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc618, 0x8310, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xffde, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x8410, 0x8310, 0xc618, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc618, 0x8310, 0x8410, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0x8410, 0xc6f8, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8310, 0x8410, 0xc6f8, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc6f8, 0x8410, 0x8310, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8310, 0x8410, 0xc618, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc618, 0x8410, 0x8310, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8410, 0x8310, 0x8410, 0xc618, 0xc6f8, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xc6f8, 0xc618, 0x8410, 0x8310, 0x8410, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4508, 0x6510, 0x8410, 0x8410, 0x8410, 0x8310, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0x8310, 0x8410, 0x8410, 0x8410, 0x6510, 0x4508, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x6510, 0x8410, 0x8410, 0xa410, 0x8410, 0x8410, 0x8410, 0x8410, 0xa410, 0x8410, 0x8410, 0x6510, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0
};

押しボタン信号機の押しボタンをM5Stackで作ってみた(その1)

押しボタン信号

押しボタンと音声データの再生ができたので、押しボタン信号機の押しボタンを再現してみた。
今回もボタンの画像データや、音声データがたくさんあってこのブログ上では、データのアップロードができないので、とりあえず、スケッチを公開して、曲のデータは、興味のある方は、前回の記事を参考にそれぞれ、ご自分で作っていただけるとたすかります。(作成されたデータに応じて、配列の変数名やサイズを変更する必要があります。)

機能としては、押しボタンを押すと横断歩道を渡るときの音が鳴るという、それだけのものです。
音は、画面を右にスワイプすると、選択画面が表示されて、カッコー、ピヨピヨ、麦畑(故郷の空)、とおりゃんせ の4曲が選択できます。

曲のデータは、僕の場合、こちらの素材を使わせていただきました。
otologic.jp

スケッチは、以下
LovyanGFXを使わせていただいています。
github.com

//by Manpukukoji
//2022/05/01

#include <M5Core2.h>
#include <driver/i2s.h>

#define LGFX_USE_V1
#include <LovyanGFX.hpp>
#include <LGFX_AUTODETECT.hpp>


static LGFX lcd;
static LGFX_Sprite spritepop(&lcd);
static LGFX_Sprite spritepush(&lcd);
extern const uint16_t  RB_push[6400];
extern const uint16_t RB_pop[6400];

  Button myBtn(80, 130, 80, 80);
  
  Gesture swipeDOWN("swipe down", 120, DIR_DOWN, 30, true);
  
  Button selBtn1(10, 10, 230, 58);
  Button selBtn2(10, 70, 230, 58);
  Button selBtn3(10, 130, 230, 58);
  Button selBtn4(10, 190, 230, 58);
  Button selBtnok(10, 250, 112, 58);
  Button selBtnCancel(125, 250, 112, 58);
                 
int SoundIdx = 1;
int preSoundIdx = 1;
int Repeat = 2;
int preRepeat = 2;

int pg = 0;

//Sound function ---------------------------------------------------------------
extern const unsigned char   kakko[264208];
extern const unsigned char Piyo[177168];
extern const unsigned char Mugi[1539768];
extern const unsigned char Tohryanse[1340154];  //2680340

#define CONFIG_I2S_BCK_PIN     12
#define CONFIG_I2S_LRCK_PIN    0
#define CONFIG_I2S_DATA_PIN    2
#define CONFIG_I2S_DATA_IN_PIN 34

#define Speak_I2S_NUMBER I2S_NUM_0
#define SAMPLE_RATE 44100

#define MODE_MIC  0
#define MODE_SPK  1
#define DATA_SIZE 32
bool InitI2SSpeakOrMic(int mode) {  // Init I2S.
  esp_err_t err = ESP_OK;

  i2s_driver_uninstall(Speak_I2S_NUMBER);  // Uninstall the I2S driver.
  i2s_config_t i2s_config = {
    .mode = (i2s_mode_t)(I2S_MODE_MASTER),  // Set the I2S operating mode.
    .sample_rate = SAMPLE_RATE,  // Set the I2S sampling rate.
    .bits_per_sample =
    I2S_BITS_PER_SAMPLE_16BIT,  // Fixed 16-bit stereo MSB.
    .channel_format =
    I2S_CHANNEL_FMT_ONLY_RIGHT,  // Set the channel format.
    .communication_format =
    I2S_COMM_FORMAT_I2S,  // Set the format of the communication.
    .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1,  // Set the interrupt flag.
    .dma_buf_count = 2,        // DMA buffer count.
    .dma_buf_len   = 128,      // DMA buffer length.
  };
  if (mode == MODE_MIC) {
    i2s_config.mode =
      (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX | I2S_MODE_PDM);
  } else {
    i2s_config.mode     = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_TX);
    i2s_config.use_apll = false;  // I2S clock setup.
    i2s_config.tx_desc_auto_clear = true;  // Enables auto-cleanup descriptors for understreams.
  }
  // Install and drive I2S.
  err += i2s_driver_install(Speak_I2S_NUMBER, &i2s_config, 0, NULL);

  i2s_pin_config_t tx_pin_config;

#if (ESP_IDF_VERSION > ESP_IDF_VERSION_VAL(4, 3, 0))
  tx_pin_config.mck_io_num = I2S_PIN_NO_CHANGE;
#endif
  tx_pin_config.bck_io_num = CONFIG_I2S_BCK_PIN;  // Link the BCK to the CONFIG_I2S_BCK_PIN pin.
  tx_pin_config.ws_io_num    = CONFIG_I2S_LRCK_PIN;     //          ...
  tx_pin_config.data_out_num = CONFIG_I2S_DATA_PIN;     //       ...
  tx_pin_config.data_in_num  = CONFIG_I2S_DATA_IN_PIN;  //      ...
  err +=
    i2s_set_pin(Speak_I2S_NUMBER,
                &tx_pin_config);  // Set the I2S pin number.
  err += i2s_set_clk(
           Speak_I2S_NUMBER, SAMPLE_RATE, I2S_BITS_PER_SAMPLE_16BIT,
           I2S_CHANNEL_MONO);  // Set the clock and bitwidth used by I2S Rx and Tx.

  return true;
}

void SpeakInit(void) {
  M5.Axp.SetSpkEnable(true);
  InitI2SSpeakOrMic(MODE_SPK);
}

void Sound(void) {
  size_t bytes_written = 0;
 int sz;
  const unsigned char *pSound;
  
  switch (SoundIdx) {
    case 1:
     sz = sizeof(kakko);
      pSound = kakko;
      break;
      
    case 2 :
      sz = sizeof(Piyo);
      pSound = Piyo;
      break;
      
    case 3 :
      sz = sizeof(Mugi);
      pSound = Mugi;
      break;
      
  case 4 :
      sz = sizeof(Tohryanse);
      pSound = Tohryanse;
      break;
  }


  
  i2s_write(Speak_I2S_NUMBER, pSound, sz, &bytes_written,
            portMAX_DELAY);   //264208
}

// end of sound ---------------------------------------------------

void B_Box() {
  lcd.clear();

  lcd.fillTriangle(3, 6, 16, 6, 16, 310, (uint32_t)0x666644);
  lcd.fillTriangle(224, 6, 236, 6, 224, 319, (uint32_t)0x666644);
  lcd.fillRect(16, 6, 208, 304, (uint32_t)0x666644);

  lcd.fillRoundRect(20, 35, 200, 265, 6, YELLOW);
  lcd.fillRoundRect(20, 35, 200, 18, 6, (uint32_t)0x999900);
  lcd.fillRect(20, 50, 200, 6, (uint32_t)0x999900);

  lcd.fillRoundRect(40, 70, 160, 50, 3, BLACK);
  lcd.fillRoundRect(40, 225, 160, 50, 3, BLACK);

  lcd.fillRect(3, 3, 233, 3, YELLOW);
  lcd.drawLine(236, 3, 224, 310, YELLOW);
  lcd.drawLine(237, 3, 225, 310, YELLOW);
  lcd.drawLine(238, 3, 226, 310, YELLOW);
  lcd.fillRect(16, 310, 208, 3, YELLOW);
  lcd.drawLine(16, 310, 3, 3, YELLOW);
  lcd.drawLine(15, 310, 2, 3, YELLOW);
  lcd.drawLine(14, 310, 1, 3, YELLOW);

  lcd.fillCircle(55, 173, 12, (uint32_t)0xBBBBBB);
  lcd.drawLine(47, 165, 63, 182, BLACK);
  lcd.drawLine(47, 166, 63, 183, BLACK);
  lcd.drawLine(48, 163, 63, 179, WHITE);
  lcd.drawLine(48, 164, 63, 180, WHITE);
  lcd.fillCircle(185, 173, 12, (uint32_t)0xBBBBBB);
  lcd.drawLine(177, 165, 193, 182, BLACK);
  lcd.drawLine(177, 166, 193, 183, BLACK);
  lcd.drawLine(178, 164, 193, 180, WHITE);
  lcd.drawLine(178, 163, 193, 179, WHITE);

  lcd.setTextColor(0xFF6666U, 0x000000U);
  lcd.drawString("おしてください", 50, 235);
  spritepop.pushSprite(&lcd, 80, 130);
  
}
void selButton(){
    lcd.clear();
     lcd.setTextColor(0xFFFF00U, 0x000000U);
  lcd.drawRoundRect(10, 10, 230, 58,12,WHITE);
   lcd.drawString("カッコー", 50, 30);
  lcd.drawRoundRect(10, 70, 230, 58,12,WHITE);
   lcd.drawString("ピヨピヨ", 50, 90);
  lcd.drawRoundRect(10, 130, 230, 58,12,WHITE);
   lcd.drawString("麦畑", 50, 150);
  lcd.drawRoundRect(10, 190, 230, 58,12,WHITE);
   lcd.drawString("とおりゃんせ", 50, 210);
  lcd.drawRoundRect(10, 250, 112, 58,12,WHITE);
   lcd.drawString("OK", 30, 270);
  lcd.drawRoundRect(125, 250, 112, 58,12,WHITE);
   lcd.drawString("Cancel", 145, 270);

    lcd.setTextColor(0xFFFF00U, 0x0000FFU);
  switch (SoundIdx) {
    case 1 :
      lcd.fillRoundRect(10, 10, 230, 58,12,BLUE);
      lcd.drawString("カッコー", 50, 30);
      break;
    case 2 :
      lcd.fillRoundRect(10, 70, 230, 58,12,BLUE);
      lcd.drawString("ピヨピヨ", 50, 90);
      break;
    case 3 :
      lcd.fillRoundRect(10, 130, 230, 58,12,BLUE);
      lcd.drawString("麦畑", 50, 150);
      break;
    case 4 :
      lcd.fillRoundRect(10, 190, 230, 58,12,BLUE);
      lcd.drawString("とおりゃんせ", 50, 210);
      break;
  }
  
}

void doCHG(Event& e) {
 if(e.gesture->instanceIndex() == 0) {
    selButton();
    myBtn.hide();
   selBtn1.draw();
   selBtn2.draw();
   selBtn3.draw();
   selBtn4.draw();
   selBtnok.draw();
   selBtnCancel.draw();
  pg = 1;
  preSoundIdx = SoundIdx;
  preRepeat = Repeat;

 }

}

void setup() {
   lcd.init();
   
  M5.begin(true, true, true, true);
  Serial.begin(115200);

  M5.Lcd.setRotation(2);

  lcd.setRotation(2);
  lcd.setBrightness(128);

  lcd.setFont(&fonts::lgfxJapanGothic_20);

  selBtn1.hide();
   selBtn2.hide();
   selBtn3.hide();
   selBtn4.hide();
   selBtnok.hide();
   selBtnCancel.hide();

  spritepop.createSprite(80, 80);
  spritepush.createSprite(80, 80);

  spritepop.setAddrWindow(0, 0, 80, 80);
  spritepop.setSwapBytes(true);
  spritepop.writePixels(RB_pop, 6400);
  spritepush.setAddrWindow(0, 0, 80, 80);
  spritepush.setSwapBytes(true);
  spritepush.writePixels(RB_push, 6400);

  M5.Buttons.addHandler(doCHG, E_GESTURE);
  B_Box();
  SpeakInit();
  
}

void loop() {
 if (pg == 0) { 
  M5.update();
 
 if (myBtn.isPressed() == 1) {
 spritepush.pushSprite(&lcd, 80, 130);
 lcd.fillRect(50, 235, 140, 30, BLACK);
 while (myBtn.isPressed() == 1) {
     M5.update();
     
  }
      spritepop.pushSprite(&lcd, 80, 130);
      lcd.setTextColor(0xFF6666U, 0x000000U);
      lcd.drawString("おまちください", 50, 80);
      M5.update();
      delay(500);
   

    delay(3000);
    lcd.fillRect(50, 80, 140, 30, BLACK);
    for (int i = 0; i < Repeat; i++) {
     Sound();
    }
    lcd.setTextColor(0xFF6666U, 0x000000U);
    lcd.drawString("おしてください", 50, 235);

}

  delay(100);
 }
 
 else if (pg == 1){
 int  tempSoundIdx = SoundIdx;
  M5.update();
  int Cancel =0;
  
  if( selBtnCancel.wasPressed()){
    Cancel = 1;
    SoundIdx = preSoundIdx;
    Repeat = preRepeat;
  lcd.fillRoundRect(125, 250, 112, 58,12,BLUE);
   lcd.drawString("Cancel", 145, 270);

   lcd.clear();
   
   selBtn1.hide();
   selBtn2.hide();
   selBtn3.hide();
   selBtn4.hide();
   selBtnok.hide();
   selBtnCancel.hide();
   myBtn.draw();
   lcd.clear();
    B_Box();
    pg = 0;

  }
  if( selBtnok.wasPressed()){

   lcd.fillRoundRect(10, 250, 112, 58,12,BLUE);
   lcd.drawString("OK", 30, 270);

     lcd.clear();
  
   selBtn1.hide();
   selBtn2.hide();
   selBtn3.hide();
   selBtn4.hide();
   selBtnok.hide();
   selBtnCancel.hide();
   myBtn.draw();

    lcd.clear();
    B_Box();
    pg = 0;
   }
  if( selBtn1.wasPressed()){
    SoundIdx = 1;
    Repeat = 2;
  }
  if( selBtn2.wasPressed()){
    SoundIdx = 2;
    Repeat = 2;
  }
  if( selBtn3.wasPressed()){
    SoundIdx = 3;
    Repeat = 1;
  }
  if( selBtn4.wasPressed()){
    SoundIdx = 4;
    Repeat = 1;
  }

  if (( tempSoundIdx != SoundIdx) && (Cancel != 1) ) {
    selButton();
  }


 }  //end of pg == 1
 
} //end of Loop

ボタンデータ1
以下のデータを拡張子”c”のテキストファイルにして、スケッチと同じフォルダに保存してください。
ボタンのデータは、もう一つありますが、アップロードできないので、次のページに記載しますね。

#include <stdint.h>

extern const uint16_t RB_pop[6400] = {
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x6510, 0x8410, 0x8410, 0xa410, 0x8410, 0x8410, 0x8410, 0x8410, 0xa410, 0x8410, 0x8410, 0x6510, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4508, 0x6510, 0x8410, 0x8410, 0x8410, 0x8310, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0x8310, 0x8410, 0x8410, 0x8410, 0x6510, 0x4508, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8410, 0x8310, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8310, 0x8410, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8310, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8310, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8310, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8310, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x8410, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x8410, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe108, 0xe100, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0xe108, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe308, 0xe410, 0xe310, 0xe208, 0xf800, 0xf800, 0xf800, 0xf800, 0xe108, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0xe100, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe518, 0xe310, 0xf800, 0xf800, 0xe100, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0xe100, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe510, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe518, 0xf800, 0xf800, 0xe100, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe518, 0xe518, 0xe518, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe510, 0xf800, 0xf800, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe208, 0xe510, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe100, 0xf800, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe308, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe208, 0xf800, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe410, 0xffff, 0xffff, 0xffff, 0xffff, 0xe410, 0xf800, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe100, 0xffff, 0xffff, 0xffff, 0xffff, 0xe308, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xffff, 0xffff, 0xffff, 0xffff, 0xe100, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xe100, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xffff, 0xffff, 0xffff, 0xffff, 0xf800, 0xe100, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4508, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe100, 0xffff, 0xffff, 0xffff, 0xe510, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x4508, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xe100, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe410, 0xffff, 0xffff, 0xffff, 0xf800, 0xe100, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xffff, 0xffff, 0xffff, 0xe518, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0xe108, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe308, 0xffff, 0xffff, 0xffff, 0xf800, 0xe108, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xffff, 0xffff, 0xffff, 0xe310, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe510, 0xffff, 0xffff, 0xe518, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe208, 0xffff, 0xffff, 0xffff, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0xe108, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xffff, 0xffff, 0xffff, 0xf800, 0xe108, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xa410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xe100, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xffde, 0xffff, 0xffff, 0xe208, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe518, 0xffff, 0xffff, 0xe310, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe518, 0xffff, 0xffff, 0xe410, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe518, 0xffff, 0xffff, 0xe308, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe510, 0xe410, 0xf800, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xa410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xe100, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe100, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0xe108, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe108, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0xe108, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe108, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xe100, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe100, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4508, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x4508, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xe100, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe100, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0xe100, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe100, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0xe100, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe100, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0xe108, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xf800, 0xe108, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe108, 0xe100, 0xf800, 0xf800, 0xf800, 0xf800, 0xe100, 0xe108, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x8410, 0x8310, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8310, 0x8410, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x8410, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0x8410, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8310, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8310, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8310, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8310, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x6510, 0x8410, 0x8410, 0x8310, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8310, 0x8410, 0x8410, 0x6510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4508, 0x6510, 0x8410, 0x8410, 0x8410, 0x8310, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0x8310, 0x8410, 0x8410, 0x8410, 0x6510, 0x4508, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x4510, 0x6510, 0x8410, 0x8410, 0xa410, 0x8410, 0x8410, 0x8410, 0x8410, 0xa410, 0x8410, 0x8410, 0x6510, 0x4510, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 
    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0
};

M5Stack Core2でWAVデータを再生してみる。


前回、ボタンを作ったので、こんどは、ボタンを押すと音声データを再生するようにしてみます。
Core2は、I2Sで音を出すようになっているので、なかなかに複雑ですが、Exampleのスケッチをこちらで用意してくれているので、ほとんど、そのまま利用させてもらいました。
また、以下のサイトも参考にさせていただきました。
M5Stack Core2のスピーカー周りを調べる | Lang-ship
M5Stack ATOM EchoにWaveファイルを埋め込んで再生する | Lang-ship

あとは、WAVファイルからデータを作成するところですが、SDカードから読み込んで再生する方法と、プログラムにデータを埋め込んで再生する方法があるようです。
Exampleは、データを埋め込むタイプです。 
音楽とかを再生するのではなく、数秒程度の音声の再生であれば、このやり方で良いかと思います。
問題は、データを作るところですが、
まず、WAVファイルの編集ソフト(Audacityとか、何でも良い) で16ビットモノラルのWAVファイルを用意します。
この時、サンプリング周波数は、少ないほどデータ数が少なくて済みますが、音質が悪くなります。 上記、参考サイトでは、16000Hzくらいまで行けるようです。確かに、44100Hzと16000Hzのデータで比べてみたら、16000Hz では、少し、音がチリチリした感じに聞こえました。
ファイルが用意できたら、テキストデータにしますが、これも、上記の参考サイトで詳しくデータの作り方を説明してくれており、データ作成のツールまで用意してくれていますが、自分でも勉強がてら、ツールを作ってみました。(後述)


以下、スケッチ

//by Manpukukoji
//2022/05/02

#include <M5Core2.h>
#include <driver/i2s.h>
#include "pb80x80_16.h"


#define CONFIG_I2S_BCK_PIN     12  
#define CONFIG_I2S_LRCK_PIN    0
#define CONFIG_I2S_DATA_PIN    2
#define CONFIG_I2S_DATA_IN_PIN 34

#define Speak_I2S_NUMBER I2S_NUM_0  
#define SAMPLE_RATE 16000

#define MODE_MIC  0  
#define MODE_SPK  1
#define DATA_SIZE 32

extern const unsigned char    sound2[作成した音声データのサイズ];  // Referring to external data ('Ohayo')

bool InitI2SSpeakOrMic(int mode) {  // Init I2S.  
    esp_err_t err = ESP_OK;

    i2s_driver_uninstall(Speak_I2S_NUMBER);  // Uninstall the I2S driver.  
    i2s_config_t i2s_config = {
        .mode = (i2s_mode_t)(I2S_MODE_MASTER),  // Set the I2S operating mode.                                                
        .sample_rate = SAMPLE_RATE,  // Set the I2S sampling rate.  
        .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,  // Fixed 16-bit stereo MSB.                                    
        .channel_format = I2S_CHANNEL_FMT_ONLY_RIGHT,  // Set the channel format. 
        .communication_format = I2S_COMM_FORMAT_I2S,  // Set the format of the communication.
        .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1,  // Set the interrupt flag.  
        .dma_buf_count = 2,        // DMA buffer count.
        .dma_buf_len   = 128,      // DMA buffer length.
    };
    if (mode == MODE_MIC) {
        i2s_config.mode =
            (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX | I2S_MODE_PDM);
    } else {
        i2s_config.mode     = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_TX);
        i2s_config.use_apll = false;  // I2S clock setup.
        i2s_config.tx_desc_auto_clear = true;  // Enables auto-cleanup descriptors for understreams.
    }
    // Install and drive I2S. 
    err += i2s_driver_install(Speak_I2S_NUMBER, &i2s_config, 0, NULL);

    i2s_pin_config_t tx_pin_config;

#if (ESP_IDF_VERSION > ESP_IDF_VERSION_VAL(4, 3, 0))
    tx_pin_config.mck_io_num = I2S_PIN_NO_CHANGE;
#endif
    tx_pin_config.bck_io_num = CONFIG_I2S_BCK_PIN;  // Link the BCK to the CONFIG_I2S_BCK_PIN pin.
    tx_pin_config.ws_io_num    = CONFIG_I2S_LRCK_PIN;     //          ...
    tx_pin_config.data_out_num = CONFIG_I2S_DATA_PIN;     //       ...
    tx_pin_config.data_in_num  = CONFIG_I2S_DATA_IN_PIN;  //      ...
    err +=
        i2s_set_pin(Speak_I2S_NUMBER,
                    &tx_pin_config);  // Set the I2S pin number.
    err += i2s_set_clk(
        Speak_I2S_NUMBER, SAMPLE_RATE, I2S_BITS_PER_SAMPLE_16BIT,
        I2S_CHANNEL_MONO);  // Set the clock and bitwidth used by I2S Rx and Tx.
        
    return true;
}

void DisplayInit(void) {       // Initialize the display. 
    M5.Lcd.fillScreen(BLACK);  // Set the screen background color to Black.
    M5.Lcd.setTextColor(YELLOW);  // Set the text color to Yellow. 
    M5.Lcd.setTextSize(2);  // Set font size to 2. 
}

void SpeakInit(void) {          
    M5.Axp.SetSpkEnable(true);  
    InitI2SSpeakOrMic(MODE_SPK);
}

void ohayo(void) {
    size_t bytes_written = 0;
    i2s_write(Speak_I2S_NUMBER, sound2, (作成した音声データのサイズ), &bytes_written,
              portMAX_DELAY);
}


HotZone B_Btn(120,80,200,160);

void setup() {
  M5.begin(true, true, true, true);  // Init M5Core2.

  M5.Lcd.drawBitmap(120,80,80,80,BB_OFF,0x2608);
    SpeakInit();
    delay(100);
 
}

void loop() {
  M5.update();
      TouchPoint_t pos = M5.Touch.getPressPoint();
      if(M5.Touch.ispressed()) {
        M5.Lcd.fillRect(290,10,30,30,BLACK);
        M5.Lcd.setCursor(290,10);
        M5.Lcd.print(pos.x);
        M5.Lcd.setCursor(290,20);
        M5.Lcd.print(pos.y);
      }
    if(B_Btn.inHotZone(pos)) {
        M5.Lcd.drawBitmap(120,80,80,80,BB_ON,0x2608);
        ohayo();
         M5.Lcd.drawBitmap(120,80,80,80,BB_OFF,0x2608);
        delay(100);
        }
 
    }

データ作成ツールは、Pythonで作ってみました。
WAV_DataGenerator.py と、言うファイル名で保存すれば、コマンドラインで入力エラーしたときのメッセージと矛盾がなくなりますが、他の名前にしたときは、9行目あたりのファイル名のところを修正しておけば良いかと思います。 まぁ、あまり機能自体に影響は無いですけどね…。

# WAV data file generator
#Manpukukoji  2022/05/02

import sys

args = sys.argv

if len(args) < 3 :
    print("ERROR : Please chedck your command!")
    print("Command :  python WAV_DataGenerator.py [wavfilename.wav] [datafilename.c]")
    exit()

WAV_File = args[1]
data_File = args[2]    

data_loc = b"\x64\x61\x74\x61"  #data
fr = open (WAV_File,'rb')
fw = open(data_File,'wt')

data = fr.read()
idx = data.find(data_loc)

data_size = int.from_bytes(data[idx+4:idx+8],byteorder='little')

fw.write( 'const unsigned char sound[{}]='.format(data_size) )
fw.write('{ \n')
for i in range(data_size):
    mm = '0x%02X' % data[idx+8+i]
    fw.write(mm)
    if(i<data_size-1):
        fw.write(',')
    if((i+1) % 16 == 0):
        fw.write('\n')
fw.write('};')

fr.close()
fw.close()

最後に音声データですが、これまた、データサイズが大きすぎて掲載できないようなので、データは、自分で作ってみてください。
僕は、ここの素材をもとにデータを作ってみました。
soundeffect-lab.info

作ったデータファイルは、拡張子を"C" にして、スケッチと同じフォルダに保存しておけば、一緒にリンクしてくれるようです。
それと、ボタンのデータも前回の記事と同様にスケッチと同じフォルダに保存しておいてくださいね。

const unsigned char sound2[作成したデータのサイズ]={ 
.....   ここに作成した音声データを貼り付けます。.....
};

M5Stack Core2 を買ったのでとりあえずボタンでLEDを点灯してみた(その2)

消灯中のボタン

前回の記事で、ボタンのデータが全部保存できなかったので、続きをこのページに載せることにしました。
前回のページ
M5Stack Core2 を買ったのでとりあえずボタンでLEDを点灯してみた(その1)
のボタンのデータの最後に以下のデータをコピペして、”pb80x80_16.h" というファイル名でスケッチと同じフォルダに保存しておく必要があります。
画像を変更したい場合には、前回記事の参考サイトを参考に、データを作成してみてください。

やはり、データをテキストで載せようとすると、無理がありますね。
GITHUBとか考えたほうが良いのかな…? 僕には、ちょっとハードルが高いのだけど…。

//**********************************************************************

static const uint16_t BB_ON[6400] = {
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x4510, 0x6510, 0x8410, 0x8410, 0xa410, 0x8410, 0x8410, 0x8410, 0x8410, 0xa410, 0x8410, 0x8410, 0x6510, 0x4510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x4508, 0x6510, 0x8410, 0x8410, 0x8410, 0x8310, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0x8310, 0x8410, 0x8410, 0x8410, 0x6510, 0x4508, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8410, 0x8410, 0x8310, 0x8410, 0xc618, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0xc618, 0x8410, 0x8310, 0x8410, 0x8410, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8410, 0x8310, 0x8410, 0xc618, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xc618, 0x8410, 0x8310, 0x8410, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8410, 0x8310, 0x8410, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8410, 0x8310, 0x8410, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0x8410, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 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, 0x8410, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x4510, 0x8410, 0x8310, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x8310, 0x8410, 0x4510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8410, 0x8410, 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, 0xffde, 0x8410, 0x8410, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xc6f8, 0xc618, 0xc618, 0xa514, 0xa514, 0xc618, 0xc618, 0xc6f8, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8310, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0xa514, 0x8410, 0x8310, 0x8410, 0x8410, 0x8410, 0x8410, 0x8410, 0x8410, 0x8410, 0x8410, 0x8310, 0x8410, 0xa514, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8310, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8310, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x8410, 0x8410, 0x6410, 0x4518, 0x4518, 0x2518, 0x0618, 0x0618, 0x0618, 0x0618, 0x2518, 0x2518, 0x4518, 0x6410, 0x8410, 0x8410, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x8310, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8310, 0x8410, 0x8410, 0x4518, 0x0618, 0x0618, 0x0618, 0x0618, 0x0618, 0x0618, 0x6618, 0xa65e, 0x8618, 0x6618, 0x2618, 0x0518, 0x0618, 0x0618, 0x4518, 0x8410, 0x8410, 0x8310, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x4510, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8410, 0x8410, 0x8410, 0x2518, 0x0618, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0xa65e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xa65e, 0xa65e, 0x0618, 0x0618, 0x2518, 0x8410, 0x8410, 0x8410, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x4510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8310, 0x8410, 0x2518, 0x0618, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0xa65e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa65e, 0x2618, 0x0618, 0x2518, 0x8410, 0x8310, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8310, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x6410, 0x0618, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0518, 0xa65e, 0xa65e, 0xa65e, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa65e, 0x0618, 0x0618, 0x6410, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0x8310, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8410, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x6518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x0618, 0x0618, 0x0618, 0x0518, 0x4618, 0xa65e, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0x2618, 0x0618, 0x6518, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x8410, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x4518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x0618, 0x0518, 0x6618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6618, 0x0618, 0x4518, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8310, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x6518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x0518, 0xa65e, 0xffff, 0xffff, 0xffff, 0xffff, 0x8618, 0x0618, 0x6518, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8310, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8310, 0x6410, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x2618, 0xffff, 0xffff, 0xffff, 0xffff, 0x6618, 0x0618, 0x6410, 0x8310, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8310, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x2518, 0xffde, 0xffff, 0xffff, 0xffff, 0x2618, 0x0618, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8310, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x2518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x2518, 0xffff, 0xffff, 0xffff, 0xffde, 0x0618, 0x2518, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x4508, 0x8410, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8310, 0x8410, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x2618, 0xffff, 0xffff, 0xffff, 0xa65e, 0x0618, 0x8410, 0x8310, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x8410, 0x4508, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8310, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x2518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0xa65e, 0xffff, 0xffff, 0xffff, 0x2618, 0x2518, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0x8310, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0518, 0xffde, 0xffff, 0xffff, 0xa65e, 0x0618, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8410, 0x4518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x6618, 0xffff, 0xffff, 0xffff, 0x0618, 0x4518, 0x8410, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x4510, 0x8410, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0518, 0xffde, 0xffff, 0xffff, 0xa65e, 0x0618, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8410, 0x4510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8310, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x6410, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0xa65e, 0xffff, 0xffff, 0xa65e, 0x0618, 0x6410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8310, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0x8310, 0x4518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x4618, 0xffff, 0xffff, 0xffde, 0x0618, 0x4518, 0x8310, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8410, 0x4518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0518, 0xffff, 0xffff, 0xffff, 0x2618, 0x4518, 0x8410, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0xa410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x8410, 0x2518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0xffde, 0xffff, 0xffff, 0x6618, 0x2518, 0x8410, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0xa410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x8410, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0xa65e, 0xffff, 0xffff, 0x8618, 0x0618, 0x8410, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0xa65e, 0xffff, 0xffff, 0xa65e, 0x0618, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0xa65e, 0xffff, 0xffff, 0x6618, 0x0618, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x8410, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0518, 0xa65e, 0xa65e, 0x0618, 0x2618, 0x8410, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0xa410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x8410, 0x2518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x0618, 0x0618, 0x2518, 0x8410, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0xa410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8410, 0x4518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x4518, 0x8410, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0x8310, 0x4518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x4518, 0x8310, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8310, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x6410, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x6410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8310, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x4510, 0x8410, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8410, 0x4510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8410, 0x4518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x4518, 0x8410, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8310, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x2518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x2518, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0x8310, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x4508, 0x8410, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8310, 0x8410, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x8410, 0x8310, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x8410, 0x4508, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x2518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x2518, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8310, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8310, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8310, 0x6410, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x6410, 0x8310, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8310, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x6518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x6518, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8310, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x4518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x4518, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8410, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x6518, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x6518, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x8410, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8310, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x6410, 0x0618, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x0618, 0x6410, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0x8310, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8310, 0x8410, 0x2518, 0x0618, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x0618, 0x2518, 0x8410, 0x8310, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x4510, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8410, 0x8410, 0x8410, 0x2518, 0x0618, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x0618, 0x2518, 0x8410, 0x8410, 0x8410, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x4510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8310, 0x8410, 0x8410, 0x4518, 0x0618, 0x0618, 0x0618, 0x0618, 0x0618, 0x2618, 0x2618, 0x2618, 0x2618, 0x0618, 0x0618, 0x0618, 0x0618, 0x0618, 0x4518, 0x8410, 0x8410, 0x8310, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8310, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x8410, 0x8410, 0x6410, 0x4518, 0x4518, 0x2518, 0x2618, 0x0618, 0x0618, 0x2618, 0x2518, 0x4518, 0x4518, 0x6410, 0x8410, 0x8410, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x8310, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8310, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0xa514, 0x8410, 0x8310, 0x8410, 0x8410, 0x8410, 0x8410, 0x8410, 0x8410, 0x8410, 0x8410, 0x8310, 0x8410, 0xa514, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8310, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xc6f8, 0xc618, 0xc618, 0xa514, 0xa514, 0xc618, 0xc618, 0xc6f8, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8410, 0x8410, 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, 0xffde, 0x8410, 0x8410, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x4510, 0x8410, 0x8310, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x8310, 0x8410, 0x4510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x8410, 0x8410, 0x8410, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 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, 0x8410, 0x8410, 0x8410, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8410, 0x8310, 0x8410, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0x8410, 0x8310, 0x8410, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8410, 0x8310, 0x8410, 0xc618, 0xffde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xc618, 0x8410, 0x8310, 0x8410, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x6510, 0x8410, 0x8410, 0x8310, 0x8410, 0xc618, 0xc6f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc6f8, 0xc618, 0x8410, 0x8310, 0x8410, 0x8410, 0x6510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x4508, 0x6510, 0x8410, 0x8410, 0x8410, 0x8310, 0x8410, 0x8410, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0xa514, 0x8410, 0x8410, 0x8310, 0x8410, 0x8410, 0x8410, 0x6510, 0x4508, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x4510, 0x6510, 0x8410, 0x8410, 0xa410, 0x8410, 0x8410, 0x8410, 0x8410, 0xa410, 0x8410, 0x8410, 0x6510, 0x4510, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 
    0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608, 0x2608
};