Revert "p1p2: separate.patch & relation.patch"
authorByungho Min <bhmin@samsung.com>
Thu, 21 Jan 2010 08:28:01 +0000 (17:28 +0900)
committerByungho Min <bhmin@samsung.com>
Thu, 21 Jan 2010 08:28:01 +0000 (17:28 +0900)
This reverts commit 468bf8aff858d05230b27642075904ef0fd4e3c9.

16 files changed:
board/samsung/p1p2/Makefile [deleted file]
board/samsung/p1p2/config.mk [deleted file]
board/samsung/p1p2/csa-build.sh [deleted file]
board/samsung/p1p2/lowlevel_init.S [deleted file]
board/samsung/p1p2/mem_setup.S [deleted file]
board/samsung/p1p2/modem_boot.c [deleted file]
board/samsung/p1p2/onenand.c [deleted file]
board/samsung/p1p2/p1p2.c [deleted file]
board/samsung/p1p2/psi_ram.h [deleted file]
board/samsung/p1p2/psi_ram.hex [deleted file]
board/samsung/universal/universal.c
drivers/video/Makefile
drivers/video/ams701ka.c
lib_arm/Makefile
lib_arm/board.c
lib_arm/board_p1p2.c [deleted file]

diff --git a/board/samsung/p1p2/Makefile b/board/samsung/p1p2/Makefile
deleted file mode 100644 (file)
index 515e80e..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# (C) Copyright 2009
-# Kyungmin Park, Samsung Electronics
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-
-include $(TOPDIR)/config.mk
-
-LIB    = $(obj)lib$(BOARD).a
-
-COBJS-y        := p1p2.o onenand.o
-SOBJS  := lowlevel_init.o
-
-COBJS-$(CONFIG_S5PC110_MODEM)  += modem_boot.o
-
-SRCS    := $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
-OBJS   := $(addprefix $(obj),$(COBJS-y))
-SOBJS  := $(addprefix $(obj),$(SOBJS))
-
-$(LIB):        $(obj).depend $(SOBJS) $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(SOBJS) $(OBJS)
-
-clean:
-       rm -f $(SOBJS) $(OBJS)
-
-distclean:     clean
-       rm -f $(LIB) core *.bak $(obj).depend
-
-#########################################################################
-
-# defines $(obj).depend target
-include $(SRCTREE)/rules.mk
-
-sinclude $(obj).depend
-
-#########################################################################
diff --git a/board/samsung/p1p2/config.mk b/board/samsung/p1p2/config.mk
deleted file mode 100644 (file)
index ebab420..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright (C) 2008 # Samsung Elecgtronics
-# Kyungmin Park <kyungmin.park@samsung.com>
-#
-
-# On S5PC100 we use the 128 MiB OneDRAM bank at
-#
-# 0x30000000 to 0x35000000 (80MiB)
-# 0x38000000 to 0x40000000 (128MiB)
-#
-# On S5PC110 we use the 128 MiB OneDRAM bank at
-#
-# 0x30000000 to 0x35000000 (80MiB)
-# 0x40000000 to 0x48000000 (128MiB)
-#
-TEXT_BASE = 0x34800000
diff --git a/board/samsung/p1p2/csa-build.sh b/board/samsung/p1p2/csa-build.sh
deleted file mode 100644 (file)
index 7956a6f..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-
-CSA_UBIFS_IMG=csa.ubifs.img
-CSA_UBI_IMG=csa.ubi.img
-CSA_CFG=csa-cfg.ini
-CSA_TAR=csa.tar
-
-build()
-{
-       mkdir -p csa
-       rm -f $CSA_CFG
-       echo "[csa-volume]" > $CSA_CFG
-       echo "mode=ubi" >> $CSA_CFG
-       echo "image=$CSA_UBIFS_IMG" >> $CSA_CFG
-       echo "vol_id=5" >> $CSA_CFG
-       echo "vol_size=8MiB" >> $CSA_CFG
-       echo "vol_type=dynamic" >> $CSA_CFG
-       echo "vol_name=csa" >> $CSA_CFG
-       echo "vol_flags=autoresize" >> $CSA_CFG
-       echo "vol_alignment=1" >> $CSA_CFG
-       mkfs.ubifs -d csa -m 4096 -e 256KiB -c 100 -o $CSA_UBIFS_IMG -v
-       ubinize -o $CSA_UBI_IMG -p 256KiB -m 4KiB -s 4KiB -v $CSA_CFG
-
-       tar cf $CSA_TAR $CSA_UBI_IMG
-}
-
-clean()
-{
-       rm -rf $CSA_UBIFS_IMG $CSA_UBI_IMG $CSA_CFG $CSA_TAR csa
-}
-
-if [ "$1" = "clean" ]; then
-       clean
-else
-       build
-fi
diff --git a/board/samsung/p1p2/lowlevel_init.S b/board/samsung/p1p2/lowlevel_init.S
deleted file mode 100644 (file)
index c914261..0000000
+++ /dev/null
@@ -1,516 +0,0 @@
-/*
- * Memory Setup stuff - taken from blob memsetup.S
- *
- * Copyright (C) 2009 Samsung Electronics
- * Kyungmin Park <kyungmin.park@samsung.com>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <config.h>
-#include <version.h>
-#include <asm/arch/cpu.h>
-#include <asm/arch/clock.h>
-#include <asm/arch/power.h>
-
-#define DEBUG_PM_C110
-#undef DEBUG_PM_C110
-
-/*
- * Register usages:
- *
- * r5 has zero always
- * r7 has S5PC100 GPIO base, 0xE0300000
- * r8 has real GPIO base, 0xE0300000, 0xE0200000 at S5PC100, S5PC110 repectively
- * r9 has Mobile DDR size, 1 means 1GiB, 2 means 2GiB and so on
- */
-
-_TEXT_BASE:
-       .word   TEXT_BASE
-
-       .globl lowlevel_init
-lowlevel_init:
-       mov     r11, lr
-
-       /* r5 has always zero */
-       mov     r5, #0
-
-       ldr     r7, =S5PC100_GPIO_BASE
-       ldr     r8, =S5PC100_GPIO_BASE
-       /* Read CPU ID */
-       ldr     r2, =S5PC1XX_PRO_ID
-       ldr     r0, [r2]
-       mov     r1, #0x00010000
-       and     r0, r0, r1
-       cmp     r0, r5
-       beq     100f
-       ldr     r8, =S5PC110_GPIO_BASE
-100:
-       /* Turn on KEY_LED_ON [GPJ4(1)] XMSMWEN */
-       cmp     r7, r8
-#ifndef DEBUG_PM_C110
-       addeq   r0, r8, #0x280                          @S5PC100_GPIO_J4_OFFSET
-       addne   r0, r8, #0x2C0                          @S5PC110_GPIO_J4_OFFSET
-       ldr     r1, [r0, #0x0]                          @S5PC1XX_GPIO_CON_OFFSET
-       bic     r1, r1, #(0xf << 4)                     @ 1 * 4-bit
-       orr     r1, r1, #(0x1 << 4)
-       str     r1, [r0, #0x0]                          @S5PC1XX_GPIO_CON_OFFSET
-
-       ldr     r1, [r0, #0x4]                          @S5PC1XX_GPIO_DAT_OFFSET
-#ifdef CONFIG_ONENAND_IPL
-       orr     r1, r1, #(1 << 1)                       @ 1 * 1-bit
-#else
-       bic     r1, r1, #(1 << 1)
-#endif
-       str     r1, [r0, #0x4]                          @S5PC1XX_GPIO_DAT_OFFSET
-#endif
-
-       /* IO retension release */
-       ldreq   r0, =S5PC100_OTHERS                     @0xE0108200
-       ldrne   r0, =S5PC110_OTHERS                     @0xE010E000
-       ldr     r1, [r0]
-       ldreq   r2, =(1 << 31)                          @IO_RET_REL
-       ldrne   r2, =((1 << 31) | (1 << 30) | (1 << 29) | (1 << 28))    @ GPIO, UART_IO
-       orr     r1, r1, r2
-       str     r1, [r0]
-
-#ifndef CONFIG_ONENAND_IPL
-       /* Disable Watchdog */
-       ldreq   r0, =S5PC100_WATCHDOG_BASE              @0xEA200000
-       ldrne   r0, =S5PC110_WATCHDOG_BASE              @0xE2700000
-       str     r5, [r0]
-
-       /* setting SRAM */
-       ldreq   r0, =S5PC100_SROMC_BASE
-       ldrne   r0, =S5PC110_SROMC_BASE
-       ldr     r1, =0x9
-       str     r1, [r0]
-#endif
-
-       /* S5PC100 has 3 groups of interrupt sources */
-       ldreq   r0, =S5PC100_VIC0_BASE                  @0xE4000000
-       ldrne   r0, =S5PC110_VIC0_BASE                  @0xF2000000
-       add     r1, r0, #0x00100000
-       add     r2, r0, #0x00200000
-
-       /* Disable all interrupts (VIC0, VIC1 and VIC2) */
-       mvn     r3, #0x0
-       str     r3, [r0, #0x14]                         @INTENCLEAR
-       str     r3, [r1, #0x14]                         @INTENCLEAR
-       str     r3, [r2, #0x14]                         @INTENCLEAR
-
-#ifndef CONFIG_ONENAND_IPL
-       /* Set all interrupts as IRQ */
-       str     r5, [r0, #0xc]                          @INTSELECT
-       str     r5, [r1, #0xc]                          @INTSELECT
-       str     r5, [r2, #0xc]                          @INTSELECT
-
-       /* Pending Interrupt Clear */
-       str     r5, [r0, #0xf00]                        @INTADDRESS
-       str     r5, [r1, #0xf00]                        @INTADDRESS
-       str     r5, [r2, #0xf00]                        @INTADDRESS
-#endif
-
-#ifndef CONFIG_ONENAND_IPL
-       /* for UART */
-       bl      uart_asm_init
-
-       bl      internal_ram_init
-#endif
-
-#ifdef CONFIG_ONENAND_IPL
-       /* init system clock */
-       bl      system_clock_init
-
-       /* Board detection to set proper memory configuration */
-       cmp     r7, r8
-       moveq   r9, #1          /* r9 has 1Gib default at s5pc100 */
-       movne   r9, #2          /* r9 has 2Gib default at s5pc110 */
-       /* FIXME 1Gib detection: Limo Universal */
-       /* Check Limo Real board
-        *      LR (suspend)    LU              J1B2
-        * 0x04 0x01 (0x01)     0x01 (0x01)     0x01 (0x01)
-        * 0x24 0x28 (0xA8)     0x28 (0x6A)     0x1C (0x1C)
-        * 0x44 0x00 (0xC7)     0x00 (0x47)     0x00 (0x47)
-        * 0x64 0x03 (0x1F)     0x07 (0x1F)     0x0f (0x0F)
-        *
-        * Check (0 << 3) at 0x64 at boot
-        * Check 0x47 at 0x44 at suspend
-        */
-       ldrne   r2, =0xE0200C00
-       ldrne   r1, [r2, #0x64]
-       and     r1, r1, #(1 << 2)
-       cmp     r1, #(1 << 2)
-       moveq   r9, #1
-       ldr     r1, [r2, #0x44]
-       cmp     r1, #0x47
-       moveq   r9, #1
-       /*
-        * Aquila Rev 0.5 : 4G3G1G x16 for Infineon ES3.1
-        * Aquila Rev 0.6 : 4G1G1G x32 for MSM6290
-        * Aquila Rev 0.7 : 4G2G1G x16 for Infineon ES3.1
-        * Aquila Rev 0.8 : 4G3G1G x16 for Infineon ES3.1
-        */
-       ldr     r2, =0xE0200200
-       ldr     r4, [r2, #0x48]
-       bic     r1, r4, #(0xFF << 2)    /* PULLUP_DISABLE: 4 * 2-bit */
-       str     r1, [r2, #0x48]
-       /* For write completion */
-       nop
-       nop
-
-       ldr     r3, [r2, #0x44]
-       and     r1, r3, #(0xf << 1)
-       cmp     r1, #(0x5 << 2)
-       moveq   r9, #3
-       cmp     r1, #(0x6 << 2)
-       moveq   r9, #1
-       cmp     r1, #(0x7 << 2)
-       moveq   r9, #2
-       cmp     r1, #(0x1 << 1)
-       moveq   r9, #3
-       str     r4, [r2, #0x48]         /* Restore PULLUP configuration */
-
-       bl      mem_ctrl_asm_init
-
-       /* OneNAND Sync Read Support at S5PC110 only
-        * RM[15]       : Sync Read
-        * BRWL[14:12]  : 7 CLK
-        * BL[11:9]     : Continuous
-        * VHF[3]       : Very High Frequency Enable (Over 83MHz)
-        * HF[2]        : High Frequency Enable (Over 66MHz)
-        */
-       cmp     r7, r8
-       ldrne   r1, =0xE00C
-
-       ldrne   r0, =0xB001E442
-       strneh  r1, [r0]
-
-       ldrne   r0, =0xB0600000
-       strne   r1, [r0, #0x100]                        @ ONENAND_IF_CTRL
-
-       /* Wakeup support. Don't know if it's going to be used, untested. */
-       ldreq   r0, =S5PC100_RST_STAT
-       ldrne   r0, =S5PC110_RST_STAT
-       ldr     r1, [r0]
-       biceq   r1, r1, #0xfffffff7
-       moveq   r2, #(1 << 3)
-       bicne   r1, r1, #0xfffeffff
-       movne   r2, #(1 << 16)
-       cmp     r1, r2
-       bne     1f
-wakeup:
-#ifdef DEBUG_PM_C110
-       mov     r0, r8
-       ldr     r1, =0x22222222
-       str     r1, [r0, #0x0]                  @S5PC100_GPIO_A0_OFFSET
-       ldr     r1, =0x00002222
-       str     r1, [r0, #0x20]                 @S5PC100_GPIO_A1_OFFSET
-
-       /* UART_SEL MP0_5[7] at S5PC110 */
-       add     r0, r8, #0x360                  @S5PC110_GPIO_MP0_5_OFFSET
-       ldr     r1, [r0, #0x0]                  @S5PC1XX_GPIO_CON_OFFSET
-       bic     r1, r1, #(0xf << 28)            @ 28 = 7 * 4-bit
-       orr     r1, r1, #(0x1 << 28)            @ Output
-       str     r1, [r0, #0x0]                  @S5PC1XX_GPIO_CON_OFFSET
-
-       ldr     r1, [r0, #0x8]                  @S5PC1XX_GPIO_PULL_OFFSET
-       bic     r1, r1, #(0x3 << 14)            @ 14 = 7 * 2-bit
-       orr     r1, r1, #(0x2 << 14)            @ Pull-up enabled
-       str     r1, [r0, #0x8]                  @S5PC1XX_GPIO_PULL_OFFSET
-
-       ldr     r1, [r0, #0x4]                  @S5PC1XX_GPIO_DAT_OFFSET
-       orr     r1, r1, #(1 << 7)               @ 7 = 7 * 1-bit
-       str     r1, [r0, #0x4]                  @S5PC1XX_GPIO_DAT_OFFSET
-
-       ldr     r0, =0xE2900000                 @ S5PC110_PA_UART
-       orr     r0, r0, #0x800
-       mov     r1, #0x3
-       str     r1, [r0, #0x000]                @ ULCON
-       ldr     r1, =0x245
-       str     r1, [r0, #0x004]                @ UCON
-       mov     r1, #0x23
-       str     r1, [r0, #0x028]                @ UBRDIV
-       mov     r1, #0x3
-       str     r1, [r0, #0x02C]                @ UDIVSLOT
-
-       mov     r2, #'W'
-       strb    r2, [r0, #0x020]                @ UTXH
-1001:
-       ldrb    r3, [r0, #0x010]                @ UTRSTAT
-       tst     r3, #(1 << 2)
-       beq     1001b
-#endif
-
-       /* turn off L2 cache */
-       bl      l2_cache_disable
-
-       cmp     r7, r8
-       ldreq   r0, =0xC100
-       ldrne   r0, =0xC110
-
-       /* invalidate L2 cache also */
-       bl      invalidate_dcache
-
-       /* turn on L2 cache */
-       bl      l2_cache_enable
-
-       cmp     r7, r8
-       /* Load return address and jump to kernel */
-       ldreq   r0, =S5PC100_INFORM0
-       ldrne   r0, =S5PC110_INFORM0
-
-       /* r1 = physical address of s5pc1xx_cpu_resume function */
-       ldr     r1, [r0]
-
-       /* Jump to kernel (sleep-s5pc1xx.S) */
-       mov     pc, r1
-       nop
-       nop
-#else
-       cmp     r7, r8
-       /* Clear wakeup status register */
-       ldreq   r0, =S5PC100_WAKEUP_STAT
-       ldrne   r0, =S5PC110_WAKEUP_STAT
-       ldr     r1, [r0]
-       str     r1, [r0]
-#endif
-1:
-       mov     lr, r11
-       mov     pc, lr
-
-/*
- * system_clock_init: Initialize core clock and bus clock.
- * void system_clock_init(void)
- */
-system_clock_init:
-       ldr     r0, =S5PC1XX_CLOCK_BASE         @ 0xE0100000
-
-       /* Check S5PC100 */
-       cmp     r7, r8
-       bne     110f
-100:
-#ifndef DEBUG_PM_C110
-       /* Set Lock Time */
-       ldr     r1, =0xe10                      @ Locktime : 0xe10 = 3600
-       str     r1, [r0, #0x000]                @ S5PC100_APLL_LOCK
-       str     r1, [r0, #0x004]                @ S5PC100_MPLL_LOCK
-       str     r1, [r0, #0x008]                @ S5PC100_EPLL_LOCK
-       str     r1, [r0, #0x00C]                @ S5PC100_HPLL_LOCK
-
-       /* S5P_APLL_CON */
-#ifdef CONFIG_CLK_667_166_83
-       ldr     r1, =0x81bc0400         @ SDIV 0, PDIV 4, MDIV 444 (1333MHz)
-#elif defined(CONFIG_CLK_666_166_66)
-       ldr     r1, =0x814d0301         @ SDIV 1, PDIV 3, MDIV 333 (1333MHz)
-#elif defined(CONFIG_CLK_600_150_75)
-       ldr     r1, =0x812C0300         @ SDIV 0, PDIV 3, MDIV 300 (1200MHz)
-#elif defined(CONFIG_CLK_533_133_66)
-       ldr     r1, =0x810b0300         @ SDIV 0, PDIV 3, MDIV 267 (1066MHz)
-#elif defined(CONFIG_CLK_500_166_66)
-       ldr     r1, =0x81f40301         @ SDIV 1, PDIV 3, MDIV 500 (1000MHz)
-#elif defined(CONFIG_CLK_467_117_59)
-       ldr     r1, =0x826E0401         @ SDIV 1, PDIV 4, MDIV 622 (933MHz)
-#elif defined(CONFIG_CLK_400_100_50)
-       ldr     r1, =0x81900301         @ SDIV 1, PDIV 3, MDIV 400 (800MHz)
-#else
-#error you should set the correct clock configuration
-#endif
-       str     r1, [r0, #0x100]
-       /* S5P_MPLL_CON */
-       ldr     r1, =0x80590201         @ SDIV 1, PDIV 2, MDIV 89 (267MHz)
-       str     r1, [r0, #0x104]
-       /* S5P_EPLL_CON */
-       ldr     r1, =0x80870303         @ SDIV 3, PDIV 3, MDIV 135 (67.5MHz)
-       str     r1, [r0, #0x108]
-       /* S5P_HPLL_CON */
-       ldr     r1, =0x80600603         @ SDIV 3, PDIV 6, MDIV 96
-       str     r1, [r0, #0x10C]
-
-       ldr     r1, [r0, #0x300]
-       ldr     r2, =0x00003fff
-       bic     r1, r1, r2
-#ifdef CONFIG_CLK_800_166_66
-       ldr     r2, =0x00011401
-#elif defined(CONFIG_CLK_500_166_66)
-       ldr     r2, =0x00011201
-#elif defined(CONFIG_CLK_666_166_66)
-       ldr     r2, =0x00011300
-#else
-       ldr     r2, =0x00011301
-#endif
-       orr     r1, r1, r2
-       str     r1, [r0, #0x300]
-       ldr     r1, [r0, #0x304]
-       ldr     r2, =0x00011110
-       orr     r1, r1, r2
-       str     r1, [r0, #0x304]
-       ldr     r1, =0x00000001
-       str     r1, [r0, #0x308]
-
-       /* Set Source Clock */
-       ldr     r1, =0x00001111                 @ A, M, E, HPLL Muxing
-       str     r1, [r0, #0x200]                @ S5PC1XX_CLK_SRC0
-#endif
-       b       200f
-110:
-       /* Set Clock divider */
-       ldr     r1, =0x14131330                 @ 1:1:4:4, 1:4:5
-       str     r1, [r0, #0x300]
-       ldr     r1, =0x11110111                 @ UART[3210]: MMC[3210]
-       str     r1, [r0, #0x310]
-
-       /* Set Lock Time */
-       ldr     r1, =0xe10                      @ Locktime : 0xe10 = 3600
-       str     r1, [r0, #0x000]                @ S5PC110_APLL_LOCK
-       str     r1, [r0, #0x008]                @ S5PC110_MPLL_LOCK
-       str     r1, [r0, #0x010]                @ S5PC110_EPLL_LOCK
-       str     r1, [r0, #0x020]                @ S5PC110_VPLL_LOCK
-
-       /* S5PC110_APLL_CON */
-       ldr     r1, =0x80C80601                 @ 800MHz
-       str     r1, [r0, #0x100]
-       /* S5PC110_MPLL_CON */
-       ldr     r1, =0x829B0C01                 @ 667MHz
-       str     r1, [r0, #0x108]
-       /* S5PC110_EPLL_CON */
-       ldr     r1, =0x80600602                 @  96MHz VSEL 0 P 6 M 96 S 2
-       str     r1, [r0, #0x110]
-       /* S5PC110_VPLL_CON */
-       ldr     r1, =0x806C0603                 @  54MHz
-       str     r1, [r0, #0x120]
-
-       /* Set Source Clock */
-       ldr     r1, =0x10001111                 @ A, M, E, VPLL Muxing
-       str     r1, [r0, #0x200]                @ S5PC1XX_CLK_SRC0
-
-       /* OneDRAM(DMC0) clock setting */
-       ldr     r1, =0x01000000                 @ ONEDRAM_SEL[25:24] 1 SCLKMPLL
-       str     r1, [r0, #0x218]                @ S5PC110_CLK_SRC6
-       ldr     r1, =0x30000000                 @ ONEDRAM_RATIO[31:28] 3 + 1
-       str     r1, [r0, #0x318]                @ S5PC110_CLK_DIV6
-
-       /* XCLKOUT = XUSBXTI 24MHz */
-       add     r2, r0, #0xE000                 @ S5PC110_OTHERS
-       ldr     r1, [r2]
-       orr     r1, r1, #(0x3 << 8)             @ CLKOUT[9:8] 3 XUSBXTI
-       str     r1, [r2]
-
-       /* CLK_IP0 */
-       ldr     r1, =0x8fefeeb                  @ DMC[1:0] PDMA0[3] IMEM[5]
-       str     r1, [r0, #0x460]                @ S5PC110_CLK_IP0
-
-       /* CLK_IP1 */
-       ldr     r1, =0xe9fdf0f9                 @ FIMD[0] USBOTG[16]
-                                               @ NANDXL[24]
-       str     r1, [r0, #0x464]                @ S5PC110_CLK_IP1
-
-       /* CLK_IP2 */
-       ldr     r1, =0xf75f7fc                  @ CORESIGHT[8] MODEM[9]
-                                               @ HOSTIF[10] HSMMC0[16]
-                                               @ HSMMC2[18] VIC[27:24]
-       str     r1, [r0, #0x468]                @ S5PC110_CLK_IP2
-
-       /* CLK_IP3 */
-       ldr     r1, =0x8edf038c                 @ I2C[8:6]
-                                               @ SYSTIMER[16] UART0[17]
-                                               @ UART1[18] UART2[19]
-                                               @ UART3[20] WDT[22]
-                                               @ PWM[23] GPIO[26] SYSCON[27]
-       str     r1, [r0, #0x46c]                @ S5PC110_CLK_IP3
-
-       /* CLK_IP4 */
-       ldr     r1, =0xfffffff1                 @ CHIP_ID[0] TZPC[8:5]
-       str     r1, [r0, #0x470]                @ S5PC110_CLK_IP3
-
-200:
-       /* wait at least 200us to stablize all clock */
-       mov     r2, #0x10000
-1:     subs    r2, r2, #1
-       bne     1b
-
-       mov     pc, lr
-
-#ifndef CONFIG_ONENAND_IPL
-internal_ram_init:
-       ldreq   r0, =0xE3800000
-       ldrne   r0, =0xF1500000
-       ldr     r1, =0x0
-       str     r1, [r0]
-
-       mov     pc, lr
-#endif
-
-#ifndef CONFIG_ONENAND_IPL
-/*
- * uart_asm_init: Initialize UART's pins
- */
-uart_asm_init:
-       /* set GPIO to enable UART0-UART4 */
-       mov     r0, r8
-       ldr     r1, =0x22222222
-       str     r1, [r0, #0x0]                  @S5PC100_GPIO_A0_OFFSET
-       ldr     r1, =0x00002222
-       str     r1, [r0, #0x20]                 @S5PC100_GPIO_A1_OFFSET
-
-       /* Check S5PC100 */
-       cmp     r7, r8
-       bne     110f
-
-#ifndef DEBUG_PM_C110
-       /* UART_SEL GPK0[5] at S5PC100 */
-       add     r0, r8, #0x2A0                  @S5PC100_GPIO_K0_OFFSET
-       ldr     r1, [r0, #0x0]                  @S5PC1XX_GPIO_CON_OFFSET
-       bic     r1, r1, #(0xf << 20)            @ 20 = 5 * 4-bit
-       orr     r1, r1, #(0x1 << 20)            @ Output
-       str     r1, [r0, #0x0]                  @S5PC1XX_GPIO_CON_OFFSET
-
-       ldr     r1, [r0, #0x8]                  @S5PC1XX_GPIO_PULL_OFFSET
-       bic     r1, r1, #(0x3 << 10)            @ 10 = 5 * 2-bit
-       orr     r1, r1, #(0x2 << 10)            @ Pull-up enabled
-       str     r1, [r0, #0x8]                  @S5PC1XX_GPIO_PULL_OFFSET
-
-       ldr     r1, [r0, #0x4]                  @S5PC1XX_GPIO_DAT_OFFSET
-       orr     r1, r1, #(1 << 5)               @ 5 = 5 * 1-bit
-       str     r1, [r0, #0x4]                  @S5PC1XX_GPIO_DAT_OFFSET
-#endif
-       b       200f
-110:
-       /*
-        * Note that the following address
-        * 0xE020'0360 is reserved address at S5PC100
-        */
-       /* UART_SEL MP0_5[7] at S5PC110 */
-       add     r0, r8, #0x360                  @S5PC110_GPIO_MP0_5_OFFSET
-       ldr     r1, [r0, #0x0]                  @S5PC1XX_GPIO_CON_OFFSET
-       bic     r1, r1, #(0xf << 28)            @ 28 = 7 * 4-bit
-       orr     r1, r1, #(0x1 << 28)            @ Output
-       str     r1, [r0, #0x0]                  @S5PC1XX_GPIO_CON_OFFSET
-
-       ldr     r1, [r0, #0x8]                  @S5PC1XX_GPIO_PULL_OFFSET
-       bic     r1, r1, #(0x3 << 14)            @ 14 = 7 * 2-bit
-       orr     r1, r1, #(0x2 << 14)            @ Pull-up enabled
-       str     r1, [r0, #0x8]                  @S5PC1XX_GPIO_PULL_OFFSET
-
-       ldr     r1, [r0, #0x4]                  @S5PC1XX_GPIO_DAT_OFFSET
-       orr     r1, r1, #(1 << 7)               @ 7 = 7 * 1-bit
-       str     r1, [r0, #0x4]                  @S5PC1XX_GPIO_DAT_OFFSET
-200:
-       mov     pc, lr
-#endif
diff --git a/board/samsung/p1p2/mem_setup.S b/board/samsung/p1p2/mem_setup.S
deleted file mode 100644 (file)
index 8fa61df..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-/*
- * Copyright (C) 2009 Samsung Electrnoics
- * Minkyu Kang <mk7.kang@samsung.com>
- * Kyungmin Park <kyungmin.park@samsung.com>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <config.h>
-
-#define NEW_MEMORY_TIMING
-#undef NEW_MEMORY_TIMING
-
-       .globl mem_ctrl_asm_init
-mem_ctrl_asm_init:
-       cmp     r7, r8
-
-#ifdef NEW_MEMORY_TIMING
-       /* CLOCK_POWER_BASE */
-       ldrne   r0, =0xE0100000
-       orrne   r0, r0, #0x6200
-       orrne   r0, r0, #0x0008
-       ldrne   r1, =0x00000000         @ 0 : SCLK_ONEDRAM, 1 : HCLK200
-       strne   r1, [r0]
-
-       /* ASYNC_MSYS_DMC0_BASE */
-       ldrne   r0, =0xF1E00000
-       ldrne   r1, =0x0
-       strne   r1, [r0, #0x0]
-       ldrne   r1, =0x0
-       str     r1, [r0, #0xC]
-#endif
-
-       ldreq   r0, =S5PC100_DMC_BASE                   @ 0xE6000000
-       ldrne   r0, =S5PC110_DMC0_BASE                  @ 0xF0000000
-       ldrne   r6, =S5PC110_DMC1_BASE                  @ 0xF1400000
-
-       /* DLL parameter setting */
-#ifdef NEW_MEMORY_TIMING
-       ldr     r1, =0x003B3B00
-#else
-       ldr     r1, =0x50101000
-#endif
-       str     r1, [r0, #0x018]                        @ PHYCONTROL0_OFFSET
-       strne   r1, [r6, #0x018]                        @ PHYCONTROL0_OFFSET
-#ifdef NEW_MEMORY_TIMING
-       ldr     r1, =0x00000004
-#else
-       ldr     r1, =0x000000f4
-#endif
-       str     r1, [r0, #0x01C]                        @ PHYCONTROL1_OFFSET
-       strne   r1, [r6, #0x01C]                        @ PHYCONTROL1_OFFSET
-       ldreq   r1, =0x0
-       streq   r1, [r0, #0x020]                        @ PHYCONTROL2_OFFSET
-
-       /* DLL on */
-#ifdef NEW_MEMORY_TIMING
-       ldr     r1, =0x003B3B02
-#else
-       ldr     r1, =0x50101002
-#endif
-       str     r1, [r0, #0x018]                        @ PHYCONTROL0_OFFSET
-       strne   r1, [r6, #0x018]                        @ PHYCONTROL0_OFFSET
-
-       /* DLL start */
-#ifdef NEW_MEMORY_TIMING
-       ldr     r1, =0x003B3B03
-#else
-       ldr     r1, =0x50101003
-#endif
-       str     r1, [r0, #0x018]                        @ PHYCONTROL0_OFFSET
-       strne   r1, [r6, #0x018]                        @ PHYCONTROL0_OFFSET
-
-       mov     r2, #0x4000
-wait:  subs    r2, r2, #0x1
-       cmp     r2, #0x0
-       bne     wait
-
-       cmp     r7, r8
-       /* Force value locking for DLL off */
-#ifdef NEW_MEMORY_TIMING
-       ldr     r1, =0x6A3B3B01
-#endif
-       str     r1, [r0, #0x018]                        @ PHYCONTROL0_OFFSET
-       strne   r1, [r6, #0x018]                        @ PHYCONTROL0_OFFSET
-
-#ifndef NEW_MEMORY_TIMING
-       /* DLL off */
-       ldr     r1, =0x50101009
-       str     r1, [r0, #0x018]                        @ PHYCONTROL0_OFFSET
-       strne   r1, [r6, #0x018]                        @ PHYCONTROL0_OFFSET
-#endif
-
-       /* auto refresh off */
-#ifdef NEW_MEMORY_TIMING
-       ldr     r1, =0x0FFF1010
-       ldr     r2, =0x0FFF10B0
-#else
-       ldr     r1, =0xff001010 | (1 << 7)
-       ldr     r2, =0xff001010 | (1 << 7)
-#endif
-       str     r1, [r0, #0x000]                        @ CONCONTROL_OFFSET
-       strne   r2, [r6, #0x000]                        @ CONCONTROL_OFFSET
-
-       /*
-        * Burst Length 4, 2 chips, 32-bit, LPDDR
-        * OFF: dynamic self refresh, force precharge, dynamic power down off
-        */
-#ifdef NEW_MEMORY_TIMING
-       ldr     r1, =0x00202100
-       ldr     r2, =0x00212100
-#else
-       ldr     r1, =0x00212100
-       ldr     r2, =0x00212100
-#endif
-       str     r1, [r0, #0x004]                        @ MEMCONTROL_OFFSET
-       strne   r2, [r6, #0x004]                        @ MEMCONTROL_OFFSET
-
-       /*
-        * Note:
-        * If Bank0 has Mobile RAM we place it at 0x3800'0000 (s5pc100 only)
-        * So finally Bank1 OneDRAM should address start at at 0x3000'0000
-        */
-
-       /*
-        * DMC0: CS0 : S5PC100/S5PC110
-        * 0x30 -> 0x30000000
-        * 0xf8 -> 0x37FFFFFF
-        * [15:12] 0: Linear
-        * [11:8 ] 2: 9 bits
-        * [ 7:4 ] 2: 14 bits
-        * [ 3:0 ] 2: 4 banks
-        */
-       ldr     r3, =0x30f80222
-swap_memory:
-       str     r3, [r0, #0x008]                        @ MEMCONFIG0_OFFSET
-
-       /*
-        * DMC1: CS0 : S5PC110
-        * 0x40 -> 0x40000000
-        * 0xf8 -> 0x47FFFFFF (1Gib)
-        * 0x40 -> 0x40000000
-        * 0xf0 -> 0x4FFFFFFF (2Gib)
-        * [15:12] 0: Linear
-        * [11:8 ] 2: 9 bits  - Col (1Gib)
-        * [11:8 ] 3: 10 bits - Col (2Gib)
-        * [ 7:4 ] 2: 14 bits - Row
-        * [ 3:0 ] 2: 4 banks
-        */
-       /* Default : 2GiB */
-       ldr     r4, =0x40f00322                         @ 2Gib
-       ldr     r5, =0x50f80222
-       cmp     r9, #1
-       ldreq   r4, =0x40f80222                         @ 1Gib
-       cmp     r9, #3
-       ldreq   r5, =0x50f80222                         @ 2Gib + 1Gib
-       cmp     r9, #4
-       ldreq   r5, =0x50f00322                         @ 2Gib + 2Gib
-
-       cmp     r7, r8
-       strne   r4, [r6, #0x008]                        @ MEMCONFIG0_OFFSET
-       strne   r5, [r6, #0x00C]                        @ MEMCONFIG1_OFFSET
-
-       /*
-        * DMC0: CS1: S5PC100
-        * 0x38 -> 0x38000000
-        * 0xf8 -> 0x3fFFFFFF
-        * [15:12] 0: Linear
-        * [11:8 ] 2: 9 bits
-        * [ 7:4 ] 2: 14 bits
-        * [ 3:0 ] 2: 4 banks
-        */
-       eoreq   r3, r3, #0x08000000
-       streq   r3, [r0, #0xc]                          @ MEMCONFIG1_OFFSET
-
-#ifdef NEW_MEMORY_TIMING
-       ldr     r1, =0xFF000000
-#else
-       ldr     r1, =0x20000000
-#endif
-       str     r1, [r0, #0x014]                        @ PRECHCONFIG_OFFSET
-       strne   r1, [r0, #0x014]                        @ PRECHCONFIG_OFFSET
-       strne   r1, [r6, #0x014]                        @ PRECHCONFIG_OFFSET
-
-       /*
-        * S5PC100:
-        * DMC:  CS0: 166MHz
-        *       CS1: 166MHz
-        * S5PC110:
-        * DMC0: CS0: 166MHz
-        * DMC1: CS0: 200MHz
-        *
-        * 7.8us * 200MHz %LE %LONG1560(0x618)
-        * 7.8us * 166MHz %LE %LONG1294(0x50E)
-        * 7.8us * 133MHz %LE %LONG1038(0x40E),
-        * 7.8us * 100MHz %LE %LONG780(0x30C),
-        */
-       ldr     r1, =0x0000050E
-       str     r1, [r0, #0x030]                        @ TIMINGAREF_OFFSET
-       ldrne   r1, =0x00000618
-       strne   r1, [r6, #0x030]                        @ TIMINGAREF_OFFSET
-
-#ifdef NEW_MEMORY_TIMING
-       ldr     r1, =0x14233287
-#else
-       ldr     r1, =0x0c233287
-#endif
-       str     r1, [r0, #0x034]                        @ TIMINGROW_OFFSET
-       ldrne   r1, =0x11344309
-       strne   r1, [r6, #0x034]                        @ TIMINGROW_OFFSET
-
-#ifdef NEW_MEMORY_TIMING
-       ldr     r1, =0x12130005
-#else
-       ldr     r1, =0x32330303
-#endif
-       str     r1, [r0, #0x038]                        @ TIMINGDATA_OFFSET
-       ldrne   r1, =0x12130005
-       strne   r1, [r6, #0x038]                        @ TIMINGDATA_OFFSET
-
-       /* tfaw=4 sxsr=0x14 txp=0x14 tcke=3 tmrd=3 */
-#ifdef NEW_MEMORY_TIMING
-       ldr     r1, =0x0E140222
-#else
-       ldr     r1, =0x04141433
-#endif
-       str     r1, [r0, #0x03C]                        @ TIMINGPOWER_OFFSET
-       ldrne   r1, =0x0E190222
-       strne   r1, [r6, #0x03C]                        @ TIMINGPOWER_OFFSET
-
-       /* chip0 Deselect */
-       ldr     r1, =0x07000000
-       str     r1, [r0, #0x010]                        @ DIRECTCMD_OFFSET
-       strne   r1, [r6, #0x010]                        @ DIRECTCMD_OFFSET
-
-       /* chip0 PALL */
-       ldr     r1, =0x01000000
-       str     r1, [r0, #0x010]                        @ DIRECTCMD_OFFSET
-       strne   r1, [r6, #0x010]                        @ DIRECTCMD_OFFSET
-
-       /* chip0 REFA */
-       ldr     r1, =0x05000000
-       str     r1, [r0, #0x010]                        @ DIRECTCMD_OFFSET
-       strne   r1, [r6, #0x010]                        @ DIRECTCMD_OFFSET
-       /* chip0 REFA */
-       str     r1, [r0, #0x010]                        @ DIRECTCMD_OFFSET
-       strne   r1, [r6, #0x010]                        @ DIRECTCMD_OFFSET
-
-       /* chip0 MRS, CL%LE %LONG3, BL%LE %LONG4 */
-       ldr     r1, =0x00000032
-       str     r1, [r0, #0x010]                        @ DIRECTCMD_OFFSET
-       strne   r1, [r6, #0x010]                        @ DIRECTCMD_OFFSET
-
-       /* chip1 Deselect */
-       ldr     r1, =0x07100000
-       str     r1, [r0, #0x010]                        @ DIRECTCMD_OFFSET
-       strne   r1, [r6, #0x010]                        @ DIRECTCMD_OFFSET
-
-       /* chip1 PALL */
-       ldr     r1, =0x01100000
-       str     r1, [r0, #0x010]                        @ DIRECTCMD_OFFSET
-       strne   r1, [r6, #0x010]                        @ DIRECTCMD_OFFSET
-
-       /* chip1 REFA */
-       ldr     r1, =0x05100000
-       str     r1, [r0, #0x010]                        @ DIRECTCMD_OFFSET
-       strne   r1, [r6, #0x010]                        @ DIRECTCMD_OFFSET
-       /* chip1 REFA */
-       str     r1, [r0, #0x010]                        @ DIRECTCMD_OFFSET
-       strne   r1, [r6, #0x010]                        @ DIRECTCMD_OFFSET
-
-       /* chip1 MRS, CL%LE %LONG3, BL%LE %LONG4 */
-       ldr     r1, =0x00100032
-       str     r1, [r0, #0x010]                        @ DIRECTCMD_OFFSET
-       strne   r1, [r6, #0x010]                        @ DIRECTCMD_OFFSET
-
-       /* auto refresh on */
-#ifdef NEW_MEMORY_TIMING
-       ldr     r1, =0x0FFF10B0
-#else
-       ldr     r1, =0xFF002030 | (1 << 7)
-#endif
-       str     r1, [r0, #0x000]                        @ CONCONTROL_OFFSET
-       strne   r1, [r6, #0x000]                        @ CONCONTROL_OFFSET
-
-       /* PwrdnConfig */
-#ifdef NEW_MEMORY_TIMING
-       ldr     r1, =0xFFFF00FF
-#else
-       ldr     r1, =0x00100002
-#endif
-       str     r1, [r0, #0x028]                        @ PWRDNCONFIG_OFFSET
-       strne   r1, [r6, #0x028]                        @ PWRDNCONFIG_OFFSET
-
-#ifdef NEW_MEMORY_TIMING
-       /* DMC0: 1 chip, DMC1: 2 chips */
-       ldr     r1, =0x00202113
-       ldr     r2, =0x00212113
-#else
-       ldr     r1, =0xff212100
-#endif
-       str     r1, [r0, #0x004]                        @ MEMCONTROL_OFFSET
-       strne   r2, [r6, #0x004]                        @ MEMCONTROL_OFFSET
-
-       /* Skip when S5PC110 */
-       bne     1f
-
-       /* Check OneDRAM access area at s5pc100 */
-       ldreq   r3, =0x38f80222
-       ldreq   r1, =0x37ffff00
-       str     r3, [r1]
-       ldr     r2, [r1]
-       cmp     r2, r3
-       beq     swap_memory
-1:
-       mov     pc, lr
-
-       .ltorg
diff --git a/board/samsung/p1p2/modem_boot.c b/board/samsung/p1p2/modem_boot.c
deleted file mode 100644 (file)
index 3ee35c1..0000000
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * need copyright
- */
-
-#include <common.h>
-#include <command.h>
-#include <serial.h>
-#include <asm/arch/gpio.h>
-#include <asm/io.h>
-#include "psi_ram.h"
-
-#define OneDRAM_B_BANK_BASEADDR                0x35000000
-
-#define MODEM_OS_BASEADDR              OneDRAM_B_BANK_BASEADDR
-#define MODEM_EEP_STATIC_BASEADDR      (MODEM_OS_BASEADDR + 0x870000)
-#define MODEM_EEP_CAL_BAK_BASEADDR     (MODEM_OS_BASEADDR + 0x880000)
-#define MODEM_EEP_DYNAMIC_BASEADDR     (MODEM_OS_BASEADDR + 0x890000)
-#define MODEM_EEP_SECURITY_BASEADDR    (MODEM_OS_BASEADDR + 0x8A0000)
-
-#define OneDRAMREG_BASEADDR            (OneDRAM_B_BANK_BASEADDR + 0xFFF800)
-
-#define rOneDRAM_SEMAPHORE     (*(volatile int*)(OneDRAMREG_BASEADDR))
-#define rOneDRAM_MAILBOX_AB    (*(volatile int*)(OneDRAMREG_BASEADDR + 0x20))
-#define rOneDRAM_MAILBOX_BA    (*(volatile int*)(OneDRAMREG_BASEADDR + 0x40))
-
-/* primitive IPC on OneDRAM */
-#define IPC_CP_READY_FOR_LOADING       0x12341234
-#define IPC_CP_IMG_LOADED              0x45674567
-#define IPC_CP_READY                   0x23
-#define IPC_BOOT_DONE                  0x89EF89EF
-
-#define CP_BOOT_MODE_NORMAL            0x0a
-#define CP_BOOT_MODE_PTEST             0x0b
-
-#define CP_HAS_SEM                     0x0
-#define AP_HAS_SEM                     0x1
-
-#define RETRY                          3
-
-#define IND                            0x30
-#define VERS                           0xf0
-#define CRC_OK                         0x01
-#define CRC_ERR                                0xff
-
-extern struct serial_device s5pc1xx_serial3_device;
-static struct s5pc110_gpio *gpio = (struct s5pc110_gpio *)S5PC110_GPIO_BASE;
-
-int uart_serial_pollc(struct serial_device *uart, int retry)
-{
-       int i = 0;
-
-       for (i = 0; i < retry; i++) {
-               if (uart->tstc())
-                       return uart->getc();
-               udelay(1000);
-       }
-
-       return -1;
-}
-
-enum {
-       MACH_UNIVERSAL,
-       MACH_TICKERTAPE,
-       MACH_AQUILA,
-};
-
-DECLARE_GLOBAL_DATA_PTR;
-
-static int get_machine_id(void)
-{
-       if (cpu_is_s5pc100())
-               return -1;
-
-       return gd->bd->bi_arch_number - 3100;
-}
-
-static int machine_is_aquila(void)
-{
-       return get_machine_id() == MACH_AQUILA;
-}
-
-static int machine_is_tickertape(void)
-{
-       return get_machine_id() == MACH_TICKERTAPE;
-}
-
-static int aquila_infineon_modem_on(void)
-{
-       unsigned int dat, exit = 0;
-       unsigned int nInfoSize;
-       unsigned char *pDataPSI;
-       int nCnt;
-       int nCoreVer, nSizePSI, nCRC;
-       int ack;
-       int i, tmp;
-
-       /* Infineon modem */
-       /* 1. Modem gpio init */
-       /* Phone_on */
-       gpio_direction_output(&gpio->gpio_j1, 0, 1);
-       gpio_set_pull(&gpio->gpio_j1, 0, GPIO_PULL_NONE);
-
-       /* CP_Reset */
-       gpio_direction_output(&gpio->gpio_h3, 7, 1);
-       gpio_set_pull(&gpio->gpio_h3, 7, GPIO_PULL_NONE);
-
-       /* nINT_ONEDRAN_AP */
-       gpio_direction_output(&gpio->gpio_h1, 3, 1);
-       gpio_set_pull(&gpio->gpio_h1, 3, GPIO_PULL_NONE);
-
-       /* 2. Uart3 init */
-       gpio_cfg_pin(&gpio->gpio_a1, 2, 0x2);
-       gpio_cfg_pin(&gpio->gpio_a1, 3, 0x2);
-       gpio_set_pull(&gpio->gpio_a1, 2, GPIO_PULL_NONE);
-       gpio_set_pull(&gpio->gpio_a1, 3, GPIO_PULL_NONE);
-
-       /* reset and enable FIFOs, set triggers to the maximum */
-       writel(0x0, 0xE2900C08);
-       writel(0x0, 0xE2900C0C);
-       /* 8N1 */
-       writel(0x3, 0xE2900C00);
-       /* No interrupts, no DMA, pure polling */
-       writel(0x245, 0xE2900C04);
-       s5pc1xx_serial3_device.setbrg();
-
-       /* 3. Modem reset */
-       while (1) {
-               /* PHONE_ON -> low */
-               gpio_set_value(&gpio->gpio_j1, 0, 0);
-
-               /* CP_RESET -> low */
-               gpio_set_value(&gpio->gpio_h3, 7, 0);
-
-               udelay(200*1000);       /* 200ms */
-
-               /* CP_RESET -> high */
-               gpio_set_value(&gpio->gpio_h3, 7, 1);
-
-               /* PHONE_ON -> high */
-               gpio_set_value(&gpio->gpio_j1, 0, 1);
-
-               udelay(27*1000);        /* > 26.6ms */
-
-               udelay(40*1000);        /* Power stabilization */
-
-               if (++exit > RETRY)
-                       break;
-
-               printf("********************************\n");
-               printf(" Reset and try to send PSI : #%d\n", exit);
-
-               /* Drain Rx Serial */
-               tmp = 0;
-               while (tmp != -1)
-                       tmp = uart_serial_pollc(&s5pc1xx_serial3_device, 5);
-
-               /* Sending "AT" in ASCII */
-               for (nCnt = 0; nCnt < 20; nCnt++) {
-                       s5pc1xx_serial3_device.puts("AT");
-                       nCoreVer =
-                               uart_serial_pollc(&s5pc1xx_serial3_device, 5);
-
-                       if (nCoreVer == VERS)
-                               break;
-
-                       /*
-                        * Send "AT" at 50ms internals till the bootcore
-                        * version is received
-                        */
-                       udelay(50*1000);        /* 50mec */
-               }
-
-               /* if fail to receive Modem core version restart all process */
-               if (nCnt == 20)
-                       continue;
-
-               nInfoSize = uart_serial_pollc(&s5pc1xx_serial3_device, 5);
-               printf("Got Bootcore version and related info!!!\n"
-                       " - nCoreVer = 0x%x \n - nInfoSize = 0x%x\n",
-                       nCoreVer, nInfoSize);
-
-               /* Drain Rx Serial */
-               tmp = 0;
-               while (tmp != -1)
-                       tmp = uart_serial_pollc(&s5pc1xx_serial3_device, 5);
-
-               /* INDICATION BYTE */
-               s5pc1xx_serial3_device.putc(IND);
-
-               /* 16 bit length in little endian format */
-               nSizePSI = sizeof(g_tblBin);
-               s5pc1xx_serial3_device.putc(nSizePSI & 0xff);
-               s5pc1xx_serial3_device.putc(nSizePSI >> 8);
-
-               printf("Sending PSI data!!!\n - Len = %d\n", nSizePSI);
-
-               /* Data bytes of PSI */
-               pDataPSI = g_tblBin;
-               nCRC = 0;
-               for (nCnt = 0; nCnt < nSizePSI ; nCnt++) {
-                       s5pc1xx_serial3_device.putc(*pDataPSI);
-                       nCRC ^= *pDataPSI++;
-               }
-
-               /* CRC of PSI */
-               s5pc1xx_serial3_device.putc(nCRC);
-
-               udelay(10*1000);        /* 10mec */
-
-               /* Getting ACK */
-               ack = uart_serial_pollc(&s5pc1xx_serial3_device, 5);
-
-               if (ack == CRC_OK) {
-                       printf("PSI sending was sucessful\n");
-               } else {
-                       printf("PSI sending was NOT sucessful\n"
-                               " - ack(0x%x)\n - nCRC(0x%x)\n", ack, nCRC);
-                       continue;
-               }
-
-               /* check Modem reaction */
-               while (gpio_get_value(&gpio->gpio_h1, 3))
-                       ;
-
-               if (rOneDRAM_MAILBOX_AB != IPC_CP_READY_FOR_LOADING) {
-                       printf("OneDRAM is NOT initialized for Modem\n");
-                       printf("Modem downloading is failed!!!\n");
-                       return 1;
-               }
-
-               printf("Modem is ready for loading\n");
-
-               /*
-                * Do not support full-booting sequence,
-                * Full support will be done by Kernel
-                */
-               return 0;
-
-               printf("OneDRAM is mailbox(expecting 0x21), "
-                       "rOneDRAM_MAILBOX_AB=%x\n",
-                       rOneDRAM_MAILBOX_AB);
-               while (rOneDRAM_SEMAPHORE == CP_HAS_SEM) {
-                       printf("OneDRAM semaphore is NOT available");
-                       udelay(100*1000);
-               }
-
-               /* load cp image */
-               printf("Now, load CP image and static EEP at B-bank of OneDRAM\n");
-               printf("By pausing and load .fls[0x51000000] and .eep[0x51870000]\n");
-               printf("images to memory through EJTAG\n");
-
-               for (i = 0; i < 60; i++) {
-                       udelay(100 * 1000);
-                       printf("*");
-               }
-               printf("\n");
-
-/*
-               break;
-               LoadCPImage();
-*/
-
-               printf("Thank you for loading\n");
-
-               rOneDRAM_SEMAPHORE = CP_HAS_SEM;
-               rOneDRAM_MAILBOX_BA = IPC_CP_IMG_LOADED;
-
-               /* check Modem reaction */
-               while (gpio_get_value(&gpio->gpio_h1, 3))
-                       ;
-
-               if (rOneDRAM_MAILBOX_AB != IPC_CP_READY) {
-                       printf("Modem is NOT ready to boot\n");
-                       printf("Modem booting is failed!!!\n");
-                       return 1;
-               }
-
-               printf("Modem is done copying CP images\n");
-               printf("OneDRAM is mailbox message(expecting 0x23), "
-                       "rOneDRAM_MAILBOX_AB=%x\n",
-                       rOneDRAM_MAILBOX_AB);
-               while (rOneDRAM_SEMAPHORE == CP_HAS_SEM) {
-                       printf("OneDRAM semaphore is NOT available");
-                       udelay(100*1000);
-               }
-
-               rOneDRAM_SEMAPHORE = CP_HAS_SEM;
-
-               rOneDRAM_MAILBOX_BA = IPC_BOOT_DONE;
-               printf("Modem is now running\n");
-
-               for (i = 0; i < 50; i++) {
-                       udelay(100 * 1000);
-                       if (rOneDRAM_SEMAPHORE == AP_HAS_SEM)
-                               printf("S");
-                       else
-                               printf("*");
-               }
-               printf("\n");
-
-               rOneDRAM_MAILBOX_BA = 0x05; /* FIXME */
-
-               for (i = 0; i < 50; i++) {
-                       udelay(100*1000);
-                       if (rOneDRAM_SEMAPHORE == AP_HAS_SEM)
-                               printf("S");
-                       else
-                               printf("*");
-               }
-               printf("\n");
-               printf("Waiting for 5 secs for modem to respond\n");
-
-               for (i = 0; i < 50000; i++) {
-                       dat = gpio_get_value(&gpio->gpio_h1, 3);
-                       if (dat == 0)
-                               break;
-                       udelay(100);
-               }
-
-               if (tmp == 1)
-                       printf("No response from Modem!!!\n");
-
-               break;
-       }
-
-       return 0;
-}
-
-static void mdelay(int msec)
-{
-       int i;
-       for (i = 0; i < msec; i++)
-               udelay(1000);
-}
-
-static void tickertape_modem_on(void)
-{
-       int gpio_phone_on, gpio_cp_rst;
-
-       printf("Tickertape phone on\n");
-
-       gpio_phone_on = 0;
-       gpio_cp_rst = 7;
-
-       gpio_direction_output(&gpio->gpio_j1, gpio_phone_on, 0);
-       gpio_direction_output(&gpio->gpio_h3, gpio_cp_rst, 0);
-
-       gpio_set_value(&gpio->gpio_h3, gpio_cp_rst, 0);
-       gpio_set_value(&gpio->gpio_j1, gpio_phone_on, 1);
-       mdelay(100);
-       gpio_set_value(&gpio->gpio_h3, gpio_cp_rst, 1);
-       mdelay(900);
-       gpio_set_value(&gpio->gpio_j1, gpio_phone_on, 0);
-}
-
-int do_modem(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
-{
-       char *cmd;
-
-       cmd = argv[1];
-
-       switch (argc) {
-       case 0:
-       case 1:
-               goto usage;
-
-       case 2:
-               if (strncmp(cmd, "on", 2) == 0) {
-                       if (machine_is_aquila())
-                               aquila_infineon_modem_on();
-                       if (machine_is_tickertape())
-                               tickertape_modem_on();
-                       return 0;
-               }
-               break;
-       }
-
-       return 0;
-usage:
-       cmd_usage(cmdtp);
-       return 1;
-}
-
-void LoadCPImage(void)
-{
-#if 0
-       /* load CP image */
-       LoadPartition(PARTITION_ID_MODEM_OS , (UINT8 *)MODEM_OS_BASEADDR, 0);
-       /* load CP EEP data */
-       LoadValidEEP();
-#endif
-}
-
-U_BOOT_CMD(modem,      CONFIG_SYS_MAXARGS,     1,      do_modem,
-       "initialize the Modem",
-       "on"
-);
diff --git a/board/samsung/p1p2/onenand.c b/board/samsung/p1p2/onenand.c
deleted file mode 100644 (file)
index 057bc6a..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2008-2009 Samsung Electronics
- * Kyungmin Park <kyungmin.park@samsung.com>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <common.h>
-#include <linux/mtd/compat.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/onenand.h>
-#include <linux/mtd/samsung_onenand.h>
-
-#include <onenand_uboot.h>
-
-#include <asm/io.h>
-#include <asm/arch/clock.h>
-
-void onenand_board_init(struct mtd_info *mtd)
-{
-       struct onenand_chip *this = mtd->priv;
-       int value;
-
-       if (cpu_is_s5pc110()) {
-               this->base = (void *) 0xB0000000;
-               this->options |= ONENAND_RUNTIME_BADBLOCK_CHECK;
-       } else {
-               struct s5pc100_clock *clk =
-                       (struct s5pc100_clock *)S5PC1XX_CLOCK_BASE;
-               struct samsung_onenand *onenand;
-
-               this->base = (void *) S5PC100_ONENAND_BASE;
-               onenand = (struct samsung_onenand *)this->base;
-
-               /* D0 Domain system 1 clock gating */
-               value = readl(&clk->gate_d00);
-               value &= ~(1 << 2);             /* CFCON */
-               value |= (1 << 2);
-               writel(value, &clk->gate_d00);
-
-               /* D0 Domain memory clock gating */
-               value = readl(&clk->gate_d01);
-               value &= ~(1 << 2);             /* CLK_ONENANDC */
-               value |= (1 << 2);
-               writel(value, &clk->gate_d01);
-
-               /* System Special clock gating */
-               value = readl(&clk->gate_sclk0);
-               value &= ~(1 << 2);             /* OneNAND */
-               value |= (1 << 2);
-               writel(value, &clk->gate_sclk0);
-
-               value = readl(&clk->src0);
-               value &= ~(1 << 24);            /* MUX_1nand: 0 from HCLKD0 */
-               value &= ~(1 << 20);            /* MUX_HREF: 0 from FIN_27M */
-               writel(value, &clk->src0);
-
-               value = readl(&clk->div1);
-               value &= ~(3 << 16);
-               value |= (1 << 16);
-               writel(value, &clk->div1);
-
-               writel(ONENAND_MEM_RESET_COLD, &onenand->mem_reset);
-
-               while (!(readl(&onenand->int_err_stat) & RST_CMP))
-                       continue;
-
-               writel(RST_CMP, &onenand->int_err_ack);
-
-               /*
-                * Access_Clock [2:0]
-                * 166 MHz, 134 Mhz : 3
-                * 100 Mhz, 60 Mhz  : 2
-                */
-               writel(0x3, &onenand->acc_clock);
-
-               writel(INT_ERR_ALL, &onenand->int_err_mask);
-               writel(1 << 0, &onenand->int_pin_en);   /* Enable */
-
-               value = readl(&onenand->int_err_mask);
-               value &= ~RDY_ACT;
-               writel(value, &onenand->int_err_mask);
-
-               s3c_onenand_init(mtd);
-       }
-}
diff --git a/board/samsung/p1p2/p1p2.c b/board/samsung/p1p2/p1p2.c
deleted file mode 100644 (file)
index e498b03..0000000
+++ /dev/null
@@ -1,2408 +0,0 @@
-/*
- * Copyright (C) 2009 Samsung Electronics
- * Kyungmin Park <kyungmin.park@samsung.com>
- * Minkyu Kang <mk7.kang@samsung.com>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <common.h>
-#include <i2c.h>
-#include <asm/io.h>
-#include <asm/arch/clk.h>
-#include <asm/arch/clock.h>
-#include <asm/arch/gpio.h>
-#include <asm/arch/keypad.h>
-#include <asm/arch/mmc.h>
-#include <asm/arch/power.h>
-#include <asm/arch/mem.h>
-#include <asm/errno.h>
-#include <fbutils.h>
-#include <lcd.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-#define C100_MACH_START                        3000
-#define C110_MACH_START                        3100
-
-static unsigned int board_rev;
-static unsigned int battery_soc;
-static struct s5pc110_gpio *s5pc110_gpio;
-
-enum {
-       I2C_2,
-       I2C_GPIO3,
-       I2C_PMIC,
-       I2C_GPIO5,
-       I2C_GPIO6,
-       I2C_GPIO7,
-};
-
-/*
- * i2c 2
- * SDA: GPD1[4]
- * SCL: GPD1[5]
- */
-static struct i2c_gpio_bus_data i2c_2 = {
-       .sda_pin        = 4,
-       .scl_pin        = 5,
-};
-
-/*
- * i2c gpio3
- * SDA: GPJ3[6]
- * SCL: GPJ3[7]
- */
-static struct i2c_gpio_bus_data i2c_gpio3 = {
-       .sda_pin        = 6,
-       .scl_pin        = 7,
-};
-
-/*
- * i2c pmic
- * SDA: GPJ4[0]
- * SCL: GPJ4[3]
- */
-static struct i2c_gpio_bus_data i2c_pmic = {
-       .sda_pin        = 0,
-       .scl_pin        = 3,
-};
-
-/*
- * i2c gpio5
- * SDA: MP05[3]
- * SCL: MP05[2]
- */
-static struct i2c_gpio_bus_data i2c_gpio5 = {
-       .sda_pin        = 3,
-       .scl_pin        = 2,
-};
-
-/*
- * i2c gpio6
- * SDA: GPJ3[0]
- * SCL: GPJ3[1]
- */
-static struct i2c_gpio_bus_data i2c_gpio6 = {
-       .sda_pin        = 0,
-       .scl_pin        = 1,
-};
-
-/*
- * i2c gpio6 - cypress
- * SDA: GPJ3[4]
- * SCL: GPJ3[5]
- */
-static struct i2c_gpio_bus_data i2c_cypress_gpio6 = {
-       .sda_pin        = 4,
-       .scl_pin        = 5,
-};
-
-/*
- * i2c gpio7 - cypress
- * SDA: MP05[6]
- * SCL: MP05[4]
- */
-static struct i2c_gpio_bus_data i2c_cypress_gpio7 = {
-       .sda_pin        = 6,
-       .scl_pin        = 4,
-};
-
-static struct i2c_gpio_bus i2c_gpio[] = {
-       {
-               .bus    = &i2c_2,
-       }, {
-               .bus    = &i2c_gpio3,
-       }, {
-               .bus    = &i2c_pmic,
-       }, {
-               .bus    = &i2c_gpio5,
-       }, {
-               .bus    = &i2c_gpio6,
-       }, {
-               .bus    = NULL,
-       }
-};
-
-u32 get_board_rev(void)
-{
-       return board_rev;
-}
-
-static int hwrevision(int rev)
-{
-       return (board_rev & 0xf) == rev;
-}
-
-enum {
-       MACH_UNIVERSAL,
-       MACH_TICKERTAPE,
-       MACH_AQUILA,
-       MACH_P1P2,
-       MACH_GEMINUS,
-       MACH_CYPRESS,
-};
-#ifdef CONFIG_LCD
-typedef enum {
-       LCD_NONE,
-       LCD_AMOLED,
-       LCD_TFT,
-} lcd_type_t;
-
-static lcd_type_t lcd_type;
-#endif
-
-#define SPLIT_SCREEN_FEATURE   0x100
-
-/* board is MACH_AQUILA and board is like below. */
-#define J1_B2_BOARD            0x200
-#define LIMO_UNIVERSAL_BOARD   0x400
-#define LIMO_REAL_BOARD                0x800
-#define MEDIA_BOARD            0x1000
-#define BAMBOO_BOARD           0x2000
-/* board is MACH_P1P2 and board is like below. */
-#define P1_REAL_BOARD          0x200
-#define P2_REAL_BOARD          0x400
-
-#define BOARD_MASK             0xF00
-
-static int c110_machine_id(void)
-{
-       return gd->bd->bi_arch_number - C110_MACH_START;
-}
-
-static int machine_is_aquila(void)
-{
-       return c110_machine_id() == MACH_AQUILA;
-}
-
-static int machine_is_p1p2(void)
-{
-       return c110_machine_id() == MACH_P1P2;
-}
-
-static int machine_is_tickertape(void)
-{
-       return c110_machine_id() == MACH_TICKERTAPE;
-}
-
-static int machine_is_geminus(void)
-{
-       return c110_machine_id() == MACH_GEMINUS;
-}
-
-static int machine_is_cypress(void)
-{
-       return c110_machine_id() == MACH_CYPRESS;
-}
-
-static int board_is_limo_universal(void)
-{
-       return machine_is_aquila() && (board_rev & LIMO_UNIVERSAL_BOARD);
-}
-
-static int board_is_limo_real(void)
-{
-       return machine_is_aquila() && (board_rev & LIMO_REAL_BOARD);
-}
-
-static int board_is_media(void)
-{
-       return machine_is_aquila() && (board_rev & MEDIA_BOARD);
-}
-
-static int board_is_bamboo(void)
-{
-       return machine_is_aquila() && (board_rev & BAMBOO_BOARD);
-}
-
-static int board_is_j1b2(void)
-{
-       return machine_is_aquila() && (board_rev & J1_B2_BOARD);
-}
-
-static int board_is_p2_real(void)
-{
-       return machine_is_p1p2() && (board_rev & P2_REAL_BOARD);
-}
-#ifdef CONFIG_LCD
-static int lcd_is_amoled(void)
-{
-       return lcd_type == LCD_AMOLED;
-}
-
-static int lcd_is_tft(void)
-{
-       return lcd_type == LCD_TFT;
-}
-#endif
-static void enable_battery(void);
-
-void i2c_init_board(void)
-{
-       struct s5pc110_gpio *gpio = (struct s5pc110_gpio *)S5PC110_GPIO_BASE;
-       int num_bus;
-
-       if (cpu_is_s5pc100())
-               return;
-
-       num_bus = ARRAY_SIZE(i2c_gpio);
-
-       if (machine_is_cypress()) {
-               i2c_gpio[I2C_GPIO6].bus = &i2c_cypress_gpio6;
-               i2c_gpio[I2C_GPIO7].bus = &i2c_cypress_gpio7;
-               i2c_gpio[I2C_GPIO7].bus->gpio_base =
-                       (unsigned int)&gpio->gpio_mp0_5;
-       } else {
-               num_bus--;
-       }
-
-       i2c_gpio[I2C_2].bus->gpio_base = (unsigned int)&gpio->gpio_d1;
-       i2c_gpio[I2C_GPIO3].bus->gpio_base = (unsigned int)&gpio->gpio_j3;
-       i2c_gpio[I2C_PMIC].bus->gpio_base = (unsigned int)&gpio->gpio_j4;
-       i2c_gpio[I2C_GPIO5].bus->gpio_base = (unsigned int)&gpio->gpio_mp0_5;
-       i2c_gpio[I2C_GPIO6].bus->gpio_base = (unsigned int)&gpio->gpio_j3;
-
-       i2c_gpio_init(i2c_gpio, num_bus, I2C_PMIC);
-
-       /* Reset on max17040 early */
-       if (battery_soc == 0)
-               enable_battery();
-}
-
-#ifdef CONFIG_MISC_INIT_R
-#define DEV_INFO_LEN           512
-static char device_info[DEV_INFO_LEN];
-static int display_info;
-
-static void dprintf(const char *fmt, ...)
-{
-       va_list args;
-       uint i;
-       char buf[128];
-
-       va_start(args, fmt);
-       i = vsprintf(buf, fmt, args);
-       va_end(args);
-
-       buf[127] = 0;
-
-       if ((strlen(device_info) + strlen(buf)) > (DEV_INFO_LEN - 1)) {
-               puts("Flushing device info...\n");
-               puts(device_info);
-               device_info[0] = 0;
-       }
-       strcat(device_info, buf);
-       puts(buf);
-}
-
-#ifdef CONFIG_S5PC1XXFB
-static void display_device_info(void)
-{
-       if (!display_info)
-               return;
-
-       init_font();
-       set_font_xy(0, 450);
-       set_font_color(FONT_WHITE);
-       fb_printf(device_info);
-       exit_font();
-
-       memset(device_info, 0x0, DEV_INFO_LEN);
-
-       udelay(5 * 1000 * 1000);
-}
-#endif
-
-static const char *board_name[] = {
-       "Universal",
-       "TickerTape",
-       "Aquila",
-       "P1P2",
-       "Geminus",
-       "Cypress",
-};
-
-enum {
-       MEM_4G1G1G,
-       MEM_4G2G1G,
-       MEM_4G3G1G,
-       MEM_4G4G1G,
-};
-
-static char feature_buffer[32];
-
-static char *display_features(int board, int board_rev)
-{
-       int count = 0;
-       char *buf = feature_buffer;
-
-       if (board == MACH_AQUILA) {
-               if (board_rev & SPLIT_SCREEN_FEATURE)
-                       count += sprintf(buf + count, " - SplitScreen");
-               if (board_rev & J1_B2_BOARD)
-                       count += sprintf(buf + count, " - J1 B2 board");
-               /* Limo Real or Universal */
-               if (board_rev & LIMO_REAL_BOARD)
-                       count += sprintf(buf + count, " - Limo Real");
-               else if (board_rev & LIMO_UNIVERSAL_BOARD)
-                       count += sprintf(buf + count, " - Limo Universal");
-               if (board_rev & MEDIA_BOARD)
-                       count += sprintf(buf + count, " - Media");
-               if (board_rev & BAMBOO_BOARD)
-                       count += sprintf(buf + count, " - Bamboo");
-       } else if (board == MACH_P1P2) {
-               /* P1P2 */
-               if (board_rev & P1_REAL_BOARD)
-                       count += sprintf(buf + count, " - P1 Real");
-               else if (board_rev & P2_REAL_BOARD)
-                       count += sprintf(buf + count, " - P2 Real");
-               else
-                       count += sprintf(buf + count, " - Universal");
-       }
-
-       return buf;
-}
-
-static void check_board_revision(int board, int rev)
-{
-       switch (board) {
-       case MACH_AQUILA:
-               /* Limo Real or Universal */
-               if (rev & LIMO_UNIVERSAL_BOARD)
-                       board_rev &= ~J1_B2_BOARD;
-               if (rev & LIMO_REAL_BOARD) {
-                       board_rev &= ~(J1_B2_BOARD |
-                                       LIMO_UNIVERSAL_BOARD);
-               }
-               if (rev & MEDIA_BOARD)
-                       board_rev &= ~(J1_B2_BOARD |
-                                       LIMO_UNIVERSAL_BOARD);
-               if (rev & BAMBOO_BOARD)
-                       board_rev &= ~(J1_B2_BOARD |
-                                       LIMO_UNIVERSAL_BOARD |
-                                       LIMO_REAL_BOARD |
-                                       MEDIA_BOARD);
-               break;
-       case MACH_P1P2:
-               break;
-       case MACH_CYPRESS:
-               /* There's no HWREV_MODE3 */
-               board_rev &= ~(1 << 3);
-               /* Fall through */
-       case MACH_TICKERTAPE:
-       case MACH_GEMINUS:
-               board_rev &= ~BOARD_MASK;
-               break;
-       default:
-               break;
-       }
-}
-
-static unsigned int get_hw_revision(struct s5pc1xx_gpio_bank *bank)
-{
-       unsigned int rev;
-
-       gpio_direction_input(bank, 1);
-       gpio_direction_input(bank, 2);
-       gpio_direction_input(bank, 3);
-       gpio_direction_input(bank, 4);
-
-       gpio_set_pull(bank, 1, GPIO_PULL_NONE);         /* HWREV_MODE3 */
-       gpio_set_pull(bank, 2, GPIO_PULL_NONE);         /* HWREV_MODE0 */
-       gpio_set_pull(bank, 3, GPIO_PULL_NONE);         /* HWREV_MODE1 */
-       gpio_set_pull(bank, 4, GPIO_PULL_NONE);         /* HWREV_MODE2 */
-
-       rev = gpio_get_value(bank, 2);
-       rev |= (gpio_get_value(bank, 3) << 1);
-       rev |= (gpio_get_value(bank, 4) << 2);
-       rev |= (gpio_get_value(bank, 1) << 3);
-
-       return rev;
-}
-
-static void check_hw_revision(void)
-{
-       unsigned int board = MACH_UNIVERSAL;    /* Default is Universal */
-               
-       if (cpu_is_s5pc100()) {
-               struct s5pc100_gpio *gpio =
-                       (struct s5pc100_gpio *)S5PC100_GPIO_BASE;
-
-               board_rev = get_hw_revision(&gpio->gpio_j0);
-
-               /* C100 TickerTape */
-               if (board_rev == 3)
-                       board = MACH_TICKERTAPE;
-       } else {
-               struct s5pc110_gpio *gpio =
-                       (struct s5pc110_gpio *)S5PC110_GPIO_BASE;
-
-               board_rev = get_hw_revision(&gpio->gpio_j0);
-
-               /*
-                * Note Check 'Aquila' board first
-                *
-                * TT: TickerTape
-                * SS: SplitScreen
-                * LRA: Limo Real Aquila
-                * LUA: Limo Universal Aquila
-                * OA: Old Aquila
-                * P1P2: Smart Book
-                * CYP: Cypress
-                * BB: Bamboo
-                *
-                * ADDR = 0xE0200000 + OFF
-                *
-                *       OFF    Universal BB   LRA  LUA  OA   TT   SS       P1P2 CYP
-                *   J1: 0x0264 0x10      0x10 0x00 0x00 0x00 0x00 0x00     0x00
-                *   J2: 0x0284           0x01 0x10 0x00 
-                *   H1: 0x0C24    W           0x28 0xA8 0x1C               0x18 0x0F
-                *   H3: 0x0C64                0x03 0x07 0x0F               0xff
-                *   D1: 0x00C4 0x0F           0x3F 0x3F 0x0F 0xXC 0x3F
-                *    I: 0x0224                          0x02 0x00 0x08
-                * MP03: 0x0324                          0x9x      0xbx 0x9x
-                * MP05: 0x0364                          0x80      0x88
-                */
-
-               /* C110 Aquila */
-               if (gpio_get_value(&gpio->gpio_j1, 4) == 0) {
-                       board = MACH_AQUILA;
-                       board_rev |= J1_B2_BOARD;
-
-                       gpio_set_pull(&gpio->gpio_j2, 6, GPIO_PULL_NONE);
-                       gpio_direction_input(&gpio->gpio_j2, 6);
-
-                       /* Check board */
-                       if (gpio_get_value(&gpio->gpio_h1, 2) == 0)
-                               board_rev |= LIMO_UNIVERSAL_BOARD;
-
-                       if (gpio_get_value(&gpio->gpio_h3, 2) == 0)
-                               board_rev |= LIMO_REAL_BOARD;
-
-                       if (gpio_get_value(&gpio->gpio_j2, 6) == 1)
-                               board_rev |= MEDIA_BOARD;
-
-                       /* set gpio to default value. */
-                       gpio_set_pull(&gpio->gpio_j2, 6, GPIO_PULL_DOWN);
-                       gpio_direction_output(&gpio->gpio_j2, 6, 0);
-               }
-               /* Workaround: C110 Aquila Rev0.6 */
-               if (board_rev == 6) {
-                       board = MACH_AQUILA;
-                       board_rev |= LIMO_REAL_BOARD;
-               }
-               /* C110 Aquila Bamboo */
-               if (gpio_get_value(&gpio->gpio_j2, 0) == 1) {
-                       board = MACH_AQUILA;
-                       board_rev |= BAMBOO_BOARD;
-               }
-
-               /* C110 TickerTape */
-               if (gpio_get_value(&gpio->gpio_d1, 0) == 0 &&
-                               gpio_get_value(&gpio->gpio_d1, 1) == 0)
-                       board = MACH_TICKERTAPE;
-
-               /* C110 Cypress: Do first this than P1P2 */
-               gpio_set_pull(&gpio->gpio_j2, 2, GPIO_PULL_NONE);
-               gpio_direction_input(&gpio->gpio_j2, 2);
-               if (gpio_get_value(&gpio->gpio_j2, 2) == 1)
-                       board = MACH_CYPRESS;
-               gpio_set_pull(&gpio->gpio_j2, 2, GPIO_PULL_DOWN);
-
-               /* C110 P1P2 */
-               if (gpio_get_value(&gpio->gpio_h3, 7) == 1) {
-                       board = MACH_P1P2;
-                       board_rev &= ~BOARD_MASK;
-               }
-
-               /* set gpio configuration for P1P2. */
-               gpio_direction_input(&gpio->gpio_j0, 6);
-               gpio_direction_input(&gpio->gpio_j0, 7);
-
-               /*
-                * do not change order below
-                * because it needs delay to get gpio value.
-                */
-               /* HWREV_MODE4 */
-               gpio_set_pull(&gpio->gpio_j0, 7, GPIO_PULL_NONE);
-               /* HWREV_MODE5 */
-               gpio_set_pull(&gpio->gpio_j0, 6, GPIO_PULL_NONE);
-
-               if (gpio_get_value(&gpio->gpio_j0, 7) == 1) {
-                       board = MACH_P1P2;
-                       board_rev &= ~BOARD_MASK;
-                       if (gpio_get_value(&gpio->gpio_j0, 6) == 1)     {
-                               board_rev |= P1_REAL_BOARD;
-               #ifdef CONFIG_LCD
-                               lcd_type = LCD_TFT;
-               #endif
-                       }
-                       if (gpio_get_value(&gpio->gpio_j0, 6) == 0)
-                               board_rev |= P2_REAL_BOARD;
-               }
-               #ifdef CONFIG_LCD
-               else    {
-                       if (gpio_get_value(&gpio->gpio_j0, 6) == 1)     {
-                               lcd_type = LCD_AMOLED;
-                       }
-               }
-               #endif
-
-               /* set gpio to default value. */
-               /* HWREV_MODE4 */
-               gpio_set_pull(&gpio->gpio_j0, 6, GPIO_PULL_DOWN);
-               /* HWREV_MODE5 */
-               gpio_set_pull(&gpio->gpio_j0, 7, GPIO_PULL_DOWN);
-
-               if(board != MACH_P1P2)
-               {
-                       /* C110 Geminus for rev0.0 */
-                       gpio_set_pull(&gpio->gpio_j1, 2, GPIO_PULL_NONE);
-                       gpio_direction_input(&gpio->gpio_j1, 2);
-                       if (gpio_get_value(&gpio->gpio_j1, 2) == 1) {
-                               board = MACH_GEMINUS;
-                               if ((board_rev & ~BOARD_MASK) == 3)
-                                       board_rev &= ~0xff;
-                       }
-                       gpio_set_pull(&gpio->gpio_j1, 2, GPIO_PULL_DOWN);
-                       gpio_direction_output(&gpio->gpio_j1, 2, 0);
-
-                       /* C110 Geminus for rev0.1 ~ */
-                       gpio_set_pull(&gpio->gpio_j0, 6, GPIO_PULL_NONE);
-                       gpio_direction_input(&gpio->gpio_j0, 6);
-                       if (gpio_get_value(&gpio->gpio_j0, 6) == 1)
-                               board = MACH_GEMINUS;
-                       gpio_set_pull(&gpio->gpio_j0, 6, GPIO_PULL_DOWN);
-               #ifdef CONFIG_LCD
-                       lcd_type = LCD_NONE;    /* TODO: if the board is not p1p2, this code should be modified */
-               #endif
-               }
-       }
-
-       /* Set machine id */
-       if (cpu_is_s5pc110())
-               gd->bd->bi_arch_number = C110_MACH_START + board;
-       else
-               gd->bd->bi_arch_number = C100_MACH_START + board;
-
-       /* Architecture Common settings */
-       if (cpu_is_s5pc110()) {
-               setenv("mtdparts", MTDPARTS_DEFAULT_4KB);
-       } else {
-               setenv("bootk", "onenand read 0x30007FC0 0x60000 0x300000; "
-                               "bootm 0x30007FC0");
-               setenv("updatek", "onenand erase 0x60000 0x300000; "
-                                 "onenand write 0x31008000 0x60000 0x300000");
-       }
-}
-
-static void show_hw_revision(void)
-{
-       int board;
-
-       /*
-        * Workaround for Rev 0.3 + CP Ver ES 3.1
-        * it's Rev 0.4
-        */
-       if (board_is_limo_real()) {
-               if (hwrevision(0)) {
-                       /* default is Rev 0.4 */
-                       board_rev &= ~0xf;
-                       board_rev |= 0x4;
-               }
-       }
-
-       if (cpu_is_s5pc110())
-               board = gd->bd->bi_arch_number - C110_MACH_START;
-       else
-               board = gd->bd->bi_arch_number - C100_MACH_START;
-
-       check_board_revision(board, board_rev);
-
-       /* Set CPU Revision */
-       if (board_is_limo_real()) {
-               if ((board_rev & 0xf) < 8)
-                       s5pc1xx_set_cpu_rev(0);
-       } else {
-               s5pc1xx_set_cpu_rev(0);
-       }
-
-       dprintf("HW Revision:\t%x (%s%s)\n", board_rev, board_name[board],
-               display_features(board, board_rev));
-}
-
-static void check_auto_burn(void)
-{
-       unsigned long magic_base = CONFIG_SYS_SDRAM_BASE + 0x02000000;
-       unsigned int count = 0;
-       char buf[64];
-
-       if (readl(magic_base) == 0x426f6f74) {  /* ASICC: Boot */
-               printf("Auto burning bootloader\n");
-               count += sprintf(buf + count, "run updateb; ");
-       }
-       if (readl(magic_base + 0x04) == 0x4b65726e) {   /* ASICC: Kern */
-               printf("Auto burning kernel\n");
-               count += sprintf(buf + count, "run updatek; ");
-       }
-
-       if (count) {
-               count += sprintf(buf + count, "reset");
-               setenv("bootcmd", buf);
-       }
-
-       /* Clear the magic value */
-       writel(0xa5a55a5a, magic_base);
-       writel(0xa5a55a5a, magic_base + 0x4);
-}
-
-static void pmic_pin_init(void)
-{
-       unsigned int reg, value;
-
-       if (cpu_is_s5pc100())
-               return;
-
-       /* AP_PS_HOLD: XEINT_0: GPH0[0]
-        * Note: Don't use GPIO PS_HOLD it doesn't work
-        */
-       reg = S5PC110_PS_HOLD_CONTROL;
-       value = readl(reg);
-       value |= S5PC110_PS_HOLD_DIR_OUTPUT |
-               S5PC110_PS_HOLD_DATA_HIGH |
-               S5PC110_PS_HOLD_OUT_EN;
-       writel(value, reg);
-
-       /* nPOWER: XEINT_22: GPH2[6] interrupt mode */
-       gpio_cfg_pin(&s5pc110_gpio->gpio_h2, 6, GPIO_IRQ);
-       gpio_set_pull(&s5pc110_gpio->gpio_h2, 6, GPIO_PULL_UP);
-}
-
-static void enable_ldos(void)
-{
-       if (cpu_is_s5pc100())
-               return;
-
-       if (machine_is_p1p2())
-               return;
-
-       /* TOUCH_EN: XMMC3DATA_3: GPG3[6] output high */
-       gpio_direction_output(&s5pc110_gpio->gpio_g3, 6, 1);
-}
-
-static void enable_t_flash(void)
-{
-       if (!(board_is_limo_universal() || board_is_limo_real()))
-               return;
-
-       /* T_FLASH_EN : XM0ADDR_13: MP0_5[4] output high */
-       gpio_direction_output(&s5pc110_gpio->gpio_mp0_5, 4, 1);
-}
-
-static void setup_limo_real_gpios(void)
-{
-       if (!board_is_limo_real())
-               return;
-
-       /*
-        * Note: Please write GPIO alphabet order
-        */
-       /* CODEC_LDO_EN: XVVSYNC_LDI: GPF3[4] output high */
-       gpio_direction_output(&s5pc110_gpio->gpio_f3, 4, 1);
-
-       if (hwrevision(0))
-               /* RESET_REQ_N: XM0BEN_1: MP0_2[1] output high */
-               gpio_direction_output(&s5pc110_gpio->gpio_mp0_2, 1, 1);
-       else
-               /* RESET_REQ_N: XM0CSn_2: MP0_1[2] output high */
-               gpio_direction_output(&s5pc110_gpio->gpio_mp0_1, 2, 1);
-
-       /* T_FLASH_DETECT: EINT28: GPH3[4] interrupt mode */
-       gpio_cfg_pin(&s5pc110_gpio->gpio_h3, 4, GPIO_IRQ);
-       gpio_set_pull(&s5pc110_gpio->gpio_h3, 4, GPIO_PULL_UP);
-}
-
-static void setup_media_gpios(void)
-{
-       if (!board_is_media())
-               return;
-
-       /*
-        * Note: Please write GPIO alphabet order
-        */
-       /* RESET_REQ_N: XM0CSn_2: MP0_1[2] output high */
-       gpio_direction_output(&s5pc110_gpio->gpio_mp0_1, 2, 1);
-
-       /* T_FLASH_DETECT: EINT28: GPH3[4] interrupt mode */
-       gpio_cfg_pin(&s5pc110_gpio->gpio_h3, 4, GPIO_IRQ);
-       gpio_set_pull(&s5pc110_gpio->gpio_h3, 4, GPIO_PULL_UP);
-}
-
-static void setup_p1p2_gpios(void)
-{
-       if (!machine_is_p1p2())
-               return;
-
-       /*
-        * Note: Please write GPIO alphabet order
-        */
-       /* RESET_REQ_N: XM0FRnB[1]: MP0_3[5] output high */
-       gpio_direction_output(&s5pc110_gpio->gpio_mp0_3, 5, 1);
-       /* CODEC_LDO_EN: XM0FRnB[2]: MP0_3[6] output high */
-       gpio_direction_output(&s5pc110_gpio->gpio_mp0_3, 6, 1);
-}
-
-#define KBR3           (1 << 3)
-#define KBR2           (1 << 2)
-#define KBR1           (1 << 1)
-#define KBR0           (1 << 0)
-
-static void check_p2_keypad(void)
-{
-       unsigned int auto_download = 0;
-       unsigned char addr = 0x34, val[2];      /* adp5587 key controller */
-       int i, ret;
-       i2c_set_bus_num(I2C_2);
-
-       if (i2c_probe(addr)) {
-               printf("Can't found adp5587 key controller\n");
-               return;
-       }
-       /* Row 8, Column 10 */
-       val[0] = 0xf;
-       ret = i2c_write(addr, 0x1D, 1, val, 1);         /* Set KP_GPIO1 */
-       val[0] = 0xf;
-       ret |= i2c_write(addr, 0x1E, 1, val, 1);        /* Set KP_GPIO2 */
-       val[0] = 0x3;
-       ret |= i2c_write(addr, 0x1F, 1, val, 1);        /* Set KP_GPIO3 */
-       val[0] = 0x3f;          /* CMP2_INT | CMP1_INT | OVR_FLOW_INT |
-                                  K_LCK_INT | GPI_INT | KE_INT */
-       ret |= i2c_write(addr, 0x02, 1, val, 1);        /* Status is W1C */
-       val[0] = 0x19;          /* INT_CFG | OVR_FLOW_IEN | KE_IEN */
-       ret |= i2c_write(addr, 0x01, 1, val, 1);
-       for (i = 0; i < 10; i++) {
-               udelay(1000);           /* FIXME */
-               i2c_read(addr, 0x04 + i, 1, val, 1);
-               if (val[0] == 0x94)
-                       auto_download = 1;
-       }
-
-       if (auto_download == 1)
-               setenv("bootcmd", "usbdown");
-}
-
-static void check_keypad(void)
-{
-       unsigned int reg, value;
-       unsigned int col_mask, row_mask;
-       unsigned int auto_download = 0;
-       unsigned int col_value[4], i;
-
-       if (cpu_is_s5pc100()) {
-               struct s5pc100_gpio *gpio =
-                       (struct s5pc100_gpio *)S5PC100_GPIO_BASE;
-
-               /* Set GPH2[2:0] to KP_COL[2:0] */
-               gpio_cfg_pin(&gpio->gpio_h2, 0, 0x3);
-               gpio_cfg_pin(&gpio->gpio_h2, 1, 0x3);
-               gpio_cfg_pin(&gpio->gpio_h2, 2, 0x3);
-
-               /* Set GPH3[2:0] to KP_ROW[2:0] */
-               gpio_cfg_pin(&gpio->gpio_h3, 0, 0x3);
-               gpio_cfg_pin(&gpio->gpio_h3, 1, 0x3);
-               gpio_cfg_pin(&gpio->gpio_h3, 2, 0x3);
-
-               reg = S5PC100_KEYPAD_BASE;
-       } else {
-               if (board_is_limo_real() || board_is_limo_universal()) {
-                       row_mask = 0x00FF;
-                       col_mask = 0x0FFF;
-               } else {
-                       row_mask = 0xFFFF;
-                       col_mask = 0xFFFF;
-               }
-
-               for (i = 0; i < 4; i++) {
-                       /* Set GPH3[3:0] to KP_ROW[3:0] */
-                       if (row_mask & (0xF << (i << 2))) {
-                               gpio_cfg_pin(&s5pc110_gpio->gpio_h3, i, 0x3);
-                               if (!machine_is_p1p2())
-                                       gpio_set_pull(&s5pc110_gpio->gpio_h3,
-                                                       i, GPIO_PULL_UP);
-                       }
-
-                       /* Set GPH2[3:0] to KP_COL[3:0] */
-                       if (col_mask & (0xF << (i << 2)))
-                               gpio_cfg_pin(&s5pc110_gpio->gpio_h2, i, 0x3);
-                       if (machine_is_p1p2())
-                               gpio_set_pull(&s5pc110_gpio->gpio_h2, i, GPIO_PULL_UP);
-               }
-
-               reg = S5PC110_KEYPAD_BASE;
-       }
-       /* init col */
-       value = 0x00;
-       writel(value, reg + S5PC1XX_KEYIFCOL_OFFSET);
-       value = readl(reg + S5PC1XX_KEYIFROW_OFFSET);
-       /* VOLUMEDOWN and CAM(Half shot) Button */
-       if ((value & KBR1) == 0) {
-               i = 0;
-               while (i < 4) {
-                       value = readl(reg + S5PC1XX_KEYIFCOL_OFFSET);
-                       value |= 0xff;
-                       value &= ~(1 << i);
-                       writel(value, reg + S5PC1XX_KEYIFCOL_OFFSET);
-                       udelay(10*1000);
-                       col_value[i++] = readl(reg + S5PC1XX_KEYIFROW_OFFSET);
-               }
-               writel(0x00, reg + S5PC1XX_KEYIFCOL_OFFSET);
-
-               /* expected value is row_value[0] = 0x00 row_value[1] = 0x01 */
-               /* workaround */
-               if ((col_value[0] & 0x3) == 0x3 && (col_value[1] & 0x3) == 0x3)
-                       auto_download = 1;
-
-               if ((col_value[0] & 0x3) == 0x3 && (col_value[1] & 0x3) != 0x3)
-                       display_info = 1;
-               if (machine_is_p1p2()) {
-                       if ((col_value[0] & 0xd) == 0xd)
-                               auto_download = 1;
-               }
-       }
-
-       if (auto_download)
-               setenv("bootcmd", "usbdown");
-}
-
-static void enable_battery(void)
-{
-       unsigned char val[2];
-       unsigned char addr = 0x36;      /* max17040 fuel gauge */
-
-       if (machine_is_aquila()) {
-               if (board_is_j1b2())
-                       return;
-       }
-
-       if (machine_is_tickertape())
-               return;
-
-       if (machine_is_cypress())
-               i2c_set_bus_num(I2C_GPIO7);
-       else
-               i2c_set_bus_num(I2C_GPIO3);
-
-       if(machine_is_p1p2())
-       {
-               return;
-       }
-
-       if (i2c_probe(addr)) {
-               printf("Can't found max17040 fuel gauge\n");
-               return;
-       }
-
-       val[0] = 0x54;
-       val[1] = 0x00;
-       i2c_write(addr, 0xfe, 1, val, 2);
-}
-
-static void check_battery(void)
-{
-       unsigned char val[2];
-       unsigned char addr = 0x36;      /* max17040 fuel gauge */
-
-       if(machine_is_p1p2())
-       {
-               return;
-       }
-
-       if (machine_is_aquila()) {
-               if (board_is_j1b2())
-                       return;
-       }
-
-       if (machine_is_tickertape())
-               return;
-
-       if (machine_is_cypress())
-               i2c_set_bus_num(I2C_GPIO7);
-       else
-               i2c_set_bus_num(I2C_GPIO3);
-
-       if (i2c_probe(addr)) {
-               printf("Can't found max17040 fuel gauge\n");
-               return;
-       }
-
-       i2c_read(addr, 0x04, 1, val, 1);
-
-       dprintf("battery:\t%d%%\n", val[0]);
-
-       battery_soc = val[0];
-}
-
-static void check_mhl(void)
-{
-       unsigned char val[2];
-       unsigned char addr = 0x39;      /* SIL9230 */
-
-       /* MHL Power enable */
-       /* HDMI_EN : GPJ2[2] XMSMDATA_2 output mode */
-       gpio_direction_output(&s5pc110_gpio->gpio_j2, 2, 1);
-
-       /* MHL_RST : MP0_4[7] XM0ADDR_7 output mode */
-       gpio_direction_output(&s5pc110_gpio->gpio_mp0_4, 7, 0);
-
-       /* 10ms required after reset */
-       udelay(10000);
-
-       /* output enable */
-       gpio_set_value(&s5pc110_gpio->gpio_mp0_4, 7, 1);
-
-       i2c_set_bus_num(I2C_GPIO5);
-
-       /* set usb path */
-       if (i2c_probe(addr)) {
-               printf("Can't found MHL Chip\n");
-               return;
-       }
-
-       /*
-        * System Control #1
-        * set to Normal operation
-        */
-       val[0] = 0x35;
-       i2c_write((0x72 >> 1), 0x08, 1, val, 1);
-       i2c_read((0x72 >> 1), 0x08, 1, val, 1);
-
-       /*
-        * MHL TX Control #1
-        * TERM_MODE [7:6]
-        * 00 = MHL termination ON
-        * 11 = MHL termination OFF
-        */
-       val[0] = 0xd0;
-       i2c_write((0x72 >> 1), 0xa0, 1, val, 1);
-       i2c_read((0x72 >> 1), 0xa0, 1, val, 1);
-}
-
-static void into_charge_mode(void)
-{
-       unsigned char addr = 0xCC >> 1; /* max8998 */;
-       unsigned char val[2];
-       unsigned int level;
-       int i, j;
-
-       i2c_set_bus_num(I2C_PMIC);
-
-       if (i2c_probe(addr)) {
-               printf("Can't found max8998\n");
-               return;
-       }
-
-       printf("Charge Mode\n");
-
-       i2c_read(addr, 0x0C, 1, val, 1);
-       val[0] &= ~(0x7 << 0);
-       val[0] |= 5;            /* 600mA */
-       i2c_write(addr, 0x0C, 1, val, 1);
-
-#ifdef CONFIG_S5PC1XXFB
-       /* TODO: change to Image animation */
-       init_font();
-       set_font_xy(0, 0);
-       set_font_color(FONT_WHITE);
-       fb_printf("charging");
-
-       level = battery_soc / 25;
-
-       for (i = 0; i < 3; i++) {
-               if (level == 0)
-                       udelay(1 * 1000 * 1000);
-
-               for (j = 0; j < 4; j++) {
-                       fb_printf("..");
-
-                       if (j >= level)
-                               udelay(1 * 1000 * 1000);
-               }
-
-               if (level <= 4)
-                       udelay(1 * 1000 * 1000);
-
-               set_font_xy(0, 0);
-               set_font_color(FONT_XOR);
-               fb_printf("charging........");
-
-               set_font_xy(0, 0);
-               set_font_color(FONT_WHITE);
-               fb_printf("charging");
-       }
-
-       exit_font();
-#endif
-
-       /* EVT0: sleep 1, EVT1: sleep */
-       if (s5pc1xx_get_cpu_rev() == 0) {
-               run_command("sleep 1", 0);
-               return;
-       }
-
-       run_command("sleep", 0);
-}
-
-static void check_micro_usb(int intr)
-{
-       unsigned char addr;
-       unsigned char val[2];
-
-       if (cpu_is_s5pc100())
-               return;
-
-       if (board_is_limo_real()) {
-               if (hwrevision(0) || hwrevision(1))
-                       return;
-       }
-
-       if (machine_is_cypress())
-               i2c_set_bus_num(I2C_GPIO6);
-       else
-               i2c_set_bus_num(I2C_PMIC);
-
-       addr = 0x25;            /* fsa9480 */
-       if (i2c_probe(addr)) {
-               printf("Can't found fsa9480\n");
-               return;
-       }
-
-       /* Clear Interrupt */
-       if (intr) {
-               i2c_read(addr, 0x03, 1, val, 2);
-               udelay(500 * 1000);
-       }
-
-       /* Read Device Type 1 */
-       i2c_read(addr, 0x0a, 1, val, 1);
-
-#define FSA_DEDICATED_CHARGER  (1 << 6)
-#define FSA_UART               (1 << 3)
-#define FSA_USB                        (1 << 2)
-
-       /*
-        * If USB, use default 475mA
-        * If Charger, use 600mA and go to charge mode
-        */
-       if (val[0] & FSA_DEDICATED_CHARGER)
-               into_charge_mode();
-
-       /* If Factory Mode is Boot ON-USB, go to download mode */
-       i2c_read(addr, 0x07, 1, val, 1);
-
-#define FSA_ADC_FAC_USB                0x19
-#define FSA_ADC_FAC_UART       0x1d
-
-       if (val[0] == FSA_ADC_FAC_USB)
-               setenv("bootcmd", "usbdown");
-}
-
-#define MAX8998_REG_ONOFF1     0x11
-#define MAX8998_REG_ONOFF2     0x12
-#define MAX8998_REG_ONOFF3     0x13
-#define MAX8998_LDO3           (1 << 2)
-#define MAX8998_LDO10          (1 << 3)
-#define MAX8998_LDO11          (1 << 2)
-#define MAX8998_LDO12          (1 << 1)
-#define MAX8998_LDO13          (1 << 0)
-#define MAX8998_LDO14          (1 << 7)
-#define MAX8998_LDO15          (1 << 6)
-#define MAX8998_LDO16          (1 << 5)
-#define MAX8998_LDO17          (1 << 4)
-
-static void init_pmic(void)
-{
-       unsigned char addr;
-       unsigned char val[2];
-
-       if (cpu_is_s5pc100())
-               return;
-
-       i2c_set_bus_num(I2C_PMIC);
-
-       addr = 0xCC >> 1;       /* max8998 */
-       if (i2c_probe(addr)) {
-               printf("Can't found max8998\n");
-               return;
-       }
-
-       /* ONOFF1 */
-       i2c_read(addr, MAX8998_REG_ONOFF1, 1, val, 1);
-       val[0] &= ~MAX8998_LDO3;
-       i2c_write(addr, MAX8998_REG_ONOFF1, 1, val, 1);
-
-       /* ONOFF2 */
-       i2c_read(addr, MAX8998_REG_ONOFF2, 1, val, 1);
-       /*
-        * Disable LDO10(VPLL_1.1V), LDO11(CAM_IO_2.8V),
-        * LDO12(CAM_ISP_1.2V), LDO13(CAM_A_2.8V)
-        */
-       val[0] &= ~(MAX8998_LDO10 | MAX8998_LDO11 |
-                       MAX8998_LDO12 | MAX8998_LDO13);
-       val[0] |= (1 << 7);
-       i2c_write(addr, MAX8998_REG_ONOFF2, 1, val, 1);
-       i2c_read(addr, MAX8998_REG_ONOFF2, 1, val, 1);
-       /* ONOFF3 */
-       i2c_read(addr, MAX8998_REG_ONOFF3, 1, val, 1);
-       /*
-        * Disable LDO14(CAM_CIF_1.8), LDO15(CAM_AF_3.3V),
-        * LDO16(VMIPI_1.8V), LDO17(CAM_8M_1.8V)
-        */
-       val[0] &= ~(MAX8998_LDO14 | MAX8998_LDO15 |
-                       MAX8998_LDO16 | MAX8998_LDO17);
-       i2c_write(addr, MAX8998_REG_ONOFF3, 1, val, 1);
-       i2c_read(addr, MAX8998_REG_ONOFF3, 1, val, 1);
-}
-
-#define PDN_MASK(x)            (0x3 << ((x) << 1))
-
-#define CON_INPUT(x)           (0x0 << ((x) << 2))
-#define CON_OUTPUT(x)          (0x1 << ((x) << 2))
-#define CON_IRQ(x)             (0xf << ((x) << 2))
-
-#define DAT_SET(x)             (0x1 << (x))
-#define DAT_CLEAR(x)           (0x0 << (x))
-
-#define OUTPUT0(x)             (0x0 << ((x) << 1))
-#define OUTPUT1(x)             (0x1 << ((x) << 1))
-#define INPUT(x)               (0x2 << ((x) << 1))
-
-#define PULL_DIS(x)            (0x0 << ((x) << 1))
-#define PULL_DOWN(x)           (0x1 << ((x) << 1))
-#define PULL_UP(x)             (0x2 << ((x) << 1))
-
-#define PREVIOUS(x)            (0x3 << ((x) << 1))
-
-struct gpio_powermode {
-       unsigned int    conpdn;
-       unsigned int    pudpdn;
-};
-
-struct gpio_external {
-       unsigned int    con;
-       unsigned int    dat;
-       unsigned int    pud;
-};
-
-static struct gpio_powermode powerdown_modes[] = {
-       {       /* S5PC110_GPIO_A0_OFFSET */
-               INPUT(0) | OUTPUT0(1) | INPUT(2) | OUTPUT0(3) |
-               INPUT(4) | OUTPUT0(5) | INPUT(6) | OUTPUT0(7),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6) | PULL_DIS(7),
-       }, {    /* S5PC110_GPIO_A1_OFFSET */
-               INPUT(0) | OUTPUT0(1) | INPUT(2) | INPUT(3),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3),
-       }, {    /* S5PC110_GPIO_B_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | OUTPUT0(3) |
-               INPUT(4) | OUTPUT0(5) | OUTPUT0(6) | OUTPUT0(7),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6) | PULL_DIS(7),
-       }, {    /* S5PC110_GPIO_C0_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | INPUT(3) |
-               OUTPUT0(4),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4),
-       }, {    /* S5PC110_GPIO_C1_OFFSET */
-               /* OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | OUTPUT0(3) |
-               OUTPUT0(4), */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | INPUT(3) |
-               OUTPUT0(4),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4),
-       }, {    /* S5PC110_GPIO_D0_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | OUTPUT0(3),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3),
-       }, {    /* S5PC110_GPIO_D1_OFFSET */
-               INPUT(0) | INPUT(1) | INPUT(2) | INPUT(3) |
-               INPUT(4) | INPUT(5),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5),
-       }, {    /* S5PC110_GPIO_E0_OFFSET */
-               INPUT(0) | INPUT(1) | INPUT(2) | INPUT(3) |
-               INPUT(4) | INPUT(5) | INPUT(6) | INPUT(7),
-               PULL_DOWN(0) | PULL_DOWN(1) | PULL_DOWN(2) | PULL_DOWN(3) |
-               PULL_DOWN(4) | PULL_DOWN(5) | PULL_DOWN(6) | PULL_DOWN(7),
-       }, {    /* S5PC110_GPIO_E1_OFFSET */
-               INPUT(0) | INPUT(1) | INPUT(2) | OUTPUT0(3) |
-               OUTPUT0(4),
-               PULL_DOWN(0) | PULL_DOWN(1) | PULL_DOWN(2) | PULL_DIS(3) |
-               PULL_DIS(4),
-       }, {    /* S5PC110_GPIO_F0_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | OUTPUT0(3) |
-               OUTPUT0(4) | OUTPUT0(5) | OUTPUT0(6) | OUTPUT0(7),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6) | PULL_DIS(7),
-       }, {    /* S5PC110_GPIO_F1_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | OUTPUT0(3) |
-               OUTPUT0(4) | OUTPUT0(5) | OUTPUT0(6) | OUTPUT0(7),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6) | PULL_DIS(7),
-       }, {    /* S5PC110_GPIO_F2_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | OUTPUT0(3) |
-               OUTPUT0(4) | OUTPUT0(5) | OUTPUT0(6) | OUTPUT0(7),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6) | PULL_DIS(7),
-       }, {    /* S5PC110_GPIO_F3_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | OUTPUT0(3) |
-               OUTPUT0(4) | OUTPUT0(5),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5),
-       }, {    /* S5PC110_GPIO_G0_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | OUTPUT0(3) |
-               OUTPUT0(4) | OUTPUT0(5) | OUTPUT0(6),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6),
-       }, {    /* S5PC110_GPIO_G1_OFFSET */
-               OUTPUT0(0) | INPUT(1) | OUTPUT0(2) | INPUT(3) |
-               INPUT(4) | INPUT(5) | INPUT(6),
-               PULL_DIS(0) | PULL_UP(1) | PULL_DIS(2) | PULL_UP(3) |
-               PULL_UP(4) | PULL_UP(5) | PULL_UP(6),
-       }, {    /* S5PC110_GPIO_G2_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | OUTPUT0(3) |
-               OUTPUT0(4) | OUTPUT0(5) | OUTPUT0(6),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6),
-       }, {    /* S5PC110_GPIO_G3_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT1(2) | INPUT(3) |
-               OUTPUT0(4) | OUTPUT0(5) | OUTPUT0(6),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6),
-       }, {    /* S5PC110_GPIO_I_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | INPUT(3) |
-               OUTPUT0(4) | OUTPUT0(5) | OUTPUT0(6),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6),
-       }, {    /* S5PC110_GPIO_J0_OFFSET */
-               INPUT(0) | OUTPUT0(1) | INPUT(2) | INPUT(3) |
-               INPUT(4) | INPUT(5) | OUTPUT0(6) | OUTPUT0(7),
-               PULL_DOWN(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6) | PULL_DIS(7),
-       }, {    /* S5PC110_GPIO_J1_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | OUTPUT0(3) |
-               OUTPUT0(4) | OUTPUT0(5) | OUTPUT0(6) | OUTPUT0(7),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6) | PULL_DIS(7),
-       }, {    /* S5PC110_GPIO_J2_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | OUTPUT0(3) |
-               INPUT(4) | OUTPUT0(5) | INPUT(6) | INPUT(7),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DOWN(6) | PULL_DOWN(7),
-       }, {    /* S5PC110_GPIO_J3_OFFSET */
-               INPUT(0) | INPUT(1) | OUTPUT0(2) | OUTPUT0(3) |
-               OUTPUT1(4) | OUTPUT0(5) | INPUT(6) | INPUT(7),
-               PULL_DOWN(0) | PULL_DOWN(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6) | PULL_DIS(7),
-       }, {    /* S5PC110_GPIO_J4_OFFSET */
-               INPUT(0) | OUTPUT0(1) | OUTPUT0(2) | INPUT(3) |
-               OUTPUT0(4),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4),
-       }, {    /* S5PC110_MP0_1_OFFSET */
-               /* XM0CSN[4]: MP0_1[4] -> output high */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT1(2) | OUTPUT0(3) |
-               OUTPUT1(4) | OUTPUT0(5) | OUTPUT1(6) | OUTPUT1(7),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6) | PULL_DIS(7),
-       }, {    /* S5PC110_MP0_2_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | INPUT(2) | OUTPUT0(3),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3),
-       }, {    /* S5PC110_MP0_3_OFFSET */
-               /* XM0FWEN: MP0_3[2] -> output high */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT1(2) | OUTPUT0(3) |
-               INPUT(4) | OUTPUT0(5) | OUTPUT0(6) | OUTPUT0(7),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6) | PULL_DIS(7),
-       }, {    /* S5PC110_MP0_4_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | INPUT(3) |
-               INPUT(4) | OUTPUT0(5) | OUTPUT0(6) | OUTPUT0(7),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DOWN(3) |
-               PULL_DOWN(4) | PULL_DIS(5) | PULL_DIS(6) | PULL_DIS(7),
-       }, {    /* S5PC110_MP0_5_OFFSET */
-               INPUT(0) | OUTPUT0(1) | INPUT(2) | INPUT(3) |
-               OUTPUT0(4) | OUTPUT0(5) | OUTPUT0(6) | OUTPUT0(7),
-               PULL_DOWN(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6) | PULL_DIS(7),
-       }, {    /* S5PC110_MP0_6_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | OUTPUT0(3) |
-               OUTPUT0(4) | OUTPUT0(5) | OUTPUT0(6) | OUTPUT0(7),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6) | PULL_DIS(7),
-       }, {    /* S5PC110_MP0_7_OFFSET */
-               OUTPUT0(0) | OUTPUT0(1) | OUTPUT0(2) | OUTPUT0(3) |
-               OUTPUT0(4) | OUTPUT0(5) | OUTPUT0(6) | OUTPUT0(7),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5) | PULL_DIS(6) | PULL_DIS(7),
-       },
-};
-
-static struct gpio_external external_powerdown_modes[] = {
-       {       /* S5PC110_GPIO_H0_OFFSET */
-               CON_OUTPUT(0) | CON_INPUT(1) | CON_OUTPUT(2) | CON_OUTPUT(3) |
-               CON_OUTPUT(4) | CON_OUTPUT(5) | CON_INPUT(6) | CON_INPUT(7),
-               DAT_SET(0) | DAT_CLEAR(2) | DAT_CLEAR(3) |
-               DAT_CLEAR(4) | DAT_CLEAR(5),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DIS(4) | PULL_DIS(5),
-       }, {    /* S5PC110_GPIO_H1_OFFSET */
-               /* CON_INPUT(0) | CON_INPUT(1) | CON_OUTPUT(2) | CON_IRQ(3) |
-               CON_IRQ(4) | CON_INPUT(5) | CON_INPUT(6) | CON_INPUT(7),
-               DAT_CLEAR(2),
-               PULL_DOWN(0) | PULL_DOWN(1) |
-               PULL_DOWN(6),           */
-               CON_INPUT(0) | CON_INPUT(1) | CON_OUTPUT(2) | CON_IRQ(3) |
-               CON_INPUT(4) | CON_INPUT(5) | CON_OUTPUT(6) | CON_INPUT(7),
-               DAT_SET(0),
-               PULL_DIS(0) | PULL_DIS(1) | PULL_DIS(2) | PULL_DIS(3) |
-               PULL_DOWN(4),
-       }, {    /* S5PC110_GPIO_H2_OFFSET */
-               CON_OUTPUT(0) | CON_OUTPUT(1) | CON_OUTPUT(2) | CON_OUTPUT(3) |
-               CON_IRQ(4) | CON_IRQ(5) | CON_IRQ(6) | CON_IRQ(7),
-               DAT_CLEAR(0) | DAT_CLEAR(1) | DAT_CLEAR(2) | DAT_CLEAR(3),
-               0,
-       }, {    /* S5PC110_GPIO_H3_OFFSET */
-               CON_IRQ(0) | CON_IRQ(1) | CON_IRQ(2) | CON_OUTPUT(3) |
-               CON_IRQ(4) | CON_INPUT(5) | CON_IRQ(6) | CON_OUTPUT(7),
-               DAT_CLEAR(3) | DAT_CLEAR(7),
-               0,
-       },
-};
-
-static void setup_power_down_mode_registers(void)
-{
-       struct s5pc110_gpio *gpio = (struct s5pc110_gpio *)S5PC110_GPIO_BASE;
-       struct s5pc1xx_gpio_bank *bank;
-       struct gpio_powermode *p;
-       struct gpio_external *ge;
-       int i;
-
-       if (cpu_is_s5pc100())
-               return;
-
-       if (!(machine_is_aquila() && board_is_limo_real()))
-               return;
-
-       bank = &gpio->gpio_a0;
-       p = powerdown_modes;
-
-       for (i = 0; i < ARRAY_SIZE(powerdown_modes); i++, p++, bank++) {
-               writel(p->conpdn, &bank->pdn_con);
-               writel(p->pudpdn, &bank->pdn_pull);
-       }
-       /* M299 */
-       writel(0xff0022b0, (unsigned int *)0xF0000000);
-       writel(0xff0022b0, (unsigned int *)0xF1400000);
-
-
-       bank = &gpio->gpio_h0;
-       ge = external_powerdown_modes;
-
-       for (i = 0; i < ARRAY_SIZE(external_powerdown_modes); i++) {
-               writel(ge->con, &bank->con);
-               writel(ge->dat, &bank->dat);
-               writel(ge->pud, &bank->pull);
-
-               bank++;
-               ge++;
-       }
-}
-
-#ifdef CONFIG_LCD
-struct s6e63m0_platform_data {
-       struct s5pc1xx_gpio_bank *bank;
-       unsigned int num;
-};
-
-extern void s6e63m0_set_spi_interface(struct s6e63m0_platform_data *cs,
-       struct s6e63m0_platform_data *clk, struct s6e63m0_platform_data *si,
-       struct s6e63m0_platform_data *so);
-
-struct s6e63m0_platform_data pd_cs, pd_clk, pd_si, pd_so;
-struct s5pc110_gpio *gpio_base = (struct s5pc110_gpio *) S5PC110_GPIO_BASE;
-
-void lcd_cfg_gpio(void)
-{
-       unsigned int i, f3_end = 4;
-
-       for (i = 0; i < 8; i++) {
-               /* set GPF0,1,2[0:7] for RGB Interface and Data lines (32bit) */
-               gpio_cfg_pin(&gpio_base->gpio_f0, i, GPIO_FUNC(2));
-               gpio_cfg_pin(&gpio_base->gpio_f1, i, GPIO_FUNC(2));
-               gpio_cfg_pin(&gpio_base->gpio_f2, i, GPIO_FUNC(2));
-               /* pull-up/down disable */
-               gpio_set_pull(&gpio_base->gpio_f0, i, GPIO_PULL_NONE);
-               gpio_set_pull(&gpio_base->gpio_f1, i, GPIO_PULL_NONE);
-               gpio_set_pull(&gpio_base->gpio_f2, i, GPIO_PULL_NONE);
-
-               /* drive strength to max (24bit) */
-               gpio_set_drv(&gpio_base->gpio_f0, i, GPIO_DRV_4x);
-               gpio_set_rate(&gpio_base->gpio_f0, i, GPIO_DRV_SLOW);
-               gpio_set_drv(&gpio_base->gpio_f1, i, GPIO_DRV_4x);
-               gpio_set_rate(&gpio_base->gpio_f1, i, GPIO_DRV_SLOW);
-               gpio_set_drv(&gpio_base->gpio_f2, i, GPIO_DRV_4x);
-               gpio_set_rate(&gpio_base->gpio_f2, i, GPIO_DRV_SLOW);
-       }
-
-       /* set DISPLAY_DE_B pin for dual rgb mode. */
-       if (board_is_media())
-               f3_end = 5;
-
-       for (i = 0; i < f3_end; i++) {
-               /* set GPF3[0:3] for RGB Interface and Data lines (32bit) */
-               gpio_cfg_pin(&gpio_base->gpio_f3, i, GPIO_PULL_UP);
-               /* pull-up/down disable */
-               gpio_set_pull(&gpio_base->gpio_f3, i, GPIO_PULL_NONE);
-               /* drive strength to max (24bit) */
-               gpio_set_drv(&gpio_base->gpio_f3, i, GPIO_DRV_4x);
-               gpio_set_rate(&gpio_base->gpio_f3, i, GPIO_DRV_SLOW);
-       }
-       /* display output path selection (only [1:0] valid) */
-       writel(0x2, 0xE0107008);
-
-       /* gpio pad configuration for LCD reset. */
-       gpio_cfg_pin(&gpio_base->gpio_mp0_5, 5, GPIO_OUTPUT);
-
-       /* gpio pad configuration for LCD ON. */
-       gpio_cfg_pin(&gpio_base->gpio_j1, 3, GPIO_OUTPUT);
-
-       /* MLCD_ON2 */
-       
-       if (board_is_p2_real())
-            gpio_cfg_pin(&gpio_base->gpio_j1, 4, GPIO_OUTPUT);
-       else
-            gpio_cfg_pin(&gpio_base->gpio_j2, 6, GPIO_OUTPUT);
-
-       /* LCD_BACKLIGHT_EN */
-       if (machine_is_geminus())
-               gpio_cfg_pin(&gpio_base->gpio_mp0_5, 0, GPIO_OUTPUT);
-
-       /*
-        * gpio pad configuration for
-        * DISPLAY_CS, DISPLAY_CLK, DISPLAY_SO, DISPLAY_SI.
-        */
-       gpio_cfg_pin(&gpio_base->gpio_mp0_1, 1, GPIO_OUTPUT);
-       gpio_cfg_pin(&gpio_base->gpio_mp0_4, 1, GPIO_OUTPUT);
-       gpio_cfg_pin(&gpio_base->gpio_mp0_4, 2, GPIO_INPUT);
-       gpio_cfg_pin(&gpio_base->gpio_mp0_4, 3, GPIO_OUTPUT);
-
-       if (machine_is_aquila()) {
-               pd_cs.bank = &gpio_base->gpio_mp0_1;
-               pd_cs.num = 1;
-               pd_clk.bank = &gpio_base->gpio_mp0_4;
-               pd_clk.num = 1;
-               pd_si.bank = &gpio_base->gpio_mp0_4;
-               pd_si.num = 3;
-               pd_so.bank = &gpio_base->gpio_mp0_4;
-               pd_so.num = 2;
-
-               /* these data would be sent to s6e63m0 lcd panel driver. */
-               //s6e63m0_set_spi_interface(&pd_cs, &pd_clk, &pd_si, &pd_so);
-       }
-
-       if (machine_is_cypress()) {
-               /* FLCD_CS */
-               gpio_cfg_pin(&gpio_base->gpio_mp0_1, 0, GPIO_OUTPUT);
-               /* FLCD_CLK */
-               gpio_cfg_pin(&gpio_base->gpio_mp0_4, 0, GPIO_OUTPUT);
-               /* FLCD_SDI */
-               gpio_cfg_pin(&gpio_base->gpio_mp0_4, 2, GPIO_OUTPUT);
-               /* FLCD_RST_S */
-               gpio_cfg_pin(&gpio_base->gpio_mp0_4, 5, GPIO_OUTPUT);
-               /* FLCD_ON_S */
-               gpio_cfg_pin(&gpio_base->gpio_g2, 2, GPIO_OUTPUT);
-
-               pd_cs.bank = &gpio_base->gpio_mp0_1;
-               pd_cs.num = 0;
-               pd_clk.bank = &gpio_base->gpio_mp0_4;
-               pd_clk.num = 0;
-               pd_si.bank = &gpio_base->gpio_mp0_4;
-               pd_si.num = 2;
-
-               /* these data would be sent to s6e63m0 lcd panel driver. */
-               //s6e63m0_set_spi_interface(&pd_cs, &pd_clk, &pd_si, NULL);
-       }
-
-       return;
-}
-
-void backlight_on(unsigned int onoff)
-{
-       struct s5pc110_gpio *gpio = (struct s5pc110_gpio *) S5PC110_GPIO_BASE;
-
-       if (onoff) {
-               if (machine_is_geminus())
-                       gpio_set_value(&gpio->gpio_mp0_5, 0, 1);
-       } else {
-               if (machine_is_geminus())
-                       gpio_set_value(&gpio->gpio_mp0_5, 0, 0);
-       }
-}
-
-void reset_lcd(void)
-{
-       struct s5pc110_gpio *gpio = (struct s5pc110_gpio *) S5PC110_GPIO_BASE;
-
-       if (machine_is_aquila() || machine_is_geminus())
-               gpio_set_value(&gpio->gpio_mp0_5, 5, 1);
-       if (machine_is_cypress())
-               gpio_set_value(&gpio->gpio_mp0_4, 5, 1);
-}
-
-void lcd_power_on(unsigned int onoff)
-{
-       struct s5pc110_gpio *gpio = (struct s5pc110_gpio *) S5PC110_GPIO_BASE;
-
-       if (onoff) {
-               if (machine_is_aquila() || machine_is_geminus())
-                       gpio_set_value(&gpio->gpio_j1, 3, 1);
-
-               if (machine_is_cypress())
-                       gpio_set_value(&gpio->gpio_g2, 2, 1);
-
-               if (board_is_p2_real())
-                       gpio_set_value(&gpio->gpio_j1, 4, 1);
-               else
-                       gpio_set_value(&gpio->gpio_j2, 6, 1);
-       
-       } else {
-               if (machine_is_aquila() || machine_is_geminus())
-                       gpio_set_value(&gpio->gpio_j1, 3, 0);
-
-               if (machine_is_cypress())
-                       gpio_set_value(&gpio->gpio_g2, 2, 0);
-
-               if (board_is_p2_real())
-                    gpio_set_value(&gpio->gpio_j1, 4, 0);
-               else
-                    gpio_set_value(&gpio->gpio_j2, 6, 0);
-       }
-}
-
-extern void ams701ka_cfg_ldo(void);
-extern void ams701ka_enable_ldo(unsigned int onoff);
-
-void init_panel_info(vidinfo_t *vid)
-{
-       vid->cfg_gpio = NULL;
-       vid->reset_lcd = NULL;
-       vid->backlight_on = NULL;
-       vid->lcd_power_on = NULL;
-
-       vid->cfg_ldo = NULL;
-       vid->enable_ldo = NULL;
-
-       vid->init_delay = 0;
-       vid->reset_delay = 0;
-       vid->power_on_delay = 0;
-
-       vid->dual_lcd_enabled = 0;
-
-       vid->vl_freq    = 60;
-       vid->vl_col     = 1024,
-       vid->vl_row     = 600,
-       vid->vl_width   = 1024,
-       vid->vl_height  = 600,
-       vid->vl_clkp    = CONFIG_SYS_HIGH,
-       vid->vl_hsp     = CONFIG_SYS_HIGH,
-       vid->vl_vsp     = CONFIG_SYS_HIGH,
-       vid->vl_dp      = CONFIG_SYS_LOW,
-       vid->vl_bpix    = 32,
-
-       /* AMS701KA AMOLED Panel. */
-       vid->vl_hspw    = 30,
-       vid->vl_hbpd    = 114,
-       vid->vl_hfpd    = 48,
-
-       vid->vl_vspw    = 2,
-       vid->vl_vbpd    = 6,
-       vid->vl_vfpd    = 8,
-
-       vid->cfg_gpio = lcd_cfg_gpio;
-       vid->reset_lcd = reset_lcd;
-       vid->backlight_on = backlight_on;
-       vid->lcd_power_on = lcd_power_on;
-
-       vid->cfg_ldo = ams701ka_cfg_ldo;
-       vid->enable_ldo = ams701ka_enable_ldo;
-
-       vid->init_delay = 25000;
-       vid->reset_delay = 120000;
-
-#if 0
-       vid->vl_freq    = 60;
-       vid->vl_col     = 480,
-       vid->vl_row     = 800,
-       vid->vl_width   = 480,
-       vid->vl_height  = 800,
-       vid->vl_clkp    = CONFIG_SYS_HIGH,
-       vid->vl_hsp     = CONFIG_SYS_LOW,
-       vid->vl_vsp     = CONFIG_SYS_LOW,
-       vid->vl_dp      = CONFIG_SYS_HIGH,
-       vid->vl_bpix    = 32,
-
-       /* tl2796 panel. */
-       vid->vl_hpw     = 4,
-       vid->vl_blw     = 8,
-       vid->vl_elw     = 8,
-
-       vid->vl_vpw     = 4,
-       vid->vl_bfw     = 8,
-       vid->vl_efw     = 8,
-#endif
-#if 0
-       vid->vl_freq    = 60;
-       vid->vl_col     = 1024,
-       vid->vl_row     = 600,
-       vid->vl_width   = 1024,
-       vid->vl_height  = 600,
-       vid->vl_clkp    = CONFIG_SYS_HIGH,
-       vid->vl_hsp     = CONFIG_SYS_HIGH,
-       vid->vl_vsp     = CONFIG_SYS_HIGH,
-       vid->vl_dp      = CONFIG_SYS_LOW,
-       vid->vl_bpix    = 32,
-
-       /* AMS701KA AMOLED Panel. */
-       vid->vl_hpw     = 30,
-       vid->vl_blw     = 114,
-       vid->vl_elw     = 48,
-
-       vid->vl_vpw     = 2,
-       vid->vl_bfw     = 6,
-       vid->vl_efw     = 8,
-#endif
-}
-#endif
-
-static void setup_meminfo(void)
-{
-       char meminfo[64] = {0, };
-       int count = 0, size, real;
-
-       size = gd->bd->bi_dram[0].size >> 20;
-       count += sprintf(meminfo + count, "mem=%dM", size);
-
-       /* Each Chip Select can't exceed the 256MiB */
-       size = gd->bd->bi_dram[1].size >> 20;
-       real = min(size, 256);
-       count += sprintf(meminfo + count, " mem=%dM@0x%x",
-               real, (unsigned int)gd->bd->bi_dram[1].start);
-
-       size -= real;
-       if (size > 0) {
-               count += sprintf(meminfo + count, " mem=%dM@0x%x", size,
-                       (unsigned int)gd->bd->bi_dram[1].start + (real << 20));
-       }
-
-       setenv("meminfo", meminfo);
-}
-
-int misc_init_r(void)
-{
-#ifdef CONFIG_LCD
-       /* It should be located at first */
-       lcd_is_enabled = 0;
-
-       if (board_is_limo_real() ||
-               board_is_limo_universal() ||
-               board_is_j1b2())
-               setenv("lcdinfo", "lcd=s6e63m0");
-       /* it can't classify tl2796 with single-lcd and dual-lcd.
-       else
-               setenv("lcdinfo", "lcd=tl2796-dual");
-       */
-
-       /*
-        * env values below should be added in case that lcd panel of geminus,
-        * p1 and p2 are enabled at u-boot.
-        * setenv means that lcd panel has been turned on at u-boot.
-        */
-       if (machine_is_geminus())
-               setenv("lcdinfo", "lcd=lms480jc01");
-
-       if (board_is_p2_real()) {
-               setenv("lcdinfo", "lcd=ams701");
-       }       else if(lcd_is_amoled())        {
-               setenv("lcdinfo", "lcd=ams701");
-       }
-
-#endif
-       setup_meminfo();
-
-       show_hw_revision();
-
-       /* Set proper PMIC pins */
-       pmic_pin_init();
-
-       /* Check auto burning */
-       check_auto_burn();
-
-       /* To power up I2C2 */
-       enable_ldos();
-
-       /* Enable T-Flash at Limo Real or Limo Universal */
-       enable_t_flash();
-
-       /* Setup Limo Real board GPIOs */
-       setup_limo_real_gpios();
-
-       /* Setup Media board GPIOs */
-       setup_media_gpios();
-
-       /* Setup P1P2 board GPIOS */
-       setup_p1p2_gpios();
-
-       /* To usbdown automatically */
-       if (board_is_p2_real())
-               check_p2_keypad();
-       else
-               check_keypad();
-
-       /* check max8998 */
-       init_pmic();
-
-#ifdef CONFIG_S5PC1XXFB
-       display_device_info();
-#endif
-
-       setup_power_down_mode_registers();
-
-       /* check max17040 */
-       check_battery();
-
-       /* check fsa9480 */
-       check_micro_usb(0);
-
-       return 0;
-}
-#endif
-
-int board_init(void)
-{
-       /* Set Initial global variables */
-       s5pc110_gpio = (struct s5pc110_gpio *) S5PC110_GPIO_BASE;
-
-       gd->bd->bi_arch_number = MACH_TYPE;
-       gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
-
-       /* Check H/W Revision */
-       check_hw_revision();
-
-       return 0;
-}
-
-int dram_init(void)
-{
-       unsigned int base, memconfig0, size;
-       unsigned int memconfig1, sz = 0;
-
-       if (cpu_is_s5pc100()) {
-               /* In mem setup, we swap the bank. So below size is correct */
-               gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
-               gd->bd->bi_dram[0].size = PHYS_SDRAM_2_SIZE;
-               gd->bd->bi_dram[1].start = S5PC100_PHYS_SDRAM_2;
-               size = 128;
-       } else {
-               /* In S5PC110, we can't swap the DMC0/1 */
-               gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
-               gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
-
-               base = S5PC110_DMC1_BASE;
-               /* DMC configuration */
-               memconfig0 = readl(base + MEMCONFIG0_OFFSET);
-               gd->bd->bi_dram[1].start = memconfig0 & 0xFF000000;
-
-               size = (memconfig0 >> 16) & 0xFF;
-               size = ((unsigned char) ~size) + 1;
-
-               /*
-                * (0x07 + 1) * 16 = 128 MiB
-                * (0x0f + 1) * 16 = 256 MiB
-                */
-               size = size << 4;
-
-               /*
-                * Aquila Rev0.5 4G3G1G
-                * Aquila Rev0.8 4G3G1G
-                */
-               if (machine_is_aquila() && (hwrevision(5) || hwrevision(8))) {
-                       memconfig1 = readl(base + MEMCONFIG1_OFFSET);
-
-                       sz = (memconfig1 >> 16) & 0xFF;
-                       sz = ((unsigned char) ~sz) + 1;
-                       sz = sz << 4;
-               }
-
-       }
-       /*
-        * bi_dram[1].size contains all DMC1 memory size
-        */
-       gd->bd->bi_dram[1].size = (size + sz) << 20;
-
-       return 0;
-}
-
-/* Used for sleep test */
-static unsigned char saved_val[4][2];
-void board_sleep_init_late(void)
-{
-       /* CODEC_LDO_EN: GPF3[4] */
-       gpio_direction_output(&s5pc110_gpio->gpio_f3, 4, 0);
-       /* CODEC_XTAL_EN: GPH3[2] */
-       gpio_direction_output(&s5pc110_gpio->gpio_h3, 2, 0);
-
-       /* MMC T_FLASH off */
-       gpio_direction_output(&s5pc110_gpio->gpio_mp0_5, 4, 0);
-       /* MHL off */
-       gpio_direction_output(&s5pc110_gpio->gpio_j2, 2, 0);
-       gpio_direction_output(&s5pc110_gpio->gpio_mp0_4, 7, 0);
-       gpio_direction_output(&s5pc110_gpio->gpio_j2, 3, 0); /* MHL_ON for REV02 or higher */
-
-
-}
-void board_sleep_init(void)
-{
-       unsigned char addr;
-       unsigned char val[2];
-
-       i2c_set_bus_num(I2C_PMIC);
-       addr = 0xCC >> 1;
-       if (i2c_probe(addr)) {
-               printf("Can't find max8998\n");
-               return;
-       }
-
-       /* Set ONOFF1 */
-       i2c_read(addr, MAX8998_REG_ONOFF1, 1, val, 1);
-       saved_val[0][0] = val[0];
-       saved_val[0][1] = val[1];
-       val[0] &= ~((1 << 7) | (1 << 6) | (1 << 4) | (1 << 2) |
-                       (1 << 1) | (1 << 0));
-       i2c_write(addr, MAX8998_REG_ONOFF1, 1, val, 1);
-       i2c_read(addr, MAX8998_REG_ONOFF1, 1, val, 1);
-       /* Set ONOFF2 */
-       i2c_read(addr, MAX8998_REG_ONOFF2, 1, val, 1);
-       saved_val[1][0] = val[0];
-       saved_val[1][1] = val[1];
-       val[0] &= ~((1 << 7) | (1 << 6) | (1 << 5) | (1 << 3) |
-                       (1 << 2) | (1 << 1) | (1 << 0));
-       val[0] |= (1 << 7);
-       i2c_write(addr, MAX8998_REG_ONOFF2, 1, val, 1);
-       i2c_read(addr, MAX8998_REG_ONOFF2, 1, val, 1);
-       /* Set ONOFF3 */
-       i2c_read(addr, MAX8998_REG_ONOFF3, 1, val, 1);
-       saved_val[2][0] = val[0];
-       saved_val[2][1] = val[1];
-       val[0] &= ~((1 << 7) | (1 << 6) | (1 << 5) | (1 << 4));
-       i2c_write(addr, MAX8998_REG_ONOFF3, 1, val, 1);
-       i2c_read(addr, MAX8998_REG_ONOFF3, 1, val, 1);
-       /* Set ONOFF4 */
-       i2c_read(addr, MAX8998_REG_ONOFF3+1, 1, val, 1);
-       saved_val[3][0] = val[0];
-       saved_val[3][1] = val[1];
-       val[0] &= ~((1 << 7) | (1 << 6) | (1 << 4));
-       i2c_write(addr, MAX8998_REG_ONOFF3+1, 1, val, 1);
-       i2c_read(addr, MAX8998_REG_ONOFF3+1, 1, val, 1);
-       printf("Turned off regulators. Preparing to sleep. [%s:%d]\n",
-                       __FILE__, __LINE__);
-}
-
-void board_sleep_resume(void)
-{
-       unsigned char addr;
-       unsigned char val[2];
-
-       show_hw_revision();
-
-       i2c_set_bus_num(I2C_PMIC);
-       addr = 0xCC >> 1;
-       if (i2c_probe(addr)) {
-               printf("Can't find max8998\n");
-               return;
-       }
-
-       /* Set ONOFF1 */
-       i2c_write(addr, MAX8998_REG_ONOFF1, 1, saved_val[0], 1);
-       i2c_read(addr, MAX8998_REG_ONOFF1, 1, val, 1);
-       /* Set ONOFF2 */
-       i2c_write(addr, MAX8998_REG_ONOFF2, 1, saved_val[1], 1);
-       i2c_read(addr, MAX8998_REG_ONOFF2, 1, val, 1);
-       /* Set ONOFF3 */
-       i2c_write(addr, MAX8998_REG_ONOFF3, 1, saved_val[2], 1);
-       i2c_read(addr, MAX8998_REG_ONOFF3, 1, val, 1);
-       /* Set ONOFF4 */
-       i2c_write(addr, MAX8998_REG_ONOFF3+1, 1, saved_val[3], 1);
-       i2c_read(addr, MAX8998_REG_ONOFF3+1, 1, val, 1);
-       printf("Waked up.\n");
-
-       /* check max17040 */
-       check_battery();
-
-       /* check fsa9480 */
-       check_micro_usb(1);
-}
-
-#ifdef CONFIG_CMD_USBDOWN
-int usb_board_init(void)
-{
-#ifdef CONFIG_CMD_PMIC
-       run_command("pmic ldo 3 on", 0);
-#endif
-
-       if (cpu_is_s5pc100()) {
-#ifdef CONFIG_HARD_I2C
-               uchar val[2] = {0,};
-
-               /* PMIC */
-               if (i2c_read(0x66, 0, 1, val, 2)) {
-                       printf("i2c_read error\n");
-                       return 1;
-               }
-
-               val[0] |= (1 << 3);
-               val[1] |= (1 << 5);
-
-               if (i2c_write(0x66, 0, 1, val, 2)) {
-                       printf("i2c_write error\n");
-                       return 1;
-               }
-               i2c_read(0x66, 0, 1, val, 2);
-#endif
-               return 0;
-       }
-
-       /* S5PC110 */
-       if (board_is_limo_universal() ||
-               board_is_limo_real() ||
-               board_is_media()) {
-               /* check usb path */
-               if (board_is_limo_real() && !hwrevision(6))
-                       check_mhl();
-       }
-
-       if (machine_is_tickertape())
-               /* USB_SEL: XM0ADDR_0: MP04[0] output mode */
-               gpio_direction_output(&s5pc110_gpio->gpio_mp0_4, 0, 0);
-
-       return 0;
-}
-#endif
-
-#ifdef CONFIG_GENERIC_MMC
-int board_mmc_init(bd_t *bis)
-{
-       unsigned int reg;
-       unsigned int clock;
-       struct s5pc110_clock *clk = (struct s5pc110_clock *)S5PC1XX_CLOCK_BASE;
-       int i;
-
-       /* MMC0 Clock source = SCLKMPLL */
-       reg = readl(&clk->src4);
-       reg &= ~0xf;
-       reg |= 0x6;
-       writel(reg, &clk->src4);
-
-       reg = readl(&clk->div4);
-       reg &= ~0xf;
-
-       /* set div value near 50MHz */
-       clock = get_pll_clk(MPLL) / 1000000;
-       for (i = 0; i < 0xf; i++) {
-               if ((clock / (i + 1)) <= 50) {
-                       reg |= i << 0;
-                       break;
-               }
-       }
-
-       writel(reg, &clk->div4);
-
-       /*
-        * MMC0 GPIO
-        * GPG0[0]      SD_0_CLK
-        * GPG0[1]      SD_0_CMD
-        * GPG0[2]      SD_0_CDn        -> Not used
-        * GPG0[3:6]    SD_0_DATA[0:3]
-        */
-       for (i = 0; i < 7; i++) {
-               if (i == 2)
-                       continue;
-               /* GPG0[0:6] special function 2 */
-               gpio_cfg_pin(&s5pc110_gpio->gpio_g0, i, 0x2);
-               /* GPG0[0:6] pull disable */
-               gpio_set_pull(&s5pc110_gpio->gpio_g0, i, GPIO_PULL_NONE);
-               /* GPG0[0:6] drv 4x */
-               gpio_set_drv(&s5pc110_gpio->gpio_g0, i, GPIO_DRV_4x);
-       }
-
-       return s5pc1xx_mmc_init(0);
-}
-#endif
-
-#ifdef CONFIG_CMD_PMIC
-static int pmic_status(void)
-{
-       unsigned char addr, val[2];
-       int reg, i;
-
-       i2c_set_bus_num(I2C_PMIC);
-       addr = 0xCC >> 1;
-       if (i2c_probe(addr)) {
-               printf("Can't found max8998\n");
-               return -1;
-       }
-
-       reg = 0x11;
-       i2c_read(addr, reg, 1, val, 1);
-       for (i = 7; i >= 4; i--)
-               printf("BUCK%d %s\n", 7 - i + 1,
-                       val[0] & (1 << i) ? "on" : "off");
-       for (; i >= 0; i--)
-               printf("LDO%d %s\n", 5 - i,
-                       val[0] & (1 << i) ? "on" : "off");
-       reg = 0x12;
-       i2c_read(addr, reg, 1, val, 1);
-       for (i = 7; i >= 0; i--)
-               printf("LDO%d %s\n", 7 - i + 6,
-                       val[0] & (1 << i) ? "on" : "off");
-       reg = 0x13;
-       i2c_read(addr, reg, 1, val, 1);
-       for (i = 7; i >= 4; i--)
-               printf("LDO%d %s\n", 7 - i + 14,
-                       val[0] & (1 << i) ? "on" : "off");
-       return 0;
-}
-
-static int pmic_ldo_control(int buck, int ldo, int on)
-{
-       unsigned char addr, val[2];
-       unsigned int reg, shift;
-
-       if (ldo) {
-               if (ldo < 2)
-                       return -1;
-               if (ldo <= 5) {
-                       reg = 0x11;
-                       shift = 5 - ldo;
-               } else if (ldo <= 13) {
-                       reg = 0x12;
-                       shift = 13 - ldo;
-               } else if (ldo <= 17) {
-                       reg = 0x13;
-                       shift = 17 - ldo + 4;
-               } else
-                       return -1;
-       } else if (buck) {
-               if (buck > 4)
-                       return -1;
-               reg = 0x11;
-               shift = 4 - buck + 4;
-       } else
-               return -1;
-
-       i2c_set_bus_num(I2C_PMIC);
-       addr = 0xCC >> 1;
-       if (i2c_probe(addr)) {
-               printf("Can't found max8998\n");
-               return -1;
-       }
-
-       i2c_read(addr, reg, 1, val, 1);
-       if (on)
-               val[0] |= (1 << shift);
-       else
-               val[0] &= ~(1 << shift);
-       i2c_write(addr, reg, 1, val, 1);
-       i2c_read(addr, reg, 1, val, 1);
-       printf("%s %d value 0x%x, %s\n", buck ? "buck" : "ldo", buck ? : ldo,
-               val[0], val[0] & (1 << shift) ? "on" : "off");
-
-       return 0;
-}
-
-static int do_pmic(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
-{
-       int buck = 0, ldo = 0, on = -1;
-
-       switch (argc) {
-       case 2:
-               if (strncmp(argv[1], "status", 6) == 0)
-                       return pmic_status();
-               break;
-       case 4:
-               if (strncmp(argv[1], "ldo", 3) == 0) {
-                       ldo = simple_strtoul(argv[2], NULL, 10);
-                       if (strncmp(argv[3], "on", 2) == 0)
-                               on = 1;
-                       else if (strncmp(argv[3], "off", 3) == 0)
-                               on = 0;
-                       else
-                               break;
-                       return pmic_ldo_control(buck, ldo, on);
-               }
-               if (strncmp(argv[1], "buck", 4) == 0) {
-                       buck = simple_strtoul(argv[2], NULL, 10);
-                       if (strncmp(argv[3], "on", 2) == 0)
-                               on = 1;
-                       else if (strncmp(argv[3], "off", 3) == 0)
-                               on = 0;
-                       else
-                               break;
-                       return pmic_ldo_control(buck, ldo, on);
-               }
-
-       default:
-               break;
-       }
-
-       cmd_usage(cmdtp);
-       return 1;
-}
-
-U_BOOT_CMD(
-       pmic,           CONFIG_SYS_MAXARGS,     1, do_pmic,
-       "PMIC LDO & BUCK control",
-       "status - Display PMIC LDO & BUCK status\n"
-       "pmic ldo num on/off - Turn on/off the LDO\n"
-       "pmic buck num on/off - Turn on/off the BUCK\n"
-);
-#endif
-
-#ifdef CONFIG_CMD_DEVICE_POWER
-
-enum {
-       POWER_NONE,
-       POWER_TOUCH,
-       POWER_3_TOUCHKEY,
-       POWER_LCD,
-       POWER_HAPTIC,
-       POWER_AUDIO_CODEC,
-       POWER_FM_RADIO,
-       POWER_BT_WIFI,
-       POWER_HDMI,
-};
-
-static void power_display_devices(void)
-{
-       printf("devices:\n");
-       printf("\t%d - touch\n", POWER_TOUCH);
-       printf("\t%d - 3 touchkey\n", POWER_3_TOUCHKEY);
-       printf("\t%d - LCD\n", POWER_LCD);
-       printf("\t%d - Haptic\n", POWER_HAPTIC);
-       printf("\t%d - Audio Codec\n", POWER_AUDIO_CODEC);
-       printf("\t%d - FM Radio\n", POWER_FM_RADIO);
-       printf("\t%d - BT/WiFi\n", POWER_BT_WIFI);
-       printf("\t%d - HDMI\n", POWER_HDMI);
-}
-
-static int power_hdmi(int on)
-{
-       /* HDMI_EN1: GPJ2[2] */
-       gpio_direction_output(&s5pc110_gpio->gpio_j2, 2, on);
-       /* MHL_ON: GPJ2[3] */
-       gpio_direction_output(&s5pc110_gpio->gpio_j2, 3, on);
-       return 0;
-}
-
-static int power_bt_wifi(int on)
-{
-       /* WLAN_BT_EN: GPB[5] */
-       gpio_direction_output(&s5pc110_gpio->gpio_b, 5, on);
-       return 0;
-}
-
-static int power_fm_radio(int on)
-{
-       /* FM_BUS_nRST: GPJ2[5] */
-       gpio_direction_output(&s5pc110_gpio->gpio_j2, 5, !on);
-       return 0;
-}
-
-static int power_audio_codec(int on)
-{
-       /* CODEC_LDO_EN: GPF3[4] */
-       gpio_direction_output(&s5pc110_gpio->gpio_f3, 4, on);
-       /* CODEC_XTAL_EN: GPH3[2] */
-       gpio_direction_output(&s5pc110_gpio->gpio_h3, 2, on);
-       return 0;
-}
-
-static int power_haptic(int on)
-{
-       /* HAPTIC_ON: GPJ1[1] */
-       gpio_direction_output(&s5pc110_gpio->gpio_j1, 1, on);
-       return 0;
-}
-
-static int power_lcd(int on)
-{
-       /* MLCD_ON: GPJ1[3] */
-       gpio_direction_output(&s5pc110_gpio->gpio_j1, 3, on);
-       return 0;
-}
-
-static int power_touch(int on)
-{
-       /* TOUCH_EN: GPG3[6] */
-       gpio_direction_output(&s5pc110_gpio->gpio_g3, 6, on);
-       return 0;
-}
-
-static int power_3_touchkey(int on)
-{
-       if (on) {
-               /* 3_TOUCH_EN - GPJ3[0] : (J1B2) */
-               /* 3_TOUCH_EN - GPJ3[5] : (not J1B2) */
-               if (board_rev & J1_B2_BOARD)
-                       gpio_direction_output(&s5pc110_gpio->gpio_j3, 0, on);
-               else
-                       gpio_direction_output(&s5pc110_gpio->gpio_j3, 5, on);
-
-               /* 3_TOUCH_CE - GPJ2[6] */
-               gpio_direction_output(&s5pc110_gpio->gpio_j2, 6, on);   /* TOUCH_CE */
-       } else {
-               /* 3_TOUCH_CE - GPJ2[6] */
-               gpio_direction_output(&s5pc110_gpio->gpio_j2, 6, on);   /* TOUCH_CE */
-       }
-
-       if (on) {
-               unsigned int reg;
-               unsigned char val[2];
-               unsigned char addr = 0x20;              /* mcs5000 3-touchkey */
-
-               /* Require 100ms */
-               udelay(80 * 1000);
-
-               /* 3 touchkey */
-               i2c_set_bus_num(I2C_GPIO6);
-
-               /* Workaround to probe */
-               if (i2c_probe(addr)) {
-                       if (i2c_probe(addr)) {
-                               printf("Can't found 3 touchkey\n");
-                               return -ENODEV;
-                       }
-               }
-
-#define MCS5000_TK_HW_VERSION  0x06
-#define MCS5000_TK_FW_VERSION  0x0A
-#define MCS5000_TK_MI_VERSION  0x0B
-
-               reg = MCS5000_TK_MI_VERSION;
-               i2c_read(addr, reg, 1, val, 1);
-               printf("3-touchkey:\tM/I 0x%x, ", val[0]);
-               reg = MCS5000_TK_HW_VERSION;
-               i2c_read(addr, reg, 1, val, 1);
-               printf("H/W 0x%x, ", val[0]);
-               reg = MCS5000_TK_FW_VERSION;
-               i2c_read(addr, reg, 1, val, 1);
-               printf("F/W 0x%x\n", val[0]);
-       }
-       return 0;
-}
-
-static int power_control(int device, int on)
-{
-       switch (device) {
-       case POWER_TOUCH:
-               return power_touch(on);
-       case POWER_3_TOUCHKEY:
-               return power_3_touchkey(on);
-       case POWER_LCD:
-               return power_lcd(on);
-       case POWER_HAPTIC:
-               return power_haptic(on);
-       case POWER_AUDIO_CODEC:
-               return power_audio_codec(on);
-       case POWER_FM_RADIO:
-               return power_fm_radio(on);
-       case POWER_BT_WIFI:
-               return power_bt_wifi(on);
-       case POWER_HDMI:
-               return power_hdmi(on);
-       default:
-               printf("I don't know device %d\n", device);
-               break;
-       }
-       return 0;
-}
-
-static int power_on(int on)
-{
-       power_touch(on);
-       power_3_touchkey(on);
-       power_lcd(on);
-       power_haptic(on);
-       power_audio_codec(on);
-       power_fm_radio(on);
-       power_bt_wifi(on);
-       power_hdmi(on);
-
-       return 0;
-}
-
-static int do_power(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
-{
-       int device, on;
-
-       if (!machine_is_aquila())
-               goto out;
-
-       switch (argc) {
-       case 2:
-               if (strncmp(argv[1], "on", 2) == 0)
-                       return power_on(1);
-               if (strncmp(argv[1], "off", 3) == 0)
-                       return power_on(0);
-               break;
-       case 3:
-               device = simple_strtoul(argv[1], NULL, 10);
-               if (device < 0)
-                       break;
-
-               if (strncmp(argv[2], "on", 2) == 0)
-                       on = 1;
-               else if (strncmp(argv[2], "off", 3) == 0)
-                       on = 0;
-               else
-                       break;
-               return power_control(device, on);
-       default:
-               break;
-       }
-out:
-       cmd_usage(cmdtp);
-       power_display_devices();
-       return 1;
-}
-
-U_BOOT_CMD(
-       power,          CONFIG_SYS_MAXARGS,     1, do_power,
-       "Device Power Management control",
-       "device on/off - Turn on/off the device\n"
-);
-#endif
diff --git a/board/samsung/p1p2/psi_ram.h b/board/samsung/p1p2/psi_ram.h
deleted file mode 100644 (file)
index a9da4a0..0000000
+++ /dev/null
@@ -1,941 +0,0 @@
-unsigned char g_tblBin[] =
-{
-       0x87, 0x0d, 0x00, 0xea, 0x6c, 0x69, 0x48, 0x55, 0x01, 0xa0, 0xfe, 0xfd, 0x07, 0x00, 0x01, 0x00,
-       0x00, 0xff, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
-       0x00, 0x00, 0x08, 0x00, 0xff, 0xff, 0xf7, 0xff, 0x00, 0x02, 0x08, 0x00, 0x43, 0x4a, 0x4b, 0x54,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xda, 0xfe, 0x02,
-       0x0b, 0x04, 0x00, 0xea, 0x06, 0x0d, 0x00, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0xea, 0x65, 0x06, 0x00, 0xea, 0x28, 0x00, 0x8f, 0xe2, 0x00, 0x0c, 0x90, 0xe8,
-       0x00, 0xa0, 0x8a, 0xe0, 0x01, 0x70, 0x4a, 0xe2, 0x00, 0xb0, 0x8b, 0xe0, 0x0b, 0x00, 0x5a, 0xe1,
-       0x5e, 0x06, 0x00, 0x0a, 0x0f, 0x00, 0xba, 0xe8, 0x14, 0xe0, 0x4f, 0xe2, 0x01, 0x00, 0x13, 0xe3,
-       0x03, 0xf0, 0x47, 0x10, 0x03, 0xf0, 0xa0, 0xe1, 0xac, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-       0x01, 0x20, 0x82, 0xe0, 0x01, 0x40, 0xd0, 0xe4, 0x0f, 0x50, 0x14, 0xe2, 0x01, 0x50, 0xd0, 0x04,
-       0x24, 0x42, 0xb0, 0xe1, 0x01, 0x40, 0xd0, 0x04, 0x01, 0x50, 0x55, 0xe2, 0x03, 0x00, 0x00, 0x0a,
-       0x01, 0x30, 0xd0, 0xe4, 0x01, 0x50, 0x55, 0xe2, 0x01, 0x30, 0xc1, 0xe4, 0xfb, 0xff, 0xff, 0x1a,
-       0x01, 0x40, 0x54, 0xe2, 0x02, 0x00, 0x00, 0x0a, 0x01, 0x40, 0x54, 0xe2, 0x01, 0x50, 0xc1, 0xe4,
-       0xfc, 0xff, 0xff, 0x1a, 0x02, 0x00, 0x51, 0xe1, 0xed, 0xff, 0xff, 0x3a, 0x0e, 0xf0, 0xa0, 0xe1,
-       0x10, 0x20, 0x52, 0xe2, 0x78, 0x00, 0xb0, 0x28, 0x78, 0x00, 0xa1, 0x28, 0xfb, 0xff, 0xff, 0x8a,
-       0x82, 0x2e, 0xb0, 0xe1, 0x30, 0x00, 0xb0, 0x28, 0x30, 0x00, 0xa1, 0x28, 0x00, 0x40, 0x90, 0x45,
-       0x00, 0x40, 0x81, 0x45, 0x0e, 0xf0, 0xa0, 0xe1, 0x00, 0x30, 0xa0, 0xe3, 0x00, 0x40, 0xa0, 0xe3,
-       0x00, 0x50, 0xa0, 0xe3, 0x00, 0x60, 0xa0, 0xe3, 0x10, 0x20, 0x52, 0xe2, 0x78, 0x00, 0xa1, 0x28,
-       0xfc, 0xff, 0xff, 0x8a, 0x82, 0x2e, 0xb0, 0xe1, 0x30, 0x00, 0xa1, 0x28, 0x00, 0x30, 0x81, 0x45,
-       0x0e, 0xf0, 0xa0, 0xe1, 0x3c, 0x39, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00,
-       0x90, 0x11, 0x08, 0x00, 0xb0, 0x39, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00,
-       0x90, 0x11, 0x08, 0x00, 0x80, 0x3a, 0x08, 0x00, 0x00, 0x30, 0xff, 0xff, 0x38, 0x06, 0x00, 0x00,
-       0x40, 0x11, 0x08, 0x00, 0x3c, 0x39, 0x08, 0x00, 0x3c, 0x39, 0x08, 0x00, 0x40, 0x01, 0x00, 0x00,
-       0xb8, 0x11, 0x08, 0x00, 0x9c, 0x3a, 0x08, 0x00, 0x38, 0x36, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00,
-       0xb8, 0x11, 0x08, 0x00, 0x10, 0x40, 0x2d, 0xe9, 0x00, 0xf0, 0x20, 0xe3, 0x1c, 0x10, 0x9f, 0xe5,
-       0x78, 0x10, 0x91, 0xe5, 0x02, 0x11, 0x01, 0xe2, 0x02, 0x21, 0xa0, 0xe3, 0xa1, 0x0f, 0x82, 0xe1,
-       0x08, 0x10, 0x9f, 0xe5, 0x78, 0x00, 0x81, 0xe5, 0x1d, 0x00, 0x00, 0xeb, 0x10, 0x80, 0xbd, 0xe8,
-       0x00, 0x00, 0x90, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x9f, 0xe5, 0x00, 0x10, 0xa0, 0xe3,
-       0x00, 0x10, 0x80, 0xe5, 0x1a, 0x00, 0x00, 0xeb, 0x08, 0x00, 0x00, 0xeb, 0x10, 0x0f, 0x11, 0xee,
-       0x01, 0x0a, 0xc0, 0xe3, 0x10, 0x0f, 0x01, 0xee, 0x00, 0x00, 0x0f, 0xe1, 0x80, 0x00, 0xc0, 0xe3,
-       0x00, 0xf0, 0x21, 0xe1, 0x99, 0xff, 0xff, 0xea, 0xfe, 0xff, 0xff, 0xea, 0x7c, 0x00, 0x90, 0xe4,
-       0x11, 0x0f, 0x19, 0xee, 0x20, 0x10, 0x9f, 0xe5, 0x01, 0x00, 0x80, 0xe1, 0x01, 0x00, 0x80, 0xe3,
-       0x11, 0x0f, 0x09, 0xee, 0x31, 0x0f, 0x19, 0xee, 0x10, 0x10, 0x9f, 0xe5, 0x01, 0x00, 0x80, 0xe1,
-       0x01, 0x00, 0x80, 0xe3, 0x31, 0x0f, 0x09, 0xee, 0x1e, 0xff, 0x2f, 0xe1, 0x00, 0x30, 0xff, 0xff,
-       0x00, 0x00, 0xff, 0xff, 0x10, 0x40, 0x2d, 0xe9, 0xb7, 0x01, 0x00, 0xeb, 0xe1, 0xff, 0xff, 0xeb,
-       0x10, 0x80, 0xbd, 0xe8, 0x00, 0x10, 0x0f, 0xe1, 0xa4, 0x00, 0x9f, 0xe5, 0x07, 0x00, 0xc0, 0xe3,
-       0x00, 0x20, 0x0f, 0xe1, 0x1f, 0x20, 0xc2, 0xe3, 0x12, 0x20, 0x82, 0xe3, 0x02, 0xf0, 0x2f, 0xe1,
-       0x00, 0xd0, 0xa0, 0xe1, 0x88, 0x00, 0x9f, 0xe5, 0x07, 0x00, 0xc0, 0xe3, 0x00, 0x20, 0x0f, 0xe1,
-       0x1f, 0x20, 0xc2, 0xe3, 0x11, 0x20, 0x82, 0xe3, 0x02, 0xf0, 0x2f, 0xe1, 0x00, 0xd0, 0xa0, 0xe1,
-       0x70, 0x00, 0x9f, 0xe5, 0x07, 0x00, 0xc0, 0xe3, 0x00, 0x20, 0x0f, 0xe1, 0x1f, 0x20, 0xc2, 0xe3,
-       0x1b, 0x20, 0x82, 0xe3, 0x02, 0xf0, 0x2f, 0xe1, 0x00, 0xd0, 0xa0, 0xe1, 0x58, 0x00, 0x9f, 0xe5,
-       0x00, 0x20, 0x0f, 0xe1, 0x1f, 0x20, 0xc2, 0xe3, 0x17, 0x20, 0x82, 0xe3, 0x02, 0xf0, 0x2f, 0xe1,
-       0x00, 0xd0, 0xa0, 0xe1, 0x44, 0x00, 0x9f, 0xe5, 0x07, 0x00, 0xc0, 0xe3, 0x00, 0x20, 0x0f, 0xe1,
-       0x1f, 0x20, 0xc2, 0xe3, 0x13, 0x20, 0x82, 0xe3, 0x02, 0xf0, 0x2f, 0xe1, 0x00, 0xd0, 0xa0, 0xe1,
-       0x2c, 0x00, 0x9f, 0xe5, 0x07, 0x00, 0xc0, 0xe3, 0x00, 0x20, 0x0f, 0xe1, 0x1f, 0x20, 0xc2, 0xe3,
-       0x1f, 0x20, 0x82, 0xe3, 0x02, 0xf0, 0x2f, 0xe1, 0x00, 0xd0, 0xa0, 0xe1, 0x01, 0xf0, 0x2f, 0xe1,
-       0x1e, 0xff, 0x2f, 0xe1, 0x80, 0xd2, 0x09, 0x00, 0x00, 0xe4, 0x09, 0x00, 0x00, 0xd1, 0x09, 0x00,
-       0x80, 0xe2, 0x09, 0x00, 0x00, 0xe3, 0x09, 0x00, 0x04, 0x30, 0x9f, 0xe5, 0x03, 0x30, 0x8f, 0xe0,
-       0x03, 0xf0, 0xa0, 0xe1, 0x7c, 0x22, 0x00, 0x00, 0x10, 0x40, 0x2d, 0xe9, 0x77, 0x02, 0x00, 0xeb,
-       0xb0, 0x04, 0x00, 0xeb, 0x10, 0x80, 0xbd, 0xe8, 0x77, 0x40, 0x2d, 0xe9, 0x04, 0xd0, 0x4d, 0xe2,
-       0x01, 0x50, 0xa0, 0xe1, 0x02, 0x40, 0xa0, 0xe1, 0x04, 0x00, 0xdd, 0xe5, 0x04, 0x00, 0x50, 0xe3,
-       0x04, 0x00, 0x00, 0xba, 0x04, 0x00, 0xdd, 0xe5, 0xc6, 0x00, 0x50, 0xe3, 0x01, 0x00, 0x00, 0xca,
-       0x01, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x00, 0xea, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x50, 0xe3,
-       0x09, 0x00, 0x00, 0x1a, 0x97, 0x3f, 0x8f, 0xe2, 0x00, 0x30, 0x8d, 0xe5, 0x81, 0x30, 0xa0, 0xe3,
-       0x04, 0x20, 0x8d, 0xe2, 0x01, 0x10, 0xa0, 0xe3, 0x74, 0x02, 0x9f, 0xe5, 0xad, 0x03, 0x00, 0xeb,
-       0x01, 0x00, 0xe0, 0xe3, 0x10, 0xd0, 0x8d, 0xe2, 0x70, 0x80, 0xbd, 0xe8, 0x00, 0x00, 0x54, 0xe3,
-       0x03, 0x00, 0x00, 0x0a, 0x5c, 0x02, 0x9f, 0xe5, 0x04, 0x10, 0xdd, 0xe5, 0x81, 0x01, 0x90, 0xe7,
-       0x00, 0x00, 0x84, 0xe5, 0x4c, 0x02, 0x9f, 0xe5, 0x04, 0x10, 0xdd, 0xe5, 0x81, 0x51, 0x80, 0xe7,
-       0x00, 0x00, 0xa0, 0xe3, 0xf2, 0xff, 0xff, 0xea, 0x11, 0x40, 0x2d, 0xe9, 0x04, 0xd0, 0x4d, 0xe2,
-       0x04, 0x00, 0xdd, 0xe5, 0x04, 0x00, 0x50, 0xe3, 0x04, 0x00, 0x00, 0xba, 0x04, 0x00, 0xdd, 0xe5,
-       0xc6, 0x00, 0x50, 0xe3, 0x01, 0x00, 0x00, 0xca, 0x01, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x00, 0xea,
-       0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x50, 0xe3, 0x08, 0x00, 0x00, 0x1a, 0x75, 0x3f, 0x8f, 0xe2,
-       0x00, 0x30, 0x8d, 0xe5, 0xc4, 0x30, 0xa0, 0xe3, 0x04, 0x20, 0x8d, 0xe2, 0x01, 0x10, 0xa0, 0xe3,
-       0xec, 0x01, 0x9f, 0xe5, 0x8b, 0x03, 0x00, 0xeb, 0x01, 0x00, 0xe0, 0xe3, 0x1c, 0x80, 0xbd, 0xe8,
-       0x01, 0x00, 0xa0, 0xe3, 0xdc, 0x11, 0x9f, 0xe5, 0x04, 0x20, 0xdd, 0xe5, 0x82, 0x11, 0x81, 0xe0,
-       0x04, 0x00, 0xc1, 0xe5, 0x04, 0x00, 0xdd, 0xe5, 0xc8, 0x21, 0x9f, 0xe5, 0x80, 0x21, 0x82, 0xe0,
-       0x05, 0x10, 0xd2, 0xe5, 0xc0, 0x21, 0x9f, 0xe5, 0x00, 0x11, 0x82, 0xe7, 0x00, 0xf0, 0x20, 0xe3,
-       0xb8, 0x01, 0x9f, 0xe5, 0x00, 0x00, 0x90, 0xe5, 0x00, 0x00, 0x50, 0xe3, 0x08, 0x00, 0x00, 0x1a,
-       0x00, 0xf0, 0x20, 0xe3, 0x50, 0x00, 0x42, 0xe2, 0x80, 0x04, 0x90, 0xe5, 0x01, 0x00, 0x80, 0xe3,
-       0x50, 0x10, 0x42, 0xe2, 0x80, 0x04, 0x81, 0xe5, 0x01, 0x00, 0xa0, 0xe3, 0x8c, 0x11, 0x9f, 0xe5,
-       0x00, 0x00, 0x81, 0xe5, 0x00, 0x00, 0xa0, 0xe3, 0xe3, 0xff, 0xff, 0xea, 0x11, 0x40, 0x2d, 0xe9,
-       0x04, 0xd0, 0x4d, 0xe2, 0x04, 0x00, 0xdd, 0xe5, 0x04, 0x00, 0x50, 0xe3, 0x04, 0x00, 0x00, 0xba,
-       0x04, 0x00, 0xdd, 0xe5, 0xc6, 0x00, 0x50, 0xe3, 0x01, 0x00, 0x00, 0xca, 0x01, 0x00, 0xa0, 0xe3,
-       0x00, 0x00, 0x00, 0xea, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x50, 0xe3, 0x08, 0x00, 0x00, 0x1a,
-       0x11, 0x3e, 0x8f, 0xe2, 0x00, 0x30, 0x8d, 0xe5, 0xde, 0x30, 0xa0, 0xe3, 0x04, 0x20, 0x8d, 0xe2,
-       0x01, 0x10, 0xa0, 0xe3, 0x28, 0x01, 0x9f, 0xe5, 0x5a, 0x03, 0x00, 0xeb, 0x01, 0x00, 0xe0, 0xe3,
-       0x1c, 0x80, 0xbd, 0xe8, 0x00, 0x00, 0xa0, 0xe3, 0x18, 0x11, 0x9f, 0xe5, 0x04, 0x20, 0xdd, 0xe5,
-       0x82, 0x11, 0x81, 0xe0, 0x04, 0x00, 0xc1, 0xe5, 0x04, 0x00, 0xdd, 0xe5, 0x08, 0x11, 0x9f, 0xe5,
-       0x00, 0x20, 0xa0, 0xe3, 0x00, 0x21, 0x81, 0xe7, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0xa0, 0xe3,
-       0xf2, 0xff, 0xff, 0xea, 0x77, 0x40, 0x2d, 0xe9, 0x04, 0xd0, 0x4d, 0xe2, 0x01, 0x40, 0xa0, 0xe1,
-       0x02, 0x50, 0xa0, 0xe1, 0x04, 0x00, 0xdd, 0xe5, 0x04, 0x00, 0x50, 0xe3, 0x04, 0x00, 0x00, 0xba,
-       0x04, 0x00, 0xdd, 0xe5, 0xc6, 0x00, 0x50, 0xe3, 0x01, 0x00, 0x00, 0xca, 0x01, 0x00, 0xa0, 0xe3,
-       0x00, 0x00, 0x00, 0xea, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x50, 0xe3, 0x08, 0x00, 0x00, 0x0a,
-       0x00, 0x00, 0x54, 0xe3, 0x03, 0x00, 0x00, 0xba, 0x0f, 0x00, 0x54, 0xe3, 0x01, 0x00, 0x00, 0xca,
-       0x01, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x00, 0xea, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x50, 0xe3,
-       0x09, 0x00, 0x00, 0x1a, 0x5c, 0x30, 0x8f, 0xe2, 0x00, 0x30, 0x8d, 0xe5, 0xa7, 0x30, 0xa0, 0xe3,
-       0x04, 0x20, 0x8d, 0xe2, 0x01, 0x10, 0xa0, 0xe3, 0x74, 0x00, 0x9f, 0xe5, 0x2d, 0x03, 0x00, 0xeb,
-       0x01, 0x00, 0xe0, 0xe3, 0x10, 0xd0, 0x8d, 0xe2, 0x70, 0x80, 0xbd, 0xe8, 0x00, 0x00, 0x55, 0xe3,
-       0x04, 0x00, 0x00, 0x0a, 0x5c, 0x00, 0x9f, 0xe5, 0x04, 0x10, 0xdd, 0xe5, 0x81, 0x01, 0x80, 0xe0,
-       0x05, 0x00, 0xd0, 0xe5, 0x00, 0x00, 0x85, 0xe5, 0x00, 0x00, 0x54, 0xe3, 0x02, 0x00, 0x00, 0x1a,
-       0x04, 0x00, 0xdd, 0xe5, 0xb0, 0xff, 0xff, 0xeb, 0xf1, 0xff, 0xff, 0xea, 0x04, 0x00, 0xdd, 0xe5,
-       0x7c, 0xff, 0xff, 0xeb, 0xee, 0xff, 0xff, 0xea, 0x64, 0x77, 0x64, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
-       0x72, 0x63, 0x5c, 0x62, 0x6f, 0x6f, 0x74, 0x63, 0x6f, 0x72, 0x65, 0x5c, 0x64, 0x72, 0x69, 0x76,
-       0x65, 0x72, 0x73, 0x5c, 0x49, 0x63, 0x75, 0x5c, 0x73, 0x72, 0x63, 0x5c, 0x69, 0x63, 0x75, 0x2e,
-       0x63, 0x00, 0x00, 0x00, 0xfc, 0x08, 0x00, 0x00, 0x00, 0x30, 0xff, 0xff, 0x50, 0x00, 0x00, 0xe0,
-       0x38, 0x36, 0xff, 0xff, 0x00, 0xf0, 0x20, 0xe3, 0x28, 0x02, 0x9f, 0xe5, 0x88, 0x04, 0x90, 0xe5,
-       0x0f, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x50, 0xe3, 0x01, 0x00, 0x00, 0x0a, 0x01, 0x00, 0xa0, 0xe3,
-       0x00, 0x00, 0x00, 0xea, 0x00, 0x00, 0xa0, 0xe3, 0x1e, 0xff, 0x2f, 0xe1, 0x00, 0x00, 0xa0, 0xe3,
-       0x1e, 0xff, 0x2f, 0xe1, 0xf3, 0x40, 0x2d, 0xe9, 0x04, 0xd0, 0x4d, 0xe2, 0x01, 0x40, 0xa0, 0xe1,
-       0x04, 0x00, 0xdd, 0xe5, 0x04, 0x00, 0x50, 0xe3, 0x04, 0x00, 0x00, 0xba, 0x04, 0x00, 0xdd, 0xe5,
-       0xc6, 0x00, 0x50, 0xe3, 0x01, 0x00, 0x00, 0xca, 0x01, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x00, 0xea,
-       0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x50, 0xe3, 0x08, 0x00, 0x00, 0x1a, 0xac, 0x30, 0x4f, 0xe2,
-       0x00, 0x30, 0x8d, 0xe5, 0x45, 0x3f, 0xa0, 0xe3, 0x04, 0x20, 0x8d, 0xe2, 0x01, 0x10, 0xa0, 0xe3,
-       0x94, 0x00, 0x1f, 0xe5, 0xeb, 0x02, 0x00, 0xeb, 0x01, 0x00, 0xe0, 0xe3, 0xfe, 0x80, 0xbd, 0xe8,
-       0x04, 0x20, 0xdd, 0xe5, 0x00, 0x00, 0x54, 0xe3, 0x01, 0x00, 0x00, 0x0a, 0x01, 0x00, 0xa0, 0xe3,
-       0x00, 0x00, 0x00, 0xea, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0xc0, 0xa0, 0xe1, 0x84, 0x01, 0x9f, 0xe5,
-       0xa2, 0x12, 0xa0, 0xe1, 0x1f, 0x30, 0x02, 0xe2, 0x00, 0x00, 0x5c, 0xe3, 0x04, 0x00, 0x00, 0x0a,
-       0x01, 0xe1, 0x90, 0xe7, 0x01, 0x50, 0xa0, 0xe3, 0x15, 0xe3, 0x8e, 0xe1, 0x01, 0xe1, 0x80, 0xe7,
-       0x04, 0x00, 0x00, 0xea, 0x01, 0xe1, 0x90, 0xe7, 0x01, 0x50, 0xa0, 0xe3, 0x15, 0x53, 0xe0, 0xe1,
-       0x05, 0xe0, 0x0e, 0xe0, 0x01, 0xe1, 0x80, 0xe7, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0xf0, 0x20, 0xe3,
-       0x00, 0x00, 0xa0, 0xe3, 0xe4, 0xff, 0xff, 0xea, 0x00, 0x00, 0xa0, 0xe3, 0x1e, 0xff, 0x2f, 0xe1,
-       0x10, 0x40, 0x2d, 0xe9, 0x04, 0x40, 0xa0, 0xe3, 0x08, 0x00, 0x00, 0xea, 0x1c, 0x01, 0x1f, 0xe5,
-       0x84, 0x01, 0x80, 0xe0, 0x04, 0x00, 0xd0, 0xe5, 0x00, 0x00, 0x50, 0xe3, 0x01, 0x00, 0x00, 0x0a,
-       0x04, 0x00, 0xa0, 0xe1, 0x23, 0xff, 0xff, 0xeb, 0x01, 0x00, 0x84, 0xe2, 0xff, 0x40, 0x00, 0xe2,
-       0xc6, 0x00, 0x54, 0xe3, 0xf4, 0xff, 0xff, 0xda, 0x40, 0x01, 0x1f, 0xe5, 0x00, 0x00, 0x90, 0xe5,
-       0x00, 0x00, 0x50, 0xe3, 0x06, 0x00, 0x00, 0x0a, 0x00, 0xf0, 0x20, 0xe3, 0xe4, 0x00, 0x9f, 0xe5,
-       0x80, 0x04, 0x90, 0xe5, 0x01, 0x00, 0x80, 0xe3, 0xd8, 0x10, 0x9f, 0xe5, 0x80, 0x04, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0xa0, 0xe3, 0x10, 0x80, 0xbd, 0xe8, 0x00, 0x10, 0xa0, 0xe1,
-       0x00, 0x00, 0xa0, 0xe3, 0x1e, 0xff, 0x2f, 0xe1, 0x71, 0x40, 0x2d, 0xe9, 0x04, 0xd0, 0x4d, 0xe2,
-       0x00, 0x40, 0xa0, 0xe3, 0x04, 0x00, 0xdd, 0xe5, 0x0f, 0x00, 0x50, 0xe3, 0x07, 0x00, 0x00, 0xda,
-       0x1d, 0x3e, 0x4f, 0xe2, 0x00, 0x30, 0x8d, 0xe5, 0x9c, 0x30, 0x9f, 0xe5, 0x04, 0x20, 0x8d, 0xe2,
-       0x01, 0x10, 0xa0, 0xe3, 0xb8, 0x01, 0x1f, 0xe5, 0xa2, 0x02, 0x00, 0xeb, 0x10, 0x00, 0x00, 0xea,
-       0x34, 0x03, 0x00, 0xeb, 0x00, 0x50, 0xa0, 0xe1, 0x00, 0xf0, 0x20, 0xe3, 0x74, 0x00, 0x9f, 0xe5,
-       0x70, 0x04, 0x90, 0xe5, 0x0f, 0x00, 0x00, 0xe2, 0x00, 0x40, 0xa0, 0xe1, 0x04, 0x00, 0xdd, 0xe5,
-       0x60, 0x10, 0x9f, 0xe5, 0x70, 0x14, 0x91, 0xe5, 0x0f, 0x10, 0xc1, 0xe3, 0x0f, 0x20, 0x00, 0xe2,
-       0x02, 0x10, 0x81, 0xe1, 0x4c, 0x20, 0x9f, 0xe5, 0x70, 0x14, 0x82, 0xe5, 0x05, 0x00, 0xa0, 0xe1,
-       0x30, 0x03, 0x00, 0xeb, 0x04, 0x00, 0xa0, 0xe1, 0x7c, 0x80, 0xbd, 0xe8, 0x00, 0x00, 0xa0, 0xe3,
-       0x00, 0x00, 0x0f, 0xe1, 0xa0, 0x03, 0xe0, 0xe1, 0x01, 0x00, 0x00, 0xe2, 0x1e, 0xff, 0x2f, 0xe1,
-       0x00, 0x00, 0xa0, 0xe3, 0x00, 0x10, 0xa0, 0xe3, 0x00, 0x00, 0x0f, 0xe1, 0x80, 0x10, 0x80, 0xe3,
-       0x01, 0xf0, 0x21, 0xe1, 0xa0, 0x03, 0xe0, 0xe1, 0x01, 0x00, 0x00, 0xe2, 0x00, 0x10, 0xa0, 0xe1,
-       0x01, 0x00, 0xa0, 0xe1, 0x1e, 0xff, 0x2f, 0xe1, 0x00, 0x00, 0x00, 0xe0, 0x7b, 0x01, 0x00, 0x00,
-       0x00, 0xf0, 0x20, 0xe3, 0x80, 0x32, 0x9f, 0xe5, 0x24, 0x30, 0x93, 0xe5, 0x03, 0x10, 0xa0, 0xe1,
-       0x00, 0xf0, 0x20, 0xe3, 0x70, 0x32, 0x9f, 0xe5, 0x24, 0x30, 0x93, 0xe5, 0x01, 0x30, 0x03, 0xe2,
-       0x00, 0x00, 0x53, 0xe3, 0x03, 0x00, 0x00, 0x0a, 0x00, 0xf0, 0x20, 0xe3, 0x58, 0x32, 0x9f, 0xe5,
-       0x2c, 0x00, 0x93, 0xe5, 0x03, 0x00, 0x00, 0xea, 0x00, 0xf0, 0x20, 0xe3, 0x48, 0x32, 0x9f, 0xe5,
-       0x28, 0x00, 0x93, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0xff, 0x3c, 0xc1, 0xe3, 0xfe, 0x30, 0xc3, 0xe3,
-       0x0c, 0xc0, 0x00, 0xe2, 0x0c, 0x30, 0x83, 0xe1, 0xf0, 0x20, 0x83, 0xe3, 0x00, 0xf0, 0x20, 0xe3,
-       0x24, 0x32, 0x9f, 0xe5, 0x24, 0x20, 0x83, 0xe5, 0x1e, 0xff, 0x2f, 0xe1, 0x10, 0x40, 0x2d, 0xe9,
-       0xe2, 0xff, 0xff, 0xeb, 0x00, 0xf0, 0x20, 0xe3, 0x0c, 0x02, 0x9f, 0xe5, 0x24, 0x00, 0x90, 0xe5,
-       0x00, 0x40, 0xa0, 0xe1, 0x74, 0x40, 0xff, 0xe6, 0xf0, 0x40, 0x84, 0xe3, 0x02, 0x40, 0x84, 0xe3,
-       0x01, 0x40, 0xc4, 0xe3, 0x00, 0xf0, 0x20, 0xe3, 0xec, 0x01, 0x9f, 0xe5, 0x24, 0x40, 0x80, 0xe5,
-       0x10, 0x80, 0xbd, 0xe8, 0x10, 0x40, 0x2d, 0xe9, 0xd4, 0xff, 0xff, 0xeb, 0x00, 0xf0, 0x20, 0xe3,
-       0xd4, 0x01, 0x9f, 0xe5, 0x24, 0x00, 0x90, 0xe5, 0x00, 0x40, 0xa0, 0xe1, 0x74, 0x40, 0xff, 0xe6,
-       0xf0, 0x40, 0x84, 0xe3, 0x02, 0x40, 0x84, 0xe3, 0x01, 0x40, 0x84, 0xe3, 0x00, 0xf0, 0x20, 0xe3,
-       0xb4, 0x01, 0x9f, 0xe5, 0x24, 0x40, 0x80, 0xe5, 0x10, 0x80, 0xbd, 0xe8, 0x04, 0xe0, 0x2d, 0xe5,
-       0xe1, 0xff, 0xff, 0xeb, 0x00, 0xf0, 0x20, 0xe3, 0x9c, 0x01, 0x9f, 0xe5, 0x28, 0x00, 0x90, 0xe5,
-       0x04, 0x00, 0xc0, 0xe3, 0x00, 0x10, 0xa0, 0xe3, 0x04, 0x20, 0xa0, 0xe3, 0x01, 0x11, 0x02, 0xe0,
-       0x01, 0x00, 0x80, 0xe1, 0x80, 0x11, 0x9f, 0xe5, 0x28, 0x00, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3,
-       0x00, 0x00, 0x81, 0xe2, 0x28, 0x00, 0x90, 0xe5, 0x08, 0x00, 0xc0, 0xe3, 0x01, 0x10, 0xa0, 0xe3,
-       0x08, 0x20, 0xa0, 0xe3, 0x81, 0x11, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1, 0x58, 0x11, 0x9f, 0xe5,
-       0x28, 0x00, 0x81, 0xe5, 0xda, 0xff, 0xff, 0xeb, 0x04, 0xf0, 0x9d, 0xe4, 0x00, 0xf0, 0x20, 0xe3,
-       0x44, 0x01, 0x9f, 0xe5, 0x60, 0x00, 0x90, 0xe5, 0x00, 0x08, 0xa0, 0xe1, 0x20, 0x0c, 0xa0, 0xe1,
-       0x1e, 0xff, 0x2f, 0xe1, 0x70, 0x40, 0x2d, 0xe9, 0x00, 0x50, 0xa0, 0xe1, 0x01, 0x40, 0xa0, 0xe1,
-       0x00, 0x60, 0xa0, 0xe3, 0x01, 0x00, 0x55, 0xe3, 0x04, 0x00, 0x00, 0x0a, 0x02, 0x00, 0x55, 0xe3,
-       0x05, 0x00, 0x00, 0x0a, 0x03, 0x00, 0x55, 0xe3, 0x09, 0x00, 0x00, 0x1a, 0x05, 0x00, 0x00, 0xea,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0xf0, 0x20, 0xe3, 0x07, 0x00, 0x00, 0xea, 0x00, 0xf0, 0x20, 0xe3,
-       0x02, 0x62, 0x86, 0xe3, 0x04, 0x00, 0x00, 0xea, 0x00, 0xf0, 0x20, 0xe3, 0x03, 0x62, 0x86, 0xe3,
-       0x01, 0x00, 0x00, 0xea, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0xf0, 0x20, 0xe3,
-       0x01, 0x00, 0x14, 0xe3, 0x00, 0x00, 0x00, 0x0a, 0x10, 0x60, 0x86, 0xe3, 0x02, 0x00, 0x14, 0xe3,
-       0x00, 0x00, 0x00, 0x0a, 0x08, 0x60, 0x86, 0xe3, 0x04, 0x00, 0x14, 0xe3, 0x00, 0x00, 0x00, 0x0a,
-       0x04, 0x60, 0x86, 0xe3, 0x08, 0x00, 0x14, 0xe3, 0x00, 0x00, 0x00, 0x0a, 0x01, 0x60, 0x86, 0xe3,
-       0x98, 0x02, 0x00, 0xeb, 0xa0, 0xff, 0xff, 0xeb, 0x00, 0xf0, 0x20, 0xe3, 0x98, 0x00, 0x9f, 0xe5,
-       0x14, 0x60, 0x80, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0xfe, 0xff, 0xff, 0xea, 0x10, 0x40, 0x2d, 0xe9,
-       0x0f, 0x40, 0xa0, 0xe3, 0x04, 0x10, 0xa0, 0xe1, 0x01, 0x00, 0xa0, 0xe3, 0xd0, 0xff, 0xff, 0xeb,
-       0x10, 0x80, 0xbd, 0xe8, 0x00, 0xf0, 0x20, 0xe3, 0x6c, 0x00, 0x9f, 0xe5, 0x18, 0x07, 0x90, 0xe5,
-       0x03, 0x00, 0x00, 0xe2, 0x01, 0x00, 0x50, 0xe3, 0x05, 0x00, 0x00, 0x0a, 0x00, 0xf0, 0x20, 0xe3,
-       0x54, 0x00, 0x9f, 0xe5, 0x18, 0x07, 0x90, 0xe5, 0x03, 0x00, 0x00, 0xe2, 0x03, 0x00, 0x50, 0xe3,
-       0x01, 0x00, 0x00, 0x1a, 0x01, 0x00, 0xa0, 0xe3, 0x1e, 0xff, 0x2f, 0xe1, 0x00, 0x00, 0xa0, 0xe3,
-       0xfc, 0xff, 0xff, 0xea, 0x00, 0xf0, 0x20, 0xe3, 0x2c, 0x00, 0x9f, 0xe5, 0x78, 0x00, 0x90, 0xe5,
-       0x1e, 0xff, 0x2f, 0xe1, 0x00, 0xf0, 0x20, 0xe3, 0x1c, 0x10, 0x9f, 0xe5, 0x78, 0x00, 0x81, 0xe5,
-       0x1e, 0xff, 0x2f, 0xe1, 0x00, 0xf0, 0x20, 0xe3, 0x0c, 0x00, 0x9f, 0xe5, 0x10, 0x00, 0x90, 0xe5,
-       0x00, 0x06, 0xa0, 0xe1, 0x20, 0x0e, 0xa0, 0xe1, 0x1e, 0xff, 0x2f, 0xe1, 0x00, 0x00, 0x90, 0xe4,
-       0x00, 0xf0, 0x20, 0xe3, 0x48, 0x01, 0x9f, 0xe5, 0x00, 0x00, 0x90, 0xe5, 0x01, 0x0c, 0x50, 0xe3,
-       0x04, 0x00, 0x00, 0x0a, 0x00, 0xf0, 0x20, 0xe3, 0x01, 0x0c, 0xa0, 0xe3, 0x30, 0x11, 0x9f, 0xe5,
-       0x00, 0x00, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x1e, 0xff, 0x2f, 0xe1, 0x00, 0xf0, 0x20, 0xe3,
-       0x03, 0x00, 0xa0, 0xe3, 0x18, 0x11, 0x9f, 0xe5, 0x00, 0x00, 0x81, 0xe5, 0x1e, 0xff, 0x2f, 0xe1,
-       0x70, 0x40, 0x2d, 0xe9, 0x00, 0xf0, 0x20, 0xe3, 0x04, 0x01, 0x9f, 0xe5, 0x24, 0x00, 0x90, 0xe5,
-       0x00, 0x50, 0xa0, 0xe1, 0xfc, 0x10, 0x9f, 0xe5, 0xf3, 0x04, 0x00, 0xeb, 0x00, 0x40, 0xa0, 0xe1,
-       0xf4, 0x00, 0x9f, 0xe5, 0x08, 0x00, 0x90, 0xe5, 0x00, 0x00, 0x50, 0xe3, 0x0b, 0x00, 0x00, 0x0a,
-       0xe4, 0x00, 0x9f, 0xe5, 0x04, 0x00, 0x90, 0xe5, 0x04, 0x00, 0x50, 0xe1, 0x03, 0x00, 0x00, 0x8a,
-       0xd4, 0x00, 0x9f, 0xe5, 0x00, 0x00, 0x90, 0xe5, 0x04, 0x00, 0x50, 0xe1, 0x01, 0x00, 0x00, 0x8a,
-       0x00, 0x00, 0xa0, 0xe3, 0x70, 0x80, 0xbd, 0xe8, 0x01, 0x00, 0xa0, 0xe3, 0xfc, 0xff, 0xff, 0xea,
-       0xb4, 0x00, 0x9f, 0xe5, 0x04, 0x00, 0x90, 0xe5, 0x04, 0x00, 0x50, 0xe1, 0x01, 0x00, 0x00, 0x9a,
-       0x00, 0x00, 0xa0, 0xe3, 0xf6, 0xff, 0xff, 0xea, 0x01, 0x00, 0xa0, 0xe3, 0xf4, 0xff, 0xff, 0xea,
-       0x70, 0x40, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1, 0xcc, 0xff, 0xff, 0xeb, 0x00, 0xf0, 0x20, 0xe3,
-       0x7c, 0x00, 0x9f, 0xe5, 0x24, 0x00, 0x90, 0xe5, 0x00, 0x50, 0xa0, 0xe1, 0x74, 0x10, 0x9f, 0xe5,
-       0xd1, 0x04, 0x00, 0xeb, 0x70, 0x10, 0x9f, 0xe5, 0x00, 0x00, 0x81, 0xe5, 0x00, 0x00, 0x81, 0xe2,
-       0x00, 0x00, 0x90, 0xe5, 0x04, 0x00, 0x80, 0xe0, 0x04, 0x00, 0x81, 0xe5, 0x00, 0x00, 0x81, 0xe2,
-       0x04, 0x00, 0x90, 0xe5, 0x00, 0x10, 0x91, 0xe5, 0x01, 0x00, 0x50, 0xe1, 0x03, 0x00, 0x00, 0x9a,
-       0x00, 0x00, 0xa0, 0xe3, 0x40, 0x10, 0x9f, 0xe5, 0x08, 0x00, 0x81, 0xe5, 0x02, 0x00, 0x00, 0xea,
-       0x01, 0x00, 0xa0, 0xe3, 0x30, 0x10, 0x9f, 0xe5, 0x08, 0x00, 0x81, 0xe5, 0x70, 0x80, 0xbd, 0xe8,
-       0x10, 0x40, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1, 0x04, 0x00, 0xa0, 0xe1, 0xdf, 0xff, 0xff, 0xeb,
-       0x00, 0xf0, 0x20, 0xe3, 0xbd, 0xff, 0xff, 0xeb, 0x00, 0x00, 0x50, 0xe3, 0xfc, 0xff, 0xff, 0x0a,
-       0x10, 0x80, 0xbd, 0xe8, 0x00, 0x00, 0x50, 0xe4, 0x59, 0x06, 0x00, 0x00, 0x3c, 0x39, 0x08, 0x00,
-       0x10, 0x40, 0x2d, 0xe9, 0x86, 0xff, 0xff, 0xeb, 0x10, 0x80, 0xbd, 0xe8, 0x10, 0x40, 0x2d, 0xe9,
-       0x93, 0xff, 0xff, 0xeb, 0x00, 0x40, 0xa0, 0xe1, 0x07, 0x00, 0xa0, 0xe3, 0x24, 0x0e, 0x00, 0xe0,
-       0x10, 0x80, 0xbd, 0xe8, 0x10, 0x40, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe3, 0x8c, 0xff, 0xff, 0xeb,
-       0x00, 0x40, 0xa0, 0xe1, 0x0e, 0x46, 0xc4, 0xe3, 0x04, 0x00, 0xa0, 0xe1, 0x8c, 0xff, 0xff, 0xeb,
-       0x10, 0x80, 0xbd, 0xe8, 0xf0, 0x41, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1, 0x00, 0x50, 0xa0, 0xe3,
-       0x00, 0x70, 0xa0, 0xe3, 0x04, 0x60, 0xa0, 0xe1, 0x06, 0x40, 0xa0, 0xe1, 0x07, 0x60, 0x06, 0xe2,
-       0x7f, 0xff, 0xff, 0xeb, 0x00, 0x50, 0xa0, 0xe1, 0x0e, 0x56, 0xc5, 0xe3, 0x86, 0x7a, 0x85, 0xe1,
-       0x07, 0x00, 0xa0, 0xe1, 0x7e, 0xff, 0xff, 0xeb, 0xf0, 0x81, 0xbd, 0xe8, 0x70, 0x40, 0x2d, 0xe9,
-       0x00, 0x50, 0xa0, 0xe3, 0x00, 0x40, 0xa0, 0xe3, 0x75, 0xff, 0xff, 0xeb, 0x00, 0x50, 0xa0, 0xe1,
-       0x07, 0x00, 0xa0, 0xe3, 0xa5, 0x4a, 0x00, 0xe0, 0x04, 0x00, 0xa0, 0xe1, 0x70, 0x80, 0xbd, 0xe8,
-       0x70, 0x40, 0x2d, 0xe9, 0x00, 0x50, 0xa0, 0xe3, 0x00, 0x40, 0xa0, 0xe3, 0x6c, 0xff, 0xff, 0xeb,
-       0x00, 0x50, 0xa0, 0xe1, 0x07, 0x00, 0xa0, 0xe3, 0x25, 0x4e, 0x00, 0xe0, 0x04, 0x00, 0xa0, 0xe1,
-       0x70, 0x80, 0xbd, 0xe8, 0x10, 0x40, 0x2d, 0xe9, 0x4f, 0xff, 0xff, 0xeb, 0x10, 0x80, 0xbd, 0xe8,
-       0x10, 0x40, 0x2d, 0xe9, 0x25, 0x05, 0x00, 0xeb, 0xa1, 0x04, 0x00, 0xeb, 0x10, 0x80, 0xbd, 0xe8,
-       0x10, 0x40, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe3, 0x65, 0xff, 0xff, 0xeb, 0x01, 0x00, 0x50, 0xe3,
-       0x04, 0x00, 0x00, 0x0a, 0x02, 0x00, 0x50, 0xe3, 0x0c, 0x00, 0x00, 0x0a, 0x03, 0x00, 0x50, 0xe3,
-       0x1e, 0x00, 0x00, 0x1a, 0x13, 0x00, 0x00, 0xea, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0xf0, 0x20, 0xe3,
-       0x8c, 0x00, 0x9f, 0xe5, 0x10, 0x00, 0x90, 0xe5, 0x00, 0x09, 0xa0, 0xe1, 0xa0, 0x0f, 0xa0, 0xe1,
-       0x00, 0x00, 0x50, 0xe3, 0x00, 0x00, 0x00, 0x1a, 0x01, 0x40, 0xa0, 0xe3, 0x16, 0x00, 0x00, 0xea,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0xf0, 0x20, 0xe3, 0x64, 0x00, 0x9f, 0xe5, 0x10, 0x00, 0x90, 0xe5,
-       0x00, 0x09, 0xa0, 0xe1, 0xa0, 0x0f, 0xa0, 0xe1, 0x01, 0x00, 0x50, 0xe3, 0x00, 0x00, 0x00, 0x1a,
-       0x02, 0x40, 0xa0, 0xe3, 0x0c, 0x00, 0x00, 0xea, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0xf0, 0x20, 0xe3,
-       0x3c, 0x00, 0x9f, 0xe5, 0x10, 0x00, 0x90, 0xe5, 0x00, 0x09, 0xa0, 0xe1, 0xa0, 0x0f, 0xa0, 0xe1,
-       0x00, 0x00, 0x50, 0xe3, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x40, 0xa0, 0xe3, 0x02, 0x00, 0x00, 0xea,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0x40, 0xa0, 0xe3, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0xf0, 0x20, 0xe3,
-       0x04, 0x00, 0xa0, 0xe1, 0x10, 0x80, 0xbd, 0xe8, 0x00, 0x20, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe3,
-       0x1e, 0xff, 0x2f, 0xe1, 0x00, 0x00, 0x00, 0xe8, 0x00, 0xf0, 0x20, 0xe3, 0xfe, 0xff, 0xff, 0xea,
-       0x00, 0xf0, 0x20, 0xe3, 0xfe, 0xff, 0xff, 0xea, 0x00, 0xf0, 0x20, 0xe3, 0xfe, 0xff, 0xff, 0xea,
-       0x00, 0xf0, 0x20, 0xe3, 0xfe, 0xff, 0xff, 0xea, 0xff, 0x20, 0xa0, 0xe3, 0x00, 0x10, 0xa0, 0xe3,
-       0x00, 0x00, 0x50, 0xe3, 0x03, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0xea, 0x01, 0x10, 0x81, 0xe2,
-       0x00, 0x00, 0x52, 0xe3, 0xfc, 0xff, 0xff, 0xca, 0x01, 0x20, 0xa0, 0xe1, 0x1e, 0xff, 0x2f, 0xe1,
-       0x10, 0x40, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1, 0x04, 0x00, 0xa0, 0xe1, 0xf1, 0xff, 0xff, 0xeb,
-       0x10, 0x80, 0xbd, 0xe8, 0x3f, 0x40, 0x2d, 0xe9, 0x00, 0xe0, 0xa0, 0xe1, 0x01, 0xc0, 0xa0, 0xe1,
-       0x02, 0x40, 0xa0, 0xe1, 0x03, 0x50, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x8d, 0xe5,
-       0x04, 0xc0, 0x8d, 0xe5, 0x08, 0x00, 0x8d, 0xe5, 0x0c, 0x00, 0x8d, 0xe5, 0x0f, 0x00, 0x9d, 0xe8,
-       0x10, 0xd0, 0x8d, 0xe2, 0x30, 0x80, 0xbd, 0xe8, 0x04, 0xe0, 0x2d, 0xe5, 0x00, 0xc0, 0xa0, 0xe1,
-       0x00, 0x00, 0xe0, 0xe3, 0x05, 0x00, 0x51, 0xe3, 0x01, 0xf1, 0x8f, 0x90, 0x17, 0x00, 0x00, 0xea,
-       0x04, 0x00, 0x00, 0xea, 0x06, 0x00, 0x00, 0xea, 0x08, 0x00, 0x00, 0xea, 0x0d, 0x00, 0x00, 0xea,
-       0x0f, 0x00, 0x00, 0xea, 0x08, 0x00, 0x00, 0xea, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0xe0, 0xe3,
-       0x10, 0x00, 0x00, 0xea, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0xe0, 0xe3, 0x0d, 0x00, 0x00, 0xea,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0xe0, 0xe3, 0x0a, 0x00, 0x00, 0xea, 0x00, 0xf0, 0x20, 0xe3,
-       0x00, 0x00, 0xe0, 0xe3, 0x07, 0x00, 0x00, 0xea, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0xe0, 0xe3,
-       0x04, 0x00, 0x00, 0xea, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0xe0, 0xe3, 0x01, 0x00, 0x00, 0xea,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0xf0, 0x20, 0xe3, 0x04, 0xf0, 0x9d, 0xe4,
-       0x70, 0x40, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1, 0x00, 0x50, 0xe0, 0xe3, 0x0c, 0x00, 0x94, 0xe5,
-       0x00, 0x00, 0x50, 0xe3, 0x02, 0x00, 0x00, 0x0a, 0x0c, 0x00, 0x94, 0xe5, 0x30, 0xff, 0x2f, 0xe1,
-       0x00, 0x50, 0xa0, 0xe1, 0x05, 0x00, 0xa0, 0xe1, 0x70, 0x80, 0xbd, 0xe8, 0xf0, 0x41, 0x2d, 0xe9,
-       0x00, 0x40, 0xa0, 0xe1, 0x01, 0x60, 0xa0, 0xe1, 0x02, 0x70, 0xa0, 0xe1, 0x03, 0x80, 0xa0, 0xe1,
-       0x00, 0x50, 0xe0, 0xe3, 0x10, 0x00, 0x94, 0xe5, 0x00, 0x00, 0x50, 0xe3, 0x05, 0x00, 0x00, 0x0a,
-       0x08, 0x20, 0xa0, 0xe1, 0x07, 0x10, 0xa0, 0xe1, 0x06, 0x00, 0xa0, 0xe1, 0x10, 0x30, 0x94, 0xe5,
-       0x33, 0xff, 0x2f, 0xe1, 0x00, 0x50, 0xa0, 0xe1, 0x05, 0x00, 0xa0, 0xe1, 0xf0, 0x81, 0xbd, 0xe8,
-       0xf0, 0x41, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1, 0x01, 0x60, 0xa0, 0xe1, 0x02, 0x70, 0xa0, 0xe1,
-       0x03, 0x80, 0xa0, 0xe1, 0x00, 0x50, 0xe0, 0xe3, 0x14, 0x00, 0x94, 0xe5, 0x00, 0x00, 0x50, 0xe3,
-       0x05, 0x00, 0x00, 0x0a, 0x08, 0x20, 0xa0, 0xe1, 0x07, 0x10, 0xa0, 0xe1, 0x06, 0x00, 0xa0, 0xe1,
-       0x14, 0x30, 0x94, 0xe5, 0x33, 0xff, 0x2f, 0xe1, 0x00, 0x50, 0xa0, 0xe1, 0x05, 0x00, 0xa0, 0xe1,
-       0xf0, 0x81, 0xbd, 0xe8, 0xf0, 0x41, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1, 0x01, 0x60, 0xa0, 0xe1,
-       0x02, 0x70, 0xa0, 0xe1, 0x00, 0x50, 0xe0, 0xe3, 0x18, 0x00, 0x94, 0xe5, 0x00, 0x00, 0x50, 0xe3,
-       0x04, 0x00, 0x00, 0x0a, 0x07, 0x10, 0xa0, 0xe1, 0x06, 0x00, 0xa0, 0xe1, 0x18, 0x20, 0x94, 0xe5,
-       0x32, 0xff, 0x2f, 0xe1, 0x00, 0x50, 0xa0, 0xe1, 0x05, 0x00, 0xa0, 0xe1, 0xf0, 0x81, 0xbd, 0xe8,
-       0x10, 0x40, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1, 0x1c, 0x00, 0x94, 0xe5, 0x00, 0x00, 0x50, 0xe3,
-       0x01, 0x00, 0x00, 0x0a, 0x1c, 0x00, 0x94, 0xe5, 0x30, 0xff, 0x2f, 0xe1, 0x10, 0x80, 0xbd, 0xe8,
-       0x10, 0x40, 0x2d, 0xe9, 0x70, 0x10, 0xa0, 0xe3, 0xc8, 0x01, 0x9f, 0xe5, 0xa4, 0x01, 0x00, 0xeb,
-       0x00, 0x00, 0xa0, 0xe3, 0x10, 0x80, 0xbd, 0xe8, 0x70, 0x40, 0x2d, 0xe9, 0x00, 0x20, 0xa0, 0xe1,
-       0x00, 0xc0, 0xa0, 0xe3, 0x00, 0x30, 0xa0, 0xe3, 0x00, 0xe0, 0xa0, 0xe3, 0x00, 0x00, 0xe0, 0xe3,
-       0xff, 0x40, 0xa0, 0xe3, 0x04, 0x50, 0x92, 0xe5, 0x01, 0x00, 0x55, 0xe1, 0x20, 0x00, 0x00, 0x3a,
-       0x04, 0xe0, 0x92, 0xe5, 0x8c, 0x51, 0x9f, 0xe5, 0x00, 0x20, 0x85, 0xe5, 0x00, 0xc0, 0x92, 0xe5,
-       0x01, 0x30, 0xa0, 0xe3, 0x12, 0x00, 0x00, 0xea, 0x01, 0x00, 0x5e, 0xe1, 0x0f, 0x00, 0x00, 0x3a,
-       0x74, 0x51, 0x9f, 0xe5, 0x03, 0x52, 0x85, 0xe0, 0x0c, 0xc0, 0x85, 0xe5, 0x68, 0x51, 0x9f, 0xe5,
-       0x03, 0x52, 0x85, 0xe0, 0x04, 0x10, 0x85, 0xe5, 0x00, 0x50, 0xa0, 0xe3, 0x58, 0x61, 0x9f, 0xe5,
-       0x03, 0x62, 0x86, 0xe0, 0x08, 0x50, 0x86, 0xe5, 0x4c, 0x61, 0x9f, 0xe5, 0x03, 0x52, 0x86, 0xe7,
-       0x01, 0xc0, 0x8c, 0xe0, 0x01, 0xe0, 0x4e, 0xe0, 0x01, 0x30, 0x83, 0xe2, 0x00, 0x00, 0x00, 0xea,
-       0x00, 0x40, 0xa0, 0xe3, 0x00, 0x00, 0x54, 0xe3, 0x01, 0x00, 0x00, 0x0a, 0x04, 0x00, 0x53, 0xe3,
-       0xe8, 0xff, 0xff, 0x3a, 0x01, 0x50, 0x43, 0xe2, 0x18, 0x61, 0x9f, 0xe5, 0x44, 0x50, 0x86, 0xe5,
-       0x00, 0x00, 0xa0, 0xe3, 0x00, 0x50, 0xa0, 0xe3, 0x08, 0x61, 0x9f, 0xe5, 0x48, 0x50, 0x86, 0xe5,
-       0xff, 0x50, 0xa0, 0xe3, 0x4c, 0x50, 0x86, 0xe5, 0x70, 0x80, 0xbd, 0xe8, 0x00, 0x00, 0xa0, 0xe3,
-       0x00, 0x10, 0xa0, 0xe3, 0xec, 0x20, 0x9f, 0xe5, 0x4c, 0x20, 0x92, 0xe5, 0xff, 0x00, 0x52, 0xe3,
-       0x19, 0x00, 0x00, 0x1a, 0x01, 0x10, 0xa0, 0xe3, 0x00, 0x00, 0x00, 0xea, 0x01, 0x10, 0x81, 0xe2,
-       0xd4, 0x20, 0x9f, 0xe5, 0x01, 0x22, 0x82, 0xe0, 0x08, 0x20, 0x92, 0xe5, 0xff, 0x00, 0x52, 0xe3,
-       0xf9, 0xff, 0xff, 0x0a, 0xbc, 0x20, 0x9f, 0xe5, 0x44, 0x20, 0x92, 0xe5, 0x01, 0x00, 0x52, 0xe1,
-       0x0a, 0x00, 0x00, 0x3a, 0xb0, 0x20, 0x9f, 0xe5, 0x01, 0x02, 0x82, 0xe0, 0x00, 0x10, 0x80, 0xe5,
-       0xff, 0x20, 0xa0, 0xe3, 0x08, 0x20, 0x80, 0xe5, 0xa0, 0x20, 0x9f, 0xe5, 0x01, 0x21, 0x92, 0xe7,
-       0x01, 0x20, 0x82, 0xe2, 0x94, 0x30, 0x9f, 0xe5, 0x01, 0x21, 0x83, 0xe7, 0x02, 0x00, 0x00, 0xea,
-       0xff, 0x20, 0xa0, 0xe3, 0x7c, 0x30, 0x9f, 0xe5, 0x48, 0x20, 0x83, 0xe5, 0x1e, 0xff, 0x2f, 0xe1,
-       0x00, 0x10, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe3, 0x68, 0x20, 0x9f, 0xe5, 0x4c, 0x20, 0x92, 0xe5,
-       0xff, 0x00, 0x52, 0xe3, 0x15, 0x00, 0x00, 0x1a, 0x58, 0x30, 0x9f, 0xe5, 0x00, 0x20, 0x91, 0xe5,
-       0x44, 0x30, 0x93, 0xe5, 0x03, 0x00, 0x52, 0xe1, 0x01, 0x00, 0x00, 0x9a, 0x00, 0x00, 0xe0, 0xe3,
-       0x0f, 0x00, 0x00, 0xea, 0x48, 0x30, 0x9f, 0xe5, 0x00, 0x20, 0x91, 0xe5, 0x02, 0x21, 0x93, 0xe7,
-       0x01, 0x20, 0x82, 0xe2, 0x00, 0xc0, 0x83, 0xe2, 0x00, 0x30, 0x91, 0xe5, 0x03, 0x21, 0x8c, 0xe7,
-       0x00, 0x20, 0xa0, 0xe3, 0x5c, 0xc0, 0x4c, 0xe2, 0x00, 0x30, 0x91, 0xe5, 0x03, 0x32, 0x8c, 0xe0,
-       0x08, 0x20, 0x83, 0xe5, 0x00, 0x30, 0x91, 0xe5, 0x03, 0x22, 0x8c, 0xe7, 0x00, 0x00, 0x00, 0xea,
-       0x00, 0x00, 0xe0, 0xe3, 0x1e, 0xff, 0x2f, 0xe1, 0x48, 0x39, 0x08, 0x00, 0x4c, 0x39, 0x08, 0x00,
-       0x98, 0x39, 0x08, 0x00, 0xa8, 0x39, 0x08, 0x00, 0xff, 0x30, 0xa0, 0xe3, 0x00, 0xf0, 0x20, 0xe3,
-       0x00, 0x00, 0x53, 0xe3, 0xfd, 0xff, 0xff, 0xca, 0x1e, 0xff, 0x2f, 0xe1, 0xff, 0x20, 0xa0, 0xe3,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x52, 0xe3, 0xfd, 0xff, 0xff, 0xca, 0x1e, 0xff, 0x2f, 0xe1,
-       0x1e, 0xff, 0x2f, 0xe1, 0x70, 0x40, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1, 0x01, 0x50, 0xa0, 0xe1,
-       0x02, 0x60, 0xa0, 0xe1, 0x06, 0x20, 0xa0, 0xe1, 0x05, 0x10, 0xa0, 0xe1, 0x04, 0x00, 0xa0, 0xe1,
-       0xec, 0xff, 0xff, 0xeb, 0x70, 0x80, 0xbd, 0xe8, 0xf0, 0x47, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1,
-       0x01, 0x50, 0xa0, 0xe1, 0x02, 0x60, 0xa0, 0xe1, 0x03, 0x90, 0xa0, 0xe1, 0x20, 0x70, 0x9d, 0xe5,
-       0xff, 0x80, 0xa0, 0xe3, 0x00, 0x00, 0x57, 0xe3, 0x03, 0x00, 0x00, 0x1a, 0x78, 0x10, 0x8f, 0xe2,
-       0x7c, 0x00, 0x9f, 0xe5, 0x3e, 0x01, 0x00, 0xeb, 0x0b, 0x00, 0x00, 0xea, 0x07, 0x00, 0xa0, 0xe1,
-       0x70, 0x01, 0x00, 0xeb, 0x16, 0x00, 0x50, 0xe3, 0x03, 0x00, 0x00, 0x9a, 0x07, 0x00, 0xa0, 0xe1,
-       0x6c, 0x01, 0x00, 0xeb, 0x15, 0x00, 0x40, 0xe2, 0x07, 0x70, 0x80, 0xe0, 0x16, 0x20, 0xa0, 0xe3,
-       0x07, 0x10, 0xa0, 0xe1, 0x48, 0x00, 0x9f, 0xe5, 0x4b, 0x01, 0x00, 0xeb, 0x06, 0x10, 0xa0, 0xe1,
-       0x05, 0x00, 0xa0, 0xe1, 0xd4, 0xff, 0xff, 0xeb, 0x38, 0x00, 0x9f, 0xe5, 0xb0, 0x40, 0xc0, 0xe1,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x58, 0xe3, 0xfd, 0xff, 0xff, 0xca, 0xf0, 0x87, 0xbd, 0xe8,
-       0x10, 0x40, 0x2d, 0xe9, 0x08, 0xc0, 0x9d, 0xe5, 0xff, 0xe0, 0xa0, 0xe3, 0x00, 0xf0, 0x20, 0xe3,
-       0x00, 0x00, 0x5e, 0xe3, 0xfd, 0xff, 0xff, 0xca, 0x10, 0x80, 0xbd, 0xe8, 0x4e, 0x55, 0x4c, 0x4c,
-       0x00, 0x00, 0x00, 0x00, 0xb8, 0x39, 0x08, 0x00, 0x38, 0x39, 0x08, 0x00, 0x00, 0x00, 0xa0, 0xe3,
-       0x1e, 0xff, 0x2f, 0xe1, 0x1e, 0xff, 0x2f, 0xe1, 0x1e, 0xff, 0x2f, 0xe1, 0x00, 0x10, 0xa0, 0xe1,
-       0x04, 0x00, 0x51, 0xe3, 0x03, 0x00, 0x00, 0xba, 0xc6, 0x00, 0x51, 0xe3, 0x01, 0x00, 0x00, 0xca,
-       0x01, 0x20, 0xa0, 0xe3, 0x00, 0x00, 0x00, 0xea, 0x00, 0x20, 0xa0, 0xe3, 0x02, 0x00, 0xa0, 0xe1,
-       0x1e, 0xff, 0x2f, 0xe1, 0xf0, 0x47, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1, 0x01, 0x50, 0xa0, 0xe1,
-       0x02, 0x60, 0xa0, 0xe1, 0x03, 0x70, 0xa0, 0xe1, 0x20, 0xa0, 0x9d, 0xe5, 0x04, 0x80, 0xa0, 0xe1,
-       0x00, 0x90, 0xa0, 0xe3, 0x08, 0x40, 0xb0, 0xe1, 0x01, 0x00, 0x00, 0x1a, 0x64, 0x00, 0xe0, 0xe3,
-       0xf0, 0x87, 0xbd, 0xe8, 0x00, 0x00, 0x55, 0xe3, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x57, 0xe3,
-       0x03, 0x00, 0x00, 0x0a, 0x06, 0x00, 0xa0, 0xe1, 0xe3, 0xff, 0xff, 0xeb, 0x00, 0x00, 0x50, 0xe3,
-       0x01, 0x00, 0x00, 0x1a, 0x04, 0x00, 0xe0, 0xe3, 0xf4, 0xff, 0xff, 0xea, 0x08, 0x20, 0x88, 0xe2,
-       0x07, 0x10, 0xa0, 0xe1, 0x06, 0x00, 0xa0, 0xe1, 0xe6, 0xfb, 0xff, 0xeb, 0x00, 0x00, 0x50, 0xe3,
-       0x05, 0x00, 0x00, 0x1a, 0x08, 0x20, 0xa0, 0xe3, 0x05, 0x10, 0xa0, 0xe1, 0x08, 0x00, 0xa0, 0xe1,
-       0xd5, 0x00, 0x00, 0xeb, 0x0c, 0x60, 0xc8, 0xe5, 0x00, 0x00, 0x00, 0xea, 0x00, 0x90, 0xe0, 0xe3,
-       0x09, 0x00, 0xa0, 0xe1, 0xe5, 0xff, 0xff, 0xea, 0xf8, 0x43, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1,
-       0x04, 0x50, 0xa0, 0xe1, 0x00, 0x60, 0xa0, 0xe3, 0x05, 0x40, 0xb0, 0xe1, 0x01, 0x00, 0x00, 0x1a,
-       0x64, 0x00, 0xe0, 0xe3, 0xf8, 0x83, 0xbd, 0xe8, 0x0c, 0x80, 0xd5, 0xe5, 0x08, 0x70, 0x95, 0xe5,
-       0x0d, 0x20, 0xa0, 0xe1, 0x07, 0x10, 0xa0, 0xe1, 0x08, 0x00, 0xa0, 0xe1, 0xcd, 0xfb, 0xff, 0xeb,
-       0x00, 0x00, 0x50, 0xe3, 0x02, 0x00, 0x00, 0x1a, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x85, 0xe5,
-       0x00, 0x00, 0x00, 0xea, 0x00, 0x60, 0xe0, 0xe3, 0x06, 0x00, 0xa0, 0xe1, 0xf0, 0xff, 0xff, 0xea,
-       0x70, 0x40, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1, 0x04, 0x50, 0xa0, 0xe1, 0x00, 0x60, 0xa0, 0xe3,
-       0x05, 0x40, 0xb0, 0xe1, 0x01, 0x00, 0x00, 0x1a, 0x64, 0x00, 0xe0, 0xe3, 0x70, 0x80, 0xbd, 0xe8,
-       0x0c, 0x00, 0xd5, 0xe5, 0x10, 0xfc, 0xff, 0xeb, 0x00, 0x00, 0x50, 0xe3, 0x00, 0x00, 0x00, 0x0a,
-       0x00, 0x60, 0xe0, 0xe3, 0x06, 0x00, 0xa0, 0xe1, 0xf7, 0xff, 0xff, 0xea, 0x70, 0x40, 0x2d, 0xe9,
-       0x00, 0x40, 0xa0, 0xe1, 0x04, 0x50, 0xa0, 0xe1, 0x00, 0x60, 0xa0, 0xe3, 0x05, 0x40, 0xb0, 0xe1,
-       0x01, 0x00, 0x00, 0x1a, 0x64, 0x00, 0xe0, 0xe3, 0x70, 0x80, 0xbd, 0xe8, 0x0c, 0x00, 0xd5, 0xe5,
-       0xd0, 0xfb, 0xff, 0xeb, 0x00, 0x00, 0x50, 0xe3, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x60, 0xe0, 0xe3,
-       0x06, 0x00, 0xa0, 0xe1, 0xf7, 0xff, 0xff, 0xea, 0x70, 0x40, 0x2d, 0xe9, 0x00, 0x50, 0xa0, 0xe3,
-       0x00, 0x40, 0xa0, 0xe3, 0xdd, 0xfc, 0xff, 0xeb, 0x00, 0x40, 0xa0, 0xe1, 0x00, 0x00, 0x54, 0xe3,
-       0x01, 0x00, 0x00, 0x0a, 0x01, 0x50, 0xa0, 0xe3, 0x00, 0x00, 0x00, 0xea, 0x00, 0x50, 0xa0, 0xe3,
-       0x05, 0x00, 0xa0, 0xe1, 0x70, 0x80, 0xbd, 0xe8, 0x10, 0x40, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1,
-       0x00, 0x00, 0x54, 0xe3, 0x00, 0x00, 0x00, 0x0a, 0xcb, 0xfc, 0xff, 0xeb, 0x10, 0x80, 0xbd, 0xe8,
-       0x00, 0xf0, 0x20, 0xe3, 0x94, 0x01, 0x9f, 0xe5, 0x1c, 0x02, 0x90, 0xe5, 0x02, 0x09, 0xc0, 0xe3,
-       0x00, 0x10, 0xa0, 0xe3, 0x02, 0x29, 0xa0, 0xe3, 0x81, 0x17, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1,
-       0x78, 0x11, 0x9f, 0xe5, 0x1c, 0x02, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2,
-       0x1c, 0x02, 0x90, 0xe5, 0x01, 0x0b, 0xc0, 0xe3, 0x00, 0x10, 0xa0, 0xe3, 0x01, 0x2b, 0xa0, 0xe3,
-       0x01, 0x15, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1, 0x50, 0x11, 0x9f, 0xe5, 0x1c, 0x02, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x1c, 0x02, 0x90, 0xe5, 0x06, 0x0a, 0xc0, 0xe3,
-       0x00, 0x10, 0xa0, 0xe3, 0x06, 0x2a, 0xa0, 0xe3, 0x81, 0x16, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1,
-       0x28, 0x11, 0x9f, 0xe5, 0x1c, 0x02, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2,
-       0x1c, 0x02, 0x90, 0xe5, 0x01, 0x0c, 0xc0, 0xe3, 0x01, 0x10, 0xa0, 0xe3, 0x01, 0x2c, 0xa0, 0xe3,
-       0x01, 0x14, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1, 0x00, 0x11, 0x9f, 0xe5, 0x1c, 0x02, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x1c, 0x02, 0x90, 0xe5, 0x08, 0x00, 0xc0, 0xe3,
-       0x00, 0x10, 0xa0, 0xe3, 0x08, 0x20, 0xa0, 0xe3, 0x81, 0x11, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1,
-       0xd8, 0x10, 0x9f, 0xe5, 0x1c, 0x02, 0x81, 0xe5, 0x1e, 0xff, 0x2f, 0xe1, 0x00, 0xf0, 0x20, 0xe3,
-       0xc8, 0x00, 0x9f, 0xe5, 0x1c, 0x06, 0x90, 0xe5, 0x00, 0x0b, 0xa0, 0xe1, 0xa0, 0x0f, 0xa0, 0xe1,
-       0x1e, 0xff, 0x2f, 0xe1, 0x04, 0xe0, 0x2d, 0xe5, 0x00, 0x10, 0xa0, 0xe1, 0x00, 0xf0, 0x20, 0xe3,
-       0xf5, 0xff, 0xff, 0xeb, 0x00, 0x00, 0x50, 0xe3, 0xfc, 0xff, 0xff, 0x1a, 0xa0, 0x00, 0x9f, 0xe5,
-       0x40, 0x08, 0x90, 0xe5, 0x00, 0x00, 0x81, 0xe5, 0x04, 0xf0, 0x9d, 0xe4, 0x90, 0x10, 0x9f, 0xe5,
-       0x20, 0x08, 0x81, 0xe5, 0x1e, 0xff, 0x2f, 0xe1, 0xf8, 0x40, 0x2d, 0xe9, 0xb7, 0xff, 0xff, 0xeb,
-       0x80, 0x00, 0x9f, 0xe5, 0xf8, 0xff, 0xff, 0xeb, 0x0d, 0x00, 0xa0, 0xe1, 0xec, 0xff, 0xff, 0xeb,
-       0x00, 0x00, 0x9d, 0xe5, 0x70, 0x10, 0x9f, 0xe5, 0x01, 0x00, 0x50, 0xe1, 0x01, 0x00, 0x00, 0x0a,
-       0x01, 0x00, 0xa0, 0xe3, 0x1c, 0x00, 0x00, 0xeb, 0x62, 0x54, 0xa0, 0xe3, 0x06, 0x42, 0xa0, 0xe3,
-       0x3f, 0x67, 0x84, 0xe2, 0xfe, 0x6b, 0x86, 0xe2, 0x01, 0x00, 0x00, 0xea, 0x04, 0x00, 0x95, 0xe4,
-       0x04, 0x00, 0x84, 0xe4, 0x06, 0x00, 0x54, 0xe1, 0xfb, 0xff, 0xff, 0x3a, 0x0d, 0x00, 0xa0, 0xe1,
-       0xdb, 0xff, 0xff, 0xeb, 0x00, 0x00, 0x9d, 0xe5, 0x30, 0x10, 0x9f, 0xe5, 0x01, 0x00, 0x50, 0xe1,
-       0x01, 0x00, 0x00, 0x0a, 0x01, 0x00, 0xa0, 0xe3, 0x0b, 0x00, 0x00, 0xeb, 0x6b, 0xfc, 0xff, 0xeb,
-       0x1c, 0x70, 0x9f, 0xe5, 0x37, 0xff, 0x2f, 0xe1, 0x00, 0xf0, 0x20, 0xe3, 0xfe, 0xff, 0xff, 0xea,
-       0x00, 0x00, 0x80, 0xe4, 0x00, 0xf0, 0xff, 0x62, 0x34, 0x12, 0x34, 0x12, 0x67, 0x45, 0x67, 0x45,
-       0xef, 0x89, 0xef, 0x89, 0x00, 0x00, 0x10, 0x60, 0x0e, 0xf0, 0xa0, 0xe1, 0x10, 0x40, 0x2d, 0xe9,
-       0x00, 0x40, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe1, 0x04, 0x00, 0xa0, 0xe1, 0x10, 0x40, 0xbd, 0xe8,
-       0xe1, 0x00, 0x00, 0xea, 0x00, 0x20, 0xa0, 0xe3, 0x20, 0x10, 0x51, 0xe2, 0x00, 0x40, 0x2d, 0xe9,
-       0x02, 0xe0, 0xa0, 0xe1, 0x02, 0x30, 0xa0, 0xe1, 0x02, 0xc0, 0xa0, 0xe1, 0x0c, 0x50, 0xa0, 0x28,
-       0x0c, 0x50, 0xa0, 0x28, 0x20, 0x10, 0x51, 0x22, 0xfb, 0xff, 0xff, 0x2a, 0x01, 0x1e, 0xb0, 0xe1,
-       0x0c, 0x50, 0xa0, 0x28, 0x0c, 0x00, 0xa0, 0x48, 0x01, 0x11, 0xb0, 0xe1, 0x00, 0x40, 0xbd, 0xe8,
-       0x04, 0x20, 0x80, 0x24, 0x0e, 0xf0, 0xa0, 0x01, 0x01, 0x20, 0xc0, 0x44, 0x01, 0x20, 0xc0, 0x44,
-       0x01, 0x01, 0x11, 0xe3, 0x01, 0x20, 0xc0, 0x14, 0x0e, 0xf0, 0xa0, 0xe1, 0x03, 0x00, 0x52, 0xe3,
-       0xe4, 0x00, 0x00, 0x9a, 0x03, 0xc0, 0x10, 0xe2, 0x08, 0x00, 0x00, 0x0a, 0x01, 0x30, 0xd1, 0xe4,
-       0x02, 0x00, 0x5c, 0xe3, 0x0c, 0x20, 0x82, 0xe0, 0x01, 0xc0, 0xd1, 0x94, 0x01, 0x30, 0xc0, 0xe4,
-       0x01, 0x30, 0xd1, 0x34, 0x01, 0xc0, 0xc0, 0x94, 0x04, 0x20, 0x42, 0xe2, 0x01, 0x30, 0xc0, 0x34,
-       0x03, 0x30, 0x11, 0xe2, 0xc4, 0x00, 0x00, 0x0a, 0x08, 0x20, 0x52, 0xe2, 0x04, 0x00, 0x00, 0x3a,
-       0x04, 0x30, 0x91, 0xe4, 0x04, 0xc0, 0x91, 0xe4, 0x04, 0x30, 0x80, 0xe4, 0x04, 0xc0, 0x80, 0xe4,
-       0xf8, 0xff, 0xff, 0xea, 0x04, 0x20, 0x92, 0xe2, 0x04, 0x30, 0x91, 0x54, 0x04, 0x30, 0x80, 0x54,
-       0xcc, 0x00, 0x00, 0xea, 0x01, 0x30, 0x80, 0xe1, 0x03, 0x00, 0x13, 0xe3, 0x00, 0x20, 0xa0, 0xe1,
-       0x04, 0xe0, 0x2d, 0xe5, 0x0b, 0x00, 0x00, 0x1a, 0x48, 0xc0, 0x9f, 0xe5, 0x04, 0x30, 0x91, 0xe4,
-       0x0c, 0xe0, 0x43, 0xe0, 0x03, 0xe0, 0xce, 0xe1, 0x8c, 0x03, 0x1e, 0xe1, 0x04, 0x30, 0x82, 0x04,
-       0xf9, 0xff, 0xff, 0x0a, 0xff, 0x10, 0x13, 0xe2, 0x23, 0x34, 0xa0, 0x11, 0x01, 0x10, 0xc2, 0xe4,
-       0xfb, 0xff, 0xff, 0x1a, 0x04, 0xf0, 0x9d, 0xe4, 0x01, 0x30, 0xd1, 0xe4, 0x00, 0x00, 0x53, 0xe3,
-       0x01, 0x30, 0xc2, 0xe4, 0x01, 0x30, 0xd1, 0x14, 0x01, 0x30, 0xc2, 0x14, 0x00, 0x00, 0x53, 0x13,
-       0xf8, 0xff, 0xff, 0x1a, 0x04, 0xf0, 0x9d, 0xe4, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x10, 0xe3,
-       0x10, 0x40, 0x2d, 0xe9, 0x03, 0x00, 0x11, 0x03, 0x00, 0x40, 0xa0, 0xe1, 0x0a, 0x00, 0x00, 0x1a,
-       0x4c, 0xe0, 0x9f, 0xe5, 0x04, 0x20, 0x52, 0xe2, 0x06, 0x00, 0x00, 0xba, 0x04, 0x30, 0x91, 0xe4,
-       0x0e, 0xc0, 0x43, 0xe0, 0x03, 0xc0, 0xcc, 0xe1, 0x8e, 0xc3, 0x1c, 0xe0, 0x04, 0x30, 0x80, 0x04,
-       0xf7, 0xff, 0xff, 0x0a, 0x04, 0x10, 0x41, 0xe2, 0x04, 0x20, 0x82, 0xe2, 0x01, 0x20, 0x52, 0xe2,
-       0x05, 0x00, 0x00, 0xba, 0x01, 0x30, 0xd1, 0xe4, 0x00, 0x00, 0x53, 0xe3, 0x01, 0x30, 0xc0, 0xe4,
-       0xf9, 0xff, 0xff, 0x1a, 0x02, 0x10, 0xa0, 0xe1, 0xa2, 0x00, 0x00, 0xeb, 0x04, 0x00, 0xa0, 0xe1,
-       0x10, 0x80, 0xbd, 0xe8, 0x01, 0x01, 0x01, 0x01, 0x01, 0xc0, 0x80, 0xe2, 0x03, 0x00, 0x00, 0xea,
-       0x01, 0x10, 0xd0, 0xe4, 0x00, 0x00, 0x51, 0xe3, 0x0c, 0x00, 0x40, 0x00, 0x0e, 0xf0, 0xa0, 0x01,
-       0x03, 0x00, 0x10, 0xe3, 0xf9, 0xff, 0xff, 0x1a, 0x38, 0x20, 0x9f, 0xe5, 0x04, 0x10, 0x90, 0xe4,
-       0x02, 0x30, 0x41, 0xe0, 0x01, 0x30, 0xc3, 0xe1, 0x82, 0x03, 0x13, 0xe1, 0xfa, 0xff, 0xff, 0x0a,
-       0xff, 0x00, 0x11, 0xe3, 0x0c, 0x00, 0x40, 0xe0, 0x03, 0x00, 0x40, 0x02, 0x0e, 0xf0, 0xa0, 0x01,
-       0xff, 0x0c, 0x11, 0xe3, 0x02, 0x00, 0x40, 0x02, 0x0e, 0xf0, 0xa0, 0x01, 0xff, 0x08, 0x11, 0xe3,
-       0x01, 0x00, 0x40, 0x02, 0x0e, 0xf0, 0xa0, 0xe1, 0x01, 0x01, 0x01, 0x01, 0x01, 0xc0, 0x90, 0xe1,
-       0x21, 0x00, 0x00, 0x4a, 0xa0, 0xc0, 0x71, 0xe0, 0x00, 0x20, 0xa0, 0xe3, 0x1a, 0x00, 0x00, 0x3a,
-       0x20, 0xc2, 0x71, 0xe0, 0x0f, 0x00, 0x00, 0x3a, 0x20, 0xc4, 0x71, 0xe0, 0x01, 0x00, 0x00, 0x3a,
-       0x00, 0x30, 0xa0, 0xe3, 0x20, 0x00, 0x00, 0xea, 0xa0, 0xc3, 0x71, 0xe0, 0x81, 0x03, 0x40, 0x20,
-       0x02, 0x20, 0xa2, 0xe0, 0x20, 0xc3, 0x71, 0xe0, 0x01, 0x03, 0x40, 0x20, 0x02, 0x20, 0xa2, 0xe0,
-       0xa0, 0xc2, 0x71, 0xe0, 0x81, 0x02, 0x40, 0x20, 0x02, 0x20, 0xa2, 0xe0, 0x20, 0xc2, 0x71, 0xe0,
-       0x01, 0x02, 0x40, 0x20, 0x02, 0x20, 0xa2, 0xe0, 0xa0, 0xc1, 0x71, 0xe0, 0x81, 0x01, 0x40, 0x20,
-       0x02, 0x20, 0xa2, 0xe0, 0x20, 0xc1, 0x71, 0xe0, 0x01, 0x01, 0x40, 0x20, 0x02, 0x20, 0xb2, 0xe0,
-       0xa0, 0xc0, 0x71, 0xe0, 0x81, 0x00, 0x40, 0x20, 0x02, 0x20, 0xa2, 0xe0, 0x01, 0x10, 0x50, 0xe0,
-       0x00, 0x10, 0xa0, 0x31, 0x02, 0x00, 0xa2, 0xe0, 0x0e, 0xf0, 0xa0, 0xe1, 0x02, 0x21, 0x11, 0xe2,
-       0x00, 0x10, 0x61, 0x42, 0x40, 0x30, 0x32, 0xe0, 0x00, 0x00, 0x60, 0x22, 0x20, 0xc2, 0x71, 0xe0,
-       0x1d, 0x00, 0x00, 0x3a, 0x20, 0xc4, 0x71, 0xe0, 0x0f, 0x00, 0x00, 0x3a, 0x01, 0x13, 0xa0, 0xe1,
-       0x20, 0xc4, 0x71, 0xe0, 0x3f, 0x23, 0x82, 0xe3, 0x0b, 0x00, 0x00, 0x3a, 0x01, 0x13, 0xa0, 0xe1,
-       0x20, 0xc4, 0x71, 0xe0, 0x3f, 0x26, 0x82, 0xe3, 0x07, 0x00, 0x00, 0x3a, 0x01, 0x13, 0xa0, 0xe1,
-       0x20, 0xc4, 0x71, 0xe0, 0x3f, 0x29, 0x82, 0xe3, 0x3f, 0x2c, 0x82, 0x23, 0x01, 0x13, 0xa0, 0x21,
-       0x00, 0xc0, 0x71, 0xe2, 0x2f, 0x00, 0x00, 0x2a, 0x21, 0x13, 0xa0, 0x21, 0xa0, 0xc3, 0x71, 0xe0,
-       0x81, 0x03, 0x40, 0x20, 0x02, 0x20, 0xa2, 0xe0, 0x20, 0xc3, 0x71, 0xe0, 0x01, 0x03, 0x40, 0x20,
-       0x02, 0x20, 0xa2, 0xe0, 0xa0, 0xc2, 0x71, 0xe0, 0x81, 0x02, 0x40, 0x20, 0x02, 0x20, 0xa2, 0xe0,
-       0x20, 0xc2, 0x71, 0xe0, 0x01, 0x02, 0x40, 0x20, 0x02, 0x20, 0xa2, 0xe0, 0xa0, 0xc1, 0x71, 0xe0,
-       0x81, 0x01, 0x40, 0x20, 0x02, 0x20, 0xa2, 0xe0, 0x20, 0xc1, 0x71, 0xe0, 0x01, 0x01, 0x40, 0x20,
-       0x02, 0x20, 0xb2, 0xe0, 0xeb, 0xff, 0xff, 0x2a, 0xa0, 0xc0, 0x71, 0xe0, 0x81, 0x00, 0x40, 0x20,
-       0x02, 0x20, 0xa2, 0xe0, 0x01, 0x10, 0x50, 0xe0, 0x00, 0x10, 0xa0, 0x31, 0x02, 0x00, 0xa2, 0xe0,
-       0xc3, 0x3f, 0xb0, 0xe1, 0x00, 0x00, 0x60, 0x42, 0x00, 0x10, 0x61, 0x22, 0x0e, 0xf0, 0xa0, 0xe1,
-       0xc1, 0x00, 0x00, 0xeb, 0x3f, 0x00, 0x00, 0xeb, 0x03, 0x00, 0x2d, 0xe9, 0xbf, 0x00, 0x00, 0xeb,
-       0x03, 0x00, 0xbd, 0xe8, 0x7a, 0x00, 0x00, 0xeb, 0x0f, 0x00, 0x2d, 0xe9, 0xbe, 0x00, 0x00, 0xeb,
-       0x0f, 0x00, 0xbd, 0xe8, 0x3b, 0xfa, 0xff, 0xeb, 0x17, 0xff, 0xff, 0xea, 0x01, 0x40, 0x2d, 0xe9,
-       0xbc, 0x00, 0x00, 0xeb, 0xae, 0x00, 0x00, 0xeb, 0x01, 0x40, 0xbd, 0xe8, 0x00, 0x00, 0x00, 0xea,
-       0x00, 0x00, 0xe0, 0xe3, 0xe7, 0xfc, 0xff, 0xea, 0x2b, 0x00, 0x00, 0xea, 0x20, 0x20, 0x52, 0xe2,
-       0x10, 0x40, 0x2d, 0xe9, 0x05, 0x00, 0x00, 0x3a, 0x18, 0x50, 0xb1, 0x28, 0x18, 0x50, 0xa0, 0x28,
-       0x18, 0x50, 0xb1, 0x28, 0x18, 0x50, 0xa0, 0x28, 0x20, 0x20, 0x52, 0x22, 0xf9, 0xff, 0xff, 0x2a,
-       0x02, 0xce, 0xb0, 0xe1, 0x18, 0x50, 0xb1, 0x28, 0x18, 0x50, 0xa0, 0x28, 0x18, 0x00, 0xb1, 0x48,
-       0x18, 0x00, 0xa0, 0x48, 0x02, 0xcf, 0xb0, 0xe1, 0x10, 0x40, 0xbd, 0xe8, 0x04, 0x30, 0x91, 0x24,
-       0x04, 0x30, 0x80, 0x24, 0x0e, 0xf0, 0xa0, 0x01, 0x82, 0x2f, 0xb0, 0xe1, 0x01, 0x20, 0xd1, 0x44,
-       0x01, 0x30, 0xd1, 0x24, 0x01, 0xc0, 0xd1, 0x24, 0x01, 0x20, 0xc0, 0x44, 0x01, 0x30, 0xc0, 0x24,
-       0x01, 0xc0, 0xc0, 0x24, 0x0e, 0xf0, 0xa0, 0xe1, 0x00, 0x20, 0xa0, 0xe3, 0x04, 0x00, 0x51, 0xe3,
-       0x08, 0x00, 0x00, 0x3a, 0x03, 0xc0, 0x10, 0xe2, 0xf6, 0xfe, 0xff, 0x0a, 0x04, 0xc0, 0x6c, 0xe2,
-       0x01, 0x20, 0xc0, 0xe4, 0x02, 0x00, 0x5c, 0xe3, 0x01, 0x20, 0xc0, 0xa4, 0x0c, 0x10, 0x41, 0xe0,
-       0x01, 0x20, 0xc0, 0xc4, 0xef, 0xfe, 0xff, 0xea, 0x81, 0xcf, 0xb0, 0xe1, 0x01, 0x20, 0xc0, 0x24,
-       0x01, 0x20, 0xc0, 0x24, 0x01, 0x20, 0xc0, 0x44, 0x0e, 0xf0, 0xa0, 0xe1, 0x02, 0x00, 0xa0, 0xe3,
-       0x02, 0x10, 0xa0, 0xe3, 0x8b, 0x00, 0x00, 0xea, 0x0e, 0x50, 0xa0, 0xe1, 0x86, 0x00, 0x00, 0xeb,
-       0x00, 0x40, 0xa0, 0xe1, 0x07, 0x00, 0xc0, 0xe3, 0x0d, 0x10, 0xa0, 0xe1, 0x60, 0xd0, 0x80, 0xe2,
-       0x05, 0xe0, 0xa0, 0xe1, 0x10, 0x40, 0x2d, 0xe9, 0x0a, 0x30, 0xa0, 0xe1, 0xc0, 0xfc, 0xff, 0xeb,
-       0x00, 0x60, 0xa0, 0xe3, 0x00, 0x70, 0xa0, 0xe3, 0x00, 0x80, 0xa0, 0xe3, 0x00, 0xb0, 0xa0, 0xe3,
-       0x10, 0x40, 0xbd, 0xe8, 0x07, 0xd0, 0xc1, 0xe3, 0x04, 0xc0, 0xa0, 0xe1, 0xc0, 0x09, 0xac, 0xe8,
-       0xc0, 0x09, 0xac, 0xe8, 0xc0, 0x09, 0xac, 0xe8, 0xc0, 0x09, 0xac, 0xe8, 0x13, 0x40, 0x2d, 0xe9,
-       0x00, 0x10, 0xa0, 0xe3, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0xa0, 0xe1, 0x40, 0x10, 0x81, 0xe2,
-       0x01, 0x20, 0x80, 0xe0, 0x11, 0x2e, 0x82, 0xe2, 0x1c, 0x20, 0x84, 0xe5, 0x01, 0x00, 0xa0, 0xe3,
-       0x18, 0x10, 0x84, 0xe5, 0x10, 0x00, 0x84, 0xe5, 0x13, 0x40, 0xbd, 0xe8, 0x00, 0x10, 0xa0, 0xe1,
-       0x14, 0x00, 0x84, 0xe5, 0x0e, 0xf0, 0xa0, 0xe1, 0x10, 0x40, 0x2d, 0xe9, 0x03, 0x00, 0x2d, 0xe9,
-       0x61, 0x00, 0x00, 0xeb, 0x00, 0x40, 0xa0, 0xe1, 0x03, 0x00, 0xbd, 0xe8, 0x14, 0x20, 0x94, 0xe5,
-       0x1c, 0x30, 0x94, 0xe5, 0x00, 0xe0, 0x82, 0xe0, 0x03, 0x30, 0x4d, 0xe0, 0x03, 0x00, 0x5e, 0xe1,
-       0x00, 0x20, 0x81, 0xe5, 0x0a, 0x00, 0x00, 0x8a, 0x0e, 0x30, 0x93, 0xe0, 0x01, 0x1a, 0x8e, 0xe2,
-       0x07, 0x10, 0x81, 0xe2, 0x63, 0x30, 0xa0, 0xe1, 0x07, 0x30, 0xc3, 0xe3, 0x07, 0x10, 0xc1, 0xe3,
-       0x03, 0x00, 0x51, 0xe1, 0x03, 0x10, 0xa0, 0x81, 0x02, 0x00, 0x41, 0xe0, 0x14, 0x10, 0x84, 0xe5,
-       0x10, 0x80, 0xbd, 0xe8, 0x00, 0x20, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0xa0, 0xe1,
-       0x10, 0x80, 0xbd, 0xe8, 0xc0, 0x43, 0x2d, 0xe9, 0x3e, 0x00, 0x2d, 0xe9, 0x01, 0x50, 0xa0, 0xe1,
-       0x00, 0x40, 0xa0, 0xe1, 0xc3, 0x02, 0x00, 0xeb, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x40, 0x8d, 0xe5,
-       0x04, 0x50, 0x8d, 0xe5, 0x00, 0x00, 0xa0, 0xe1, 0x08, 0x00, 0x8d, 0xe5, 0x0d, 0x00, 0xa0, 0xe1,
-       0xb4, 0xf9, 0xff, 0xeb, 0x00, 0x40, 0xa0, 0xe1, 0x01, 0x50, 0xa0, 0xe1, 0x03, 0x00, 0x9d, 0xe8,
-       0x02, 0x60, 0xa0, 0xe1, 0x03, 0x70, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe1,
-       0x00, 0x00, 0xa0, 0xe1, 0x00, 0x10, 0xa0, 0xe3, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0xa0, 0xe1,
-       0x00, 0x80, 0xa0, 0xe1, 0x30, 0x00, 0x00, 0xeb, 0x00, 0x90, 0xa0, 0xe1, 0x20, 0x80, 0x80, 0xe5,
-       0x00, 0x00, 0xa0, 0xe3, 0x00, 0x10, 0xa0, 0xe3, 0x00, 0x00, 0xa0, 0xe1, 0x01, 0x10, 0x80, 0xe2,
-       0x24, 0x10, 0x89, 0xe5, 0x00, 0x10, 0xa0, 0xe3, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0xa0, 0xe1,
-       0x28, 0x00, 0x89, 0xe5, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x10, 0xa0, 0xe3, 0x00, 0x00, 0xa0, 0xe1,
-       0x2c, 0x00, 0x89, 0xe5, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x10, 0xa0, 0xe3, 0x00, 0x00, 0xa0, 0xe1,
-       0x30, 0x00, 0x89, 0xe5, 0x00, 0x00, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe1,
-       0x00, 0x00, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe1,
-       0x00, 0x00, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe1, 0x0c, 0xd0, 0x8d, 0xe2, 0x04, 0x00, 0xa0, 0xe1,
-       0x05, 0x10, 0xa0, 0xe1, 0x06, 0x20, 0xa0, 0xe1, 0x07, 0x30, 0xa0, 0xe1, 0xf0, 0x01, 0xbd, 0xe8,
-       0x00, 0x82, 0xbd, 0xe8, 0x00, 0x00, 0xa0, 0xe3, 0x10, 0x40, 0x2d, 0xe9, 0x00, 0x00, 0xa0, 0xe1,
-       0x00, 0x00, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe1, 0x10, 0x80, 0xbd, 0xe8, 0x0e, 0xf0, 0xa0, 0xe1,
-       0x00, 0x00, 0xe0, 0xe3, 0x02, 0x10, 0xe0, 0xe3, 0x0e, 0xf0, 0xa0, 0xe1, 0x10, 0x40, 0x2d, 0xe9,
-       0x0a, 0x00, 0x00, 0xeb, 0x10, 0x80, 0xbd, 0xe8, 0x0e, 0xf0, 0xa0, 0xe1, 0x00, 0x00, 0x9f, 0xe5,
-       0x0e, 0xf0, 0xa0, 0xe1, 0x1c, 0x3a, 0x08, 0x00, 0x10, 0x40, 0x2d, 0xe9, 0x08, 0x00, 0x00, 0xeb,
-       0x00, 0x00, 0x50, 0xe3, 0x10, 0x80, 0xbd, 0x08, 0x10, 0x40, 0xbd, 0xe8, 0x25, 0xfc, 0xff, 0xea,
-       0x0e, 0xf0, 0xa0, 0xe1, 0x10, 0x40, 0x2d, 0xe9, 0xf3, 0xff, 0xff, 0xeb, 0x04, 0x00, 0x80, 0xe2,
-       0x10, 0x80, 0xbd, 0xe8, 0x70, 0x40, 0x2d, 0xe9, 0x01, 0x50, 0xa0, 0xe1, 0x00, 0x10, 0xa0, 0xe1,
-       0x00, 0x40, 0xa0, 0xe1, 0x00, 0x00, 0xe0, 0xe3, 0x00, 0x00, 0xa0, 0xe1, 0x01, 0x00, 0x70, 0xe3,
-       0x00, 0x20, 0xa0, 0xe1, 0x04, 0x00, 0xa0, 0x01, 0x05, 0x10, 0xa0, 0x01, 0x70, 0x40, 0xbd, 0x08,
-       0x06, 0x00, 0x00, 0x0a, 0x03, 0x00, 0x72, 0xe3, 0x05, 0x10, 0xa0, 0x11, 0x04, 0x00, 0xa0, 0x11,
-       0x0f, 0xe0, 0xa0, 0x11, 0x02, 0xf0, 0xa0, 0x11, 0x00, 0x00, 0xa0, 0xe3, 0x70, 0x80, 0xbd, 0xe8,
-       0x01, 0x20, 0x40, 0xe2, 0x70, 0x40, 0x2d, 0xe9, 0x0e, 0x00, 0x52, 0xe3, 0xc0, 0x50, 0x8f, 0x22,
-       0xb8, 0x40, 0x8f, 0xe2, 0x1c, 0x00, 0x00, 0x2a, 0x17, 0x20, 0xa0, 0xe3, 0xc0, 0x30, 0x9f, 0xe5,
-       0x90, 0x02, 0x02, 0xe0, 0x03, 0x30, 0x8f, 0xe0, 0x02, 0x00, 0x50, 0xe3, 0x03, 0x20, 0x82, 0xe0,
-       0x17, 0x50, 0x42, 0xe2, 0x0e, 0x00, 0x00, 0x1a, 0x01, 0x03, 0x11, 0xe3, 0xa4, 0x40, 0x8f, 0x12,
-       0x11, 0x00, 0x00, 0x1a, 0x82, 0x03, 0x11, 0xe3, 0xac, 0x40, 0x8f, 0x12, 0x0e, 0x00, 0x00, 0x1a,
-       0x01, 0x02, 0x11, 0xe3, 0xb0, 0x40, 0x8f, 0x12, 0x0b, 0x00, 0x00, 0x1a, 0x02, 0x02, 0x11, 0xe3,
-       0xb0, 0x40, 0x8f, 0x12, 0x08, 0x00, 0x00, 0x1a, 0x01, 0x01, 0x11, 0xe3, 0xb0, 0x40, 0x8f, 0x12,
-       0x05, 0x00, 0x00, 0xea, 0x08, 0x00, 0x50, 0xe3, 0x01, 0x40, 0xa0, 0x01, 0x02, 0x00, 0x00, 0x0a,
-       0x09, 0x00, 0x50, 0xe3, 0x01, 0x00, 0x51, 0x03, 0xa4, 0x50, 0x8f, 0x02, 0x0a, 0x00, 0xa0, 0xe3,
-       0x00, 0x00, 0x00, 0xea, 0x01, 0x50, 0x85, 0xe2, 0xe8, 0xfb, 0xff, 0xeb, 0x00, 0x00, 0xd5, 0xe5,
-       0x00, 0x00, 0x50, 0xe3, 0xfa, 0xff, 0xff, 0x1a, 0x01, 0x00, 0x00, 0xea, 0x01, 0x40, 0x84, 0xe2,
-       0xe2, 0xfb, 0xff, 0xeb, 0x00, 0x00, 0xd4, 0xe5, 0x00, 0x00, 0x50, 0xe3, 0xfa, 0xff, 0xff, 0x1a,
-       0x0a, 0x00, 0xa0, 0xe3, 0xdd, 0xfb, 0xff, 0xeb, 0x01, 0x00, 0xa0, 0xe3, 0x70, 0x80, 0xbd, 0xe8,
-       0x00, 0x00, 0x00, 0x00, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x73, 0x69, 0x67, 0x6e,
-       0x61, 0x6c, 0x00, 0x00, 0x60, 0x09, 0x00, 0x00, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20,
-       0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x44, 0x69, 0x76, 0x69,
-       0x64, 0x65, 0x20, 0x42, 0x79, 0x20, 0x5a, 0x65, 0x72, 0x6f, 0x00, 0x00, 0x4f, 0x76, 0x65, 0x72,
-       0x66, 0x6c, 0x6f, 0x77, 0x00, 0x00, 0x00, 0x00, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x66, 0x6c, 0x6f,
-       0x77, 0x00, 0x00, 0x00, 0x49, 0x6e, 0x65, 0x78, 0x61, 0x63, 0x74, 0x20, 0x52, 0x65, 0x73, 0x75,
-       0x6c, 0x74, 0x00, 0x00, 0x3a, 0x20, 0x48, 0x65, 0x61, 0x70, 0x20, 0x6d, 0x65, 0x6d, 0x6f, 0x72,
-       0x79, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, 0x00, 0x20, 0xc2, 0x71, 0xe0,
-       0x00, 0x20, 0xa0, 0xe3, 0x7b, 0xfe, 0xff, 0x3a, 0x20, 0xc4, 0x71, 0xe0, 0x6d, 0xfe, 0xff, 0x3a,
-       0x00, 0x30, 0xa0, 0xe3, 0x8c, 0xfe, 0xff, 0xea, 0x00, 0x30, 0xa0, 0xe3, 0x02, 0x00, 0x00, 0xea,
-       0x00, 0xc0, 0xa0, 0xe3, 0x03, 0xc0, 0xc0, 0xe7, 0x01, 0x30, 0x83, 0xe2, 0x01, 0x00, 0x53, 0xe1,
-       0xfa, 0xff, 0xff, 0x3a, 0x00, 0x20, 0xa0, 0xe1, 0x00, 0xf0, 0x20, 0xe3, 0x30, 0xc0, 0x9f, 0xe5,
-       0x6c, 0xc0, 0x9c, 0xe5, 0x00, 0xc0, 0x82, 0xe5, 0x02, 0x00, 0xa0, 0xe1, 0x04, 0x20, 0x82, 0xe2,
-       0x00, 0xf0, 0x20, 0xe3, 0x18, 0xc0, 0x9f, 0xe5, 0x70, 0xc0, 0x9c, 0xe5, 0x04, 0xc0, 0x82, 0xe4,
-       0x00, 0xf0, 0x20, 0xe3, 0x08, 0xc0, 0x9f, 0xe5, 0x74, 0xc0, 0x9c, 0xe5, 0x04, 0xc0, 0x82, 0xe4,
-       0x1e, 0xff, 0x2f, 0xe1, 0x00, 0x00, 0x90, 0xe4, 0x70, 0x40, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1,
-       0x01, 0x50, 0xa0, 0xe1, 0x05, 0x10, 0xa0, 0xe1, 0x04, 0x00, 0xa0, 0xe1, 0xe1, 0xff, 0xff, 0xeb,
-       0x70, 0x80, 0xbd, 0xe8, 0x10, 0x40, 0x2d, 0xe9, 0x00, 0xf0, 0x20, 0xe3, 0xc0, 0x05, 0x9f, 0xe5,
-       0xc0, 0x15, 0x9f, 0xe5, 0x60, 0x00, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2,
-       0x70, 0x00, 0x90, 0xe5, 0x07, 0x04, 0xc0, 0xe3, 0x03, 0x10, 0xa0, 0xe3, 0x07, 0x24, 0xa0, 0xe3,
-       0x01, 0x1c, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1, 0x98, 0x15, 0x9f, 0xe5, 0x70, 0x00, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x70, 0x00, 0x90, 0xe5, 0x01, 0x09, 0xc0, 0xe3,
-       0x00, 0x10, 0xa0, 0xe3, 0x01, 0x29, 0xa0, 0xe3, 0x01, 0x17, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1,
-       0x70, 0x15, 0x9f, 0xe5, 0x70, 0x00, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2,
-       0x70, 0x00, 0x90, 0xe5, 0x02, 0x09, 0xc0, 0xe3, 0x01, 0x10, 0xa0, 0xe3, 0x02, 0x29, 0xa0, 0xe3,
-       0x81, 0x17, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1, 0x48, 0x15, 0x9f, 0xe5, 0x70, 0x00, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x68, 0x00, 0x90, 0xe5, 0x02, 0x0a, 0xc0, 0xe3,
-       0x00, 0x10, 0xa0, 0xe3, 0x02, 0x2a, 0xa0, 0xe3, 0x81, 0x16, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1,
-       0x20, 0x15, 0x9f, 0xe5, 0x68, 0x00, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2,
-       0x68, 0x00, 0x90, 0xe5, 0x01, 0x0a, 0xc0, 0xe3, 0x00, 0x10, 0xa0, 0xe3, 0x01, 0x2a, 0xa0, 0xe3,
-       0x01, 0x16, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1, 0xf8, 0x14, 0x9f, 0xe5, 0x68, 0x00, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x68, 0x00, 0x90, 0xe5, 0x01, 0x0b, 0xc0, 0xe3,
-       0x01, 0x10, 0xa0, 0xe3, 0x01, 0x2b, 0xa0, 0xe3, 0x01, 0x15, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1,
-       0xd0, 0x14, 0x9f, 0xe5, 0x68, 0x00, 0x81, 0xe5, 0x00, 0x40, 0xa0, 0xe3, 0x00, 0x00, 0x00, 0xea,
-       0x01, 0x40, 0x84, 0xe2, 0x06, 0xc9, 0x54, 0xe2, 0x6a, 0xce, 0x5c, 0x22, 0xfb, 0xff, 0xff, 0x3a,
-       0x00, 0xf0, 0x20, 0xe3, 0xb0, 0x04, 0x9f, 0xe5, 0x00, 0x00, 0x90, 0xe5, 0x03, 0x10, 0xc0, 0xe3,
-       0x02, 0x00, 0x81, 0xe3, 0xa0, 0x14, 0x9f, 0xe5, 0x00, 0x00, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3,
-       0x00, 0x00, 0x81, 0xe2, 0x00, 0x00, 0x90, 0xe5, 0x0c, 0x00, 0xc0, 0xe3, 0x01, 0x10, 0xa0, 0xe3,
-       0x0c, 0x20, 0xa0, 0xe3, 0x01, 0x11, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1, 0x78, 0x14, 0x9f, 0xe5,
-       0x00, 0x00, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x00, 0x00, 0x90, 0xe5,
-       0x10, 0x00, 0xc0, 0xe3, 0x01, 0x10, 0xa0, 0xe3, 0x10, 0x20, 0xa0, 0xe3, 0x01, 0x12, 0x02, 0xe0,
-       0x01, 0x00, 0x80, 0xe1, 0x50, 0x14, 0x9f, 0xe5, 0x00, 0x00, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3,
-       0x00, 0xf0, 0x20, 0xe3, 0x40, 0x04, 0x9f, 0xe5, 0x04, 0x00, 0x90, 0xe5, 0x00, 0x0f, 0xa0, 0xe1,
-       0xa0, 0x0f, 0xa0, 0xe1, 0x01, 0x00, 0x50, 0xe3, 0xf8, 0xff, 0xff, 0x1a, 0x00, 0xf0, 0x20, 0xe3,
-       0x28, 0x04, 0x9f, 0xe5, 0x1c, 0x14, 0x9f, 0xe5, 0x20, 0x00, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3,
-       0x28, 0x00, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x11, 0x00, 0xa0, 0xe3, 0x24, 0x00, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x2c, 0x00, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x3f, 0x0c, 0xa0, 0xe3,
-       0x54, 0x00, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0xf4, 0x03, 0x9f, 0xe5, 0x64, 0x00, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0xec, 0x03, 0x9f, 0xe5, 0x68, 0x00, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3,
-       0xe4, 0x03, 0x9f, 0xe5, 0x0c, 0x00, 0x81, 0xe5, 0x4c, 0xfa, 0xff, 0xeb, 0x10, 0x80, 0xbd, 0xe8,
-       0x00, 0xf0, 0x20, 0xe3, 0x01, 0x0c, 0xa0, 0xe3, 0xd0, 0x13, 0x9f, 0xe5, 0x04, 0x00, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0xf0, 0x20, 0xe3, 0xc0, 0x03, 0x9f, 0xe5, 0x04, 0x00, 0x90, 0xe5,
-       0x00, 0x0f, 0xa0, 0xe1, 0xa0, 0x0f, 0xa0, 0xe1, 0x00, 0x00, 0x50, 0xe3, 0xf8, 0xff, 0xff, 0x1a,
-       0x00, 0xf0, 0x20, 0xe3, 0xa4, 0x03, 0x9f, 0xe5, 0x60, 0x03, 0x90, 0xe5, 0x07, 0x00, 0x80, 0xe3,
-       0x98, 0x13, 0x9f, 0xe5, 0x60, 0x03, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2,
-       0x60, 0x03, 0x90, 0xe5, 0x07, 0x0c, 0xc0, 0xe3, 0x07, 0x10, 0xa0, 0xe3, 0x07, 0x2c, 0xa0, 0xe3,
-       0x01, 0x14, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1, 0x70, 0x13, 0x9f, 0xe5, 0x60, 0x03, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x60, 0x03, 0x90, 0xe5, 0x07, 0x08, 0xc0, 0xe3,
-       0x07, 0x10, 0xa0, 0xe3, 0x07, 0x28, 0xa0, 0xe3, 0x01, 0x18, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1,
-       0x48, 0x13, 0x9f, 0xe5, 0x60, 0x03, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2,
-       0x64, 0x03, 0x90, 0xe5, 0x07, 0x10, 0xc0, 0xe3, 0x01, 0x00, 0x81, 0xe3, 0x2c, 0x13, 0x9f, 0xe5,
-       0x64, 0x03, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x64, 0x03, 0x90, 0xe5,
-       0x07, 0x0c, 0xc0, 0xe3, 0x01, 0x10, 0xa0, 0xe3, 0x07, 0x2c, 0xa0, 0xe3, 0x01, 0x14, 0x02, 0xe0,
-       0x01, 0x00, 0x80, 0xe1, 0x04, 0x13, 0x9f, 0xe5, 0x64, 0x03, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3,
-       0x00, 0x00, 0x81, 0xe2, 0x64, 0x03, 0x90, 0xe5, 0x07, 0x08, 0xc0, 0xe3, 0x01, 0x10, 0xa0, 0xe3,
-       0x07, 0x28, 0xa0, 0xe3, 0x01, 0x18, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1, 0xdc, 0x12, 0x9f, 0xe5,
-       0x64, 0x03, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x68, 0x03, 0x90, 0xe5,
-       0x07, 0x10, 0xc0, 0xe3, 0x03, 0x00, 0x81, 0xe3, 0xc0, 0x12, 0x9f, 0xe5, 0x68, 0x03, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x68, 0x03, 0x90, 0xe5, 0x07, 0x0c, 0xc0, 0xe3,
-       0x03, 0x10, 0xa0, 0xe3, 0x07, 0x2c, 0xa0, 0xe3, 0x01, 0x14, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1,
-       0x98, 0x12, 0x9f, 0xe5, 0x68, 0x03, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2,
-       0x68, 0x03, 0x90, 0xe5, 0x07, 0x08, 0xc0, 0xe3, 0x03, 0x10, 0xa0, 0xe3, 0x07, 0x28, 0xa0, 0xe3,
-       0x01, 0x18, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1, 0x70, 0x12, 0x9f, 0xe5, 0x68, 0x03, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x38, 0x02, 0x90, 0xe5, 0x01, 0x08, 0xc0, 0xe3,
-       0x00, 0x10, 0xa0, 0xe3, 0x01, 0x28, 0xa0, 0xe3, 0x01, 0x18, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1,
-       0x48, 0x12, 0x9f, 0xe5, 0x38, 0x02, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2,
-       0x20, 0x02, 0x90, 0xe5, 0x07, 0x10, 0xc0, 0xe3, 0x02, 0x00, 0x81, 0xe3, 0x2c, 0x12, 0x9f, 0xe5,
-       0x20, 0x02, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x20, 0x02, 0x90, 0xe5,
-       0x78, 0x00, 0xc0, 0xe3, 0x01, 0x10, 0xa0, 0xe3, 0x78, 0x20, 0xa0, 0xe3, 0x81, 0x11, 0x02, 0xe0,
-       0x01, 0x00, 0x80, 0xe1, 0x04, 0x12, 0x9f, 0xe5, 0x20, 0x02, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3,
-       0x00, 0x00, 0x81, 0xe2, 0x10, 0x02, 0x90, 0xe5, 0x02, 0x00, 0xc0, 0xe3, 0x01, 0x10, 0xa0, 0xe3,
-       0x02, 0x20, 0xa0, 0xe3, 0x81, 0x10, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1, 0xdc, 0x11, 0x9f, 0xe5,
-       0x10, 0x02, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x10, 0x02, 0x90, 0xe5,
-       0x02, 0x0c, 0xc0, 0xe3, 0x01, 0x10, 0xa0, 0xe3, 0x02, 0x2c, 0xa0, 0xe3, 0x81, 0x14, 0x02, 0xe0,
-       0x01, 0x00, 0x80, 0xe1, 0xb4, 0x11, 0x9f, 0xe5, 0x10, 0x02, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3,
-       0x00, 0x00, 0x81, 0xe2, 0x44, 0x02, 0x90, 0xe5, 0xff, 0x10, 0xc0, 0xe3, 0x20, 0x00, 0x81, 0xe3,
-       0x98, 0x11, 0x9f, 0xe5, 0x44, 0x02, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2,
-       0x44, 0x02, 0x90, 0xe5, 0xff, 0x0c, 0xc0, 0xe3, 0x20, 0x10, 0xa0, 0xe3, 0xff, 0x2c, 0xa0, 0xe3,
-       0x01, 0x14, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1, 0x70, 0x11, 0x9f, 0xe5, 0x44, 0x02, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x44, 0x02, 0x90, 0xe5, 0xff, 0x08, 0xc0, 0xe3,
-       0x20, 0x10, 0xa0, 0xe3, 0xff, 0x28, 0xa0, 0xe3, 0x01, 0x18, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1,
-       0x48, 0x11, 0x9f, 0xe5, 0x44, 0x02, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2,
-       0x78, 0x02, 0x90, 0xe5, 0xff, 0x08, 0xc0, 0xe3, 0x10, 0x10, 0xa0, 0xe3, 0x01, 0x18, 0x02, 0xe0,
-       0x01, 0x00, 0x80, 0xe1, 0x24, 0x11, 0x9f, 0xe5, 0x78, 0x02, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3,
-       0x01, 0x00, 0xa0, 0xe3, 0x80, 0x0a, 0xa0, 0xe1, 0xdc, 0x02, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3,
-       0x00, 0x00, 0x81, 0xe2, 0x04, 0x02, 0x90, 0xe5, 0x02, 0x0b, 0xc0, 0xe3, 0x01, 0x10, 0xa0, 0xe3,
-       0x02, 0x2b, 0xa0, 0xe3, 0x81, 0x15, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1, 0xec, 0x10, 0x9f, 0xe5,
-       0x04, 0x02, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x54, 0x02, 0x90, 0xe5,
-       0xff, 0x08, 0xc0, 0xe3, 0x08, 0x10, 0xa0, 0xe3, 0xff, 0x28, 0xa0, 0xe3, 0x01, 0x18, 0x02, 0xe0,
-       0x01, 0x00, 0x80, 0xe1, 0xc4, 0x10, 0x9f, 0xe5, 0x54, 0x02, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3,
-       0x00, 0x00, 0x81, 0xe2, 0x54, 0x02, 0x90, 0xe5, 0xff, 0x0c, 0xc0, 0xe3, 0x08, 0x10, 0xa0, 0xe3,
-       0xff, 0x2c, 0xa0, 0xe3, 0x01, 0x14, 0x02, 0xe0, 0x01, 0x00, 0x80, 0xe1, 0x9c, 0x10, 0x9f, 0xe5,
-       0x54, 0x02, 0x81, 0xe5, 0x00, 0xf0, 0x20, 0xe3, 0x00, 0x00, 0x81, 0xe2, 0x54, 0x02, 0x90, 0xe5,
-       0xff, 0x10, 0xc0, 0xe3, 0x08, 0x00, 0x81, 0xe3, 0x80, 0x10, 0x9f, 0xe5, 0x54, 0x02, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x01, 0x00, 0xa0, 0xe3, 0x00, 0x06, 0xa0, 0xe1, 0xf8, 0x02, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x01, 0x00, 0xa0, 0xe3, 0x80, 0x06, 0xa0, 0xe1, 0xf8, 0x02, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x01, 0x00, 0xa0, 0xe3, 0x00, 0x07, 0xa0, 0xe1, 0xf8, 0x02, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x01, 0x00, 0xa0, 0xe3, 0x00, 0x06, 0xa0, 0xe1, 0xdc, 0x02, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x01, 0x00, 0xa0, 0xe3, 0x00, 0x04, 0xa0, 0xe1, 0xdc, 0x02, 0x81, 0xe5,
-       0x00, 0xf0, 0x20, 0xe3, 0x01, 0x00, 0xa0, 0xe3, 0x00, 0x02, 0xa0, 0xe1, 0xe4, 0x02, 0x81, 0xe5,
-       0x1e, 0xff, 0x2f, 0xe1, 0x15, 0xf8, 0x41, 0x83, 0x00, 0x00, 0x00, 0xe8, 0xb4, 0x03, 0xd0, 0xe4,
-       0x01, 0x00, 0x30, 0x84, 0x33, 0x00, 0x20, 0x80, 0x23, 0x01, 0x14, 0x00, 0x41, 0xf0, 0x00, 0x00,
-       0x00, 0x00, 0xd0, 0xe4, 0x10, 0x40, 0x2d, 0xe9, 0x29, 0xf7, 0xff, 0xeb, 0x10, 0x80, 0xbd, 0xe8,
-       0x1e, 0xff, 0x2f, 0xe1, 0x50, 0xd0, 0x4d, 0xe2, 0xff, 0x00, 0x8d, 0xe8, 0x00, 0x50, 0x4f, 0xe1,
-       0x08, 0xe0, 0x4e, 0xe2, 0x4c, 0xe0, 0x8d, 0xe5, 0x20, 0x00, 0x8d, 0xe2, 0x0f, 0x10, 0x15, 0xe2,
-       0x00, 0x7f, 0xc0, 0x08, 0x1c, 0x00, 0x80, 0x02, 0x00, 0x40, 0xa0, 0x08, 0x06, 0x00, 0x00, 0x0a,
-       0x00, 0x20, 0x0f, 0xe1, 0x0f, 0x30, 0xc2, 0xe3, 0x01, 0x10, 0x83, 0xe1, 0x01, 0xf0, 0x2f, 0xe1,
-       0x00, 0x7f, 0xa0, 0xe8, 0x02, 0xf0, 0x2f, 0xe1, 0x00, 0x40, 0xa0, 0xe8, 0x10, 0x6f, 0x16, 0xee,
-       0x10, 0x7f, 0x15, 0xee, 0xe0, 0x00, 0x80, 0xe8, 0x0c, 0x30, 0x40, 0xe2, 0x00, 0x10, 0x93, 0xe5,
-       0x0d, 0x00, 0xa0, 0xe1, 0x14, 0x21, 0x9f, 0xe5, 0x14, 0x81, 0x9f, 0xe5, 0xb0, 0x80, 0xd8, 0xe1,
-       0x10, 0x91, 0x9f, 0xe5, 0x09, 0x00, 0x58, 0xe1, 0x00, 0x00, 0x00, 0x0a, 0x08, 0x21, 0x9f, 0xe5,
-       0xff, 0xfa, 0xff, 0xeb, 0xff, 0x1f, 0xbd, 0xe8, 0x18, 0xd0, 0x8d, 0xe2, 0x00, 0x80, 0xfd, 0xe8,
-       0x50, 0xd0, 0x4d, 0xe2, 0xff, 0x00, 0x8d, 0xe8, 0x00, 0x50, 0x4f, 0xe1, 0x04, 0xe0, 0x4e, 0xe2,
-       0x4c, 0xe0, 0x8d, 0xe5, 0x20, 0x00, 0x8d, 0xe2, 0x0f, 0x10, 0x15, 0xe2, 0x00, 0x7f, 0xc0, 0x08,
-       0x1c, 0x00, 0x80, 0x02, 0x00, 0x40, 0xa0, 0x08, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x20, 0x0f, 0xe1,
-       0x0f, 0x30, 0xc2, 0xe3, 0x01, 0x10, 0x83, 0xe1, 0x01, 0xf0, 0x2f, 0xe1, 0x00, 0x7f, 0xa0, 0xe8,
-       0x02, 0xf0, 0x2f, 0xe1, 0x00, 0x40, 0xa0, 0xe8, 0x10, 0x6f, 0x16, 0xee, 0x10, 0x7f, 0x15, 0xee,
-       0xe0, 0x00, 0x80, 0xe8, 0x0c, 0x30, 0x40, 0xe2, 0x00, 0x10, 0x93, 0xe5, 0x0d, 0x00, 0xa0, 0xe1,
-       0x98, 0x20, 0x9f, 0xe5, 0xe2, 0xfa, 0xff, 0xeb, 0xff, 0x1f, 0xbd, 0xe8, 0x18, 0xd0, 0x8d, 0xe2,
-       0x00, 0x80, 0xfd, 0xe8, 0x50, 0xd0, 0x4d, 0xe2, 0xff, 0x00, 0x8d, 0xe8, 0x00, 0x50, 0x4f, 0xe1,
-       0x04, 0xe0, 0x4e, 0xe2, 0x4c, 0xe0, 0x8d, 0xe5, 0x20, 0x00, 0x8d, 0xe2, 0x0f, 0x10, 0x15, 0xe2,
-       0x00, 0x7f, 0xc0, 0x08, 0x1c, 0x00, 0x80, 0x02, 0x00, 0x40, 0xa0, 0x08, 0x06, 0x00, 0x00, 0x0a,
-       0x00, 0x20, 0x0f, 0xe1, 0x0f, 0x30, 0xc2, 0xe3, 0x01, 0x10, 0x83, 0xe1, 0x01, 0xf0, 0x2f, 0xe1,
-       0x00, 0x7f, 0xa0, 0xe8, 0x02, 0xf0, 0x2f, 0xe1, 0x00, 0x40, 0xa0, 0xe8, 0x10, 0x6f, 0x16, 0xee,
-       0x30, 0x7f, 0x15, 0xee, 0xe0, 0x00, 0x80, 0xe8, 0x0c, 0x30, 0x40, 0xe2, 0x00, 0x10, 0x93, 0xe5,
-       0x0d, 0x00, 0xa0, 0xe1, 0x28, 0x20, 0x9f, 0xe5, 0xc5, 0xfa, 0xff, 0xeb, 0xff, 0x1f, 0xbd, 0xe8,
-       0x18, 0xd0, 0x8d, 0xe2, 0x00, 0x80, 0xfd, 0xe8, 0x70, 0x00, 0x20, 0xe1, 0x1e, 0xff, 0x2f, 0xe1,
-       0xaa, 0xaa, 0x00, 0x00, 0x38, 0x39, 0x08, 0x00, 0xff, 0xff, 0x00, 0x00, 0xdd, 0xdd, 0x00, 0x00,
-       0xcc, 0xcc, 0x00, 0x00, 0xbb, 0xbb, 0x00, 0x00, 0x10, 0x40, 0x2d, 0xe9, 0x88, 0xfd, 0xff, 0xeb,
-       0x00, 0x10, 0xa0, 0xe3, 0x00, 0x10, 0x80, 0xe5, 0x10, 0x80, 0xbd, 0xe8, 0x41, 0x62, 0x6e, 0x6f,
-       0x72, 0x6d, 0x61, 0x6c, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
-       0x00, 0x00, 0x00, 0x41, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x20, 0x65, 0x78,
-       0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x00, 0x49, 0x6c, 0x6c, 0x65, 0x67, 0x61,
-       0x6c, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00,
-       0x00, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69,
-       0x76, 0x65, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x20,
-       0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54,
-       0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65,
-       0x73, 0x74, 0x00, 0x00, 0x00, 0x00, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x20, 0x6f, 0x76, 0x65, 0x72,
-       0x66, 0x6c, 0x6f, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x65, 0x64,
-       0x69, 0x72, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x63, 0x61, 0x6e, 0x27, 0x74, 0x20, 0x6f, 0x70, 0x65,
-       0x6e, 0x3a, 0x20, 0x00, 0x4f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x68, 0x65, 0x61, 0x70, 0x20,
-       0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x73, 0x65, 0x72, 0x2d,
-       0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x31,
-       0x00, 0x00, 0x55, 0x73, 0x65, 0x72, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x73,
-       0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x32, 0x00, 0x00, 0x50, 0x75, 0x72, 0x65, 0x20, 0x76, 0x69,
-       0x72, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x66, 0x6e, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x00,
-       0x43, 0x2b, 0x2b, 0x20, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x20, 0x65, 0x78, 0x63, 0x65,
-       0x70, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x4f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x68, 0x65,
-       0x61, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x02,
-       0x00, 0x20, 0xff, 0xff, 0x00, 0x20, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x18, 0xf0, 0x9f, 0xe5,
-       0x18, 0xf0, 0x9f, 0xe5, 0x18, 0xf0, 0x9f, 0xe5, 0x18, 0xf0, 0x9f, 0xe5, 0x18, 0xf0, 0x9f, 0xe5,
-       0x18, 0xf0, 0x9f, 0xe5, 0x18, 0xf0, 0x9f, 0xe5, 0x18, 0xf0, 0x9f, 0xe5, 0x68, 0x12, 0x08, 0x00,
-       0x40, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
-       0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0xff, 0x40, 0x2d, 0xe9,
-       0xfe, 0xff, 0xff, 0xea, 0xff, 0x80, 0xfd, 0xe8, 0xfe, 0xff, 0xff, 0xea, 0x04, 0xe0, 0x4e, 0xe2,
-       0xff, 0x40, 0x2d, 0xe9, 0xfe, 0xff, 0xff, 0xea, 0xff, 0x80, 0xfd, 0xe8, 0x04, 0xe0, 0x4e, 0xe2,
-       0xff, 0x40, 0x2d, 0xe9, 0xfe, 0xff, 0xff, 0xea, 0xff, 0x80, 0xfd, 0xe8, 0xfe, 0xff, 0xff, 0xea,
-       0x04, 0xe0, 0x4e, 0xe2, 0x00, 0x40, 0x2d, 0xe9, 0x00, 0xe0, 0x4f, 0xe1, 0x1f, 0x40, 0x2d, 0xe9,
-       0x00, 0x00, 0x0f, 0xe1, 0x00, 0x20, 0xa0, 0xe1, 0xe0, 0x00, 0x00, 0xe2, 0x13, 0x00, 0x80, 0xe3,
-       0x00, 0xf0, 0x21, 0xe1, 0x04, 0x00, 0x2d, 0xe9, 0x8c, 0x30, 0x9f, 0xe5, 0x00, 0x40, 0x93, 0xe5,
-       0xff, 0x40, 0x04, 0xe2, 0x84, 0x30, 0x9f, 0xe5, 0x00, 0x00, 0x93, 0xe5, 0x00, 0x00, 0x10, 0xe1,
-       0x13, 0x00, 0x00, 0x0a, 0x78, 0x30, 0x9f, 0xe5, 0x00, 0x20, 0x93, 0xe5, 0x04, 0x00, 0x2d, 0xe9,
-       0x0f, 0x00, 0x50, 0xe3, 0x01, 0x00, 0x80, 0x12, 0x00, 0x00, 0x83, 0xe5, 0xff, 0x5f, 0x2d, 0xe9,
-       0x60, 0x20, 0x9f, 0xe5, 0x84, 0x11, 0xa0, 0xe1, 0x01, 0x20, 0x82, 0xe0, 0x01, 0x40, 0x2d, 0xe9,
-       0x04, 0x00, 0xa0, 0xe1, 0x0f, 0xe0, 0xa0, 0xe1, 0x04, 0xe0, 0x8e, 0xe2, 0x00, 0xf0, 0x92, 0xe5,
-       0x01, 0x40, 0xbd, 0xe8, 0xff, 0x5f, 0xbd, 0xe8, 0x04, 0x00, 0xbd, 0xe8, 0x30, 0x30, 0x9f, 0xe5,
-       0x00, 0x20, 0x83, 0xe5, 0x04, 0x00, 0xbd, 0xe8, 0x80, 0x20, 0x82, 0xe3, 0x02, 0xf0, 0x21, 0xe1,
-       0x01, 0x10, 0xa0, 0xe3, 0x20, 0x00, 0x9f, 0xe5, 0x00, 0x10, 0x80, 0xe5, 0x1f, 0x40, 0xbd, 0xe8,
-       0x0e, 0xf0, 0x69, 0xe1, 0x00, 0x80, 0xfd, 0xe8, 0xfe, 0xff, 0xff, 0xea, 0x84, 0x04, 0x00, 0xe0,
-       0x88, 0x04, 0x00, 0xe0, 0x70, 0x04, 0x00, 0xe0, 0x00, 0x30, 0xff, 0xff, 0x14, 0x00, 0x80, 0xf2,
-       0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0x2e, 0x82, 0x01, 0x82, 0x01, 0x82, 0x01,
-       0x82, 0x01, 0x82, 0x01, 0x02, 0xff, 0x01, 0x01, 0xed, 0x00, 0x00, 0x00
-};
\ No newline at end of file
diff --git a/board/samsung/p1p2/psi_ram.hex b/board/samsung/p1p2/psi_ram.hex
deleted file mode 100644 (file)
index c6e66f8..0000000
+++ /dev/null
@@ -1,938 +0,0 @@
-0000000    0d87    ea00    696c    5548    a001    fdfe    0007    0001
-0000010    ff00    0000    0210    0000    0200    0000    0204    0000
-0000020    ffff    ffff    ffff    ffff    fe00    0000    ffff    ffff
-0000030    0000    0008    ffff    fff7    0200    0008    4a43    544b
-0000040    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-0000050    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-0000060    0000    0000    0000    0000    0000    0000    0000    0000
-0000070    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-0000080    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-0000090    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-00000a0    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-00000b0    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-00000c0    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-00000d0    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-00000e0    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-00000f0    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-0000100    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-0000110    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-0000120    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-0000130    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-0000140    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-0000150    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-0000160    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-0000170    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-0000180    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-0000190    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-00001a0    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-00001b0    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-00001c0    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-00001d0    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-00001e0    ffff    ffff    ffff    ffff    ffff    ffff    ffff    ffff
-00001f0    ffff    ffff    ffff    ffff    ffff    ffff    dabe    02fe
-0000200    040b    ea00    0d06    ea00    0000    0000    0000    0000
-0000210    0000    0000    0000    0000    0000    0000    0000    0000
-0000220    0000    0000    0000    0000    0000    0000    0000    0000
-0000230    0000    0000    0000    0000    0000    0000    0000    0000
-0000240    0000    0000    0000    0000    0000    0000    0000    0000
-0000250    0000    0000    0000    0000    0000    0000    0000    0000
-0000260    0000    0000    0000    0000    0000    0000    0000    0000
-0000270    0000    0000    0000    0000    0000    0000    0000    0000
-0000280    0000    0000    0000    0000    0000    0000    0000    0000
-0000290    0000    0000    0000    0000    0000    0000    0000    0000
-00002a0    0000    0000    0000    0000    0000    0000    0000    0000
-00002b0    0000    0000    0000    0000    0000    0000    0000    0000
-00002c0    0000    0000    0000    0000    0000    0000    0000    0000
-00002d0    0000    0000    0000    0000    0000    0000    0000    0000
-00002e0    0000    0000    0000    0000    0000    0000    0000    0000
-00002f0    0000    0000    0000    0000    0000    0000    0000    0000
-0000300    0000    0000    0000    0000    0000    0000    0000    0000
-0000310    0000    0000    0000    0000    0000    0000    0000    0000
-0000320    0000    0000    0000    0000    0000    0000    0000    0000
-0000330    0000    0000    0000    0000    0000    0000    0000    0000
-0000340    0000    0000    0000    0000    0000    0000    0000    0000
-0000350    0000    0000    0000    0000    0000    0000    0000    0000
-0000360    0000    0000    0000    0000    0000    0000    0000    0000
-0000370    0000    0000    0000    0000    0000    0000    0000    0000
-0000380    0000    0000    0000    0000    0000    0000    0000    0000
-0000390    0000    0000    0000    0000    0000    0000    0000    0000
-00003a0    0000    0000    0000    0000    0000    0000    0000    0000
-00003b0    0000    0000    0000    0000    0000    0000    0000    0000
-00003c0    0000    0000    0000    0000    0000    0000    0000    0000
-00003d0    0000    0000    0000    0000    0000    0000    0000    0000
-00003e0    0000    0000    0000    0000    0000    0000    0000    0000
-00003f0    0000    0000    0000    0000    0000    0000    0000    0000
-0000400    0000    0000    0000    0000    0000    0000    0000    0000
-0000410    0000    0000    0000    0000    0000    0000    0000    0000
-0000420    0000    0000    0000    0000    0000    0000    0000    0000
-0000430    0000    0000    0000    0000    0000    0000    0000    0000
-0000440    0000    0000    0000    0000    0000    0000    0000    0000
-0000450    0000    0000    0000    0000    0000    0000    0000    0000
-0000460    0000    0000    0000    0000    0000    0000    0000    0000
-0000470    0000    0000    0000    0000    0000    0000    0000    0000
-0000480    0000    0000    0000    0000    0000    0000    0000    0000
-0000490    0000    0000    0000    0000    0000    0000    0000    0000
-00004a0    0000    0000    0000    0000    0000    0000    0000    0000
-00004b0    0000    0000    0000    0000    0000    0000    0000    0000
-00004c0    0000    0000    0000    0000    0000    0000    0000    0000
-00004d0    0000    0000    0000    0000    0000    0000    0000    0000
-00004e0    0000    0000    0000    0000    0000    0000    0000    0000
-00004f0    0000    0000    0000    0000    0000    0000    0000    0000
-0000500    0000    0000    0000    0000    0000    0000    0000    0000
-0000510    0000    0000    0000    0000    0000    0000    0000    0000
-0000520    0000    0000    0000    0000    0000    0000    0000    0000
-0000530    0000    0000    0000    0000    0000    0000    0000    0000
-0000540    0000    0000    0000    0000    0000    0000    0000    0000
-0000550    0000    0000    0000    0000    0000    0000    0000    0000
-0000560    0000    0000    0000    0000    0000    0000    0000    0000
-0000570    0000    0000    0000    0000    0000    0000    0000    0000
-0000580    0000    0000    0000    0000    0000    0000    0000    0000
-0000590    0000    0000    0000    0000    0000    0000    0000    0000
-00005a0    0000    0000    0000    0000    0000    0000    0000    0000
-00005b0    0000    0000    0000    0000    0000    0000    0000    0000
-00005c0    0000    0000    0000    0000    0000    0000    0000    0000
-00005d0    0000    0000    0000    0000    0000    0000    0000    0000
-00005e0    0000    0000    0000    0000    0000    0000    0000    0000
-00005f0    0000    0000    0000    0000    0000    0000    0000    0000
-0000600    0000    0000    0000    0000    0000    0000    0000    0000
-0000610    0000    0000    0000    0000    0000    0000    0000    0000
-0000620    0000    0000    0000    0000    0000    0000    0000    0000
-0000630    0000    0000    0000    0000    0000    0000    0000    0000
-0000640    0000    0000    0000    0000    0000    0000    0000    0000
-0000650    0000    0000    0000    0000    0000    0000    0000    0000
-0000660    0000    0000    0000    0000    0000    0000    0000    0000
-0000670    0000    0000    0000    0000    0000    0000    0000    0000
-0000680    0000    0000    0000    0000    0000    0000    0000    0000
-0000690    0000    0000    0000    0000    0000    0000    0000    0000
-00006a0    0000    0000    0000    0000    0000    0000    0000    0000
-00006b0    0000    0000    0000    0000    0000    0000    0000    0000
-00006c0    0000    0000    0000    0000    0000    0000    0000    0000
-00006d0    0000    0000    0000    0000    0000    0000    0000    0000
-00006e0    0000    0000    0000    0000    0000    0000    0000    0000
-00006f0    0000    0000    0000    0000    0000    0000    0000    0000
-0000700    0000    0000    0000    0000    0000    0000    0000    0000
-0000710    0000    0000    0000    0000    0000    0000    0000    0000
-0000720    0000    0000    0000    0000    0000    0000    0000    0000
-0000730    0000    0000    0000    0000    0000    0000    0000    0000
-0000740    0000    0000    0000    0000    0000    0000    0000    0000
-0000750    0000    0000    0000    0000    0000    0000    0000    0000
-0000760    0000    0000    0000    0000    0000    0000    0000    0000
-0000770    0000    0000    0000    0000    0000    0000    0000    0000
-0000780    0000    0000    0000    0000    0000    0000    0000    0000
-0000790    0000    0000    0000    0000    0000    0000    0000    0000
-00007a0    0000    0000    0000    0000    0000    0000    0000    0000
-00007b0    0000    0000    0000    0000    0000    0000    0000    0000
-00007c0    0000    0000    0000    0000    0000    0000    0000    0000
-00007d0    0000    0000    0000    0000    0000    0000    0000    0000
-00007e0    0000    0000    0000    0000    0000    0000    0000    0000
-00007f0    0000    0000    0000    0000    0000    0000    0000    0000
-0000800    0000    0000    0000    0000    0000    0000    0000    0000
-0000810    0000    0000    0000    0000    0000    0000    0000    0000
-0000820    0000    0000    0000    0000    0000    0000    0000    0000
-0000830    0000    0000    0000    0000    0000    0000    0000    0000
-0000840    0000    0000    0000    0000    0000    0000    0000    0000
-0000850    0000    0000    0000    0000    0000    0000    0000    0000
-0000860    0000    0000    0000    0000    0000    0000    0000    0000
-0000870    0000    0000    0000    0000    0000    0000    0000    0000
-0000880    0000    0000    0000    0000    0000    0000    0000    0000
-0000890    0000    0000    0000    0000    0000    0000    0000    0000
-00008a0    0000    0000    0000    0000    0000    0000    0000    0000
-00008b0    0000    0000    0000    0000    0000    0000    0000    0000
-00008c0    0000    0000    0000    0000    0000    0000    0000    0000
-00008d0    0000    0000    0000    0000    0000    0000    0000    0000
-00008e0    0000    0000    0000    0000    0000    0000    0000    0000
-00008f0    0000    0000    0000    0000    0000    0000    0000    0000
-0000900    0000    0000    0000    0000    0000    0000    0000    0000
-0000910    0000    0000    0000    0000    0000    0000    0000    0000
-0000920    0000    0000    0000    0000    0000    0000    0000    0000
-0000930    0000    0000    0000    0000    0000    0000    0000    0000
-0000940    0000    0000    0000    0000    0000    0000    0000    0000
-0000950    0000    0000    0000    0000    0000    0000    0000    0000
-0000960    0000    0000    0000    0000    0000    0000    0000    0000
-0000970    0000    0000    0000    0000    0000    0000    0000    0000
-0000980    0000    0000    0000    0000    0000    0000    0000    0000
-0000990    0000    0000    0000    0000    0000    0000    0000    0000
-00009a0    0000    0000    0000    0000    0000    0000    0000    0000
-00009b0    0000    0000    0000    0000    0000    0000    0000    0000
-00009c0    0000    0000    0000    0000    0000    0000    0000    0000
-00009d0    0000    0000    0000    0000    0000    0000    0000    0000
-00009e0    0000    0000    0000    0000    0000    0000    0000    0000
-00009f0    0000    0000    0000    0000    0000    0000    0000    0000
-0000a00    0000    0000    0000    0000    0000    0000    0000    0000
-0000a10    0000    0000    0000    0000    0000    0000    0000    0000
-0000a20    0000    0000    0000    0000    0000    0000    0000    0000
-0000a30    0000    0000    0000    0000    0000    0000    0000    0000
-0000a40    0000    0000    0000    0000    0000    0000    0000    0000
-0000a50    0000    0000    0000    0000    0000    0000    0000    0000
-0000a60    0000    0000    0000    0000    0000    0000    0000    0000
-0000a70    0000    0000    0000    0000    0000    0000    0000    0000
-0000a80    0000    0000    0000    0000    0000    0000    0000    0000
-0000a90    0000    0000    0000    0000    0000    0000    0000    0000
-0000aa0    0000    0000    0000    0000    0000    0000    0000    0000
-0000ab0    0000    0000    0000    0000    0000    0000    0000    0000
-0000ac0    0000    0000    0000    0000    0000    0000    0000    0000
-0000ad0    0000    0000    0000    0000    0000    0000    0000    0000
-0000ae0    0000    0000    0000    0000    0000    0000    0000    0000
-0000af0    0000    0000    0000    0000    0000    0000    0000    0000
-0000b00    0000    0000    0000    0000    0000    0000    0000    0000
-0000b10    0000    0000    0000    0000    0000    0000    0000    0000
-0000b20    0000    0000    0000    0000    0000    0000    0000    0000
-0000b30    0000    0000    0000    0000    0000    0000    0000    0000
-0000b40    0000    0000    0000    0000    0000    0000    0000    0000
-0000b50    0000    0000    0000    0000    0000    0000    0000    0000
-0000b60    0000    0000    0000    0000    0000    0000    0000    0000
-0000b70    0000    0000    0000    0000    0000    0000    0000    0000
-0000b80    0000    0000    0000    0000    0000    0000    0000    0000
-0000b90    0000    0000    0000    0000    0000    0000    0000    0000
-0000ba0    0000    0000    0000    0000    0000    0000    0000    0000
-0000bb0    0000    0000    0000    0000    0000    0000    0000    0000
-0000bc0    0000    0000    0000    0000    0000    0000    0000    0000
-0000bd0    0000    0000    0000    0000    0000    0000    0000    0000
-0000be0    0000    0000    0000    0000    0000    0000    0000    0000
-0000bf0    0000    0000    0000    0000    0000    0000    0000    0000
-0000c00    0000    0000    0000    0000    0000    0000    0000    0000
-0000c10    0000    0000    0000    0000    0000    0000    0000    0000
-0000c20    0000    0000    0000    0000    0000    0000    0000    0000
-0000c30    0000    0000    0000    0000    0000    0000    0000    0000
-0000c40    0000    0000    0000    0000    0000    0000    0000    0000
-0000c50    0000    0000    0000    0000    0000    0000    0000    0000
-0000c60    0000    0000    0000    0000    0000    0000    0000    0000
-0000c70    0000    0000    0000    0000    0000    0000    0000    0000
-0000c80    0000    0000    0000    0000    0000    0000    0000    0000
-0000c90    0000    0000    0000    0000    0000    0000    0000    0000
-0000ca0    0000    0000    0000    0000    0000    0000    0000    0000
-0000cb0    0000    0000    0000    0000    0000    0000    0000    0000
-0000cc0    0000    0000    0000    0000    0000    0000    0000    0000
-0000cd0    0000    0000    0000    0000    0000    0000    0000    0000
-0000ce0    0000    0000    0000    0000    0000    0000    0000    0000
-0000cf0    0000    0000    0000    0000    0000    0000    0000    0000
-0000d00    0000    0000    0000    0000    0000    0000    0000    0000
-0000d10    0000    0000    0000    0000    0000    0000    0000    0000
-0000d20    0000    0000    0000    0000    0000    0000    0000    0000
-0000d30    0000    0000    0000    0000    0000    0000    0000    0000
-0000d40    0000    0000    0000    0000    0000    0000    0000    0000
-0000d50    0000    0000    0000    0000    0000    0000    0000    0000
-0000d60    0000    0000    0000    0000    0000    0000    0000    0000
-0000d70    0000    0000    0000    0000    0000    0000    0000    0000
-0000d80    0000    0000    0000    0000    0000    0000    0000    0000
-0000d90    0000    0000    0000    0000    0000    0000    0000    0000
-0000da0    0000    0000    0000    0000    0000    0000    0000    0000
-0000db0    0000    0000    0000    0000    0000    0000    0000    0000
-0000dc0    0000    0000    0000    0000    0000    0000    0000    0000
-0000dd0    0000    0000    0000    0000    0000    0000    0000    0000
-0000de0    0000    0000    0000    0000    0000    0000    0000    0000
-0000df0    0000    0000    0000    0000    0000    0000    0000    0000
-0000e00    0000    0000    0000    0000    0000    0000    0000    0000
-0000e10    0000    0000    0000    0000    0000    0000    0000    0000
-0000e20    0000    0000    0000    0000    0000    0000    0000    0000
-0000e30    0000    0000    0000    0000    0000    0000    0000    0000
-0000e40    0000    0000    0000    0000    0000    0000    0000    0000
-0000e50    0000    0000    0000    0000    0000    0000    0000    0000
-0000e60    0000    0000    0000    0000    0000    0000    0000    0000
-0000e70    0000    0000    0000    0000    0000    0000    0000    0000
-0000e80    0000    0000    0000    0000    0000    0000    0000    0000
-0000e90    0000    0000    0000    0000    0000    0000    0000    0000
-0000ea0    0000    0000    0000    0000    0000    0000    0000    0000
-0000eb0    0000    0000    0000    0000    0000    0000    0000    0000
-0000ec0    0000    0000    0000    0000    0000    0000    0000    0000
-0000ed0    0000    0000    0000    0000    0000    0000    0000    0000
-0000ee0    0000    0000    0000    0000    0000    0000    0000    0000
-0000ef0    0000    0000    0000    0000    0000    0000    0000    0000
-0000f00    0000    0000    0000    0000    0000    0000    0000    0000
-0000f10    0000    0000    0000    0000    0000    0000    0000    0000
-0000f20    0000    0000    0000    0000    0000    0000    0000    0000
-0000f30    0000    0000    0000    0000    0000    0000    0000    0000
-0000f40    0000    0000    0000    0000    0000    0000    0000    0000
-0000f50    0000    0000    0000    0000    0000    0000    0000    0000
-0000f60    0000    0000    0000    0000    0000    0000    0000    0000
-0000f70    0000    0000    0000    0000    0000    0000    0000    0000
-0000f80    0000    0000    0000    0000    0000    0000    0000    0000
-0000f90    0000    0000    0000    0000    0000    0000    0000    0000
-0000fa0    0000    0000    0000    0000    0000    0000    0000    0000
-0000fb0    0000    0000    0000    0000    0000    0000    0000    0000
-0000fc0    0000    0000    0000    0000    0000    0000    0000    0000
-0000fd0    0000    0000    0000    0000    0000    0000    0000    0000
-0000fe0    0000    0000    0000    0000    0000    0000    0000    0000
-0000ff0    0000    0000    0000    0000    0000    0000    0000    0000
-0001000    0000    0000    0000    0000    0000    0000    0000    0000
-0001010    0000    0000    0000    0000    0000    0000    0000    0000
-0001020    0000    0000    0000    0000    0000    0000    0000    0000
-0001030    0000    0000    0000    0000    0000    0000    0000    0000
-0001040    0000    0000    0000    0000    0000    0000    0000    0000
-0001050    0000    0000    0000    0000    0000    0000    0000    0000
-0001060    0000    0000    0000    0000    0000    0000    0000    0000
-0001070    0000    0000    0000    0000    0000    0000    0000    0000
-0001080    0000    0000    0000    0000    0000    0000    0000    0000
-0001090    0000    0000    0000    0000    0000    0000    0000    0000
-00010a0    0000    0000    0000    0000    0000    0000    0000    0000
-00010b0    0000    0000    0000    0000    0000    0000    0000    0000
-00010c0    0000    0000    0000    0000    0000    0000    0000    0000
-00010d0    0000    0000    0000    0000    0000    0000    0000    0000
-00010e0    0000    0000    0000    0000    0000    0000    0000    0000
-00010f0    0000    0000    0000    0000    0000    0000    0000    0000
-0001100    0000    ea00    0665    ea00    0028    e28f    0c00    e890
-0001110    a000    e08a    7001    e24a    b000    e08b    000b    e15a
-0001120    065e    0a00    000f    e8ba    e014    e24f    0001    e313
-0001130    f003    1047    f003    e1a0    00ac    0000    00fc    0000
-0001140    2001    e082    4001    e4d0    500f    e214    5001    04d0
-0001150    4224    e1b0    4001    04d0    5001    e255    0003    0a00
-0001160    3001    e4d0    5001    e255    3001    e4c1    fffb    1aff
-0001170    4001    e254    0002    0a00    4001    e254    5001    e4c1
-0001180    fffc    1aff    0002    e151    ffed    3aff    f00e    e1a0
-0001190    2010    e252    0078    28b0    0078    28a1    fffb    8aff
-00011a0    2e82    e1b0    0030    28b0    0030    28a1    4000    4590
-00011b0    4000    4581    f00e    e1a0    3000    e3a0    4000    e3a0
-00011c0    5000    e3a0    6000    e3a0    2010    e252    0078    28a1
-00011d0    fffc    8aff    2e82    e1b0    0030    28a1    3000    4581
-00011e0    f00e    e1a0    393c    0008    0000    0000    0074    0000
-00011f0    1190    0008    39b0    0008    0000    ffff    00d0    0000
-0001200    1190    0008    3a80    0008    3000    ffff    0638    0000
-0001210    1140    0008    393c    0008    393c    0008    0140    0000
-0001220    11b8    0008    3a9c    0008    3638    ffff    0004    0000
-0001230    11b8    0008    4010    e92d    f000    e320    101c    e59f
-0001240    1078    e591    1102    e201    2102    e3a0    0fa1    e182
-0001250    1008    e59f    0078    e581    001d    eb00    8010    e8bd
-0001260    0000    e490    0000    0000    002c    e59f    1000    e3a0
-0001270    1000    e580    001a    eb00    0008    eb00    0f10    ee11
-0001280    0a01    e3c0    0f10    ee01    0000    e10f    0080    e3c0
-0001290    f000    e121    ff99    eaff    fffe    eaff    007c    e490
-00012a0    0f11    ee19    1020    e59f    0001    e180    0001    e380
-00012b0    0f11    ee09    0f31    ee19    1010    e59f    0001    e180
-00012c0    0001    e380    0f31    ee09    ff1e    e12f    3000    ffff
-00012d0    0000    ffff    4010    e92d    01b7    eb00    ffe1    ebff
-00012e0    8010    e8bd    1000    e10f    00a4    e59f    0007    e3c0
-00012f0    2000    e10f    201f    e3c2    2012    e382    f002    e12f
-0001300    d000    e1a0    0088    e59f    0007    e3c0    2000    e10f
-0001310    201f    e3c2    2011    e382    f002    e12f    d000    e1a0
-0001320    0070    e59f    0007    e3c0    2000    e10f    201f    e3c2
-0001330    201b    e382    f002    e12f    d000    e1a0    0058    e59f
-0001340    2000    e10f    201f    e3c2    2017    e382    f002    e12f
-0001350    d000    e1a0    0044    e59f    0007    e3c0    2000    e10f
-0001360    201f    e3c2    2013    e382    f002    e12f    d000    e1a0
-0001370    002c    e59f    0007    e3c0    2000    e10f    201f    e3c2
-0001380    201f    e382    f002    e12f    d000    e1a0    f001    e12f
-0001390    ff1e    e12f    d280    0009    e400    0009    d100    0009
-00013a0    e280    0009    e300    0009    3004    e59f    3003    e08f
-00013b0    f003    e1a0    227c    0000    4010    e92d    0277    eb00
-00013c0    04b0    eb00    8010    e8bd    4077    e92d    d004    e24d
-00013d0    5001    e1a0    4002    e1a0    0004    e5dd    0004    e350
-00013e0    0004    ba00    0004    e5dd    00c6    e350    0001    ca00
-00013f0    0001    e3a0    0000    ea00    0000    e3a0    0000    e350
-0001400    0009    1a00    3f97    e28f    3000    e58d    3081    e3a0
-0001410    2004    e28d    1001    e3a0    0274    e59f    03ad    eb00
-0001420    0001    e3e0    d010    e28d    8070    e8bd    0000    e354
-0001430    0003    0a00    025c    e59f    1004    e5dd    0181    e790
-0001440    0000    e584    024c    e59f    1004    e5dd    5181    e780
-0001450    0000    e3a0    fff2    eaff    4011    e92d    d004    e24d
-0001460    0004    e5dd    0004    e350    0004    ba00    0004    e5dd
-0001470    00c6    e350    0001    ca00    0001    e3a0    0000    ea00
-0001480    0000    e3a0    0000    e350    0008    1a00    3f75    e28f
-0001490    3000    e58d    30c4    e3a0    2004    e28d    1001    e3a0
-00014a0    01ec    e59f    038b    eb00    0001    e3e0    801c    e8bd
-00014b0    0001    e3a0    11dc    e59f    2004    e5dd    1182    e081
-00014c0    0004    e5c1    0004    e5dd    21c8    e59f    2180    e082
-00014d0    1005    e5d2    21c0    e59f    1100    e782    f000    e320
-00014e0    01b8    e59f    0000    e590    0000    e350    0008    1a00
-00014f0    f000    e320    0050    e242    0480    e590    0001    e380
-0001500    1050    e242    0480    e581    0001    e3a0    118c    e59f
-0001510    0000    e581    0000    e3a0    ffe3    eaff    4011    e92d
-0001520    d004    e24d    0004    e5dd    0004    e350    0004    ba00
-0001530    0004    e5dd    00c6    e350    0001    ca00    0001    e3a0
-0001540    0000    ea00    0000    e3a0    0000    e350    0008    1a00
-0001550    3e11    e28f    3000    e58d    30de    e3a0    2004    e28d
-0001560    1001    e3a0    0128    e59f    035a    eb00    0001    e3e0
-0001570    801c    e8bd    0000    e3a0    1118    e59f    2004    e5dd
-0001580    1182    e081    0004    e5c1    0004    e5dd    1108    e59f
-0001590    2000    e3a0    2100    e781    f000    e320    0000    e3a0
-00015a0    fff2    eaff    4077    e92d    d004    e24d    4001    e1a0
-00015b0    5002    e1a0    0004    e5dd    0004    e350    0004    ba00
-00015c0    0004    e5dd    00c6    e350    0001    ca00    0001    e3a0
-00015d0    0000    ea00    0000    e3a0    0000    e350    0008    0a00
-00015e0    0000    e354    0003    ba00    000f    e354    0001    ca00
-00015f0    0001    e3a0    0000    ea00    0000    e3a0    0000    e350
-0001600    0009    1a00    305c    e28f    3000    e58d    30a7    e3a0
-0001610    2004    e28d    1001    e3a0    0074    e59f    032d    eb00
-0001620    0001    e3e0    d010    e28d    8070    e8bd    0000    e355
-0001630    0004    0a00    005c    e59f    1004    e5dd    0181    e080
-0001640    0005    e5d0    0000    e585    0000    e354    0002    1a00
-0001650    0004    e5dd    ffb0    ebff    fff1    eaff    0004    e5dd
-0001660    ff7c    ebff    ffee    eaff    7764    7464    6f6f    736c
-0001670    6372    625c    6f6f    6374    726f    5c65    7264    7669
-0001680    7265    5c73    6349    5c75    7273    5c63    6369    2e75
-0001690    0063    0000    08fc    0000    3000    ffff    0050    e000
-00016a0    3638    ffff    f000    e320    0228    e59f    0488    e590
-00016b0    000f    e200    0000    e350    0001    0a00    0001    e3a0
-00016c0    0000    ea00    0000    e3a0    ff1e    e12f    0000    e3a0
-00016d0    ff1e    e12f    40f3    e92d    d004    e24d    4001    e1a0
-00016e0    0004    e5dd    0004    e350    0004    ba00    0004    e5dd
-00016f0    00c6    e350    0001    ca00    0001    e3a0    0000    ea00
-0001700    0000    e3a0    0000    e350    0008    1a00    30ac    e24f
-0001710    3000    e58d    3f45    e3a0    2004    e28d    1001    e3a0
-0001720    0094    e51f    02eb    eb00    0001    e3e0    80fe    e8bd
-0001730    2004    e5dd    0000    e354    0001    0a00    0001    e3a0
-0001740    0000    ea00    0000    e3a0    c000    e1a0    0184    e59f
-0001750    12a2    e1a0    301f    e202    0000    e35c    0004    0a00
-0001760    e101    e790    5001    e3a0    e315    e18e    e101    e780
-0001770    0004    ea00    e101    e790    5001    e3a0    5315    e1e0
-0001780    e005    e00e    e101    e780    f000    e320    f000    e320
-0001790    0000    e3a0    ffe4    eaff    0000    e3a0    ff1e    e12f
-00017a0    4010    e92d    4004    e3a0    0008    ea00    011c    e51f
-00017b0    0184    e080    0004    e5d0    0000    e350    0001    0a00
-00017c0    0004    e1a0    ff23    ebff    0001    e284    40ff    e200
-00017d0    00c6    e354    fff4    daff    0140    e51f    0000    e590
-00017e0    0000    e350    0006    0a00    f000    e320    00e4    e59f
-00017f0    0480    e590    0001    e380    10d8    e59f    0480    e581
-0001800    f000    e320    0000    e3a0    8010    e8bd    1000    e1a0
-0001810    0000    e3a0    ff1e    e12f    4071    e92d    d004    e24d
-0001820    4000    e3a0    0004    e5dd    000f    e350    0007    da00
-0001830    3e1d    e24f    3000    e58d    309c    e59f    2004    e28d
-0001840    1001    e3a0    01b8    e51f    02a2    eb00    0010    ea00
-0001850    0334    eb00    5000    e1a0    f000    e320    0074    e59f
-0001860    0470    e590    000f    e200    4000    e1a0    0004    e5dd
-0001870    1060    e59f    1470    e591    100f    e3c1    200f    e200
-0001880    1002    e181    204c    e59f    1470    e582    0005    e1a0
-0001890    0330    eb00    0004    e1a0    807c    e8bd    0000    e3a0
-00018a0    0000    e10f    03a0    e1e0    0001    e200    ff1e    e12f
-00018b0    0000    e3a0    1000    e3a0    0000    e10f    1080    e380
-00018c0    f001    e121    03a0    e1e0    0001    e200    1000    e1a0
-00018d0    0001    e1a0    ff1e    e12f    0000    e000    017b    0000
-00018e0    f000    e320    3280    e59f    3024    e593    1003    e1a0
-00018f0    f000    e320    3270    e59f    3024    e593    3001    e203
-0001900    0000    e353    0003    0a00    f000    e320    3258    e59f
-0001910    002c    e593    0003    ea00    f000    e320    3248    e59f
-0001920    0028    e593    f000    e320    3cff    e3c1    30fe    e3c3
-0001930    c00c    e200    300c    e183    20f0    e383    f000    e320
-0001940    3224    e59f    2024    e583    ff1e    e12f    4010    e92d
-0001950    ffe2    ebff    f000    e320    020c    e59f    0024    e590
-0001960    4000    e1a0    4074    e6ff    40f0    e384    4002    e384
-0001970    4001    e3c4    f000    e320    01ec    e59f    4024    e580
-0001980    8010    e8bd    4010    e92d    ffd4    ebff    f000    e320
-0001990    01d4    e59f    0024    e590    4000    e1a0    4074    e6ff
-00019a0    40f0    e384    4002    e384    4001    e384    f000    e320
-00019b0    01b4    e59f    4024    e580    8010    e8bd    e004    e52d
-00019c0    ffe1    ebff    f000    e320    019c    e59f    0028    e590
-00019d0    0004    e3c0    1000    e3a0    2004    e3a0    1101    e002
-00019e0    0001    e180    1180    e59f    0028    e581    f000    e320
-00019f0    0000    e281    0028    e590    0008    e3c0    1001    e3a0
-0001a00    2008    e3a0    1181    e002    0001    e180    1158    e59f
-0001a10    0028    e581    ffda    ebff    f004    e49d    f000    e320
-0001a20    0144    e59f    0060    e590    0800    e1a0    0c20    e1a0
-0001a30    ff1e    e12f    4070    e92d    5000    e1a0    4001    e1a0
-0001a40    6000    e3a0    0001    e355    0004    0a00    0002    e355
-0001a50    0005    0a00    0003    e355    0009    1a00    0005    ea00
-0001a60    f000    e320    f000    e320    0007    ea00    f000    e320
-0001a70    6202    e386    0004    ea00    f000    e320    6203    e386
-0001a80    0001    ea00    f000    e320    f000    e320    f000    e320
-0001a90    0001    e314    0000    0a00    6010    e386    0002    e314
-0001aa0    0000    0a00    6008    e386    0004    e314    0000    0a00
-0001ab0    6004    e386    0008    e314    0000    0a00    6001    e386
-0001ac0    0298    eb00    ffa0    ebff    f000    e320    0098    e59f
-0001ad0    6014    e580    f000    e320    fffe    eaff    4010    e92d
-0001ae0    400f    e3a0    1004    e1a0    0001    e3a0    ffd0    ebff
-0001af0    8010    e8bd    f000    e320    006c    e59f    0718    e590
-0001b00    0003    e200    0001    e350    0005    0a00    f000    e320
-0001b10    0054    e59f    0718    e590    0003    e200    0003    e350
-0001b20    0001    1a00    0001    e3a0    ff1e    e12f    0000    e3a0
-0001b30    fffc    eaff    f000    e320    002c    e59f    0078    e590
-0001b40    ff1e    e12f    f000    e320    101c    e59f    0078    e581
-0001b50    ff1e    e12f    f000    e320    000c    e59f    0010    e590
-0001b60    0600    e1a0    0e20    e1a0    ff1e    e12f    0000    e490
-0001b70    f000    e320    0148    e59f    0000    e590    0c01    e350
-0001b80    0004    0a00    f000    e320    0c01    e3a0    1130    e59f
-0001b90    0000    e581    f000    e320    ff1e    e12f    f000    e320
-0001ba0    0003    e3a0    1118    e59f    0000    e581    ff1e    e12f
-0001bb0    4070    e92d    f000    e320    0104    e59f    0024    e590
-0001bc0    5000    e1a0    10fc    e59f    04f3    eb00    4000    e1a0
-0001bd0    00f4    e59f    0008    e590    0000    e350    000b    0a00
-0001be0    00e4    e59f    0004    e590    0004    e150    0003    8a00
-0001bf0    00d4    e59f    0000    e590    0004    e150    0001    8a00
-0001c00    0000    e3a0    8070    e8bd    0001    e3a0    fffc    eaff
-0001c10    00b4    e59f    0004    e590    0004    e150    0001    9a00
-0001c20    0000    e3a0    fff6    eaff    0001    e3a0    fff4    eaff
-0001c30    4070    e92d    4000    e1a0    ffcc    ebff    f000    e320
-0001c40    007c    e59f    0024    e590    5000    e1a0    1074    e59f
-0001c50    04d1    eb00    1070    e59f    0000    e581    0000    e281
-0001c60    0000    e590    0004    e080    0004    e581    0000    e281
-0001c70    0004    e590    1000    e591    0001    e150    0003    9a00
-0001c80    0000    e3a0    1040    e59f    0008    e581    0002    ea00
-0001c90    0001    e3a0    1030    e59f    0008    e581    8070    e8bd
-0001ca0    4010    e92d    4000    e1a0    0004    e1a0    ffdf    ebff
-0001cb0    f000    e320    ffbd    ebff    0000    e350    fffc    0aff
-0001cc0    8010    e8bd    0000    e450    0659    0000    393c    0008
-0001cd0    4010    e92d    ff86    ebff    8010    e8bd    4010    e92d
-0001ce0    ff93    ebff    4000    e1a0    0007    e3a0    0e24    e000
-0001cf0    8010    e8bd    4010    e92d    4000    e3a0    ff8c    ebff
-0001d00    4000    e1a0    460e    e3c4    0004    e1a0    ff8c    ebff
-0001d10    8010    e8bd    41f0    e92d    4000    e1a0    5000    e3a0
-0001d20    7000    e3a0    6004    e1a0    4006    e1a0    6007    e206
-0001d30    ff7f    ebff    5000    e1a0    560e    e3c5    7a86    e185
-0001d40    0007    e1a0    ff7e    ebff    81f0    e8bd    4070    e92d
-0001d50    5000    e3a0    4000    e3a0    ff75    ebff    5000    e1a0
-0001d60    0007    e3a0    4aa5    e000    0004    e1a0    8070    e8bd
-0001d70    4070    e92d    5000    e3a0    4000    e3a0    ff6c    ebff
-0001d80    5000    e1a0    0007    e3a0    4e25    e000    0004    e1a0
-0001d90    8070    e8bd    4010    e92d    ff4f    ebff    8010    e8bd
-0001da0    4010    e92d    0525    eb00    04a1    eb00    8010    e8bd
-0001db0    4010    e92d    4000    e3a0    ff65    ebff    0001    e350
-0001dc0    0004    0a00    0002    e350    000c    0a00    0003    e350
-0001dd0    001e    1a00    0013    ea00    f000    e320    f000    e320
-0001de0    008c    e59f    0010    e590    0900    e1a0    0fa0    e1a0
-0001df0    0000    e350    0000    1a00    4001    e3a0    0016    ea00
-0001e00    f000    e320    f000    e320    0064    e59f    0010    e590
-0001e10    0900    e1a0    0fa0    e1a0    0001    e350    0000    1a00
-0001e20    4002    e3a0    000c    ea00    f000    e320    f000    e320
-0001e30    003c    e59f    0010    e590    0900    e1a0    0fa0    e1a0
-0001e40    0000    e350    0000    1a00    4003    e3a0    0002    ea00
-0001e50    f000    e320    4000    e3a0    f000    e320    f000    e320
-0001e60    0004    e1a0    8010    e8bd    2000    e1a0    0000    e3a0
-0001e70    ff1e    e12f    0000    e800    f000    e320    fffe    eaff
-0001e80    f000    e320    fffe    eaff    f000    e320    fffe    eaff
-0001e90    f000    e320    fffe    eaff    20ff    e3a0    1000    e3a0
-0001ea0    0000    e350    0003    1a00    0000    ea00    1001    e281
-0001eb0    0000    e352    fffc    caff    2001    e1a0    ff1e    e12f
-0001ec0    4010    e92d    4000    e1a0    0004    e1a0    fff1    ebff
-0001ed0    8010    e8bd    403f    e92d    e000    e1a0    c001    e1a0
-0001ee0    4002    e1a0    5003    e1a0    0000    e3a0    0000    e58d
-0001ef0    c004    e58d    0008    e58d    000c    e58d    000f    e89d
-0001f00    d010    e28d    8030    e8bd    e004    e52d    c000    e1a0
-0001f10    0000    e3e0    0005    e351    f101    908f    0017    ea00
-0001f20    0004    ea00    0006    ea00    0008    ea00    000d    ea00
-0001f30    000f    ea00    0008    ea00    f000    e320    0000    e3e0
-0001f40    0010    ea00    f000    e320    0000    e3e0    000d    ea00
-0001f50    f000    e320    0000    e3e0    000a    ea00    f000    e320
-0001f60    0000    e3e0    0007    ea00    f000    e320    0000    e3e0
-0001f70    0004    ea00    f000    e320    0000    e3e0    0001    ea00
-0001f80    f000    e320    f000    e320    f000    e320    f004    e49d
-0001f90    4070    e92d    4000    e1a0    5000    e3e0    000c    e594
-0001fa0    0000    e350    0002    0a00    000c    e594    ff30    e12f
-0001fb0    5000    e1a0    0005    e1a0    8070    e8bd    41f0    e92d
-0001fc0    4000    e1a0    6001    e1a0    7002    e1a0    8003    e1a0
-0001fd0    5000    e3e0    0010    e594    0000    e350    0005    0a00
-0001fe0    2008    e1a0    1007    e1a0    0006    e1a0    3010    e594
-0001ff0    ff33    e12f    5000    e1a0    0005    e1a0    81f0    e8bd
-0002000    41f0    e92d    4000    e1a0    6001    e1a0    7002    e1a0
-0002010    8003    e1a0    5000    e3e0    0014    e594    0000    e350
-0002020    0005    0a00    2008    e1a0    1007    e1a0    0006    e1a0
-0002030    3014    e594    ff33    e12f    5000    e1a0    0005    e1a0
-0002040    81f0    e8bd    41f0    e92d    4000    e1a0    6001    e1a0
-0002050    7002    e1a0    5000    e3e0    0018    e594    0000    e350
-0002060    0004    0a00    1007    e1a0    0006    e1a0    2018    e594
-0002070    ff32    e12f    5000    e1a0    0005    e1a0    81f0    e8bd
-0002080    4010    e92d    4000    e1a0    001c    e594    0000    e350
-0002090    0001    0a00    001c    e594    ff30    e12f    8010    e8bd
-00020a0    4010    e92d    1070    e3a0    01c8    e59f    01a4    eb00
-00020b0    0000    e3a0    8010    e8bd    4070    e92d    2000    e1a0
-00020c0    c000    e3a0    3000    e3a0    e000    e3a0    0000    e3e0
-00020d0    40ff    e3a0    5004    e592    0001    e155    0020    3a00
-00020e0    e004    e592    518c    e59f    2000    e585    c000    e592
-00020f0    3001    e3a0    0012    ea00    0001    e15e    000f    3a00
-0002100    5174    e59f    5203    e085    c00c    e585    5168    e59f
-0002110    5203    e085    1004    e585    5000    e3a0    6158    e59f
-0002120    6203    e086    5008    e586    614c    e59f    5203    e786
-0002130    c001    e08c    e001    e04e    3001    e283    0000    ea00
-0002140    4000    e3a0    0000    e354    0001    0a00    0004    e353
-0002150    ffe8    3aff    5001    e243    6118    e59f    5044    e586
-0002160    0000    e3a0    5000    e3a0    6108    e59f    5048    e586
-0002170    50ff    e3a0    504c    e586    8070    e8bd    0000    e3a0
-0002180    1000    e3a0    20ec    e59f    204c    e592    00ff    e352
-0002190    0019    1a00    1001    e3a0    0000    ea00    1001    e281
-00021a0    20d4    e59f    2201    e082    2008    e592    00ff    e352
-00021b0    fff9    0aff    20bc    e59f    2044    e592    0001    e152
-00021c0    000a    3a00    20b0    e59f    0201    e082    1000    e580
-00021d0    20ff    e3a0    2008    e580    20a0    e59f    2101    e792
-00021e0    2001    e282    3094    e59f    2101    e783    0002    ea00
-00021f0    20ff    e3a0    307c    e59f    2048    e583    ff1e    e12f
-0002200    1000    e1a0    0000    e3a0    2068    e59f    204c    e592
-0002210    00ff    e352    0015    1a00    3058    e59f    2000    e591
-0002220    3044    e593    0003    e152    0001    9a00    0000    e3e0
-0002230    000f    ea00    3048    e59f    2000    e591    2102    e793
-0002240    2001    e282    c000    e283    3000    e591    2103    e78c
-0002250    2000    e3a0    c05c    e24c    3000    e591    3203    e08c
-0002260    2008    e583    3000    e591    2203    e78c    0000    ea00
-0002270    0000    e3e0    ff1e    e12f    3948    0008    394c    0008
-0002280    3998    0008    39a8    0008    30ff    e3a0    f000    e320
-0002290    0000    e353    fffd    caff    ff1e    e12f    20ff    e3a0
-00022a0    f000    e320    0000    e352    fffd    caff    ff1e    e12f
-00022b0    ff1e    e12f    4070    e92d    4000    e1a0    5001    e1a0
-00022c0    6002    e1a0    2006    e1a0    1005    e1a0    0004    e1a0
-00022d0    ffec    ebff    8070    e8bd    47f0    e92d    4000    e1a0
-00022e0    5001    e1a0    6002    e1a0    9003    e1a0    7020    e59d
-00022f0    80ff    e3a0    0000    e357    0003    1a00    1078    e28f
-0002300    007c    e59f    013e    eb00    000b    ea00    0007    e1a0
-0002310    0170    eb00    0016    e350    0003    9a00    0007    e1a0
-0002320    016c    eb00    0015    e240    7007    e080    2016    e3a0
-0002330    1007    e1a0    0048    e59f    014b    eb00    1006    e1a0
-0002340    0005    e1a0    ffd4    ebff    0038    e59f    40b0    e1c0
-0002350    f000    e320    0000    e358    fffd    caff    87f0    e8bd
-0002360    4010    e92d    c008    e59d    e0ff    e3a0    f000    e320
-0002370    0000    e35e    fffd    caff    8010    e8bd    554e    4c4c
-0002380    0000    0000    39b8    0008    3938    0008    0000    e3a0
-0002390    ff1e    e12f    ff1e    e12f    ff1e    e12f    1000    e1a0
-00023a0    0004    e351    0003    ba00    00c6    e351    0001    ca00
-00023b0    2001    e3a0    0000    ea00    2000    e3a0    0002    e1a0
-00023c0    ff1e    e12f    47f0    e92d    4000    e1a0    5001    e1a0
-00023d0    6002    e1a0    7003    e1a0    a020    e59d    8004    e1a0
-00023e0    9000    e3a0    4008    e1b0    0001    1a00    0064    e3e0
-00023f0    87f0    e8bd    0000    e355    0005    0a00    0000    e357
-0002400    0003    0a00    0006    e1a0    ffe3    ebff    0000    e350
-0002410    0001    1a00    0004    e3e0    fff4    eaff    2008    e288
-0002420    1007    e1a0    0006    e1a0    fbe6    ebff    0000    e350
-0002430    0005    1a00    2008    e3a0    1005    e1a0    0008    e1a0
-0002440    00d5    eb00    600c    e5c8    0000    ea00    9000    e3e0
-0002450    0009    e1a0    ffe5    eaff    43f8    e92d    4000    e1a0
-0002460    5004    e1a0    6000    e3a0    4005    e1b0    0001    1a00
-0002470    0064    e3e0    83f8    e8bd    800c    e5d5    7008    e595
-0002480    200d    e1a0    1007    e1a0    0008    e1a0    fbcd    ebff
-0002490    0000    e350    0002    1a00    0000    e3a0    0000    e585
-00024a0    0000    ea00    6000    e3e0    0006    e1a0    fff0    eaff
-00024b0    4070    e92d    4000    e1a0    5004    e1a0    6000    e3a0
-00024c0    4005    e1b0    0001    1a00    0064    e3e0    8070    e8bd
-00024d0    000c    e5d5    fc10    ebff    0000    e350    0000    0a00
-00024e0    6000    e3e0    0006    e1a0    fff7    eaff    4070    e92d
-00024f0    4000    e1a0    5004    e1a0    6000    e3a0    4005    e1b0
-0002500    0001    1a00    0064    e3e0    8070    e8bd    000c    e5d5
-0002510    fbd0    ebff    0000    e350    0000    0a00    6000    e3e0
-0002520    0006    e1a0    fff7    eaff    4070    e92d    5000    e3a0
-0002530    4000    e3a0    fcdd    ebff    4000    e1a0    0000    e354
-0002540    0001    0a00    5001    e3a0    0000    ea00    5000    e3a0
-0002550    0005    e1a0    8070    e8bd    4010    e92d    4000    e1a0
-0002560    0000    e354    0000    0a00    fccb    ebff    8010    e8bd
-0002570    f000    e320    0194    e59f    021c    e590    0902    e3c0
-0002580    1000    e3a0    2902    e3a0    1781    e002    0001    e180
-0002590    1178    e59f    021c    e581    f000    e320    0000    e281
-00025a0    021c    e590    0b01    e3c0    1000    e3a0    2b01    e3a0
-00025b0    1501    e002    0001    e180    1150    e59f    021c    e581
-00025c0    f000    e320    0000    e281    021c    e590    0a06    e3c0
-00025d0    1000    e3a0    2a06    e3a0    1681    e002    0001    e180
-00025e0    1128    e59f    021c    e581    f000    e320    0000    e281
-00025f0    021c    e590    0c01    e3c0    1001    e3a0    2c01    e3a0
-0002600    1401    e002    0001    e180    1100    e59f    021c    e581
-0002610    f000    e320    0000    e281    021c    e590    0008    e3c0
-0002620    1000    e3a0    2008    e3a0    1181    e002    0001    e180
-0002630    10d8    e59f    021c    e581    ff1e    e12f    f000    e320
-0002640    00c8    e59f    061c    e590    0b00    e1a0    0fa0    e1a0
-0002650    ff1e    e12f    e004    e52d    1000    e1a0    f000    e320
-0002660    fff5    ebff    0000    e350    fffc    1aff    00a0    e59f
-0002670    0840    e590    0000    e581    f004    e49d    1090    e59f
-0002680    0820    e581    ff1e    e12f    40f8    e92d    ffb7    ebff
-0002690    0080    e59f    fff8    ebff    000d    e1a0    ffec    ebff
-00026a0    0000    e59d    1070    e59f    0001    e150    0001    0a00
-00026b0    0001    e3a0    001c    eb00    5462    e3a0    4206    e3a0
-00026c0    673f    e284    6bfe    e286    0001    ea00    0004    e495
-00026d0    0004    e484    0006    e154    fffb    3aff    000d    e1a0
-00026e0    ffdb    ebff    0000    e59d    1030    e59f    0001    e150
-00026f0    0001    0a00    0001    e3a0    000b    eb00    fc6b    ebff
-0002700    701c    e59f    ff37    e12f    f000    e320    fffe    eaff
-0002710    0000    e480    f000    62ff    1234    1234    4567    4567
-0002720    89ef    89ef    0000    6010    f00e    e1a0    4010    e92d
-0002730    4000    e1a0    0000    e1a0    0004    e1a0    4010    e8bd
-0002740    00e1    ea00    2000    e3a0    1020    e251    4000    e92d
-0002750    e002    e1a0    3002    e1a0    c002    e1a0    500c    28a0
-0002760    500c    28a0    1020    2251    fffb    2aff    1e01    e1b0
-0002770    500c    28a0    000c    48a0    1101    e1b0    4000    e8bd
-0002780    2004    2480    f00e    01a0    2001    44c0    2001    44c0
-0002790    0101    e311    2001    14c0    f00e    e1a0    0003    e352
-00027a0    00e4    9a00    c003    e210    0008    0a00    3001    e4d1
-00027b0    0002    e35c    200c    e082    c001    94d1    3001    e4c0
-00027c0    3001    34d1    c001    94c0    2004    e242    3001    34c0
-00027d0    3003    e211    00c4    0a00    2008    e252    0004    3a00
-00027e0    3004    e491    c004    e491    3004    e480    c004    e480
-00027f0    fff8    eaff    2004    e292    3004    5491    3004    5480
-0002800    00cc    ea00    3001    e180    0003    e313    2000    e1a0
-0002810    e004    e52d    000b    1a00    c048    e59f    3004    e491
-0002820    e00c    e043    e003    e1ce    038c    e11e    3004    0482
-0002830    fff9    0aff    10ff    e213    3423    11a0    1001    e4c2
-0002840    fffb    1aff    f004    e49d    3001    e4d1    0000    e353
-0002850    3001    e4c2    3001    14d1    3001    14c2    0000    1353
-0002860    fff8    1aff    f004    e49d    0101    0101    0003    e310
-0002870    4010    e92d    0003    0311    4000    e1a0    000a    1a00
-0002880    e04c    e59f    2004    e252    0006    ba00    3004    e491
-0002890    c00e    e043    c003    e1cc    c38e    e01c    3004    0480
-00028a0    fff7    0aff    1004    e241    2004    e282    2001    e252
-00028b0    0005    ba00    3001    e4d1    0000    e353    3001    e4c0
-00028c0    fff9    1aff    1002    e1a0    00a2    eb00    0004    e1a0
-00028d0    8010    e8bd    0101    0101    c001    e280    0003    ea00
-00028e0    1001    e4d0    0000    e351    000c    0040    f00e    01a0
-00028f0    0003    e310    fff9    1aff    2038    e59f    1004    e490
-0002900    3002    e041    3001    e1c3    0382    e113    fffa    0aff
-0002910    00ff    e311    000c    e040    0003    0240    f00e    01a0
-0002920    0cff    e311    0002    0240    f00e    01a0    08ff    e311
-0002930    0001    0240    f00e    e1a0    0101    0101    c001    e190
-0002940    0021    4a00    c0a0    e071    2000    e3a0    001a    3a00
-0002950    c220    e071    000f    3a00    c420    e071    0001    3a00
-0002960    3000    e3a0    0020    ea00    c3a0    e071    0381    2040
-0002970    2002    e0a2    c320    e071    0301    2040    2002    e0a2
-0002980    c2a0    e071    0281    2040    2002    e0a2    c220    e071
-0002990    0201    2040    2002    e0a2    c1a0    e071    0181    2040
-00029a0    2002    e0a2    c120    e071    0101    2040    2002    e0b2
-00029b0    c0a0    e071    0081    2040    2002    e0a2    1001    e050
-00029c0    1000    31a0    0002    e0a2    f00e    e1a0    2102    e211
-00029d0    1000    4261    3040    e032    0000    2260    c220    e071
-00029e0    001d    3a00    c420    e071    000f    3a00    1301    e1a0
-00029f0    c420    e071    233f    e382    000b    3a00    1301    e1a0
-0002a00    c420    e071    263f    e382    0007    3a00    1301    e1a0
-0002a10    c420    e071    293f    e382    2c3f    2382    1301    21a0
-0002a20    c000    e271    002f    2a00    1321    21a0    c3a0    e071
-0002a30    0381    2040    2002    e0a2    c320    e071    0301    2040
-0002a40    2002    e0a2    c2a0    e071    0281    2040    2002    e0a2
-0002a50    c220    e071    0201    2040    2002    e0a2    c1a0    e071
-0002a60    0181    2040    2002    e0a2    c120    e071    0101    2040
-0002a70    2002    e0b2    ffeb    2aff    c0a0    e071    0081    2040
-0002a80    2002    e0a2    1001    e050    1000    31a0    0002    e0a2
-0002a90    3fc3    e1b0    0000    4260    1000    2261    f00e    e1a0
-0002aa0    00c1    eb00    003f    eb00    0003    e92d    00bf    eb00
-0002ab0    0003    e8bd    007a    eb00    000f    e92d    00be    eb00
-0002ac0    000f    e8bd    fa3b    ebff    ff17    eaff    4001    e92d
-0002ad0    00bc    eb00    00ae    eb00    4001    e8bd    0000    ea00
-0002ae0    0000    e3e0    fce7    eaff    002b    ea00    2020    e252
-0002af0    4010    e92d    0005    3a00    5018    28b1    5018    28a0
-0002b00    5018    28b1    5018    28a0    2020    2252    fff9    2aff
-0002b10    ce02    e1b0    5018    28b1    5018    28a0    0018    48b1
-0002b20    0018    48a0    cf02    e1b0    4010    e8bd    3004    2491
-0002b30    3004    2480    f00e    01a0    2f82    e1b0    2001    44d1
-0002b40    3001    24d1    c001    24d1    2001    44c0    3001    24c0
-0002b50    c001    24c0    f00e    e1a0    2000    e3a0    0004    e351
-0002b60    0008    3a00    c003    e210    fef6    0aff    c004    e26c
-0002b70    2001    e4c0    0002    e35c    2001    a4c0    100c    e041
-0002b80    2001    c4c0    feef    eaff    cf81    e1b0    2001    24c0
-0002b90    2001    24c0    2001    44c0    f00e    e1a0    0002    e3a0
-0002ba0    1002    e3a0    008b    ea00    500e    e1a0    0086    eb00
-0002bb0    4000    e1a0    0007    e3c0    100d    e1a0    d060    e280
-0002bc0    e005    e1a0    4010    e92d    300a    e1a0    fcc0    ebff
-0002bd0    6000    e3a0    7000    e3a0    8000    e3a0    b000    e3a0
-0002be0    4010    e8bd    d007    e3c1    c004    e1a0    09c0    e8ac
-0002bf0    09c0    e8ac    09c0    e8ac    09c0    e8ac    4013    e92d
-0002c00    1000    e3a0    0000    e3a0    0000    e1a0    1040    e281
-0002c10    2001    e080    2e11    e282    201c    e584    0001    e3a0
-0002c20    1018    e584    0010    e584    4013    e8bd    1000    e1a0
-0002c30    0014    e584    f00e    e1a0    4010    e92d    0003    e92d
-0002c40    0061    eb00    4000    e1a0    0003    e8bd    2014    e594
-0002c50    301c    e594    e000    e082    3003    e04d    0003    e15e
-0002c60    2000    e581    000a    8a00    300e    e093    1a01    e28e
-0002c70    1007    e281    3063    e1a0    3007    e3c3    1007    e3c1
-0002c80    0003    e151    1003    81a0    0002    e041    1014    e584
-0002c90    8010    e8bd    2000    e1a0    0000    e3a0    0000    e1a0
-0002ca0    8010    e8bd    43c0    e92d    003e    e92d    5001    e1a0
-0002cb0    4000    e1a0    02c3    eb00    0000    e3a0    4000    e58d
-0002cc0    5004    e58d    0000    e1a0    0008    e58d    000d    e1a0
-0002cd0    f9b4    ebff    4000    e1a0    5001    e1a0    0003    e89d
-0002ce0    6002    e1a0    7003    e1a0    0000    e1a0    0000    e1a0
-0002cf0    0000    e1a0    1000    e3a0    0000    e3a0    0000    e1a0
-0002d00    8000    e1a0    0030    eb00    9000    e1a0    8020    e580
-0002d10    0000    e3a0    1000    e3a0    0000    e1a0    1001    e280
-0002d20    1024    e589    1000    e3a0    0000    e3a0    0000    e1a0
-0002d30    0028    e589    0000    e3a0    1000    e3a0    0000    e1a0
-0002d40    002c    e589    0000    e3a0    1000    e3a0    0000    e1a0
-0002d50    0030    e589    0000    e1a0    0000    e1a0    0000    e1a0
-0002d60    0000    e1a0    0000    e1a0    0000    e1a0    0000    e1a0
-0002d70    0000    e1a0    0000    e1a0    d00c    e28d    0004    e1a0
-0002d80    1005    e1a0    2006    e1a0    3007    e1a0    01f0    e8bd
-0002d90    8200    e8bd    0000    e3a0    4010    e92d    0000    e1a0
-0002da0    0000    e1a0    0000    e1a0    8010    e8bd    f00e    e1a0
-0002db0    0000    e3e0    1002    e3e0    f00e    e1a0    4010    e92d
-0002dc0    000a    eb00    8010    e8bd    f00e    e1a0    0000    e59f
-0002dd0    f00e    e1a0    3a1c    0008    4010    e92d    0008    eb00
-0002de0    0000    e350    8010    08bd    4010    e8bd    fc25    eaff
-0002df0    f00e    e1a0    4010    e92d    fff3    ebff    0004    e280
-0002e00    8010    e8bd    4070    e92d    5001    e1a0    1000    e1a0
-0002e10    4000    e1a0    0000    e3e0    0000    e1a0    0001    e370
-0002e20    2000    e1a0    0004    01a0    1005    01a0    4070    08bd
-0002e30    0006    0a00    0003    e372    1005    11a0    0004    11a0
-0002e40    e00f    11a0    f002    11a0    0000    e3a0    8070    e8bd
-0002e50    2001    e240    4070    e92d    000e    e352    50c0    228f
-0002e60    40b8    e28f    001c    2a00    2017    e3a0    30c0    e59f
-0002e70    0290    e002    3003    e08f    0002    e350    2003    e082
-0002e80    5017    e242    000e    1a00    0301    e311    40a4    128f
-0002e90    0011    1a00    0382    e311    40ac    128f    000e    1a00
-0002ea0    0201    e311    40b0    128f    000b    1a00    0202    e311
-0002eb0    40b0    128f    0008    1a00    0101    e311    40b0    128f
-0002ec0    0005    ea00    0008    e350    4001    01a0    0002    0a00
-0002ed0    0009    e350    0001    0351    50a4    028f    000a    e3a0
-0002ee0    0000    ea00    5001    e285    fbe8    ebff    0000    e5d5
-0002ef0    0000    e350    fffa    1aff    0001    ea00    4001    e284
-0002f00    fbe2    ebff    0000    e5d4    0000    e350    fffa    1aff
-0002f10    000a    e3a0    fbdd    ebff    0001    e3a0    8070    e8bd
-0002f20    0000    0000    6e55    6e6b    776f    206e    6973    6e67
-0002f30    6c61    0000    0960    0000    6e49    6176    696c    2064
-0002f40    704f    7265    7461    6f69    006e    0000    6944    6976
-0002f50    6564    4220    2079    655a    6f72    0000    764f    7265
-0002f60    6c66    776f    0000    0000    6e55    6564    6672    6f6c
-0002f70    0077    0000    6e49    7865    6361    2074    6552    7573
-0002f80    746c    0000    203a    6548    7061    6d20    6d65    726f
-0002f90    2079    6f63    7272    7075    6574    0064    c220    e071
-0002fa0    2000    e3a0    fe7b    3aff    c420    e071    fe6d    3aff
-0002fb0    3000    e3a0    fe8c    eaff    3000    e3a0    0002    ea00
-0002fc0    c000    e3a0    c003    e7c0    3001    e283    0001    e153
-0002fd0    fffa    3aff    2000    e1a0    f000    e320    c030    e59f
-0002fe0    c06c    e59c    c000    e582    0002    e1a0    2004    e282
-0002ff0    f000    e320    c018    e59f    c070    e59c    c004    e482
-0003000    f000    e320    c008    e59f    c074    e59c    c004    e482
-0003010    ff1e    e12f    0000    e490    4070    e92d    4000    e1a0
-0003020    5001    e1a0    1005    e1a0    0004    e1a0    ffe1    ebff
-0003030    8070    e8bd    4010    e92d    f000    e320    05c0    e59f
-0003040    15c0    e59f    0060    e581    f000    e320    0000    e281
-0003050    0070    e590    0407    e3c0    1003    e3a0    2407    e3a0
-0003060    1c01    e002    0001    e180    1598    e59f    0070    e581
-0003070    f000    e320    0000    e281    0070    e590    0901    e3c0
-0003080    1000    e3a0    2901    e3a0    1701    e002    0001    e180
-0003090    1570    e59f    0070    e581    f000    e320    0000    e281
-00030a0    0070    e590    0902    e3c0    1001    e3a0    2902    e3a0
-00030b0    1781    e002    0001    e180    1548    e59f    0070    e581
-00030c0    f000    e320    0000    e281    0068    e590    0a02    e3c0
-00030d0    1000    e3a0    2a02    e3a0    1681    e002    0001    e180
-00030e0    1520    e59f    0068    e581    f000    e320    0000    e281
-00030f0    0068    e590    0a01    e3c0    1000    e3a0    2a01    e3a0
-0003100    1601    e002    0001    e180    14f8    e59f    0068    e581
-0003110    f000    e320    0000    e281    0068    e590    0b01    e3c0
-0003120    1001    e3a0    2b01    e3a0    1501    e002    0001    e180
-0003130    14d0    e59f    0068    e581    4000    e3a0    0000    ea00
-0003140    4001    e284    c906    e254    ce6a    225c    fffb    3aff
-0003150    f000    e320    04b0    e59f    0000    e590    1003    e3c0
-0003160    0002    e381    14a0    e59f    0000    e581    f000    e320
-0003170    0000    e281    0000    e590    000c    e3c0    1001    e3a0
-0003180    200c    e3a0    1101    e002    0001    e180    1478    e59f
-0003190    0000    e581    f000    e320    0000    e281    0000    e590
-00031a0    0010    e3c0    1001    e3a0    2010    e3a0    1201    e002
-00031b0    0001    e180    1450    e59f    0000    e581    f000    e320
-00031c0    f000    e320    0440    e59f    0004    e590    0f00    e1a0
-00031d0    0fa0    e1a0    0001    e350    fff8    1aff    f000    e320
-00031e0    0428    e59f    141c    e59f    0020    e581    f000    e320
-00031f0    0028    e581    f000    e320    0011    e3a0    0024    e581
-0003200    f000    e320    002c    e581    f000    e320    0c3f    e3a0
-0003210    0054    e581    f000    e320    03f4    e59f    0064    e581
-0003220    f000    e320    03ec    e59f    0068    e581    f000    e320
-0003230    03e4    e59f    000c    e581    fa4c    ebff    8010    e8bd
-0003240    f000    e320    0c01    e3a0    13d0    e59f    0004    e581
-0003250    f000    e320    f000    e320    03c0    e59f    0004    e590
-0003260    0f00    e1a0    0fa0    e1a0    0000    e350    fff8    1aff
-0003270    f000    e320    03a4    e59f    0360    e590    0007    e380
-0003280    1398    e59f    0360    e581    f000    e320    0000    e281
-0003290    0360    e590    0c07    e3c0    1007    e3a0    2c07    e3a0
-00032a0    1401    e002    0001    e180    1370    e59f    0360    e581
-00032b0    f000    e320    0000    e281    0360    e590    0807    e3c0
-00032c0    1007    e3a0    2807    e3a0    1801    e002    0001    e180
-00032d0    1348    e59f    0360    e581    f000    e320    0000    e281
-00032e0    0364    e590    1007    e3c0    0001    e381    132c    e59f
-00032f0    0364    e581    f000    e320    0000    e281    0364    e590
-0003300    0c07    e3c0    1001    e3a0    2c07    e3a0    1401    e002
-0003310    0001    e180    1304    e59f    0364    e581    f000    e320
-0003320    0000    e281    0364    e590    0807    e3c0    1001    e3a0
-0003330    2807    e3a0    1801    e002    0001    e180    12dc    e59f
-0003340    0364    e581    f000    e320    0000    e281    0368    e590
-0003350    1007    e3c0    0003    e381    12c0    e59f    0368    e581
-0003360    f000    e320    0000    e281    0368    e590    0c07    e3c0
-0003370    1003    e3a0    2c07    e3a0    1401    e002    0001    e180
-0003380    1298    e59f    0368    e581    f000    e320    0000    e281
-0003390    0368    e590    0807    e3c0    1003    e3a0    2807    e3a0
-00033a0    1801    e002    0001    e180    1270    e59f    0368    e581
-00033b0    f000    e320    0000    e281    0238    e590    0801    e3c0
-00033c0    1000    e3a0    2801    e3a0    1801    e002    0001    e180
-00033d0    1248    e59f    0238    e581    f000    e320    0000    e281
-00033e0    0220    e590    1007    e3c0    0002    e381    122c    e59f
-00033f0    0220    e581    f000    e320    0000    e281    0220    e590
-0003400    0078    e3c0    1001    e3a0    2078    e3a0    1181    e002
-0003410    0001    e180    1204    e59f    0220    e581    f000    e320
-0003420    0000    e281    0210    e590    0002    e3c0    1001    e3a0
-0003430    2002    e3a0    1081    e002    0001    e180    11dc    e59f
-0003440    0210    e581    f000    e320    0000    e281    0210    e590
-0003450    0c02    e3c0    1001    e3a0    2c02    e3a0    1481    e002
-0003460    0001    e180    11b4    e59f    0210    e581    f000    e320
-0003470    0000    e281    0244    e590    10ff    e3c0    0020    e381
-0003480    1198    e59f    0244    e581    f000    e320    0000    e281
-0003490    0244    e590    0cff    e3c0    1020    e3a0    2cff    e3a0
-00034a0    1401    e002    0001    e180    1170    e59f    0244    e581
-00034b0    f000    e320    0000    e281    0244    e590    08ff    e3c0
-00034c0    1020    e3a0    28ff    e3a0    1801    e002    0001    e180
-00034d0    1148    e59f    0244    e581    f000    e320    0000    e281
-00034e0    0278    e590    08ff    e3c0    1010    e3a0    1801    e002
-00034f0    0001    e180    1124    e59f    0278    e581    f000    e320
-0003500    0001    e3a0    0a80    e1a0    02dc    e581    f000    e320
-0003510    0000    e281    0204    e590    0b02    e3c0    1001    e3a0
-0003520    2b02    e3a0    1581    e002    0001    e180    10ec    e59f
-0003530    0204    e581    f000    e320    0000    e281    0254    e590
-0003540    08ff    e3c0    1008    e3a0    28ff    e3a0    1801    e002
-0003550    0001    e180    10c4    e59f    0254    e581    f000    e320
-0003560    0000    e281    0254    e590    0cff    e3c0    1008    e3a0
-0003570    2cff    e3a0    1401    e002    0001    e180    109c    e59f
-0003580    0254    e581    f000    e320    0000    e281    0254    e590
-0003590    10ff    e3c0    0008    e381    1080    e59f    0254    e581
-00035a0    f000    e320    0001    e3a0    0600    e1a0    02f8    e581
-00035b0    f000    e320    0001    e3a0    0680    e1a0    02f8    e581
-00035c0    f000    e320    0001    e3a0    0700    e1a0    02f8    e581
-00035d0    f000    e320    0001    e3a0    0600    e1a0    02dc    e581
-00035e0    f000    e320    0001    e3a0    0400    e1a0    02dc    e581
-00035f0    f000    e320    0001    e3a0    0200    e1a0    02e4    e581
-0003600    ff1e    e12f    f815    8341    0000    e800    03b4    e4d0
-0003610    0001    8430    0033    8020    0123    0014    f041    0000
-0003620    0000    e4d0    4010    e92d    f729    ebff    8010    e8bd
-0003630    ff1e    e12f    d050    e24d    00ff    e88d    5000    e14f
-0003640    e008    e24e    e04c    e58d    0020    e28d    100f    e215
-0003650    7f00    08c0    001c    0280    4000    08a0    0006    0a00
-0003660    2000    e10f    300f    e3c2    1001    e183    f001    e12f
-0003670    7f00    e8a0    f002    e12f    4000    e8a0    6f10    ee16
-0003680    7f10    ee15    00e0    e880    300c    e240    1000    e593
-0003690    000d    e1a0    2114    e59f    8114    e59f    80b0    e1d8
-00036a0    9110    e59f    0009    e158    0000    0a00    2108    e59f
-00036b0    faff    ebff    1fff    e8bd    d018    e28d    8000    e8fd
-00036c0    d050    e24d    00ff    e88d    5000    e14f    e004    e24e
-00036d0    e04c    e58d    0020    e28d    100f    e215    7f00    08c0
-00036e0    001c    0280    4000    08a0    0006    0a00    2000    e10f
-00036f0    300f    e3c2    1001    e183    f001    e12f    7f00    e8a0
-0003700    f002    e12f    4000    e8a0    6f10    ee16    7f10    ee15
-0003710    00e0    e880    300c    e240    1000    e593    000d    e1a0
-0003720    2098    e59f    fae2    ebff    1fff    e8bd    d018    e28d
-0003730    8000    e8fd    d050    e24d    00ff    e88d    5000    e14f
-0003740    e004    e24e    e04c    e58d    0020    e28d    100f    e215
-0003750    7f00    08c0    001c    0280    4000    08a0    0006    0a00
-0003760    2000    e10f    300f    e3c2    1001    e183    f001    e12f
-0003770    7f00    e8a0    f002    e12f    4000    e8a0    6f10    ee16
-0003780    7f30    ee15    00e0    e880    300c    e240    1000    e593
-0003790    000d    e1a0    2028    e59f    fac5    ebff    1fff    e8bd
-00037a0    d018    e28d    8000    e8fd    0070    e120    ff1e    e12f
-00037b0    aaaa    0000    3938    0008    ffff    0000    dddd    0000
-00037c0    cccc    0000    bbbb    0000    4010    e92d    fd88    ebff
-00037d0    1000    e3a0    1000    e580    8010    e8bd    6241    6f6e
-00037e0    6d72    6c61    7420    7265    696d    616e    6974    6e6f
-00037f0    0000    4100    6972    6874    656d    6974    2063    7865
-0003800    6563    7470    6f69    3a6e    0020    6c49    656c    6167
-0003810    206c    6e69    7473    7572    7463    6f69    006e    0000
-0003820    4900    746e    7265    7572    7470    7220    6365    6965
-0003830    6576    0064    0000    0000    6c49    656c    6167    206c
-0003840    6461    7264    7365    0073    0000    0000    0000    5400
-0003850    7265    696d    616e    6974    6e6f    7220    7165    6575
-0003860    7473    0000    0000    7453    6361    206b    766f    7265
-0003870    6c66    776f    0000    0000    0000    0000    5200    6465
-0003880    7269    6365    3a74    6320    6e61    7427    6f20    6570
-0003890    3a6e    0020    754f    2074    666f    6820    6165    2070
-00038a0    656d    6f6d    7972    0000    0000    5500    6573    2d72
-00038b0    6564    6966    656e    2064    6973    6e67    6c61    3120
-00038c0    0000    7355    7265    642d    6665    6e69    6465    7320
-00038d0    6769    616e    206c    0032    5000    7275    2065    6976
-00038e0    7472    6175    206c    6e66    6320    6c61    656c    0064
-00038f0    2b43    202b    696c    7262    7261    2079    7865    6563
-0003900    7470    6f69    006e    4f00    7475    6f20    2066    6568
-0003910    7061    0000    0000    0000    0000    0000    0000    0000
-0003920    0000    0008    0000    0002    0000    6000    0000    0200
-0003930    2000    ffff    2000    0000    ffff    0000    f018    e59f
-0003940    f018    e59f    f018    e59f    f018    e59f    f018    e59f
-0003950    f018    e59f    f018    e59f    f018    e59f    1268    0008
-0003960    0040    0000    004c    0000    0050    0000    0060    0000
-0003970    0070    0000    0000    ffff    0070    0000    40ff    e92d
-0003980    fffe    eaff    80ff    e8fd    fffe    eaff    e004    e24e
-0003990    40ff    e92d    fffe    eaff    80ff    e8fd    e004    e24e
-00039a0    40ff    e92d    fffe    eaff    80ff    e8fd    fffe    eaff
-00039b0    e004    e24e    4000    e92d    e000    e14f    401f    e92d
-00039c0    0000    e10f    2000    e1a0    00e0    e200    0013    e380
-00039d0    f000    e121    0004    e92d    308c    e59f    4000    e593
-00039e0    40ff    e204    3084    e59f    0000    e593    0000    e110
-00039f0    0013    0a00    3078    e59f    2000    e593    0004    e92d
-0003a00    000f    e350    0001    1280    0000    e583    5fff    e92d
-0003a10    2060    e59f    1184    e1a0    2001    e082    4001    e92d
-0003a20    0004    e1a0    e00f    e1a0    e004    e28e    f000    e592
-0003a30    4001    e8bd    5fff    e8bd    0004    e8bd    3030    e59f
-0003a40    2000    e583    0004    e8bd    2080    e382    f002    e121
-0003a50    1001    e3a0    0020    e59f    1000    e580    401f    e8bd
-0003a60    f00e    e169    8000    e8fd    fffe    eaff    0484    e000
-0003a70    0488    e000    0470    e000    3000    ffff    0014    f280
-0003a80    ff01    ff01    ff01    ff01    2e01    0182    0182    0182
-0003a90    0182    0182    ff02    0101    00ed    0000                
index daa44a1..ebe2a74 100644 (file)
@@ -129,6 +129,17 @@ static struct i2c_gpio_bus_data i2c_cypress_gpio7 = {
        .scl_pin        = 4,
 };
 
+/*
+ * i2c gpio7 - kessler rev 09
+ * SDA: MP05[1]
+ * SCL: MP05[0]
+ */
+static struct i2c_gpio_bus_data i2c_aries_gpio7 = {
+       .sda_pin        = 1,
+       .scl_pin        = 0,
+};
+
+
 static struct i2c_gpio_bus i2c_gpio[] = {
        {
                .bus    = &i2c_2,
@@ -164,16 +175,6 @@ enum {
        MACH_CYPRESS,
 };
 
-#ifdef CONFIG_LCD
-typedef enum {
-       LCD_NONE,
-       LCD_AMOLED,
-       LCD_TFT,
-} lcd_type_t;
-
-static lcd_type_t lcd_type;
-#endif
-
 #define SPLIT_SCREEN_FEATURE   0x100
 
 /* board is MACH_AQUILA and board is like below. */
@@ -183,6 +184,10 @@ static lcd_type_t lcd_type;
 #define MEDIA_BOARD            0x1000
 #define BAMBOO_BOARD           0x2000
 
+#ifdef ARIES
+#define ARIES_BOARD    0x4000
+#endif /* ARIES */
+
 /* board is MACH_P1P2 and board is like below. */
 #define P1_REAL_BOARD          0x200
 #define P2_REAL_BOARD          0x400
@@ -244,22 +249,17 @@ static int board_is_j1b2(void)
        return machine_is_aquila() && (board_rev & J1_B2_BOARD);
 }
 
-static int board_is_p2_real(void)
+#ifdef ARIES
+static int board_is_aries(void)
 {
-       return machine_is_p1p2() && (board_rev & P2_REAL_BOARD);
+       return machine_is_aquila() && (board_rev & ARIES_BOARD);
 }
+#endif
 
-#ifdef CONFIG_LCD
-static int lcd_is_amoled(void)
-{
-       return lcd_type == LCD_AMOLED;
-}
-static int lcd_is_tft(void)
+static int board_is_p2_real(void)
 {
-       return lcd_type == LCD_TFT;
+       return machine_is_p1p2() && (board_rev & P2_REAL_BOARD);
 }
-#endif
 
 static void enable_battery(void);
 
@@ -278,7 +278,16 @@ void i2c_init_board(void)
                i2c_gpio[I2C_GPIO7].bus = &i2c_cypress_gpio7;
                i2c_gpio[I2C_GPIO7].bus->gpio_base =
                        (unsigned int)&gpio->gpio_mp0_5;
-       } else {
+       }
+#ifdef ARIES
+       else if (board_is_aries()) {
+               i2c_gpio[I2C_GPIO6].bus = &i2c_cypress_gpio6;
+               i2c_gpio[I2C_GPIO7].bus = &i2c_aries_gpio7;
+               i2c_gpio[I2C_GPIO7].bus->gpio_base =
+                       (unsigned int)&gpio->gpio_mp0_5;
+       }
+#endif /* ARIES */
+       else {
                num_bus--;
        }
 
@@ -376,6 +385,10 @@ static char *display_features(int board, int board_rev)
                        count += sprintf(buf + count, " - Media");
                if (board_rev & BAMBOO_BOARD)
                        count += sprintf(buf + count, " - Bamboo");
+#ifdef ARIES
+               if (board_rev & ARIES_BOARD)
+                       count += sprintf(buf + count, " - Aries");
+#endif /* ARIES */
        } else if (board == MACH_P1P2) {
                /* P1P2 */
                if (board_rev & P1_REAL_BOARD)
@@ -400,6 +413,10 @@ static void check_board_revision(int board, int rev)
                        board_rev &= ~(J1_B2_BOARD |
                                        LIMO_UNIVERSAL_BOARD);
                }
+#ifdef ARIES
+               if (rev & ARIES_BOARD)
+                       board_rev &= ~(J1_B2_BOARD);
+#endif /* ARIES */
                if (rev & MEDIA_BOARD)
                        board_rev &= ~(J1_B2_BOARD |
                                        LIMO_UNIVERSAL_BOARD);
@@ -427,7 +444,24 @@ static void check_board_revision(int board, int rev)
 static unsigned int get_hw_revision(struct s5pc1xx_gpio_bank *bank)
 {
        unsigned int rev;
-       
+#ifdef ARIES
+       gpio_direction_input(bank, 2);
+       gpio_direction_input(bank, 3);
+       gpio_direction_input(bank, 4);
+       gpio_direction_input(bank, 7);
+
+       gpio_set_pull(bank, 2, GPIO_PULL_NONE);         /* HWREV_MODE0 */
+       gpio_set_pull(bank, 3, GPIO_PULL_NONE);         /* HWREV_MODE1 */
+       gpio_set_pull(bank, 4, GPIO_PULL_NONE);         /* HWREV_MODE2 */
+       gpio_set_pull(bank, 7, GPIO_PULL_NONE);         /* HWREV_MODE3 */
+
+       rev = gpio_get_value(bank, 2);
+       rev |= (gpio_get_value(bank, 3) << 1);
+       rev |= (gpio_get_value(bank, 4) << 2);
+       rev |= (gpio_get_value(bank, 7) << 3);
+       /* test */
+       rev = 9;
+#else
        gpio_direction_input(bank, 1);
        gpio_direction_input(bank, 2);
        gpio_direction_input(bank, 3);
@@ -442,6 +476,7 @@ static unsigned int get_hw_revision(struct s5pc1xx_gpio_bank *bank)
        rev |= (gpio_get_value(bank, 3) << 1);
        rev |= (gpio_get_value(bank, 4) << 2);
        rev |= (gpio_get_value(bank, 1) << 3);
+#endif /* ARIES */
 
        return rev;
 }
@@ -499,8 +534,13 @@ static void check_hw_revision(void)
                        gpio_direction_input(&gpio->gpio_j2, 6);
 
                        /* Check board */
+#ifndef ARIES
                        if (gpio_get_value(&gpio->gpio_h1, 2) == 0)
                                board_rev |= LIMO_UNIVERSAL_BOARD;
+#else
+                       if (gpio_get_value(&gpio->gpio_h1, 2) == 0)
+                               board_rev |= ARIES_BOARD;
+#endif /* ARIES */
 
                        if (gpio_get_value(&gpio->gpio_h3, 2) == 0)
                                board_rev |= LIMO_REAL_BOARD;
@@ -570,26 +610,22 @@ static void check_hw_revision(void)
                gpio_set_pull(&gpio->gpio_j0, 7, GPIO_PULL_DOWN);
 
                /* C110 Geminus for rev0.0 */
-               if (board != MACH_P1P2) {
-                       gpio_set_pull(&gpio->gpio_j1, 2, GPIO_PULL_NONE);
-                       gpio_direction_input(&gpio->gpio_j1, 2);
-                       if (gpio_get_value(&gpio->gpio_j1, 2) == 1) {
-                               board = MACH_GEMINUS;
-                               if ((board_rev & ~BOARD_MASK) == 3)
-                                       board_rev &= ~0xff;
-                       }
-                       gpio_set_pull(&gpio->gpio_j1, 2, GPIO_PULL_DOWN);
-                       gpio_direction_output(&gpio->gpio_j1, 2, 0);
+               gpio_set_pull(&gpio->gpio_j1, 2, GPIO_PULL_NONE);
+               gpio_direction_input(&gpio->gpio_j1, 2);
+               if (gpio_get_value(&gpio->gpio_j1, 2) == 1) {
+                       board = MACH_GEMINUS;
+                       if ((board_rev & ~BOARD_MASK) == 3)
+                               board_rev &= ~0xff;
                }
+               gpio_set_pull(&gpio->gpio_j1, 2, GPIO_PULL_DOWN);
+               gpio_direction_output(&gpio->gpio_j1, 2, 0);
+
                /* C110 Geminus for rev0.1 ~ */
                gpio_set_pull(&gpio->gpio_j0, 6, GPIO_PULL_NONE);
                gpio_direction_input(&gpio->gpio_j0, 6);
                if (gpio_get_value(&gpio->gpio_j0, 6) == 1)
                        board = MACH_GEMINUS;
                gpio_set_pull(&gpio->gpio_j0, 6, GPIO_PULL_DOWN);
-#ifdef CONFIG_LCD
-               lcd_type = LCD_NONE;    /* TODO: if the board is not p1p2, this code should be modified */
-#endif
        }
 
        /* Set machine id */
@@ -669,7 +705,7 @@ static void check_auto_burn(void)
        writel(0xa5a55a5a, magic_base + 0x4);
 }
 
-void pmic_pin_init(void)
+static void pmic_pin_init(void)
 {
        unsigned int reg, value;
 
@@ -920,9 +956,6 @@ static void check_battery(void)
        unsigned char val[2];
        unsigned char addr = 0x36;      /* max17040 fuel gauge */
 
-       if(machine_is_p1p2())
-               return;
-
        if (machine_is_aquila()) {
                if (board_is_j1b2())
                        return;
@@ -936,9 +969,6 @@ static void check_battery(void)
        else
                i2c_set_bus_num(I2C_GPIO3);
 
-       if(machine_is_p1p2())
-               return;
-
        if (i2c_probe(addr)) {
                printf("Can't found max17040 fuel gauge\n");
                return;
@@ -996,12 +1026,32 @@ static void check_mhl(void)
        i2c_read((0x72 >> 1), 0xa0, 1, val, 1);
 }
 
+#define CHARGER_ANIMATION_FRAME                6
+static int max8998_power_key(void)
+{
+       unsigned char addr, val[2];
+       i2c_set_bus_num(I2C_PMIC);
+       addr = 0xCC >> 1;
+       if (i2c_probe(addr)) {
+               printf("Can't found max8998\n");
+               return 0;
+       }
+
+       /* Accessing IRQ1 register */
+       i2c_read(addr, 0x00, 1, val, 1);
+       printf("MAX8998 IRQ1 = 0x%x\n", val[0]);
+       if (val[0] & (1 << 6))
+               return 1;
+}
 static void into_charge_mode(void)
 {
        unsigned char addr = 0xCC >> 1; /* max8998 */;
        unsigned char val[2];
        unsigned int level;
        int i, j;
+       bmp_image_t *bmp[CHARGER_ANIMATION_FRAME];
+       unsigned long len[CHARGER_ANIMATION_FRAME];
+       ulong bmp_addr[CHARGER_ANIMATION_FRAME];
 
        i2c_set_bus_num(I2C_PMIC);
 
@@ -1018,37 +1068,35 @@ static void into_charge_mode(void)
        i2c_write(addr, 0x0C, 1, val, 1);
 
 #ifdef CONFIG_S5PC1XXFB
-       /* TODO: change to Image animation */
        init_font();
-       set_font_xy(0, 0);
-       set_font_color(FONT_WHITE);
-       fb_printf("charging");
 
-       level = battery_soc / 25;
+       /* TODO: write the image-text for the charger */
 
-       for (i = 0; i < 3; i++) {
-               if (level == 0)
-                       udelay(1 * 1000 * 1000);
+       level = battery_soc * CHARGER_ANIMATION_FRAME / 100;
+       if (level >= CHARGER_ANIMATION_FRAME)
+               level = CHARGER_ANIMATION_FRAME - 1;
 
-               for (j = 0; j < 4; j++) {
-                       fb_printf("..");
+       for (i = 0; i < CHARGER_ANIMATION_FRAME; i++)
+               bmp_addr[i] = battery_charging_animation[i];
 
-                       if (j >= level)
-                               udelay(1 * 1000 * 1000);
+       lcd_display_clear();
+       for (i = 0; i < 3; i++) {
+               for (j = level; j < CHARGER_ANIMATION_FRAME; j++) {
+                       int k;
+
+                       bmp[j] = gunzip_bmp(bmp_addr[j], &len[j]);
+                       lcd_display_bitmap((ulong) bmp[j], 140, 202);
+                       free(bmp[j]);
+
+                       for (k = 0; k < 10; k++)
+                               if (max8998_power_key())
+                                       return;
+                               else
+                                       udelay(100 * 1000);
+                       if (max8998_power_key())
+                               return;
                }
-
-               if (level <= 4)
-                       udelay(1 * 1000 * 1000);
-
-               set_font_xy(0, 0);
-               set_font_color(FONT_XOR);
-               fb_printf("charging........");
-
-               set_font_xy(0, 0);
-               set_font_color(FONT_WHITE);
-               fb_printf("charging");
        }
-
        exit_font();
 #endif
 
@@ -1065,6 +1113,7 @@ static void check_micro_usb(int intr)
 {
        unsigned char addr;
        unsigned char val[2];
+       static int started_charging_once = 0;
 
        if (cpu_is_s5pc100())
                return;
@@ -1076,6 +1125,10 @@ static void check_micro_usb(int intr)
 
        if (machine_is_cypress())
                i2c_set_bus_num(I2C_GPIO6);
+#ifdef ARIES
+       if (board_is_aries())
+               i2c_set_bus_num(I2C_GPIO6);
+#endif /* ARIES */
        else
                i2c_set_bus_num(I2C_PMIC);
 
@@ -1102,8 +1155,10 @@ static void check_micro_usb(int intr)
         * If USB, use default 475mA
         * If Charger, use 600mA and go to charge mode
         */
-       if (val[0] & FSA_DEDICATED_CHARGER)
+       if ((val[0] & FSA_DEDICATED_CHARGER) && !started_charging_once) {
+               started_charging_once = 1;
                into_charge_mode();
+       }
 
        /* If Factory Mode is Boot ON-USB, go to download mode */
        i2c_read(addr, 0x07, 1, val, 1);
@@ -1128,10 +1183,18 @@ static void check_micro_usb(int intr)
 #define MAX8998_LDO16          (1 << 5)
 #define MAX8998_LDO17          (1 << 4)
 
+#ifdef ARIES
+#define MAX8998_REG_LDO7       0x21
+#define MAX8998_REG_LDO17      0x29
+#endif /* ARIES */
+
 static void init_pmic(void)
 {
        unsigned char addr;
        unsigned char val[2];
+#ifdef ARIES
+       unsigned char val2[2];
+#endif /* ARIES */
 
        if (cpu_is_s5pc100())
                return;
@@ -1157,17 +1220,39 @@ static void init_pmic(void)
         */
        val[0] &= ~(MAX8998_LDO10 | MAX8998_LDO11 |
                        MAX8998_LDO12 | MAX8998_LDO13);
+#ifndef ARIES
        val[0] |= (1 << 7);
+#else
+       val[0] |= ((1 << 7)|(1 << 6));
+       val2[0] = 0x2;
+       i2c_write(addr, MAX8998_REG_LDO7, 1, val2, 1);
+       i2c_read(addr, MAX8998_REG_LDO7, 1, val2, 1);
+#endif /* ARIES */
        i2c_write(addr, MAX8998_REG_ONOFF2, 1, val, 1);
        i2c_read(addr, MAX8998_REG_ONOFF2, 1, val, 1);
        /* ONOFF3 */
        i2c_read(addr, MAX8998_REG_ONOFF3, 1, val, 1);
+#ifndef ARIES
        /*
         * Disable LDO14(CAM_CIF_1.8), LDO15(CAM_AF_3.3V),
         * LDO16(VMIPI_1.8V), LDO17(CAM_8M_1.8V)
         */
        val[0] &= ~(MAX8998_LDO14 | MAX8998_LDO15 |
                        MAX8998_LDO16 | MAX8998_LDO17);
+#else
+
+       /*
+        * Disable LDO14(CAM_CIF_1.8), LDO15(CAM_AF_3.3V),
+        * LDO16(VMIPI_1.8V), LDO17(CAM_8M_1.8V)
+        */
+       val[0] &= ~(MAX8998_LDO14 | MAX8998_LDO15 |
+                       MAX8998_LDO16);
+
+       val[0] |= MAX8998_LDO17;
+       val2[0] = 0xE;
+       i2c_write(addr, MAX8998_REG_LDO7, 1, val2, 1);
+       i2c_read(addr, MAX8998_REG_LDO7, 1, val2, 1);
+#endif /* ARIES */
        i2c_write(addr, MAX8998_REG_ONOFF3, 1, val, 1);
        i2c_read(addr, MAX8998_REG_ONOFF3, 1, val, 1);
 }
@@ -1517,8 +1602,12 @@ void lcd_cfg_gpio(void)
        }
 
        if (machine_is_cypress()) {
+#if 0          /* universal cypress */
                /* FLCD_CS */
                gpio_cfg_pin(&gpio_base->gpio_mp0_1, 0, GPIO_OUTPUT);
+#endif
+               /* FLCD_CS_S */
+               gpio_cfg_pin(&gpio_base->gpio_mp0_5, 1, GPIO_OUTPUT);
                /* FLCD_CLK */
                gpio_cfg_pin(&gpio_base->gpio_mp0_4, 0, GPIO_OUTPUT);
                /* FLCD_SDI */
@@ -1527,10 +1616,12 @@ void lcd_cfg_gpio(void)
                gpio_cfg_pin(&gpio_base->gpio_mp0_4, 5, GPIO_OUTPUT);
                /* FLCD_ON_S */
                gpio_cfg_pin(&gpio_base->gpio_g2, 2, GPIO_OUTPUT);
-
+#if 0          /* universal cypress */
                pd_cs.bank = &gpio_base->gpio_mp0_1;
                pd_cs.num = 0;
-               
+#endif
+               pd_cs.bank = &gpio_base->gpio_mp0_5;
+               pd_cs.num = 1;
                pd_clk.bank = &gpio_base->gpio_mp0_4;
                pd_clk.num = 0;
                pd_si.bank = &gpio_base->gpio_mp0_4;
@@ -1582,6 +1673,39 @@ void lcd_power_on(unsigned int onoff)
                        gpio_set_value(&gpio->gpio_j1, 4, 1);
                */
 
+#ifdef ARIES
+               if (board_is_aries())
+               {
+                       unsigned char addr;
+                       unsigned char val[2];
+                       unsigned char val2[2];
+
+                       i2c_set_bus_num(I2C_PMIC);
+                       addr = 0xCC >> 1;       /* max8998 */
+                       if (i2c_probe(addr)) {
+                               printf("Can't found max8998\n");
+                               return;
+                       }
+
+                       i2c_read(addr, MAX8998_REG_ONOFF2, 1, val, 1);
+                       val[0] |= (1 << 7);
+                       val2[0] = 0x2;
+                       i2c_write(addr, MAX8998_REG_LDO7, 1, val2, 1);
+                       i2c_read(addr, MAX8998_REG_LDO7, 1, val2, 1);
+                       i2c_write(addr, MAX8998_REG_ONOFF2, 1, val, 1);
+                       i2c_read(addr, MAX8998_REG_ONOFF2, 1, val, 1);
+
+                       i2c_read(addr, MAX8998_REG_ONOFF3, 1, val, 1);
+                       val[0] |= MAX8998_LDO17;
+                       val2[0] = 0xE;
+                       i2c_write(addr, MAX8998_REG_LDO7, 1, val2, 1);
+                       i2c_read(addr, MAX8998_REG_LDO7, 1, val2, 1);
+                       i2c_write(addr, MAX8998_REG_ONOFF3, 1, val, 1);
+                       i2c_read(addr, MAX8998_REG_ONOFF3, 1, val, 1);
+               }
+#endif /* ARIES */
+
+
        } else {
                if (machine_is_aquila() || machine_is_geminus())
                        gpio_set_value(&gpio->gpio_j1, 3, 0);
@@ -1594,6 +1718,31 @@ void lcd_power_on(unsigned int onoff)
                     gpio_set_value(&gpio->gpio_j1, 4, 0);
                */
 
+#ifdef ARIES
+               if (board_is_aries())
+               {
+                       unsigned char addr;
+                       unsigned char val[2];
+
+                       i2c_set_bus_num(I2C_PMIC);
+                       addr = 0xCC >> 1;       /* max8998 */
+                       if (i2c_probe(addr)) {
+                               printf("Can't found max8998\n");
+                               return;
+                       }
+
+                       i2c_read(addr, MAX8998_REG_ONOFF2, 1, val, 1);
+                       val[0] &= ~(1 << 7);
+                       i2c_write(addr, MAX8998_REG_ONOFF2, 1, val, 1);
+                       i2c_read(addr, MAX8998_REG_ONOFF2, 1, val, 1);
+
+                       i2c_read(addr, MAX8998_REG_ONOFF3, 1, val, 1);
+                       val[0] &= ~MAX8998_LDO17;
+                       i2c_write(addr, MAX8998_REG_ONOFF3, 1, val, 1);
+                       i2c_read(addr, MAX8998_REG_ONOFF3, 1, val, 1);
+               }
+#endif /* ARIES */
+
        }
 }
 
@@ -1775,6 +1924,8 @@ int misc_init_r(void)
         */
        if (machine_is_geminus())
                setenv("lcdinfo", "lcd=lms480jc01");
+       if (board_is_media())
+               setenv("lcdinfo", "lcd=media");
        /*
        if (board_is_p2_real())
                setenv("lcdinfo", "lcd=ams701");
index 3ca1aba..f8cb6d1 100644 (file)
@@ -37,11 +37,7 @@ COBJS-$(CONFIG_SED156X) += sed156x.o
 COBJS-$(CONFIG_VIDEO_SM501) += sm501.o
 COBJS-$(CONFIG_VIDEO_SMI_LYNXEM) += smiLynxEM.o
 COBJS-$(CONFIG_VIDEO_VCXK) += bus_vcxk.o
-ifneq ("$(BOARD)", "p1p2")
 COBJS-$(CONFIG_S5PC1XXFB) += s5p-fb.o s5p-fimd.o s6e63m0.o
-else
-COBJS-$(CONFIG_S5PC1XXFB) += s5p-fb.o s5p-fimd.o ams701ka.o
-endif
 #COBJS-$(CONFIG_S5PC1XXFB) += s5p-fb.o s5p-fimd.o ams701ka.o
 #COBJS-$(CONFIG_S5PC1XXFB) += s5p-fb.o s5p_fimd_aquila.o tl2796_aquila.o
 
index 1f46289..8ba553c 100644 (file)
@@ -60,15 +60,18 @@ const unsigned short SEQ_MANUAL_DISPLAY_ON[] = {
        SLEEPMSEC, 1,
        0x12, 0x0007,
        SLEEPMSEC, 1,
-       0x12, 0x000f,
-       SLEEPMSEC, 1,
-       0x2e, 0x0607,
+       0x2e, 0x0605,
        SLEEPMSEC, 1,
-       0x30, 0x090d,
-       0x31, 0x0105,
+       0x30, 0x2307,
+       0x31, 0x161E,
        SLEEPMSEC, 5,
+       0x12, 0x000f,
+       SLEEPMSEC, 10,
        0x12, 0x001f,
-       
+       SLEEPMSEC, 10,
+
+       0xf4, 0x0003,
+
        ENDDEF, 0x0000
 };
 
@@ -119,22 +122,22 @@ const unsigned short GAMMA_SETTING[] = {
 #endif
 #if 1  /* 1.0 */
        /* High Red Gamma */
-       0x40, 0xc609,
-       0x41, 0xdad6,
-       0x42, 0xc3b8,
-       0x43, 0x009f,
+       0x40, 0x0720,
+       0x41, 0xCBA7,
+       0x42, 0xAB92,
+       0x43, 0x0088,
 
        /* High Green Gamma */
-       0x44, 0xbc04,
-       0x45, 0xdad4,
-       0x46, 0xc1b5,
-       0x47, 0x00bb,
+       0x44, 0x7804,
+       0x45, 0xCEBE,
+       0x46, 0xB39E,
+       0x47, 0x00A4,
 
        /* High Blue Gamma */
-       0x48, 0xc009,
-       0x49, 0xd4d4,
-       0x4a, 0xbbb0,
-       0x4b, 0x00dc,
+       0x48, 0x0009,
+       0x49, 0xC6B9,
+       0x4a, 0xA996,
+       0x4b, 0x00C7,
 
 #endif
 
@@ -146,7 +149,7 @@ const unsigned short MANUAL_POWER_ON_SETTING[] = {
        SLEEPMSEC, 30,
        0x06, 0x0001,
        SLEEPMSEC, 30,
-       0x06, 0x0003,
+       0x06, 0x0005,
        SLEEPMSEC, 30,
        0x06, 0x0007,
        SLEEPMSEC, 30,
@@ -165,18 +168,14 @@ const unsigned short MANUAL_POWER_ON_SETTING[] = {
 
        0x03, 0x134A,   /* ETC Register setting */
        0x04, 0x86a4,   /* LTPS Power on setting VCIR=2.7V Display is not clean */
-       0x13, 0x9610,
+
        0x14, 0x0808,   /* VFP, VBP Register setting */
        0x15, 0x3090,   /* HSW,HFP,HBP Register setting */
-       0x32, 0x0002,
-       0x3f, 0x0004,
        ENDDEF, 0x0000
 
 };
 
 const unsigned short SEQ_SLEEP_OUT[] = {
-       0x06, 0x4000,
-       0x12, 0x0040,
        0x02, 0x2300,   /* Sleep Out */
        SLEEPMSEC, 1,
        ENDDEF, 0x0000
@@ -184,7 +183,7 @@ const unsigned short SEQ_SLEEP_OUT[] = {
 
 const unsigned short ACL_ON_DISPLAY_SETTING[] = {
        0x5b, 0x0013,
-       0x5c, 0x0200,
+       0x5c, 0x0000,
        0x5d, 0x03ff,
        0x5e, 0x0000,
        0x5f, 0x0257,
@@ -317,26 +316,17 @@ static void ams701ka_panel_send_sequence(const unsigned short *wbuf)
 
 void ams701ka_lcd_panel_power_on(void)
 {
-       /* set gpio data for MLCD_ON to HIGH */
-       gpio_set_value(&gpio->gpio_j1, 3, 1);
-       gpio_set_value(&gpio->gpio_j2, 6, 1);
-       udelay(100000);
-
        /* set gpio data for MLCD_RST to HIGH */
        gpio_set_value(&gpio->gpio_mp0_5, 5, 1);
        gpio_set_value(&gpio->gpio_mp0_5, 5, 0);
        udelay(100000);
        gpio_set_value(&gpio->gpio_mp0_5, 5, 1);
 
-       ams701ka_panel_send_sequence(GAMMA_SETTING);
-       ams701ka_panel_send_sequence(SEQ_SLEEP_OUT);
-       ams701ka_panel_send_sequence(MANUAL_POWER_ON_SETTING);
-       ams701ka_panel_send_sequence(SEQ_DISPLAY_ON);
-       ams701ka_panel_send_sequence(ACL_ON_DISPLAY_SETTING);
-}
+       /* set gpio data for MLCD_ON to HIGH */
+       gpio_set_value(&gpio->gpio_j1, 3, 1);
+       gpio_set_value(&gpio->gpio_j1, 4, 1);
+       udelay(100000);
 
-void ams701ka_cfg_ldo(void)
-{
        ams701ka_panel_send_sequence(GAMMA_SETTING);
        ams701ka_panel_send_sequence(SEQ_SLEEP_OUT);
        ams701ka_panel_send_sequence(MANUAL_POWER_ON_SETTING);
@@ -344,14 +334,6 @@ void ams701ka_cfg_ldo(void)
        ams701ka_panel_send_sequence(ACL_ON_DISPLAY_SETTING);
 }
 
-void ams701ka_enable_ldo(unsigned int onoff)
-{
-       if(onoff)       {
-               ams701ka_panel_send_sequence(SEQ_DISPLAY_ON);
-       }       else    {
-               ams701ka_panel_send_sequence(SEQ_DISPLAY_OFF);
-       }
-}
 
 static inline void ams701ka_c110_panel_hw_reset(void)
 {
index 07e5d09..b42112e 100644 (file)
@@ -38,11 +38,7 @@ GLCOBJS      += div0.o
 
 SOBJS-y        += _memcpy32.o
 
-ifneq ("$(BOARD)", "p1p2")
 COBJS-y        += board.o
-else
-COBJS-y        += board_p1p2.o
-endif
 COBJS-y        += bootm.o
 COBJS-y        += cache.o
 ifndef CONFIG_SYS_NO_CP15_CACHE
index 0d29ac6..e148739 100644 (file)
@@ -334,7 +334,6 @@ void start_armboot (void)
        puts ("NAND:  ");
        nand_init();            /* go init the NAND */
 #endif
-       pmic_pin_init();        /* for PS_HOLD_CONTROL activation */
 
 #if defined(CONFIG_CMD_ONENAND)
        onenand_init();
diff --git a/lib_arm/board_p1p2.c b/lib_arm/board_p1p2.c
deleted file mode 100644 (file)
index 0d29ac6..0000000
+++ /dev/null
@@ -1,450 +0,0 @@
-/*
- * (C) Copyright 2002-2006
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * (C) Copyright 2002
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- * Marius Groeger <mgroeger@sysgo.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/*
- * To match the U-Boot user interface on ARM platforms to the U-Boot
- * standard (as on PPC platforms), some messages with debug character
- * are removed from the default U-Boot build.
- *
- * Define DEBUG here if you want additional info as shown below
- * printed upon startup:
- *
- * U-Boot code: 00F00000 -> 00F3C774  BSS: -> 00FC3274
- * IRQ Stack: 00ebff7c
- * FIQ Stack: 00ebef7c
- */
-
-#include <common.h>
-#include <command.h>
-#include <malloc.h>
-#include <stdio_dev.h>
-#include <timestamp.h>
-#include <version.h>
-#include <net.h>
-#include <serial.h>
-#include <nand.h>
-#include <onenand_uboot.h>
-#include <mmc.h>
-
-#ifdef CONFIG_BITBANGMII
-#include <miiphy.h>
-#endif
-
-#ifdef CONFIG_DRIVER_SMC91111
-#include "../drivers/net/smc91111.h"
-#endif
-#ifdef CONFIG_DRIVER_LAN91C96
-#include "../drivers/net/lan91c96.h"
-#endif
-
-DECLARE_GLOBAL_DATA_PTR;
-
-ulong monitor_flash_len;
-
-#ifdef CONFIG_HAS_DATAFLASH
-extern int  AT91F_DataflashInit(void);
-extern void dataflash_print_info(void);
-#endif
-
-#ifndef CONFIG_IDENT_STRING
-#define CONFIG_IDENT_STRING ""
-#endif
-
-const char version_string[] =
-       U_BOOT_VERSION" (" U_BOOT_DATE " - " U_BOOT_TIME ")"CONFIG_IDENT_STRING;
-
-#ifdef CONFIG_DRIVER_RTL8019
-extern void rtl8019_get_enetaddr (uchar * addr);
-#endif
-
-#if defined(CONFIG_HARD_I2C) || \
-    defined(CONFIG_SOFT_I2C)
-#include <i2c.h>
-#endif
-
-
-/************************************************************************
- * Coloured LED functionality
- ************************************************************************
- * May be supplied by boards if desired
- */
-void inline __coloured_LED_init (void) {}
-void coloured_LED_init (void) __attribute__((weak, alias("__coloured_LED_init")));
-void inline __red_LED_on (void) {}
-void red_LED_on (void) __attribute__((weak, alias("__red_LED_on")));
-void inline __red_LED_off(void) {}
-void red_LED_off(void) __attribute__((weak, alias("__red_LED_off")));
-void inline __green_LED_on(void) {}
-void green_LED_on(void) __attribute__((weak, alias("__green_LED_on")));
-void inline __green_LED_off(void) {}
-void green_LED_off(void) __attribute__((weak, alias("__green_LED_off")));
-void inline __yellow_LED_on(void) {}
-void yellow_LED_on(void) __attribute__((weak, alias("__yellow_LED_on")));
-void inline __yellow_LED_off(void) {}
-void yellow_LED_off(void) __attribute__((weak, alias("__yellow_LED_off")));
-void inline __blue_LED_on(void) {}
-void blue_LED_on(void) __attribute__((weak, alias("__blue_LED_on")));
-void inline __blue_LED_off(void) {}
-void blue_LED_off(void) __attribute__((weak, alias("__blue_LED_off")));
-
-/************************************************************************
- * Init Utilities                                                      *
- ************************************************************************
- * Some of this code should be moved into the core functions,
- * or dropped completely,
- * but let's get it working (again) first...
- */
-
-#if defined(CONFIG_ARM_DCC) && !defined(CONFIG_BAUDRATE)
-#define CONFIG_BAUDRATE 115200
-#endif
-static int init_baudrate (void)
-{
-       char tmp[64];   /* long enough for environment variables */
-       int i = getenv_r ("baudrate", tmp, sizeof (tmp));
-       gd->bd->bi_baudrate = gd->baudrate = (i > 0)
-                       ? (int) simple_strtoul (tmp, NULL, 10)
-                       : CONFIG_BAUDRATE;
-
-       return (0);
-}
-
-static int display_banner (void)
-{
-       printf ("\n\n%s\n\n", version_string);
-       debug ("U-Boot code: %08lX -> %08lX  BSS: -> %08lX\n",
-              _armboot_start, _bss_start, _bss_end);
-#ifdef CONFIG_MODEM_SUPPORT
-       debug ("Modem Support enabled\n");
-#endif
-#ifdef CONFIG_USE_IRQ
-       debug ("IRQ Stack: %08lx\n", IRQ_STACK_START);
-       debug ("FIQ Stack: %08lx\n", FIQ_STACK_START);
-#endif
-
-       return (0);
-}
-
-/*
- * WARNING: this code looks "cleaner" than the PowerPC version, but
- * has the disadvantage that you either get nothing, or everything.
- * On PowerPC, you might see "DRAM: " before the system hangs - which
- * gives a simple yet clear indication which part of the
- * initialization if failing.
- */
-static int display_dram_config (void)
-{
-       int i;
-
-#ifdef DEBUG
-       puts ("RAM Configuration:\n");
-
-       for(i=0; i<CONFIG_NR_DRAM_BANKS; i++) {
-               printf ("Bank #%d: %08lx ", i, gd->bd->bi_dram[i].start);
-               print_size (gd->bd->bi_dram[i].size, "\n");
-       }
-#else
-       ulong size = 0;
-
-       for (i=0; i<CONFIG_NR_DRAM_BANKS; i++) {
-               size += gd->bd->bi_dram[i].size;
-       }
-       puts("DRAM:  ");
-       print_size(size, "\n");
-#endif
-
-       return (0);
-}
-
-#ifndef CONFIG_SYS_NO_FLASH
-static void display_flash_config (ulong size)
-{
-       puts ("Flash: ");
-       print_size (size, "\n");
-}
-#endif /* CONFIG_SYS_NO_FLASH */
-
-#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
-static int init_func_i2c (void)
-{
-       puts ("I2C:   ");
-       i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
-       puts ("ready\n");
-       return (0);
-}
-#endif
-
-#if defined(CONFIG_CMD_PCI) || defined (CONFIG_PCI)
-#include <pci.h>
-static int arm_pci_init(void)
-{
-       pci_init();
-       return 0;
-}
-#endif /* CONFIG_CMD_PCI || CONFIG_PCI */
-
-/*
- * Breathe some life into the board...
- *
- * Initialize a serial port as console, and carry out some hardware
- * tests.
- *
- * The first part of initialization is running from Flash memory;
- * its main purpose is to initialize the RAM so that we
- * can relocate the monitor code to RAM.
- */
-
-/*
- * All attempts to come up with a "common" initialization sequence
- * that works for all boards and architectures failed: some of the
- * requirements are just _too_ different. To get rid of the resulting
- * mess of board dependent #ifdef'ed code we now make the whole
- * initialization sequence configurable to the user.
- *
- * The requirements for any new initalization function is simple: it
- * receives a pointer to the "global data" structure as it's only
- * argument, and returns an integer return code, where 0 means
- * "continue" and != 0 means "fatal error, hang the system".
- */
-typedef int (init_fnc_t) (void);
-
-int print_cpuinfo (void);
-
-init_fnc_t *init_sequence[] = {
-#if defined(CONFIG_ARCH_CPU_INIT)
-       arch_cpu_init,          /* basic arch cpu dependent setup */
-#endif
-       board_init,             /* basic board dependent setup */
-#if defined(CONFIG_USE_IRQ)
-       interrupt_init,         /* set up exceptions */
-#endif
-       timer_init,             /* initialize timer */
-       env_init,               /* initialize environment */
-       init_baudrate,          /* initialze baudrate settings */
-       serial_init,            /* serial communications setup */
-       console_init_f,         /* stage 1 init of console */
-       display_banner,         /* say that we are here */
-#if defined(CONFIG_DISPLAY_CPUINFO)
-       print_cpuinfo,          /* display cpu info (and speed) */
-#endif
-#if defined(CONFIG_DISPLAY_BOARDINFO)
-       checkboard,             /* display board info */
-#endif
-#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
-       init_func_i2c,
-#endif
-       dram_init,              /* configure available RAM banks */
-#if defined(CONFIG_CMD_PCI) || defined (CONFIG_PCI)
-       arm_pci_init,
-#endif
-       display_dram_config,
-       NULL,
-};
-
-void start_armboot (void)
-{
-       init_fnc_t **init_fnc_ptr;
-       char *s;
-#if defined(CONFIG_VFD) || defined(CONFIG_LCD)
-       unsigned long addr;
-#endif
-
-       /* Pointer is writable since we allocated a register for it */
-       gd = (gd_t*)(_armboot_start - CONFIG_SYS_MALLOC_LEN - sizeof(gd_t));
-       /* compiler optimization barrier needed for GCC >= 3.4 */
-       __asm__ __volatile__("": : :"memory");
-
-       memset ((void*)gd, 0, sizeof (gd_t));
-       gd->bd = (bd_t*)((char*)gd - sizeof(bd_t));
-       memset (gd->bd, 0, sizeof (bd_t));
-
-       gd->flags |= GD_FLG_RELOC;
-
-       monitor_flash_len = _bss_start - _armboot_start;
-
-       for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
-               if ((*init_fnc_ptr)() != 0) {
-                       hang ();
-               }
-       }
-
-       /* armboot_start is defined in the board-specific linker script */
-       mem_malloc_init (_armboot_start - CONFIG_SYS_MALLOC_LEN,
-                       CONFIG_SYS_MALLOC_LEN);
-
-#ifndef CONFIG_SYS_NO_FLASH
-       /* configure available FLASH banks */
-       display_flash_config (flash_init ());
-#endif /* CONFIG_SYS_NO_FLASH */
-
-#ifdef CONFIG_VFD
-#      ifndef PAGE_SIZE
-#        define PAGE_SIZE 4096
-#      endif
-       /*
-        * reserve memory for VFD display (always full pages)
-        */
-       /* bss_end is defined in the board-specific linker script */
-       addr = (_bss_end + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
-       vfd_setmem (addr);
-       gd->fb_base = addr;
-#endif /* CONFIG_VFD */
-
-#ifdef CONFIG_LCD
-       /* board init may have inited fb_base */
-       if (!gd->fb_base) {
-#              ifndef PAGE_SIZE
-#                define PAGE_SIZE 4096
-#              endif
-               /*
-                * reserve memory for LCD display (always full pages)
-                */
-               /* bss_end is defined in the board-specific linker script */
-               addr = (_bss_end + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
-               lcd_setmem (addr);
-               gd->fb_base = addr;
-       }
-#endif /* CONFIG_LCD */
-
-#if defined(CONFIG_CMD_NAND)
-       puts ("NAND:  ");
-       nand_init();            /* go init the NAND */
-#endif
-       pmic_pin_init();        /* for PS_HOLD_CONTROL activation */
-
-#if defined(CONFIG_CMD_ONENAND)
-       onenand_init();
-#endif
-
-#ifdef CONFIG_HAS_DATAFLASH
-       AT91F_DataflashInit();
-       dataflash_print_info();
-#endif
-
-       /* initialize environment */
-       env_relocate ();
-
-#ifdef CONFIG_VFD
-       /* must do this after the framebuffer is allocated */
-       drv_vfd_init();
-#endif /* CONFIG_VFD */
-
-#ifdef CONFIG_SERIAL_MULTI
-       serial_initialize();
-#endif
-
-       /* IP Address */
-       gd->bd->bi_ip_addr = getenv_IPaddr ("ipaddr");
-
-       stdio_init ();  /* get the devices list going. */
-
-       jumptable_init ();
-
-#if defined(CONFIG_API)
-       /* Initialize API */
-       api_init ();
-#endif
-
-       console_init_r ();      /* fully init console as a device */
-
-#if defined(CONFIG_ARCH_MISC_INIT)
-       /* miscellaneous arch dependent initialisations */
-       arch_misc_init ();
-#endif
-#if defined(CONFIG_MISC_INIT_R)
-       /* miscellaneous platform dependent initialisations */
-       misc_init_r ();
-#endif
-
-       /* enable exceptions */
-       enable_interrupts ();
-
-       /* Perform network card initialisation if necessary */
-#ifdef CONFIG_DRIVER_TI_EMAC
-       /* XXX: this needs to be moved to board init */
-extern void davinci_eth_set_mac_addr (const u_int8_t *addr);
-       if (getenv ("ethaddr")) {
-               uchar enetaddr[6];
-               eth_getenv_enetaddr("ethaddr", enetaddr);
-               davinci_eth_set_mac_addr(enetaddr);
-       }
-#endif
-
-#if defined(CONFIG_DRIVER_SMC91111) || defined (CONFIG_DRIVER_LAN91C96)
-       /* XXX: this needs to be moved to board init */
-       if (getenv ("ethaddr")) {
-               uchar enetaddr[6];
-               eth_getenv_enetaddr("ethaddr", enetaddr);
-               smc_set_mac_addr(enetaddr);
-       }
-#endif /* CONFIG_DRIVER_SMC91111 || CONFIG_DRIVER_LAN91C96 */
-
-       /* Initialize from environment */
-       if ((s = getenv ("loadaddr")) != NULL) {
-               load_addr = simple_strtoul (s, NULL, 16);
-       }
-#if defined(CONFIG_CMD_NET)
-       if ((s = getenv ("bootfile")) != NULL) {
-               copy_filename (BootFile, s, sizeof (BootFile));
-       }
-#endif
-
-#ifdef BOARD_LATE_INIT
-       board_late_init ();
-#endif
-
-#ifdef CONFIG_GENERIC_MMC
-       puts ("MMC:   ");
-       mmc_initialize (gd->bd);
-#endif
-
-#ifdef CONFIG_BITBANGMII
-       bb_miiphy_init();
-#endif
-#if defined(CONFIG_CMD_NET)
-#if defined(CONFIG_NET_MULTI)
-       puts ("Net:   ");
-#endif
-       eth_initialize(gd->bd);
-#if defined(CONFIG_RESET_PHY_R)
-       debug ("Reset Ethernet PHY\n");
-       reset_phy();
-#endif
-#endif
-       /* main_loop() can return to retry autoboot, if so just run it again. */
-       for (;;) {
-               main_loop ();
-       }
-
-       /* NOTREACHED - no way out of command loop except booting */
-}
-
-void hang (void)
-{
-       puts ("### ERROR ### Please RESET the board ###\n");
-       for (;;);
-}