diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1996-04-24 11:09:01 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1996-04-24 11:09:01 +0000 |
commit | 6bbb90fd25d2dcd7a4acdc8969a442fd71b98a06 (patch) | |
tree | da1eb150bc647bb89c88e694d8714e5193738055 /sys/arch/arm32/fpe-arm | |
parent | 00287be7e84692788588bfeb60508f1022602abb (diff) |
Initial import of arm32 port
Diffstat (limited to 'sys/arch/arm32/fpe-arm')
-rw-r--r-- | sys/arch/arm32/fpe-arm/armfpe.h | 137 | ||||
-rw-r--r-- | sys/arch/arm32/fpe-arm/armfpe.s | 7459 | ||||
-rw-r--r-- | sys/arch/arm32/fpe-arm/armfpe_glue.S | 411 | ||||
-rw-r--r-- | sys/arch/arm32/fpe-arm/armfpe_init.c | 332 |
4 files changed, 8339 insertions, 0 deletions
diff --git a/sys/arch/arm32/fpe-arm/armfpe.h b/sys/arch/arm32/fpe-arm/armfpe.h new file mode 100644 index 00000000000..fbcdaf46d10 --- /dev/null +++ b/sys/arch/arm32/fpe-arm/armfpe.h @@ -0,0 +1,137 @@ +/* + * $NetBSD: armfpe.h,v 1.3 1996/03/18 19:54:53 mark Exp $ + * + * Copyright (c) 1995 Neil A Carson. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Brini. + * 4. The name of the company nor the name of the author may be used to + * endorse or promote products derived from this software without specific + * prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * RiscBSD kernel project + * + * armfpe.h + * + * Details of functions and structures needed for ARM FP cor + * support in RiscBSD + * + * Created : 04/01/96 + */ + +#ifndef __ARM32_ARM_FPE_H +#define __ARM32_ARM_FPE_H + +/************************************ Types ***********************************/ + +/* + * An extended precision floating point number + */ + +typedef struct { + u_int32_t exponent; + u_int32_t mantissa_hi; + u_int32_t mantissa_lo; +} fp_extended_precision_t; + +/* + * Type for a saved FP context, if we want to translate the context to a + * user-readable form + */ + +typedef struct fp_context_frame { + u_int32_t fpsr; + fp_extended_precision_t regs[8]; +} fp_context_frame_t; + +/************************************* Module *********************************/ + +typedef struct { + /* + * Addresses of procedures/functions + */ + + u_int32_t core_abort_addr; + u_int32_t core_initws_addr; + u_int32_t core_initcontext_addr; + u_int32_t core_changecontext_addr; + u_int32_t core_shutdown_addr; + u_int32_t core_activatecontext_addr; + u_int32_t core_deactivatecontext_addr; + u_int32_t core_savecontext_addr; + u_int32_t core_loadcontext_addr; + u_int32_t core_disable_addr; + u_int32_t core_enable_addr; + + /* + * Addresses of things that need to be filled in by the kernel on startup + */ + + u_int32_t *main_ws_ptr_addr; + u_int32_t *local_handler_ptr_addr; + u_int32_t *old_handler_ptr_addr; + u_int32_t *exc_handler_ptr_addr; + u_int32_t *fp_post_proc_addr; + + /* + * Numbers that the kernel needs - these are not pointers so do not need to + * be relocated! + */ + + u_int32_t WorkspaceLength; + u_int32_t ContextLength; +} arm_fpe_mod_hdr_t; + +/**************************** Procedures in arm_fpe.c *************************/ + +#ifdef _KERNEL + +/* macro to return the FP context for a process */ + +#define FP_CONTEXT(p) ((u_int)(((u_char *)(p)->p_addr) + sizeof(struct user))) + +/* Prototypes */ + +void arm_fpe_mod_reloc __P((void)); +int arm_fpe_boot __P((void)); +int initialise_arm_fpe __P((cpu_t *cpu)); +void arm_fpe_postproc __P((u_int fpframe, struct trapframe *frame)); +void arm_fpe_exception __P((int exception, u_int pc, u_int fpframe)); + +void arm_fpe_core_disable __P((void)); +void arm_fpe_core_enable __P((void)); +u_int arm_fpe_core_initws __P((u_int workspace, int handler1, int handler2)); +u_int arm_fpe_core_abort __P((u_int context, int r12, int pc)); +void arm_fpe_core_initcontext __P((u_int context)); +u_int arm_fpe_core_changecontext __P((u_int context)); +void arm_fpe_core_shutdown __P((void)); +void arm_fpe_core_activatecontext __P((u_int context)); +u_int arm_fpe_core_deactivatecontext __P((void)); +u_int arm_fpe_core_savecontext __P((u_int context, int *savearea, int pc)); +void arm_fpe_core_loadcontext __P((u_int context, int *loadarea)); +void arm_fpe_copycontext __P((u_int c1, u_int c2)); +#endif + +#endif diff --git a/sys/arch/arm32/fpe-arm/armfpe.s b/sys/arch/arm32/fpe-arm/armfpe.s new file mode 100644 index 00000000000..71066caa95e --- /dev/null +++ b/sys/arch/arm32/fpe-arm/armfpe.s @@ -0,0 +1,7459 @@ +/* $NetBSD: armfpe.s,v 1.2 1996/03/18 19:54:55 mark Exp $ */ + +/* + * Copyright (c) 1996 Neil A Carson. + * Copyright (c) 1996 Advanced Risc Machines Ltd. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the RiscBSD kernel team. + * 4. The name of the company nor the name of the author may be used to + * endorse or promote products derived from this software without specific + * prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * RiscBSD kernel project + * + * armfpe.s + * + * ARM FPE core + * + * Created : 05/01/96 + */ + +/* DO NOT MODIFY - THIS FILE IS AUTOMATICALLY GENERATED. */ + +/* Generated from KernelFPE */ + +.text +.global _arm_fpe_mod +_arm_fpe_mod: + .word 0x00006cc0 + .word 0x00006e54 + .word 0x00006ebc + .word 0x00006f5c + .word 0x0000706c + .word 0x00006fd8 + .word 0x00006f64 + .word 0x00007140 + .word 0x0000722c + .word 0x0000707c + .word 0x000070d0 + .word 0x000072e4 + .word 0x000072fc + .word 0x00007314 + .word 0x00007364 + .word 0x000072e8 + .word 0x0000000c + .word 0x00000088 + .word 0x00000000 + .word 0x00000000 + .word 0x00000000 + .word 0xe24dd040 + .word 0xe8cd7fff + .word 0xe58de03c + .word 0xe1a0c00d + .word 0xe10fa000 + .word 0xe14f9000 + .word 0xe92d0600 + .word 0xe319000f + .word 0xe24e9004 + .word 0x04b9b000 + .word 0x1599b000 + .word 0xe92d4000 + .word 0xeb001c90 + .word 0xe8bd0400 + .word 0xe8bd4000 + .word 0xe31b0302 + .word 0x0a000849 + .word 0xe20b9c0f + .word 0xe3590c01 + .word 0x1a000015 + .word 0xe59aa000 + .word 0xee509110 + .word 0xe2098c0f + .word 0xee307110 + .word 0xe08ff328 + .word 0x00000000 + .word 0xea001ca9 + .word 0xea001ca8 + .word 0xea001ca7 + .word 0xea001ca6 + .word 0xea000103 + .word 0xea0002b1 + .word 0xea00002e + .word 0xea0002af + .word 0xea00018f + .word 0xea0002b8 + .word 0xea00018d + .word 0xea0002b6 + .word 0xea0000fb + .word 0xea0002ad + .word 0xea000026 + .word 0xea0002ab + .word 0xe3590c02 + .word 0x1a00082e + .word 0xe59aa000 + .word 0xee509110 + .word 0xe2098c0f + .word 0xee307110 + .word 0xe08ff328 + .word 0x00000000 + .word 0xea001c91 + .word 0xea001c90 + .word 0xea001c8f + .word 0xea001c8e + .word 0xea0000e7 + .word 0xea000299 + .word 0xea000008 + .word 0xea000297 + .word 0xea00081b + .word 0xea0002a0 + .word 0xea000819 + .word 0xea00029e + .word 0xea0000df + .word 0xea000295 + .word 0xea000000 + .word 0xea000293 + .word 0xe3190010 + .word 0x13190601 + .word 0x0a00000d + .word 0xe59c803c + .word 0xe2488004 + .word 0xe58c803c + .word 0xe91c0300 + .word 0xe129f009 + .word 0xe169f008 + .word 0xe1a0d00c + .word 0xe8dc7fff + .word 0xe1a00000 + .word 0xe28dd03c + .word 0xe8fd8000 + .word 0xe3190010 + .word 0x13190601 + .word 0x1a00011d + .word 0xe389b402 + .word 0xe3170b01 + .word 0x059c803c + .word 0x02488004 + .word 0x058c803c + .word 0xe10f8000 + .word 0xe3c88080 + .word 0xe129f008 + .word 0xe1a00000 + .word 0xe31b0901 + .word 0x0d2d020c + .word 0x1d2d420c + .word 0xe20b8a03 + .word 0xe0888088 + .word 0xe08d8528 + .word 0xe8980007 + .word 0xe28dd030 + .word 0xe3c03103 + .word 0xe2000103 + .word 0xe20b8301 + .word 0xe18335a8 + .word 0xe3530903 + .word 0x22433801 + .word 0xe20b50e0 + .word 0xe20b8702 + .word 0xe18555a8 + .word 0xe20b4201 + .word 0xe31b0102 + .word 0x02644000 + .word 0xea00001e + .word 0x00003f81 + .word 0x0000407e + .word 0x00003f81 + .word 0x0000407e + .word 0x00003f81 + .word 0x0000407e + .word 0x00003f81 + .word 0x0000407e + .word 0x00003c01 + .word 0x000043fe + .word 0x00003c01 + .word 0x000043fe + .word 0x00003c01 + .word 0x000043fe + .word 0x00003c01 + .word 0x000043fe + .word 0x00000000 + .word 0x00007ffe + .word 0x00000000 + .word 0x00007ffe + .word 0x00000000 + .word 0x00007ffe + .word 0x00000000 + .word 0x00007ffe + .word 0xe3100101 + .word 0x1a00000f + .word 0xe20b50e0 + .word 0xe20b8702 + .word 0xe18555a8 + .word 0xe3a04000 + .word 0xeb000bbe + .word 0xe24f8084 + .word 0xe0888125 + .word 0xe8980300 + .word 0xe1530009 + .word 0xd1580003 + .word 0xca000015 + .word 0xe1800003 + .word 0xe3540000 + .word 0x11b08aa7 + .word 0x33877010 + .word 0x8b000d35 + .word 0xe92d0007 + .word 0xe20b8a07 + .word 0xe08f84a8 + .word 0xe1a0e00f + .word 0xe288f044 + .word 0xee207110 + .word 0xe92d4000 + .word 0xeb001c01 + .word 0xe8bd4000 + .word 0xe91c0300 + .word 0xe129f009 + .word 0xe169f008 + .word 0xe1a0d00c + .word 0xe8dc7fff + .word 0xe1a00000 + .word 0xe28dd03c + .word 0xe8fd8000 + .word 0xe24fe05c + .word 0xe0588003 + .word 0xca000c8f + .word 0xea000c18 + .word 0xecbd8203 + .word 0xe1a0f00e + .word 0xecbd9203 + .word 0xe1a0f00e + .word 0xecbda203 + .word 0xe1a0f00e + .word 0xecbdb203 + .word 0xe1a0f00e + .word 0xecbdc203 + .word 0xe1a0f00e + .word 0xecbdd203 + .word 0xe1a0f00e + .word 0xecbde203 + .word 0xe1a0f00e + .word 0xecbdf203 + .word 0xe1a0f00e + .word 0xe20b3a0f + .word 0xe3530a0d + .word 0x2a000011 + .word 0xe79c6523 + .word 0xeb000f16 + .word 0xe20b50e0 + .word 0xe20b8702 + .word 0xe18555a8 + .word 0xe3a04000 + .word 0xeb000b84 + .word 0xe1800003 + .word 0xe3540000 + .word 0x11b08aa7 + .word 0x33877010 + .word 0x8b000d01 + .word 0xe92d0007 + .word 0xe20b8807 + .word 0xe08f86a8 + .word 0xe1a0e00f + .word 0xe248f08c + .word 0xeaffffca + .word 0xe3530a0f + .word 0x0a00000c + .word 0xe51c8008 + .word 0xe218800f + .word 0x0affffe8 + .word 0xe3888090 + .word 0xe10f9000 + .word 0xe3c9601f + .word 0xe1868008 + .word 0xe129f008 + .word 0xe3530a0d + .word 0x01a0600d + .word 0x11a0600e + .word 0xe129f009 + .word 0xeaffffdf + .word 0xe59c603c + .word 0xe2866008 + .word 0xeaffffdc + .word 0xe31b0702 + .word 0x131b0080 + .word 0x1a00076c + .word 0xe31b0010 + .word 0x0a000042 + .word 0xe20b860f + .word 0xe08ff928 + .word 0x00000000 + .word 0xeaffffcf + .word 0xea0000a0 + .word 0xea000764 + .word 0xea000763 + .word 0xea000762 + .word 0xea000761 + .word 0xea000760 + .word 0xea00075f + .word 0xea00075e + .word 0xea000081 + .word 0xea00075c + .word 0xea00007f + .word 0xea00075a + .word 0xea00007d + .word 0xea000758 + .word 0xea00007b + .word 0x00000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00003fff + .word 0x80000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004000 + .word 0x80000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004000 + .word 0xc0000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004001 + .word 0x80000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004001 + .word 0xa0000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00003ffe + .word 0x80000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004002 + .word 0xa0000000 + .word 0x00000000 + .word 0x00000000 + .word 0xe3190010 + .word 0x13190601 + .word 0x0a000003 + .word 0xeaffff21 + .word 0xe3190010 + .word 0x13190601 + .word 0x1a00004a + .word 0xe389b402 + .word 0xe3170b01 + .word 0x059c803c + .word 0x02488004 + .word 0x058c803c + .word 0xe10f8000 + .word 0xe3c88080 + .word 0xe129f008 + .word 0xe1a00000 + .word 0xe31b0902 + .word 0x1a000020 + .word 0xed2d420c + .word 0xed2d020c + .word 0xe20b8807 + .word 0xe0888088 + .word 0xe08d8728 + .word 0xe8980007 + .word 0xe1b09e8b + .word 0x208f8ca9 + .word 0x224880ec + .word 0x308d8da9 + .word 0x30888d29 + .word 0xe8980038 + .word 0xe28dd060 + .word 0xe24fefb7 + .word 0xe20b860f + .word 0xe08ff928 + .word 0x00000000 + .word 0xea0012b1 + .word 0xea0012e9 + .word 0xea0012af + .word 0xea0012ae + .word 0xea001327 + .word 0xea001326 + .word 0xea001616 + .word 0xea001615 + .word 0xea001120 + .word 0xea0012e1 + .word 0xea001321 + .word 0xea001320 + .word 0xea001912 + .word 0xea000706 + .word 0xea000705 + .word 0xea000704 + .word 0xe1b09e8b + .word 0x208f8ca9 + .word 0x22488f56 + .word 0x2a000004 + .word 0x5d2d020c + .word 0x4d2d420c + .word 0xe3c99102 + .word 0xe08d8da9 + .word 0xe0888d29 + .word 0xe8980007 + .word 0x328dd030 + .word 0xe24fefd6 + .word 0xe20b860f + .word 0xe08ff928 + .word 0x00000000 + .word 0xea0013d3 + .word 0xea0013d2 + .word 0xea0013d1 + .word 0xea0011f2 + .word 0xea00112c + .word 0xea0014cf + .word 0xea0014ce + .word 0xea001582 + .word 0xea001709 + .word 0xea001708 + .word 0xea001842 + .word 0xea001799 + .word 0xea001798 + .word 0xea001916 + .word 0xea0013f8 + .word 0xea0013ea + .word 0xe02b8009 + .word 0xe59f90f8 + .word 0xe1180009 + .word 0x1afffecf + .word 0xe10f8000 + .word 0xe3c88080 + .word 0xe129f008 + .word 0xe1a00000 + .word 0xe31b0502 + .word 0x0a000016 + .word 0xed2d420c + .word 0xed2d020c + .word 0xe20b8807 + .word 0xe0888088 + .word 0xe08d8728 + .word 0xe8980007 + .word 0xe1b09e8b + .word 0x208f8ca9 + .word 0x22488f85 + .word 0x308d8da9 + .word 0x30888d29 + .word 0xe8980038 + .word 0xe28dd060 + .word 0xeb0013fb + .word 0xe20b3a0f + .word 0xe3330a0f + .word 0x1a000012 + .word 0xe51c8008 + .word 0xe3c8820f + .word 0xe206620f + .word 0xe1888006 + .word 0xe50c8008 + .word 0xeaffff0d + .word 0xe1b09e8b + .word 0x208f8ca9 + .word 0x22488f96 + .word 0x2a000004 + .word 0x5d2d020c + .word 0x4d2d420c + .word 0xe3c99102 + .word 0xe08d8da9 + .word 0xe0888d29 + .word 0xe8980007 + .word 0x328dd030 + .word 0xeb00141e + .word 0xe20b3a0f + .word 0xe3530a0d + .word 0x2a000001 + .word 0xe78c6523 + .word 0xeafffefc + .word 0xe3330a0f + .word 0x0affffe6 + .word 0xe51c8008 + .word 0xe218800f + .word 0x0afffff8 + .word 0xe3888090 + .word 0xe10f9000 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe3530a0d + .word 0x01a0d006 + .word 0x11a0e006 + .word 0xe129f009 + .word 0xeafffeed + .word 0x00ff00ff + .word 0xe10f8000 + .word 0xe3c88080 + .word 0xe129f008 + .word 0xe1a00000 + .word 0xe31b0402 + .word 0x1affff2d + .word 0xe20b5501 + .word 0xe1a05725 + .word 0xe20b8902 + .word 0xe1855428 + .word 0xe3550d06 + .word 0x0a00005f + .word 0xe31b0901 + .word 0x0d2d020c + .word 0x1d2d420c + .word 0xe20b8a03 + .word 0xe0888088 + .word 0xe08d8528 + .word 0xe8980007 + .word 0xe28dd030 + .word 0xeb00069b + .word 0xe20b380f + .word 0xe51c8008 + .word 0xe218800f + .word 0x1a00001b + .word 0xe353080f + .word 0x2a00000d + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe3550080 + .word 0xe4a40004 + .word 0x24a41004 + .word 0x84a42000 + .word 0xeafffec3 + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe3550080 + .word 0xe4a40004 + .word 0x24a41004 + .word 0x84a42000 + .word 0xeafffeb7 + .word 0xe353080d + .word 0x2a00000d + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe3550080 + .word 0x38840001 + .word 0x08840003 + .word 0x88840007 + .word 0xeafffea7 + .word 0xe353080f + .word 0x1a00000b + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe3550080 + .word 0x38840001 + .word 0x08840003 + .word 0x88840007 + .word 0xeafffe99 + .word 0xe3888090 + .word 0xe10f9000 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe353080d + .word 0x01a0400d + .word 0x11a0400e + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0602 + .word 0x0a000002 + .word 0xe353080d + .word 0x01a0d008 + .word 0x11a0e008 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe129f009 + .word 0xe3550080 + .word 0x38840001 + .word 0x08840003 + .word 0x88840007 + .word 0xeafffe80 + .word 0xe31b0601 + .word 0x1a00005e + .word 0xe31b0901 + .word 0x0d2d020c + .word 0x1d2d420c + .word 0xe20b8a03 + .word 0xe0888088 + .word 0xe08d8528 + .word 0xe8980007 + .word 0xe28dd030 + .word 0xeb000775 + .word 0xe20b380f + .word 0xe51c8008 + .word 0xe218800f + .word 0x1a00001d + .word 0xe353080f + .word 0x2a00000e + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe3170b02 + .word 0xe4a40004 + .word 0xe4a41004 + .word 0xe4a42004 + .word 0x14a46000 + .word 0xeafffe60 + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe3170b02 + .word 0xe4a40004 + .word 0xe4a41004 + .word 0xe4a42004 + .word 0x14a46000 + .word 0xeafffe53 + .word 0xe353080d + .word 0x2a00000c + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe3170b02 + .word 0x08840007 + .word 0x88840047 + .word 0xeafffe44 + .word 0xe353080f + .word 0x1a00000a + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe3170b02 + .word 0x08840007 + .word 0x88840047 + .word 0xeafffe37 + .word 0xe3888090 + .word 0xe10f9000 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe353080d + .word 0x01a0400d + .word 0x11a0400e + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0602 + .word 0x0a000002 + .word 0xe353080d + .word 0x01a0d008 + .word 0x11a0e008 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe129f009 + .word 0xe3170b02 + .word 0x08840007 + .word 0x88840047 + .word 0xeafffe1f + .word 0xe20b380f + .word 0xe51c8008 + .word 0xe218800f + .word 0x1a00001f + .word 0xe353080f + .word 0x2a000015 + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe3170b02 + .word 0xe4b40004 + .word 0xe4b41004 + .word 0xe4b42004 + .word 0x14b46000 + .word 0xeb00085d + .word 0xe92d0007 + .word 0xe20b8a07 + .word 0xe08f84a8 + .word 0xe288805c + .word 0xe1a0e00f + .word 0xe248fb02 + .word 0xeafffe03 + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xeaffffea + .word 0xe353080d + .word 0x2a00000c + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe3170b02 + .word 0x08940007 + .word 0x88940047 + .word 0xeaffffe0 + .word 0xe353080f + .word 0x1a000007 + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xeafffff1 + .word 0xe3888090 + .word 0xe10f9000 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe353080d + .word 0x01a0400d + .word 0x11a0400e + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0602 + .word 0x0a000002 + .word 0xe353080d + .word 0x01a0d008 + .word 0x11a0e008 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe129f009 + .word 0xeaffffdc + .word 0xe59a9084 + .word 0xe3190c02 + .word 0x1afffd6c + .word 0xeafffe48 + .word 0xee309110 + .word 0xe58a9080 + .word 0xed8a0200 + .word 0xed8a420c + .word 0xe59a9084 + .word 0xe3c99b02 + .word 0xe58a9084 + .word 0xe59c903c + .word 0xe2499004 + .word 0xe58c903c + .word 0xea0019cf + .word 0xe24dd040 + .word 0xe8cd7fff + .word 0xe58de03c + .word 0xe1a0c00d + .word 0xe10fa000 + .word 0xe14f9000 + .word 0xe92d0600 + .word 0xe319000f + .word 0xe24e9004 + .word 0x04b9b000 + .word 0x1599b000 + .word 0xe92d4000 + .word 0xeb0019af + .word 0xe8bd0400 + .word 0xe8bd4000 + .word 0xe31b0302 + .word 0x0a000568 + .word 0xe20b9c0f + .word 0xe3590c01 + .word 0x1a00048b + .word 0xe59aa000 + .word 0xe59a8084 + .word 0xe3380000 + .word 0x1a000481 + .word 0xe10f8000 + .word 0xe3c88080 + .word 0xe129f008 + .word 0xe1a00000 + .word 0xe59a7080 + .word 0xe31b0402 + .word 0x1a0003bf + .word 0xe1a0948b + .word 0xe209920a + .word 0xe31b0902 + .word 0x13899101 + .word 0xe20b380f + .word 0xe353080f + .word 0x23899201 + .word 0xe51c8008 + .word 0xe218800f + .word 0x13899302 + .word 0xe2095103 + .word 0xe08ffca9 + .word 0x00000000 + .word 0xea00001e + .word 0xea000039 + .word 0xea000063 + .word 0xea000070 + .word 0xea0001ab + .word 0xea0001cc + .word 0xea000207 + .word 0xea00020e + .word 0xea000079 + .word 0xea000095 + .word 0xea0000bf + .word 0xea0000cd + .word 0xea000212 + .word 0xea000237 + .word 0xea000275 + .word 0xea00027c + .word 0xea0000d6 + .word 0xea0000f3 + .word 0xea00011d + .word 0xea00012c + .word 0xea000280 + .word 0xea0002a3 + .word 0xea0002de + .word 0xea0002e5 + .word 0xea000135 + .word 0xea000148 + .word 0xea000175 + .word 0xea000185 + .word 0xea0002e9 + .word 0xea0002fb + .word 0xea000323 + .word 0xea00032a + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xe1a05ba5 + .word 0xeb000535 + .word 0xe20b380f + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe4a40000 + .word 0xe58a7080 + .word 0xe92d4000 + .word 0xeb001964 + .word 0xe8bd4000 + .word 0xe91c0300 + .word 0xe129f009 + .word 0xe169f008 + .word 0xe1a0d00c + .word 0xe8dc7fff + .word 0xe1a00000 + .word 0xe28dd03c + .word 0xe8fd8000 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xe1a05ba5 + .word 0xeb000519 + .word 0xe20b380f + .word 0xe353080d + .word 0x2a00000a + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe8840001 + .word 0xea00031b + .word 0xe51c8008 + .word 0xe218800f + .word 0xe10f9000 + .word 0xe3888090 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe353080d + .word 0x01a0400d + .word 0x11a0400e + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x0a000002 + .word 0xe353080d + .word 0x01a0d008 + .word 0x11a0e008 + .word 0xe129f009 + .word 0xe8840001 + .word 0xea000303 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xe1a05ba5 + .word 0xeb0004ee + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe4a40000 + .word 0xea0002f5 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xe1a05ba5 + .word 0xeb0004e0 + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe8840001 + .word 0xea0002e7 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xe1a05ba5 + .word 0xeb000527 + .word 0xe20b380f + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe4a40004 + .word 0xe4241004 + .word 0xe58a7080 + .word 0xe92d4000 + .word 0xeb001900 + .word 0xe8bd4000 + .word 0xe91c0300 + .word 0xe129f009 + .word 0xe169f008 + .word 0xe1a0d00c + .word 0xe8dc7fff + .word 0xe1a00000 + .word 0xe28dd03c + .word 0xe8fd8000 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xe1a05ba5 + .word 0xeb00050a + .word 0xe20b380f + .word 0xe353080d + .word 0x2a00000a + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe8840003 + .word 0xea0002b7 + .word 0xe51c8008 + .word 0xe218800f + .word 0xe10f9000 + .word 0xe3888090 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe353080d + .word 0x01a0400d + .word 0x11a0400e + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x0a000002 + .word 0xe353080d + .word 0x01a0d008 + .word 0x11a0e008 + .word 0xe129f009 + .word 0xe8840003 + .word 0xea00029f + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xe1a05ba5 + .word 0xeb0004df + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe4a40004 + .word 0xe4241004 + .word 0xea000290 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xe1a05ba5 + .word 0xeb0004d0 + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe8840003 + .word 0xea000282 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xe1a05ba5 + .word 0xeb00051d + .word 0xe20b380f + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe4a40004 + .word 0xe4a41004 + .word 0xe4242008 + .word 0xe58a7080 + .word 0xe92d4000 + .word 0xeb00189a + .word 0xe8bd4000 + .word 0xe91c0300 + .word 0xe129f009 + .word 0xe169f008 + .word 0xe1a0d00c + .word 0xe8dc7fff + .word 0xe1a00000 + .word 0xe28dd03c + .word 0xe8fd8000 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xe1a05ba5 + .word 0xeb0004ff + .word 0xe20b380f + .word 0xe353080d + .word 0x2a00000a + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe8840007 + .word 0xea000251 + .word 0xe51c8008 + .word 0xe218800f + .word 0xe10f9000 + .word 0xe3888090 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe353080d + .word 0x01a0400d + .word 0x11a0400e + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x0a000002 + .word 0xe353080d + .word 0x01a0d008 + .word 0x11a0e008 + .word 0xe129f009 + .word 0xe8840007 + .word 0xea000239 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xe1a05ba5 + .word 0xeb0004d4 + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe4a40004 + .word 0xe4a41004 + .word 0xe4242008 + .word 0xea000229 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xe1a05ba5 + .word 0xeb0004c4 + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe8840007 + .word 0xea00021b + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xeb00053f + .word 0xe20b380f + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe3170b02 + .word 0xe4a40004 + .word 0xe4a41004 + .word 0xe4a42004 + .word 0x14a46000 + .word 0xea000207 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xeb00052b + .word 0xe20b380f + .word 0xe353080d + .word 0x2a00000c + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe3170b02 + .word 0x08840007 + .word 0x18840047 + .word 0xea0001f3 + .word 0xe51c8008 + .word 0xe218800f + .word 0xe10f9000 + .word 0xe3888090 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe353080d + .word 0x01a0400d + .word 0x11a0400e + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x0a000002 + .word 0xe353080d + .word 0x01a0d008 + .word 0x11a0e008 + .word 0xe129f009 + .word 0xe3170b02 + .word 0x08840007 + .word 0x18840047 + .word 0xea0001d9 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xeb0004fd + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe3170b02 + .word 0xe4a40004 + .word 0xe4a41004 + .word 0xe4a42004 + .word 0x14a46000 + .word 0xea0001c8 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8980007 + .word 0xeb0004ec + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe3170b02 + .word 0x08840007 + .word 0x18840047 + .word 0xea0001b9 + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe4b40000 + .word 0xe1b00080 + .word 0xe1a01380 + .word 0xe1a00ba0 + .word 0x12800c7f + .word 0xe1a00060 + .word 0x13811102 + .word 0xe3a02000 + .word 0xe1b08c80 + .word 0x323884fe + .word 0x03800101 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8880007 + .word 0xe92d4000 + .word 0xeb0017cd + .word 0xe8bd4000 + .word 0xe91c0300 + .word 0xe129f009 + .word 0xe169f008 + .word 0xe1a0d00c + .word 0xe8dc7fff + .word 0xe1a00000 + .word 0xe28dd03c + .word 0xe8fd8000 + .word 0xe353080d + .word 0x2a000021 + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe8940001 + .word 0xe1b00080 + .word 0xe1a01380 + .word 0xe1a00ba0 + .word 0x12800c7f + .word 0xe1a00060 + .word 0x13811102 + .word 0xe3a02000 + .word 0xe1b08c80 + .word 0x323884fe + .word 0x03800101 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8880007 + .word 0xe92d4000 + .word 0xeb0017a9 + .word 0xe8bd4000 + .word 0xe91c0300 + .word 0xe129f009 + .word 0xe169f008 + .word 0xe1a0d00c + .word 0xe8dc7fff + .word 0xe1a00000 + .word 0xe28dd03c + .word 0xe8fd8000 + .word 0xe51c8008 + .word 0xe218800f + .word 0xe10f9000 + .word 0xe3888090 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe353080d + .word 0x01a0400d + .word 0x11a0400e + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x0a000002 + .word 0xe353080d + .word 0x01a0d008 + .word 0x11a0e008 + .word 0xe129f009 + .word 0xe8940001 + .word 0xeaffffcf + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xeaffffa2 + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe8940001 + .word 0xeaffffbe + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe4b40004 + .word 0xe4342004 + .word 0xe1b00080 + .word 0x03320000 + .word 0xe1a01500 + .word 0xe1a00a20 + .word 0xe1811aa2 + .word 0xe1a02582 + .word 0x12800b1e + .word 0xe1a00060 + .word 0x13811102 + .word 0xe1b08b00 + .word 0x32288103 + .word 0x323885ff + .word 0x03800101 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8880007 + .word 0xe92d4000 + .word 0xeb00175a + .word 0xe8bd4000 + .word 0xe91c0300 + .word 0xe129f009 + .word 0xe169f008 + .word 0xe1a0d00c + .word 0xe8dc7fff + .word 0xe1a00000 + .word 0xe28dd03c + .word 0xe8fd8000 + .word 0xe353080d + .word 0x2a000024 + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe8940005 + .word 0xe1b00080 + .word 0x03320000 + .word 0xe1a01500 + .word 0xe1a00a20 + .word 0xe1811aa2 + .word 0xe1a02582 + .word 0x12800b1e + .word 0xe1a00060 + .word 0x13811102 + .word 0xe1b08b00 + .word 0x32288103 + .word 0x323885ff + .word 0x03800101 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8880007 + .word 0xe92d4000 + .word 0xeb001733 + .word 0xe8bd4000 + .word 0xe91c0300 + .word 0xe129f009 + .word 0xe169f008 + .word 0xe1a0d00c + .word 0xe8dc7fff + .word 0xe1a00000 + .word 0xe28dd03c + .word 0xe8fd8000 + .word 0xe51c8008 + .word 0xe218800f + .word 0xe10f9000 + .word 0xe3888090 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe353080d + .word 0x01a0400d + .word 0x11a0400e + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x0a000002 + .word 0xe353080d + .word 0x01a0d008 + .word 0x11a0e008 + .word 0xe129f009 + .word 0xe8940005 + .word 0xeaffffcc + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xeaffff9b + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe8940005 + .word 0xeaffffbb + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe4b40004 + .word 0xe4b41004 + .word 0xe4342008 + .word 0xe3c009fe + .word 0xe3c005ff + .word 0xe3110102 + .word 0x11e08000 + .word 0x11b08888 + .word 0x03800101 + .word 0x13c00101 + .word 0xe1818002 + .word 0xe1988880 + .word 0x03c00101 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8880007 + .word 0xe92d4000 + .word 0xeb0016e6 + .word 0xe8bd4000 + .word 0xe91c0300 + .word 0xe129f009 + .word 0xe169f008 + .word 0xe1a0d00c + .word 0xe8dc7fff + .word 0xe1a00000 + .word 0xe28dd03c + .word 0xe8fd8000 + .word 0xe353080d + .word 0x2a000021 + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe8940007 + .word 0xe3c009fe + .word 0xe3c005ff + .word 0xe3110102 + .word 0x11e08000 + .word 0x11b08888 + .word 0x03800101 + .word 0x13c00101 + .word 0xe1818002 + .word 0xe1988880 + .word 0x03c00101 + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8880007 + .word 0xe92d4000 + .word 0xeb0016c2 + .word 0xe8bd4000 + .word 0xe91c0300 + .word 0xe129f009 + .word 0xe169f008 + .word 0xe1a0d00c + .word 0xe8dc7fff + .word 0xe1a00000 + .word 0xe28dd03c + .word 0xe8fd8000 + .word 0xe51c8008 + .word 0xe218800f + .word 0xe10f9000 + .word 0xe3888090 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe353080d + .word 0x01a0400d + .word 0x11a0400e + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x0a000002 + .word 0xe353080d + .word 0x01a0d008 + .word 0x11a0e008 + .word 0xe129f009 + .word 0xe8940007 + .word 0xeaffffcf + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xeaffffa0 + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe8940007 + .word 0xeaffffbe + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe3170b02 + .word 0xe4b40004 + .word 0xe4b41004 + .word 0xe4b42004 + .word 0x14b46000 + .word 0xeb0004cf + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8880007 + .word 0xea000050 + .word 0xe353080d + .word 0x2a00000c + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe3170b02 + .word 0x08940007 + .word 0x18940047 + .word 0xeaffffeb + .word 0xe51c8008 + .word 0xe218800f + .word 0xe10f9000 + .word 0xe3888090 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe353080d + .word 0x01a0400d + .word 0x11a0400e + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x0a000002 + .word 0xe353080d + .word 0x01a0d008 + .word 0x11a0e008 + .word 0xe129f009 + .word 0xe3170b02 + .word 0x08940007 + .word 0x18940047 + .word 0xeaffffd1 + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xeaffffc4 + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xe3170b02 + .word 0x08940007 + .word 0x18940047 + .word 0xeaffffbe + .word 0xe3100101 + .word 0x1a00000f + .word 0xe20b50e0 + .word 0xe20b8702 + .word 0xe18555a8 + .word 0xe3a04000 + .word 0xeb0005e4 + .word 0xe28f8070 + .word 0xe0888125 + .word 0xe8980300 + .word 0xe1530009 + .word 0xd1580003 + .word 0xca000013 + .word 0xe1800003 + .word 0xe3540000 + .word 0x11b08aa7 + .word 0x33877010 + .word 0x8b00075b + .word 0xe20b8a07 + .word 0xe08a8428 + .word 0xe8880007 + .word 0xe58a7080 + .word 0xe92d4000 + .word 0xeb001629 + .word 0xe8bd4000 + .word 0xe91c0300 + .word 0xe129f009 + .word 0xe169f008 + .word 0xe1a0d00c + .word 0xe8dc7fff + .word 0xe1a00000 + .word 0xe28dd03c + .word 0xe8fd8000 + .word 0xe24fe054 + .word 0xe0588003 + .word 0xca0006b7 + .word 0xea000640 + .word 0x00003f81 + .word 0x0000407e + .word 0x00003f81 + .word 0x0000407e + .word 0x00003f81 + .word 0x0000407e + .word 0x00003f81 + .word 0x0000407e + .word 0x00003c01 + .word 0x000043fe + .word 0x00003c01 + .word 0x000043fe + .word 0x00003c01 + .word 0x000043fe + .word 0x00003c01 + .word 0x000043fe + .word 0x00000000 + .word 0x00007ffe + .word 0x00000000 + .word 0x00007ffe + .word 0x00000000 + .word 0x00007ffe + .word 0x00000000 + .word 0x00007ffe + .word 0x00000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00003fff + .word 0x80000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004000 + .word 0x80000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004000 + .word 0xc0000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004001 + .word 0x80000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004001 + .word 0xa0000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00003ffe + .word 0x80000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004002 + .word 0xa0000000 + .word 0x00000000 + .word 0x00000000 + .word 0xe31b0702 + .word 0x131b0080 + .word 0x1a000193 + .word 0xe31b0010 + .word 0x1a000036 + .word 0xe31b0902 + .word 0x1a00001b + .word 0xe20b8807 + .word 0xe08a8628 + .word 0xe8980007 + .word 0xe1b09e8b + .word 0x208f8ca9 + .word 0x224880b4 + .word 0x308a8ca9 + .word 0xe8980038 + .word 0xe20b860f + .word 0xe24fef6f + .word 0xe08ff928 + .word 0x00000000 + .word 0xea00095b + .word 0xea0009bf + .word 0xea000959 + .word 0xea000958 + .word 0xea000a5c + .word 0xea000a5b + .word 0xea001085 + .word 0xea001084 + .word 0xea000b8f + .word 0xea0009b7 + .word 0xea000a56 + .word 0xea000a55 + .word 0xea001381 + .word 0xea000175 + .word 0xea000174 + .word 0xea000173 + .word 0xe1b09e8b + .word 0x208f8ca9 + .word 0x22488f46 + .word 0x308a8ca9 + .word 0xe8980007 + .word 0xe20b860f + .word 0xe24fee22 + .word 0xe08ff928 + .word 0x00000000 + .word 0xea000c2b + .word 0xea000c2a + .word 0xea000c29 + .word 0xea000c67 + .word 0xea000ba1 + .word 0xea000f44 + .word 0xea000f43 + .word 0xea000ff7 + .word 0xea00117e + .word 0xea00117d + .word 0xea0012b7 + .word 0xea00120e + .word 0xea00120d + .word 0xea00138b + .word 0xea000c38 + .word 0xea000c26 + .word 0xe20b860f + .word 0xe08ff928 + .word 0x00000000 + .word 0xea000055 + .word 0xea00000d + .word 0xea00003a + .word 0xea000024 + .word 0xea000152 + .word 0xea000151 + .word 0xea000150 + .word 0xea00014f + .word 0xea00014e + .word 0xea00000c + .word 0xea00014c + .word 0xea00000a + .word 0xea00014a + .word 0xea000008 + .word 0xea000148 + .word 0xea000006 + .word 0xe1b09e8b + .word 0x208f8ca9 + .word 0x22488f72 + .word 0x308a8ca9 + .word 0xe8980007 + .word 0xe28fe04c + .word 0xea000cac + .word 0xe20b8807 + .word 0xe08a8628 + .word 0xe8980007 + .word 0xe1b09e8b + .word 0x208f8ca9 + .word 0x22488e1f + .word 0x308a8ca9 + .word 0xe8980038 + .word 0xeb000c8a + .word 0xe20b3a0f + .word 0xe3330a0f + .word 0x1a000007 + .word 0xe51c8008 + .word 0xe3c8820f + .word 0xe206620f + .word 0xe1888006 + .word 0xe50c8008 + .word 0xeaffff4f + .word 0xe1a06007 + .word 0xe20b3a0f + .word 0xe3530a0d + .word 0x2a000001 + .word 0xe78c6523 + .word 0xeaffff49 + .word 0xe3330a0f + .word 0x0afffff1 + .word 0xe51c8008 + .word 0xe218800f + .word 0x0afffff8 + .word 0xe3888090 + .word 0xe10f9000 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe3530a0d + .word 0x01a0d006 + .word 0x11a0e006 + .word 0xe129f009 + .word 0xeaffff3a + .word 0xe20b3a0f + .word 0xe3530a0d + .word 0x2a000003 + .word 0xe79c6523 + .word 0xe3c664ff + .word 0xe3867401 + .word 0xeaffff33 + .word 0xe3530a0f + .word 0x0a00000c + .word 0xe51c8008 + .word 0xe218800f + .word 0x0afffff6 + .word 0xe3888090 + .word 0xe10f9000 + .word 0xe3c9601f + .word 0xe1868008 + .word 0xe129f008 + .word 0xe3530a0d + .word 0x01a0600d + .word 0x11a0600e + .word 0xe129f009 + .word 0xeaffffed + .word 0xe59c603c + .word 0xe2866008 + .word 0xeaffffea + .word 0xe20b3a0f + .word 0xe3530a0d + .word 0x2a00000f + .word 0xe79c6523 + .word 0xeb000880 + .word 0xe20b50e0 + .word 0xe20b8702 + .word 0xe18555a8 + .word 0xe3a04000 + .word 0xeb0004ee + .word 0xe1800003 + .word 0xe3540000 + .word 0x11b08aa7 + .word 0x33877010 + .word 0x8b00066b + .word 0xe20b8807 + .word 0xe08a8628 + .word 0xe8880007 + .word 0xeaffff0e + .word 0xe3530a0f + .word 0x0a00000c + .word 0xe51c8008 + .word 0xe218800f + .word 0x0affffea + .word 0xe3888090 + .word 0xe10f9000 + .word 0xe3c9601f + .word 0xe1868008 + .word 0xe129f008 + .word 0xe3530a0d + .word 0x01a0600d + .word 0x11a0600e + .word 0xe129f009 + .word 0xeaffffe1 + .word 0xe59c603c + .word 0xe2866008 + .word 0xeaffffde + .word 0xe3a08000 + .word 0xe58a8084 + .word 0xe59c803c + .word 0xe2488004 + .word 0xe58c803c + .word 0xea00152f + .word 0xe3590c02 + .word 0x1a0000d7 + .word 0xe59aa000 + .word 0xe59a8084 + .word 0xe3380000 + .word 0x1afffff3 + .word 0xe10f8000 + .word 0xe3c88080 + .word 0xe129f008 + .word 0xe1a00000 + .word 0xe31b0402 + .word 0x1a0000c9 + .word 0xe1a0958b + .word 0xe2099102 + .word 0xe20b380f + .word 0xe353080f + .word 0x23899101 + .word 0xe51c8008 + .word 0xe218800f + .word 0x13899202 + .word 0xe1a0548b + .word 0xe2055102 + .word 0xe31b0902 + .word 0x13855101 + .word 0xe08ffda9 + .word 0x00000000 + .word 0xea000006 + .word 0xea00001a + .word 0xea000045 + .word 0xea00004c + .word 0xea000053 + .word 0xea000070 + .word 0xea0000a4 + .word 0xea0000ab + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe20b3a07 + .word 0xe1a03883 + .word 0xe28a9000 + .word 0xe0898ca3 + .word 0xe8980007 + .word 0xe4a40004 + .word 0xe4a41004 + .word 0xe4a42004 + .word 0xe2833202 + .word 0xe2555101 + .word 0x1afffff7 + .word 0xeafffec0 + .word 0xe353080d + .word 0x2a000012 + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe20b3a07 + .word 0xe1a03883 + .word 0xe28a9000 + .word 0xe0898ca3 + .word 0xe8980007 + .word 0xe8a40007 + .word 0xe2833202 + .word 0xe2555101 + .word 0x1afffff9 + .word 0xeafffeab + .word 0xe51c8008 + .word 0xe218800f + .word 0xe10f9000 + .word 0xe3888090 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe353080d + .word 0x01a0400d + .word 0x11a0400e + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x0a000002 + .word 0xe353080d + .word 0x01a0d008 + .word 0x11a0e008 + .word 0xe129f009 + .word 0xeaffffde + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xeaffffbf + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xeaffffce + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe20b3a07 + .word 0xe1a03883 + .word 0xe28a9000 + .word 0xe4b40004 + .word 0xe4b41004 + .word 0xe4b42004 + .word 0xe3c009fe + .word 0xe3c005ff + .word 0xe3110102 + .word 0x11e08000 + .word 0x11b08888 + .word 0xe1818080 + .word 0x03800101 + .word 0xe1988002 + .word 0x03c00101 + .word 0xe0898ca3 + .word 0xe8880007 + .word 0xe2833202 + .word 0xe2555101 + .word 0x1affffee + .word 0xeafffe66 + .word 0xe353080d + .word 0x2a00001b + .word 0xe79c4723 + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x178c8723 + .word 0xe20b3a07 + .word 0xe1a03883 + .word 0xe28a9000 + .word 0xe8b40007 + .word 0xe3c009fe + .word 0xe3c005ff + .word 0xe3110102 + .word 0x11e08000 + .word 0x11b08888 + .word 0xe1818080 + .word 0x03800101 + .word 0xe1988002 + .word 0x03c00101 + .word 0xe0898ca3 + .word 0xe8880007 + .word 0xe2833202 + .word 0xe2555101 + .word 0x1afffff0 + .word 0xeafffe48 + .word 0xe51c8008 + .word 0xe218800f + .word 0xe10f9000 + .word 0xe3888090 + .word 0xe3c9401f + .word 0xe1848008 + .word 0xe129f008 + .word 0xe353080d + .word 0x01a0400d + .word 0x11a0400e + .word 0xe20b80ff + .word 0xe31b0502 + .word 0x10848108 + .word 0x00448108 + .word 0xe31b0401 + .word 0x11a04008 + .word 0xe31b0602 + .word 0x0a000002 + .word 0xe353080d + .word 0x01a0d008 + .word 0x11a0e008 + .word 0xe129f009 + .word 0xeaffffd5 + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xeaffffad + .word 0xe59c403c + .word 0xe2844004 + .word 0xe31b0401 + .word 0x120b80ff + .word 0x10444108 + .word 0x131b0502 + .word 0x10844188 + .word 0xeaffffc5 + .word 0xe92d4000 + .word 0xeb001444 + .word 0xe8bd0400 + .word 0xe8bd4000 + .word 0xe91c0300 + .word 0xe129f009 + .word 0xe169f008 + .word 0xe59ab004 + .word 0xe59bb000 + .word 0xe59ca03c + .word 0xe28c9040 + .word 0xe9090e00 + .word 0xe919ffff + .word 0xe3550080 + .word 0x0a000093 + .word 0x8a0000b1 + .word 0xea000036 + .word 0xe3a05000 + .word 0xe3100101 + .word 0x1a000035 + .word 0xe3110102 + .word 0x01a0f00e + .word 0xe3c03103 + .word 0xe2000102 + .word 0xe1924c01 + .word 0x1a00000a + .word 0xe28f8fc9 + .word 0xe8980300 + .word 0xe1530009 + .word 0xd1580003 + .word 0xc92d4000 + .word 0xca000023 + .word 0xe1800421 + .word 0xe3c00502 + .word 0xe2438dfe + .word 0xe1800b88 + .word 0xe1a0f00e + .word 0xe92d4000 + .word 0xe3a04000 + .word 0xe3a06000 + .word 0xeb0003e2 + .word 0xe28f8fba + .word 0xe8980300 + .word 0xe1530009 + .word 0xd1580003 + .word 0xca000015 + .word 0xe1800003 + .word 0xe3540000 + .word 0x11b08aa7 + .word 0x33877010 + .word 0x8b000540 + .word 0xe8bd4000 + .word 0xe1d18080 + .word 0x5a000006 + .word 0xe2300080 + .word 0xe1a08081 + .word 0xe1a084a8 + .word 0xe1880b80 + .word 0x53c00102 + .word 0x43800102 + .word 0xe1a0f00e + .word 0xe1b007c0 + .word 0x33c10102 + .word 0x23810102 + .word 0xe1a00440 + .word 0x53c00102 + .word 0x43800102 + .word 0xe1a0f00e + .word 0xe24fe05c + .word 0xe0588003 + .word 0xca000502 + .word 0xea000429 + .word 0xe3100101 + .word 0x0affffc9 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4a00000e + .word 0xe1918002 + .word 0x02000102 + .word 0x01a0f00e + .word 0xe3c03103 + .word 0xe3110102 + .word 0x13530b0f + .word 0x1affffe6 + .word 0xe2000102 + .word 0xe3110102 + .word 0x13c11102 + .word 0x12833001 + .word 0xe92d4000 + .word 0xeb000731 + .word 0xe8bd4000 + .word 0xeaffffb9 + .word 0xe1928081 + .word 0x0affffdc + .word 0xe92d4000 + .word 0xeb000559 + .word 0xe3360000 + .word 0x5b000595 + .word 0xe8bd4000 + .word 0xeaffffcd + .word 0xe3a05080 + .word 0xe3100101 + .word 0x1a00003b + .word 0xe3110102 + .word 0x01a0f00e + .word 0xe3c03103 + .word 0xe2000102 + .word 0xe1b04a82 + .word 0x1a00000c + .word 0xe28f8f76 + .word 0xe8980300 + .word 0xe1530009 + .word 0xd1580003 + .word 0xc92d4000 + .word 0xca000029 + .word 0xe18005a1 + .word 0xe3c00601 + .word 0xe2438b0f + .word 0xe1800a08 + .word 0xe1a01a81 + .word 0xe18115a2 + .word 0xe1a0f00e + .word 0xe92d4000 + .word 0xe3a04000 + .word 0xe3a06000 + .word 0xeb00039e + .word 0xe28f8f65 + .word 0xe8980300 + .word 0xe1530009 + .word 0xd1580003 + .word 0xca000019 + .word 0xe1800003 + .word 0xe3540000 + .word 0x11b08aa7 + .word 0x33877010 + .word 0x8b0004eb + .word 0xe8bd4000 + .word 0xe1d18080 + .word 0x5a000008 + .word 0xe2300b01 + .word 0xe1a08081 + .word 0xe1a08628 + .word 0xe1880a00 + .word 0x53c00102 + .word 0x43800102 + .word 0xe1a01a81 + .word 0xe18115a2 + .word 0xe1a0f00e + .word 0xe1b007c0 + .word 0x33c10102 + .word 0x23810102 + .word 0xe1a005c0 + .word 0x53c00102 + .word 0x43800102 + .word 0xe1a01a81 + .word 0xe18115a2 + .word 0xe1a0f00e + .word 0xe24fe06c + .word 0xe0588003 + .word 0xca0004a7 + .word 0xea0003ce + .word 0xe3100101 + .word 0x0affffc3 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4a00000e + .word 0xe1918002 + .word 0x02000102 + .word 0x01a0f00e + .word 0xe3c03103 + .word 0xe3110102 + .word 0x13530dfe + .word 0x1affffe4 + .word 0xe2000102 + .word 0xe3110102 + .word 0x13c11102 + .word 0x12833001 + .word 0xe92d4000 + .word 0xeb0006d6 + .word 0xe8bd4000 + .word 0xeaffffb3 + .word 0xe1928081 + .word 0x0affffda + .word 0xe92d4000 + .word 0xeb0004fe + .word 0xe3360000 + .word 0x5b00053a + .word 0xe8bd4000 + .word 0xeaffffc9 + .word 0xe3a05c01 + .word 0xe3100101 + .word 0x01a0f00e + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4a00000b + .word 0xe1918002 + .word 0x02000102 + .word 0x01a0f00e + .word 0xe1a06880 + .word 0xe2000102 + .word 0xe3110102 + .word 0x13c11102 + .word 0x12866802 + .word 0xe3360000 + .word 0x1a00063d + .word 0xe2000102 + .word 0xe1a0f00e + .word 0xe1928081 + .word 0x0a000004 + .word 0xe92d4000 + .word 0xeb0004e2 + .word 0xe3360000 + .word 0x5b00051e + .word 0xe8bd4000 + .word 0xe1110080 + .word 0xe3c00101 + .word 0x51a0f00e + .word 0xe1928081 + .word 0x11a0f00e + .word 0xe38000ff + .word 0xe3800c7f + .word 0xe3c11102 + .word 0xe1a0f00e + .word 0x00003f81 + .word 0x0000407e + .word 0x00003c01 + .word 0x000043fe + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4a00000d + .word 0xe1916002 + .word 0x02000102 + .word 0x01a0f00e + .word 0xe3c03103 + .word 0xe3110102 + .word 0x13c11102 + .word 0x12833001 + .word 0xe92d4000 + .word 0xeb000696 + .word 0xe8bd4000 + .word 0xe3c00101 + .word 0xe3c04103 + .word 0xe0444003 + .word 0xea000053 + .word 0xe1918002 + .word 0x0a000003 + .word 0xe3100101 + .word 0x1a000001 + .word 0xe3170801 + .word 0x1a0005b6 + .word 0xe1a085a2 + .word 0xe1888a81 + .word 0xe3c8820e + .word 0xe3c15103 + .word 0xe1a05425 + .word 0xe1a04982 + .word 0xe3c44103 + .word 0xe1855b08 + .word 0xe1844528 + .word 0xe2000102 + .word 0xe38006ff + .word 0xe3800aff + .word 0xe1918002 + .word 0x13800b02 + .word 0xe3a06000 + .word 0xe3a02000 + .word 0xe3a01b02 + .word 0xe1a09005 + .word 0xe1a08125 + .word 0xe1888f04 + .word 0xe0555008 + .word 0xe0c44124 + .word 0xe1a08225 + .word 0xe1888e04 + .word 0xe0955008 + .word 0xe0a44224 + .word 0xe1a08425 + .word 0xe1888c04 + .word 0xe0955008 + .word 0xe0a44424 + .word 0xe1a08825 + .word 0xe1888804 + .word 0xe0955008 + .word 0xe0a44824 + .word 0xe0955004 + .word 0xe2a44000 + .word 0xe1a051a5 + .word 0xe1855e84 + .word 0xe1a041a4 + .word 0xe0858105 + .word 0xe0498088 + .word 0xe358000a + .word 0x2248800a + .word 0xe2b55000 + .word 0xe2a44000 + .word 0xe1b06226 + .word 0xe1866e02 + .word 0xe1a02222 + .word 0xe1822e01 + .word 0xe1a01221 + .word 0xe1811e08 + .word 0x3affffdc + .word 0xe3170b02 + .word 0x0a000008 + .word 0xe1a06a26 + .word 0xe1866602 + .word 0xe1a02a22 + .word 0xe1822601 + .word 0xe1a01a21 + .word 0xe1811a00 + .word 0xe3800eff + .word 0xe380000f + .word 0xe1a0f00e + .word 0xe1800a21 + .word 0xe1a01601 + .word 0xe1811a22 + .word 0xe1a02602 + .word 0xe1822a26 + .word 0xe1a0f00e + .word 0x00003ffe + .word 0x00013441 + .word 0xe3100101 + .word 0x1affff9d + .word 0xe3c03103 + .word 0xe1916002 + .word 0x02000102 + .word 0x01a0f00e + .word 0xe3a04000 + .word 0xe92d4000 + .word 0xe24f8030 + .word 0xe8980300 + .word 0xe0536008 + .word 0x82899001 + .word 0xe0090996 + .word 0xe1b06949 + .word 0x51a08006 + .word 0x0a000022 + .word 0x42668000 + .word 0xe24dd028 + .word 0xe1a09407 + .word 0xe3899003 + .word 0xe58d9000 + .word 0xe10f9000 + .word 0xe3899080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c7981f + .word 0xe3c9901f + .word 0xee209110 + .word 0xe28d901c + .word 0xed490206 + .word 0xe8890007 + .word 0xed998200 + .word 0xe358001c + .word 0xaa0000a7 + .word 0xe28f9fae + .word 0xe0899208 + .word 0xedd91100 + .word 0xe3360000 + .word 0x5e480101 + .word 0x4e180101 + .word 0xee308110 + .word 0xe2088010 + .word 0xe28d901c + .word 0xed898200 + .word 0xe8990007 + .word 0xed590206 + .word 0xe28dd028 + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c03103 + .word 0xe0433004 + .word 0xe2000102 + .word 0xe3170b02 + .word 0x03a09011 + .word 0x13a09015 + .word 0xe2633002 + .word 0xe2833901 + .word 0xe263e020 + .word 0xe1a04e12 + .word 0xe1a02332 + .word 0xe1822e11 + .word 0xe1a01331 + .word 0xe3a03000 + .word 0xe311020f + .word 0x1a00000a + .word 0xe2466001 + .word 0xe0944004 + .word 0xe0b22002 + .word 0xe0a11001 + .word 0xe1a05f24 + .word 0xe0944104 + .word 0xe1a0ef22 + .word 0xe1855102 + .word 0xe0b22102 + .word 0xe18ee101 + .word 0xe0a1100e + .word 0xe1a03203 + .word 0xe1833e21 + .word 0xe3c1120f + .word 0xe2499001 + .word 0xe3340000 + .word 0x1affffef + .word 0xe3a05000 + .word 0xe0922002 + .word 0xe0a11001 + .word 0xe1a0ef22 + .word 0xe0922102 + .word 0xe18ee101 + .word 0xe0a1100e + .word 0xe1a04204 + .word 0xe1844e25 + .word 0xe1a05205 + .word 0xe1855e23 + .word 0xe1a03203 + .word 0xe1833e21 + .word 0xe3c1120f + .word 0xe2599001 + .word 0x1afffff0 + .word 0xe1889001 + .word 0xe1899002 + .word 0xe1921281 + .word 0x3a000005 + .word 0x02031001 + .word 0x0a000003 + .word 0xe2933001 + .word 0xe203800f + .word 0xe338000a + .word 0x0a00003e + .word 0xe3360000 + .word 0x43800101 + .word 0x42666000 + .word 0xe3a08000 + .word 0xe3560efa + .word 0x22466efa + .word 0x23888901 + .word 0xe3560e7d + .word 0x22466e7d + .word 0x23888a02 + .word 0xe3560ffa + .word 0x22466ffa + .word 0x23888a01 + .word 0xe3560e32 + .word 0x22466e32 + .word 0x23888b02 + .word 0xe3560e19 + .word 0x22466e19 + .word 0x23888b01 + .word 0xe35600c8 + .word 0x224660c8 + .word 0x23888c02 + .word 0xe3560064 + .word 0x22466064 + .word 0x23888c01 + .word 0xe3560050 + .word 0x22466050 + .word 0x23888080 + .word 0xe3560028 + .word 0x22466028 + .word 0x23888040 + .word 0xe3560014 + .word 0x22466014 + .word 0x23888020 + .word 0xe356000a + .word 0x22866006 + .word 0xe0888006 + .word 0xe3170b02 + .word 0x0a00000b + .word 0xe1800008 + .word 0xe1a01604 + .word 0xe1811a25 + .word 0xe1a02605 + .word 0xe1822a23 + .word 0xe1a06603 + .word 0xe3390000 + .word 0x08bd8000 + .word 0xe3170601 + .word 0x03877010 + .word 0x1b0003c6 + .word 0xe8bd8000 + .word 0xe1800608 + .word 0xe1800404 + .word 0xe1800c25 + .word 0xe1a01405 + .word 0xe1811c23 + .word 0xe1a02403 + .word 0xe3390000 + .word 0x08bd8000 + .word 0xe3170601 + .word 0x03877010 + .word 0x1b0003ad + .word 0xe8bd8000 + .word 0xe3a01011 + .word 0xe1811401 + .word 0xe1811801 + .word 0xe1812081 + .word 0xe0828063 + .word 0xe02880a3 + .word 0xe0188181 + .word 0xe08330a8 + .word 0xe0833128 + .word 0x5affffb6 + .word 0xe2955001 + .word 0xe0828065 + .word 0xe02880a5 + .word 0xe0188181 + .word 0xe08550a8 + .word 0xe0855128 + .word 0x5affffaf + .word 0xe2944001 + .word 0xe0828064 + .word 0xe02880a4 + .word 0xe0088181 + .word 0xe08440a8 + .word 0xe0844128 + .word 0xe1b08627 + .word 0x33140010 + .word 0x23140601 + .word 0x11a04224 + .word 0x12866001 + .word 0xeaffffa3 + .word 0xe1a090a8 + .word 0xeb000075 + .word 0xe3360000 + .word 0x5e480101 + .word 0x4e180101 + .word 0xe3180001 + .word 0x1e19110f + .word 0xeaffff52 + .word 0x00003fff + .word 0x80000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004002 + .word 0xa0000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004005 + .word 0xc8000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004008 + .word 0xfa000000 + .word 0x00000000 + .word 0x00000000 + .word 0x0000400c + .word 0x9c400000 + .word 0x00000000 + .word 0x00000000 + .word 0x0000400f + .word 0xc3500000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004012 + .word 0xf4240000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004016 + .word 0x98968000 + .word 0x00000000 + .word 0x00000000 + .word 0x00004019 + .word 0xbebc2000 + .word 0x00000000 + .word 0x00000000 + .word 0x0000401c + .word 0xee6b2800 + .word 0x00000000 + .word 0x00000000 + .word 0x00004020 + .word 0x9502f900 + .word 0x00000000 + .word 0x00000000 + .word 0x00004023 + .word 0xba43b740 + .word 0x00000000 + .word 0x00000000 + .word 0x00004026 + .word 0xe8d4a510 + .word 0x00000000 + .word 0x00000000 + .word 0x0000402a + .word 0x9184e72a + .word 0x00000000 + .word 0x00000000 + .word 0x0000402d + .word 0xb5e620f4 + .word 0x80000000 + .word 0x00000000 + .word 0x00004030 + .word 0xe35fa931 + .word 0xa0000000 + .word 0x00000000 + .word 0x00004034 + .word 0x8e1bc9bf + .word 0x04000000 + .word 0x00000000 + .word 0x00004037 + .word 0xb1a2bc2e + .word 0xc5000000 + .word 0x00000000 + .word 0x0000403a + .word 0xde0b6b3a + .word 0x76400000 + .word 0x00000000 + .word 0x0000403e + .word 0x8ac72304 + .word 0x89e80000 + .word 0x00000000 + .word 0x00004041 + .word 0xad78ebc5 + .word 0xac620000 + .word 0x00000000 + .word 0x00004044 + .word 0xd8d726b7 + .word 0x177a8000 + .word 0x00000000 + .word 0x00004048 + .word 0x87867832 + .word 0x6eac9000 + .word 0x00000000 + .word 0x0000404b + .word 0xa968163f + .word 0x0a57b400 + .word 0x00000000 + .word 0x0000404e + .word 0xd3c21bce + .word 0xcceda100 + .word 0x00000000 + .word 0x00004052 + .word 0x84595161 + .word 0x401484a0 + .word 0x00000000 + .word 0x00004055 + .word 0xa56fa5b9 + .word 0x9019a5c8 + .word 0x00000000 + .word 0x00004058 + .word 0xcecb8f27 + .word 0xf4200f3a + .word 0x00000000 + .word 0xe1a0000e + .word 0xe3a01000 + .word 0xe1a02009 + .word 0xe352001c + .word 0x21a020a2 + .word 0x22811001 + .word 0x2afffffb + .word 0xe24fef79 + .word 0xe08e2202 + .word 0xedd21100 + .word 0xe3510001 + .word 0x31a0f000 + .word 0xee191101 + .word 0xe1b02139 + .word 0xe2411001 + .word 0x2e19110f + .word 0xeafffff8 + .word 0xe92d4000 + .word 0xe1a08200 + .word 0xe3170b02 + .word 0x03a09004 + .word 0x13a09007 + .word 0xe3a05000 + .word 0xeb000141 + .word 0xe1b08627 + .word 0x23a09008 + .word 0x21b08001 + .word 0x21a01002 + .word 0x21a02006 + .word 0x33a09003 + .word 0x31b08a00 + .word 0xe1a06085 + .word 0x43866001 + .word 0xe3a05000 + .word 0xe3a04000 + .word 0xe3a03000 + .word 0xeb000134 + .word 0xe1a08001 + .word 0xe3a09008 + .word 0xeb000131 + .word 0xe1a08002 + .word 0xe3a09008 + .word 0xeb00012e + .word 0xe3170b02 + .word 0x03a08c41 + .word 0x13a088fe + .word 0xe15800a6 + .word 0x9a000111 + .word 0xe1a060a6 + .word 0xe1838004 + .word 0xe1988005 + .word 0x02000102 + .word 0x08bd8000 + .word 0xe3100101 + .word 0x12666000 + .word 0xe3170b02 + .word 0x02466012 + .word 0x12466017 + .word 0xe2000102 + .word 0xe2800901 + .word 0x0280003e + .word 0x03a08000 + .word 0x1280004e + .word 0x11a08805 + .word 0x11a05825 + .word 0x11855804 + .word 0x11a04824 + .word 0x11844803 + .word 0xe3340000 + .word 0x4a000004 + .word 0xe0988008 + .word 0xe0b55005 + .word 0xe0b44004 + .word 0xe2400001 + .word 0x5afffffa + .word 0xe3380102 + .word 0x01f08f85 + .word 0x4a000003 + .word 0xe2955001 + .word 0xe2b44000 + .word 0x21a04064 + .word 0x22800001 + .word 0xe24dd034 + .word 0xe1a09407 + .word 0xe3899007 + .word 0xe58d9000 + .word 0xe10f9000 + .word 0xe3899080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c7981f + .word 0xe3c9901f + .word 0xee209110 + .word 0xe28d9028 + .word 0xed498209 + .word 0xe8890031 + .word 0xed998200 + .word 0xe3380000 + .word 0x1e309110 + .word 0x13899010 + .word 0x1e209110 + .word 0xe1b09006 + .word 0x4a000009 + .word 0x0a000011 + .word 0xe3590a01 + .word 0x8a000020 + .word 0xe359001c + .word 0xb24f8fdd + .word 0xb0888209 + .word 0xbdd81100 + .word 0xabffff90 + .word 0xee180101 + .word 0xea000008 + .word 0xe2699000 + .word 0xe3590a01 + .word 0x8a00006c + .word 0xe359001c + .word 0xb24f8fe7 + .word 0xb0888209 + .word 0xbdd81100 + .word 0xabffff86 + .word 0xee480101 + .word 0xee308110 + .word 0xe3180010 + .word 0xe28d9028 + .word 0xed898200 + .word 0xe8990007 + .word 0xed598209 + .word 0xe28dd034 + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0x08bd8000 + .word 0xe3170601 + .word 0x03877010 + .word 0x13a04102 + .word 0x1b000262 + .word 0xe8bd8000 + .word 0xe3590a02 + .word 0x8a000028 + .word 0xe1a06009 + .word 0xe1a090a9 + .word 0xebffff6f + .word 0xe28f9fa6 + .word 0xed99a200 + .word 0xee180102 + .word 0xee180101 + .word 0xe3160001 + .word 0x1e19110f + .word 0xee181101 + .word 0xe28f9fa2 + .word 0xed998200 + .word 0xee190100 + .word 0xee309110 + .word 0xe3190004 + .word 0x0affffdc + .word 0xee190102 + .word 0xee308110 + .word 0xe3180010 + .word 0xe28d9028 + .word 0xed898200 + .word 0xe8990007 + .word 0xed598209 + .word 0xe28dd034 + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c03103 + .word 0xe2833a06 + .word 0xe2000102 + .word 0x03a04000 + .word 0x13a04102 + .word 0xe3a05002 + .word 0xeb000136 + .word 0xe3340000 + .word 0x08bd8000 + .word 0xe3170601 + .word 0x03877010 + .word 0x1b000237 + .word 0xe8bd8000 + .word 0xe3590901 + .word 0x2a000014 + .word 0xe1a06009 + .word 0xe1a09129 + .word 0xebffff44 + .word 0xe28f9f7b + .word 0xed99a200 + .word 0xee180102 + .word 0xee180101 + .word 0xee180101 + .word 0xee180102 + .word 0xe3160002 + .word 0x1e19110f + .word 0xee180101 + .word 0xe3160001 + .word 0x1e19110f + .word 0xee180101 + .word 0xee309110 + .word 0xe3190004 + .word 0x0affffd3 + .word 0xe28d9028 + .word 0xed898200 + .word 0xe8990007 + .word 0xe28d9028 + .word 0xed598209 + .word 0xe28dd034 + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe2000102 + .word 0xe3a01102 + .word 0xe3a02000 + .word 0xe3a03401 + .word 0xe3a04102 + .word 0xe3a05002 + .word 0xeb00010b + .word 0xe3340000 + .word 0x08bd8000 + .word 0xe3170601 + .word 0x03877010 + .word 0x1b00020c + .word 0xe8bd8000 + .word 0xe3590a02 + .word 0x8a000029 + .word 0xe1a06009 + .word 0xe1a090a9 + .word 0xebffff19 + .word 0xe28f9f53 + .word 0xed99a200 + .word 0xee180102 + .word 0xee480101 + .word 0xe3160001 + .word 0x1e19110f + .word 0xee481101 + .word 0xe28f9f49 + .word 0xed998200 + .word 0xee190100 + .word 0xee309110 + .word 0xe3190008 + .word 0x0affff86 + .word 0xee190102 + .word 0xee308110 + .word 0xe3180010 + .word 0xe28d9028 + .word 0xed898200 + .word 0xe8990007 + .word 0xed598209 + .word 0xe28dd034 + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c03103 + .word 0xe2433a06 + .word 0xe2000102 + .word 0x03a04000 + .word 0x13a04102 + .word 0xe3a05002 + .word 0xe2638000 + .word 0xeb000155 + .word 0xe3340000 + .word 0x08bd8000 + .word 0xe3170601 + .word 0x03877010 + .word 0x1b0001e0 + .word 0xe8bd8000 + .word 0xe3590901 + .word 0x2a000014 + .word 0xe1a06009 + .word 0xe1a09129 + .word 0xebfffeed + .word 0xe28f909c + .word 0xed99a200 + .word 0xee180102 + .word 0xee480101 + .word 0xee480101 + .word 0xee180102 + .word 0xe3160002 + .word 0x1e19110f + .word 0xee480101 + .word 0xe3160001 + .word 0x1e19110f + .word 0xee480101 + .word 0xee309110 + .word 0xe3190008 + .word 0x0affffd2 + .word 0xe28d9028 + .word 0xed898200 + .word 0xe8990007 + .word 0xe28d9028 + .word 0xed598209 + .word 0xe28dd034 + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe2000102 + .word 0xe3a01102 + .word 0xe3a02000 + .word 0xe3a034ff + .word 0xe3a04102 + .word 0xe3a05002 + .word 0xeb00012a + .word 0xe3340000 + .word 0x08bd8000 + .word 0xe3170601 + .word 0x03877010 + .word 0x1b0001b5 + .word 0xe8bd8000 + .word 0x00000fff + .word 0x80000000 + .word 0x00000000 + .word 0x00006fff + .word 0x80000000 + .word 0x00000000 + .word 0x6f05b59d + .word 0x3b200000 + .word 0x16ef0a57 + .word 0xb4000000 + .word 0xe3160001 + .word 0x0a000005 + .word 0xe3170b02 + .word 0x024f8024 + .word 0x124f8020 + .word 0xe8980006 + .word 0xe0555002 + .word 0xe0c44001 + .word 0xe1a08b25 + .word 0xe1888504 + .word 0xe3c8820e + .word 0xe3c42103 + .word 0xe1a029a2 + .word 0xe1a01405 + .word 0xe3c11103 + .word 0xe1822588 + .word 0xe1811aa8 + .word 0xe2000102 + .word 0xe3800101 + .word 0xe3800c7f + .word 0xe38000ff + .word 0xe3160001 + .word 0x13811101 + .word 0xe1a0f00e + .word 0xe1a03183 + .word 0xe1833ea4 + .word 0xe1a04184 + .word 0xe1844ea5 + .word 0xe1a05185 + .word 0xe0955125 + .word 0x20855f04 + .word 0x30955f04 + .word 0xe0b44124 + .word 0x20844f03 + .word 0x30944f03 + .word 0xe0a33123 + .word 0xe0955e28 + .word 0xe2b44000 + .word 0xe2a33000 + .word 0xe1a08208 + .word 0xe2599001 + .word 0x1affffed + .word 0xe1a0f00e + .word 0xe1b08425 + .word 0x2a000024 + .word 0x0a000010 + .word 0xe1b08086 + .word 0xe18082e5 + .word 0x23888101 + .word 0x13888202 + .word 0xe3340000 + .word 0x01b06f82 + .word 0x43888201 + .word 0xe28f6038 + .word 0xe7d66e68 + .word 0xe1b080a6 + .word 0x22922001 + .word 0x22911001 + .word 0x23a01102 + .word 0x22833001 + .word 0xe3160002 + .word 0x11a04c06 + .word 0xe1a0f00e + .word 0xe1868002 + .word 0xe1988c81 + .word 0xe18082e5 + .word 0x23888101 + .word 0x13888202 + .word 0xe3340000 + .word 0x01b06b81 + .word 0x43888201 + .word 0xe3a02000 + .word 0xe3c110ff + .word 0xe28f6068 + .word 0xe7d66e68 + .word 0xe1b080a6 + .word 0x22911c01 + .word 0x23a01102 + .word 0x22833001 + .word 0xe3160002 + .word 0x11a04c06 + .word 0xe1a0f00e + .word 0xe1968b02 + .word 0xe18082e5 + .word 0x23888101 + .word 0x13888202 + .word 0xe3340000 + .word 0x01b06a02 + .word 0x43888201 + .word 0xe3c220ff + .word 0xe3c22c07 + .word 0xe24f6020 + .word 0xe7d66e68 + .word 0xe1b080a6 + .word 0x22922b02 + .word 0x22911001 + .word 0x23a01102 + .word 0x22833001 + .word 0xe3160002 + .word 0x11a04c06 + .word 0xe1a0f00e + .word 0xfefe0000 + .word 0x030303fe + .word 0xfefe0000 + .word 0x030303fe + .word 0x03030000 + .word 0x03030303 + .word 0xfefe0000 + .word 0xfefefefe + .word 0xfefe0000 + .word 0xfefefefe + .word 0x03030000 + .word 0x03030303 + .word 0xfefe0000 + .word 0xfefefefe + .word 0xfefe0000 + .word 0xfefefefe + .word 0x40007fff + .word 0x00000000 + .word 0x00000000 + .word 0x0000407e + .word 0xffffff00 + .word 0x00000000 + .word 0x000043fe + .word 0xffffffff + .word 0xfffff800 + .word 0x00007ffe + .word 0xffffffff + .word 0xffffffff + .word 0xc0007fff + .word 0x00000000 + .word 0x00000000 + .word 0x8000407e + .word 0xffffff00 + .word 0x00000000 + .word 0x800043fe + .word 0xffffffff + .word 0xfffff800 + .word 0x80007ffe + .word 0xffffffff + .word 0xffffffff + .word 0x00000030 + .word 0x00000000 + .word 0x0000003c + .word 0x00000000 + .word 0x00000030 + .word 0x0000000c + .word 0x0000003c + .word 0x0000000c + .word 0x00000030 + .word 0x00000000 + .word 0x00000048 + .word 0x00000000 + .word 0x00000030 + .word 0x00000018 + .word 0x00000048 + .word 0x00000018 + .word 0x00000030 + .word 0x00000000 + .word 0x00000054 + .word 0x00000000 + .word 0x00000030 + .word 0x00000024 + .word 0x00000054 + .word 0x00000024 + .word 0xe3170701 + .word 0x1a00000c + .word 0xe3877004 + .word 0xe24f1074 + .word 0xe0811125 + .word 0xe8910006 + .word 0xe3100102 + .word 0xe24f00e4 + .word 0x10800001 + .word 0x00800002 + .word 0xe8900007 + .word 0xe3100101 + .word 0x13a04001 + .word 0x03e04000 + .word 0xe1a0f00e + .word 0xe92d4c28 + .word 0xe3540102 + .word 0x13540000 + .word 0xc3a04001 + .word 0xb3e04000 + .word 0xee207110 + .word 0xe24dd004 + .word 0xe28f8e17 + .word 0xe20b9010 + .word 0xe7989129 + .word 0xe31b0902 + .word 0x11a09829 + .word 0xe20b860f + .word 0xe1a08a28 + .word 0xe1a09839 + .word 0xe0099fa7 + .word 0xe1c99527 + .word 0xe0099cab + .word 0xe3150c01 + .word 0x1a00002b + .word 0xe3150080 + .word 0x1a000014 + .word 0xe24330c0 + .word 0xe59f8124 + .word 0xe1530008 + .word 0xd1800003 + .word 0xc28f0f43 + .word 0xc8900007 + .word 0xe92d0007 + .word 0xe1a03009 + .word 0xeb000fc2 + .word 0xe24dd010 + .word 0xe1a08407 + .word 0xe3888001 + .word 0xe58d8000 + .word 0xe10f8000 + .word 0xe3888080 + .word 0xe129f008 + .word 0xe1a00000 + .word 0xe28d8010 + .word 0xed088203 + .word 0xed980100 + .word 0xea000028 + .word 0xe2433c06 + .word 0xe59f80d4 + .word 0xe1530008 + .word 0xd1800003 + .word 0xc28f00b8 + .word 0xc8900007 + .word 0xe92d0007 + .word 0xe1a03009 + .word 0xeb000fad + .word 0xe24dd010 + .word 0xe1a08407 + .word 0xe3888001 + .word 0xe58d8000 + .word 0xe10f8000 + .word 0xe3888080 + .word 0xe129f008 + .word 0xe1a00000 + .word 0xe28d8010 + .word 0xed088203 + .word 0xed988100 + .word 0xea000013 + .word 0xe2433a06 + .word 0xe59f8084 + .word 0xe1530008 + .word 0xd1800003 + .word 0xc28f0064 + .word 0xc8900007 + .word 0xe92d0007 + .word 0xe1a03009 + .word 0xeb000f98 + .word 0xe24dd010 + .word 0xe1a08407 + .word 0xe3888001 + .word 0xe58d8000 + .word 0xe10f8000 + .word 0xe3888080 + .word 0xe129f008 + .word 0xe1a00000 + .word 0xe28d8010 + .word 0xed088203 + .word 0xedd80100 + .word 0xee307110 + .word 0xe28d8010 + .word 0xed888200 + .word 0xe8980007 + .word 0xed188203 + .word 0xe28dd020 + .word 0xe10f8000 + .word 0xe3c88080 + .word 0xe129f008 + .word 0xe1a00000 + .word 0xe8bd8c28 + .word 0x40007fff + .word 0x40000200 + .word 0x00000000 + .word 0x0000407e + .word 0x000043fe + .word 0x00007ffe + .word 0xc0070e3f + .word 0x00010001 + .word 0xe92d4000 + .word 0xe3170702 + .word 0x1a000025 + .word 0xe0833008 + .word 0xe1a092a8 + .word 0xe1c88289 + .word 0xe3590002 + .word 0x33390000 + .word 0xe2689020 + .word 0xe1a06912 + .word 0xe1a02832 + .word 0xe1822911 + .word 0xe1a01831 + .word 0x0a000003 + .word 0x11866106 + .word 0x11826126 + .word 0x11a02001 + .word 0x13a01000 + .word 0x3a000004 + .word 0x21866002 + .word 0x21866106 + .word 0x21816126 + .word 0x23a02000 + .word 0x23a01000 + .word 0xebfffef6 + .word 0xe3170c01 + .word 0x13310102 + .word 0x11918002 + .word 0x13a01000 + .word 0x13a02000 + .word 0x13e04000 + .word 0x03360000 + .word 0x13877008 + .word 0xe1916002 + .word 0x08bd8000 + .word 0xe3330000 + .word 0x1b000280 + .word 0x03110102 + .word 0x03800101 + .word 0xe1800003 + .word 0xe8bd8000 + .word 0xe92d4c28 + .word 0xe3540102 + .word 0x13540000 + .word 0xc3a04001 + .word 0xb3e04000 + .word 0xee207110 + .word 0xe24dd004 + .word 0xe24f80d0 + .word 0xe20b9010 + .word 0xe7989129 + .word 0xe31b0902 + .word 0x11a09829 + .word 0xe20b860f + .word 0xe1a08a28 + .word 0xe1a09839 + .word 0xe0099fa7 + .word 0xe1c99527 + .word 0xe0099cab + .word 0xe3150c01 + .word 0x1a000015 + .word 0xe3150080 + .word 0x1a000009 + .word 0xe28330c0 + .word 0xe59f8078 + .word 0xe1530008 + .word 0xa1800003 + .word 0xb28f0060 + .word 0xb8900007 + .word 0xe92d0007 + .word 0xe1a03009 + .word 0xeb000f34 + .word 0xeaffff6e + .word 0xe2833c06 + .word 0xe59f8054 + .word 0xe1530008 + .word 0xa1800003 + .word 0xb28f0038 + .word 0xb8900007 + .word 0xe92d0007 + .word 0xe1a03009 + .word 0xeb000f2a + .word 0xeaffff79 + .word 0xe2833a06 + .word 0xe3a08000 + .word 0xe1530008 + .word 0xa1800003 + .word 0xb28f0010 + .word 0xb8900007 + .word 0xe92d0007 + .word 0xe1a03009 + .word 0xeb000f20 + .word 0xeaffff84 + .word 0x40007fff + .word 0x40000300 + .word 0x00000000 + .word 0x00003f81 + .word 0x00003c01 + .word 0xe92d4000 + .word 0xe3170702 + .word 0x1affffc3 + .word 0xe0833008 + .word 0xe1a092a8 + .word 0xe1c88289 + .word 0xe3590002 + .word 0x33390000 + .word 0xe2689020 + .word 0xe1a06912 + .word 0xe1a02832 + .word 0xe1822911 + .word 0xe1a01831 + .word 0x0a000003 + .word 0x11866106 + .word 0x11826126 + .word 0x11a02001 + .word 0x13a01000 + .word 0x3a000004 + .word 0x21866002 + .word 0x21866106 + .word 0x21816126 + .word 0x23a02000 + .word 0x23a01000 + .word 0xebfffe94 + .word 0xe3170c01 + .word 0x13310102 + .word 0x11918002 + .word 0x13a01000 + .word 0x13a02000 + .word 0x13e04000 + .word 0x03360000 + .word 0x13877008 + .word 0xe1916002 + .word 0x08bd8000 + .word 0xe3310102 + .word 0x13800101 + .word 0x13330000 + .word 0x12433001 + .word 0x13811102 + .word 0xe1800003 + .word 0xe8bd8000 + .word 0xe3a08000 + .word 0xea000004 + .word 0xe3a08001 + .word 0xea000002 + .word 0xe3a08002 + .word 0xea000000 + .word 0xe1a083a5 + .word 0xe92d4c28 + .word 0xe3540102 + .word 0x13540000 + .word 0xc3a04001 + .word 0xb3e04000 + .word 0xee207110 + .word 0xe24dd004 + .word 0xe92d0007 + .word 0xe24f8f9f + .word 0xe20b3010 + .word 0xe7983123 + .word 0xe31b0902 + .word 0x11a03823 + .word 0xe20b860f + .word 0xe1a08a28 + .word 0xe1a03833 + .word 0xe0033fa7 + .word 0xe1c33527 + .word 0xe0033cab + .word 0xe3580001 + .word 0x8a000004 + .word 0x0a000001 + .word 0xeb000ed4 + .word 0xeaffff0c + .word 0xeb000ed2 + .word 0xeaffff1f + .word 0xeb000ed0 + .word 0xeaffff32 + .word 0xe92d4c28 + .word 0xe3540102 + .word 0x13540000 + .word 0xc3a04001 + .word 0xb3e04000 + .word 0xee207110 + .word 0xe24dd010 + .word 0xe3a03000 + .word 0xeb000ec6 + .word 0xee307110 + .word 0xe49d6010 + .word 0xe8bd8c28 + .word 0xe92d4c28 + .word 0xe3540102 + .word 0x13540000 + .word 0xc3a04001 + .word 0xb3e04000 + .word 0xee207110 + .word 0xe24dd010 + .word 0xe3a03000 + .word 0xeb000eba + .word 0xee307110 + .word 0xe89d0007 + .word 0xe28dd010 + .word 0xe8bd8c28 + .word 0xe92d4c28 + .word 0xe3540102 + .word 0x13540000 + .word 0xc3a04001 + .word 0xb3e04000 + .word 0xee207110 + .word 0xe24dd010 + .word 0xe3a03000 + .word 0xeb000ead + .word 0xee307110 + .word 0xe8bd0047 + .word 0xe8bd8c28 + .word 0xe3c08103 + .word 0xe3a090ff + .word 0xe3899c43 + .word 0xe1580009 + .word 0x81a0648b + .word 0x91e0648b + .word 0x0006680b + .word 0x11c6680b + .word 0xe3360000 + .word 0x52176c02 + .word 0x11a0f00e + .word 0xe1b06b08 + .word 0x31a06fa6 + .word 0x22026001 + .word 0xe31b0902 + .word 0x12266001 + .word 0xe31b0501 + .word 0x13a06000 + .word 0xe1a0f00e + .word 0xe3c08103 + .word 0xe3a090ff + .word 0xe3899c43 + .word 0xe1580009 + .word 0x81a0660b + .word 0x91e0660b + .word 0x00066c0b + .word 0x11c66c0b + .word 0xe3360000 + .word 0x52176c02 + .word 0x11a0f00e + .word 0xe1b06b08 + .word 0x31a06fa6 + .word 0x22026001 + .word 0xe31b0080 + .word 0x12266001 + .word 0xe31b0702 + .word 0x13a06000 + .word 0xe1a0f00e + .word 0xe1928081 + .word 0x0a000005 + .word 0xe3110101 + .word 0x0a000019 + .word 0xe1958084 + .word 0x0a000017 + .word 0xe3140101 + .word 0x1a000015 + .word 0xe2148101 + .word 0x1a000003 + .word 0xe3170801 + .word 0x1a00009b + .word 0xe3877001 + .word 0xe3844101 + .word 0xe1a00003 + .word 0xe1a01004 + .word 0xe1a02005 + .word 0xea000011 + .word 0x0a000010 + .word 0xe2118101 + .word 0x1a00000e + .word 0xe3170801 + .word 0x1a000053 + .word 0xea000009 + .word 0x0a00000a + .word 0xe2118101 + .word 0x1a000008 + .word 0xe3170801 + .word 0x1a00002d + .word 0xea000003 + .word 0xe2118101 + .word 0x1a000003 + .word 0xe3170801 + .word 0x1a000085 + .word 0xe3877001 + .word 0xe3811101 + .word 0xe31b0702 + .word 0x1a000010 + .word 0xe31b0080 + .word 0x1a000006 + .word 0xe2000103 + .word 0xe380007f + .word 0xe3800901 + .word 0xe3a02000 + .word 0xe3c110ff + .word 0xe3811102 + .word 0xe1a0f00e + .word 0xe2000103 + .word 0xe38000ff + .word 0xe3800c43 + .word 0xe1a025a2 + .word 0xe1a02582 + .word 0xe3811102 + .word 0xe1300000 + .word 0xe1a0f00e + .word 0xe31b0c02 + .word 0x1a000005 + .word 0xe3c08103 + .word 0xe3a090ff + .word 0xe3899c43 + .word 0xe1580009 + .word 0x33c22001 + .word 0x03822001 + .word 0xe2000103 + .word 0xe38000ff + .word 0xe3800c7f + .word 0xe1300000 + .word 0xe1a0f00e + .word 0xe3170801 + .word 0x1a000004 + .word 0xe3877001 + .word 0xe28f0d0a + .word 0xe8900007 + .word 0xe1811408 + .word 0xe1a0f00e + .word 0xe92d4c30 + .word 0xee207110 + .word 0xe24dd00c + .word 0xe92d0007 + .word 0xe28f8f9b + .word 0xe20b3010 + .word 0xe7983123 + .word 0xe31b0902 + .word 0x11a03823 + .word 0xe20b860f + .word 0xe1a08a28 + .word 0xe1a03833 + .word 0xe0033fa7 + .word 0xe1c33527 + .word 0xe0033cab + .word 0xe31b0702 + .word 0x1a00002e + .word 0xe31b0080 + .word 0x1a00001f + .word 0xeb000e1d + .word 0xe24dd010 + .word 0xe1a08407 + .word 0xe3888001 + .word 0xe58d8000 + .word 0xe10f8000 + .word 0xe3888080 + .word 0xe129f008 + .word 0xe1a00000 + .word 0xe28d8010 + .word 0xed088203 + .word 0xed980100 + .word 0xea00002b + .word 0xe92d4c30 + .word 0xee207110 + .word 0xe24dd00c + .word 0xe92d0007 + .word 0xe28f8f7b + .word 0xe20b3010 + .word 0xe7983123 + .word 0xe31b0902 + .word 0x11a03823 + .word 0xe20b860f + .word 0xe1a08a28 + .word 0xe1a03833 + .word 0xe0033fa7 + .word 0xe1c33527 + .word 0xe0033cab + .word 0xe31b0501 + .word 0x1a00000e + .word 0xe31b0902 + .word 0x0affffdf + .word 0xeb000dfd + .word 0xe24dd010 + .word 0xe1a08407 + .word 0xe3888001 + .word 0xe58d8000 + .word 0xe10f8000 + .word 0xe3888080 + .word 0xe129f008 + .word 0xe1a00000 + .word 0xe28d8010 + .word 0xed088203 + .word 0xed988100 + .word 0xea00000b + .word 0xeb000df0 + .word 0xe24dd010 + .word 0xe1a08407 + .word 0xe3888001 + .word 0xe58d8000 + .word 0xe10f8000 + .word 0xe3888080 + .word 0xe129f008 + .word 0xe1a00000 + .word 0xe28d8010 + .word 0xed088203 + .word 0xedd80100 + .word 0xee307110 + .word 0xe28d8010 + .word 0xed888200 + .word 0xe8980007 + .word 0xed188203 + .word 0xe28dd028 + .word 0xe10f8000 + .word 0xe3c88080 + .word 0xe129f008 + .word 0xe1a00000 + .word 0xe2106101 + .word 0x03c03103 + .word 0x02000102 + .word 0xe3b08001 + .word 0xe8bd8c30 + .word 0xe3170801 + .word 0x0affff9d + .word 0xe92d4c30 + .word 0xee207110 + .word 0xe92d003f + .word 0xe28f80fc + .word 0xe20b3010 + .word 0xe7983123 + .word 0xe31b0902 + .word 0x11a03823 + .word 0xe20b860f + .word 0xe1a08a28 + .word 0xe1a03833 + .word 0xe0033fa7 + .word 0xe1c33527 + .word 0xe0033cab + .word 0xe31b0702 + .word 0x1a000005 + .word 0xe31b0080 + .word 0x1a000001 + .word 0xeb000dc1 + .word 0xeaffffa2 + .word 0xeb000dbf + .word 0xeaffffc0 + .word 0xeb000dbd + .word 0xeaffffcb + .word 0xe3170801 + .word 0x03877001 + .word 0x01a0f00e + .word 0xe92d4c00 + .word 0xee207110 + .word 0xe24dd004 + .word 0xe92d0007 + .word 0xe3a03000 + .word 0xeb000db3 + .word 0xee307110 + .word 0xe49d6010 + .word 0xe8bd8c00 + .word 0xe3170801 + .word 0x03877001 + .word 0x01a0f00e + .word 0xe92d4c00 + .word 0xee207110 + .word 0xe92d003f + .word 0xe3a03000 + .word 0xeb000da8 + .word 0xee307110 + .word 0xe49d6018 + .word 0xe8bd8c00 + .word 0xe92d4c00 + .word 0xee207110 + .word 0xe24dd004 + .word 0xe92d0007 + .word 0xe3a03000 + .word 0xe3170b02 + .word 0x1a000003 + .word 0xeb000d9d + .word 0xe8bd0007 + .word 0xe28dd004 + .word 0xea000001 + .word 0xeb000d99 + .word 0xe8bd0047 + .word 0xee307110 + .word 0xe8bd8c00 + .word 0x40007fff + .word 0x00000000 + .word 0x00000000 + .word 0x40007fff + .word 0x40000000 + .word 0x00000000 + .word 0xc0070e3f + .word 0x00010001 + .word 0xe3170802 + .word 0x1a000004 + .word 0xe3877002 + .word 0xe24f0034 + .word 0xe8900007 + .word 0xe3800102 + .word 0xe1a0f00e + .word 0xe92d4c30 + .word 0xee207110 + .word 0xe24dd00c + .word 0xe92d0007 + .word 0xe24f803c + .word 0xe20b3010 + .word 0xe7983123 + .word 0xe31b0902 + .word 0x11a03823 + .word 0xe20b860f + .word 0xe1a08a28 + .word 0xe1a03833 + .word 0xe0033fa7 + .word 0xe1c33527 + .word 0xe0033cab + .word 0xe31b0702 + .word 0x1a000005 + .word 0xe31b0080 + .word 0x1a000001 + .word 0xeb000d75 + .word 0xeaffff54 + .word 0xeb000d73 + .word 0xeaffff72 + .word 0xeb000d71 + .word 0xeaffff7d + .word 0xe3170802 + .word 0x1a000006 + .word 0xe3877002 + .word 0xe0208003 + .word 0xe2088102 + .word 0xe24f00bc + .word 0xe8900007 + .word 0xe1800008 + .word 0xe1a0f00e + .word 0xe92d4c30 + .word 0xee207110 + .word 0xe92d003f + .word 0xe24f80c0 + .word 0xe20b3010 + .word 0xe7983123 + .word 0xe31b0902 + .word 0x11a03823 + .word 0xe20b860f + .word 0xe1a08a28 + .word 0xe1a03833 + .word 0xe0033fa7 + .word 0xe1c33527 + .word 0xe0033cab + .word 0xe31b0702 + .word 0x1a000005 + .word 0xe31b0080 + .word 0x1a000001 + .word 0xeb000d54 + .word 0xeaffff33 + .word 0xeb000d52 + .word 0xeaffff51 + .word 0xeb000d50 + .word 0xeaffff5c + .word 0xe2000102 + .word 0xe3310000 + .word 0x0a000017 + .word 0xe3a08000 + .word 0xe1b09821 + .word 0x01a01801 + .word 0x02888010 + .word 0xe1b09c21 + .word 0x01a01401 + .word 0x02888008 + .word 0xe1b09e21 + .word 0x01a01201 + .word 0x02888004 + .word 0xe1b09f21 + .word 0x01a01101 + .word 0x02888002 + .word 0xe1b09fa1 + .word 0x01a01081 + .word 0x02888001 + .word 0xe05898a6 + .word 0x81a01931 + .word 0x81a088a6 + .word 0xe2686020 + .word 0xe1811632 + .word 0xe1a02812 + .word 0x30400009 + .word 0xe1a0f00e + .word 0xe3560501 + .word 0x3a000016 + .word 0xe1b01002 + .word 0x01a0f00e + .word 0xe3a02000 + .word 0xe3a08020 + .word 0xe1b09821 + .word 0x01a01801 + .word 0x02888010 + .word 0xe1b09c21 + .word 0x01a01401 + .word 0x02888008 + .word 0xe1b09e21 + .word 0x01a01201 + .word 0x02888004 + .word 0xe1b09f21 + .word 0x01a01101 + .word 0x02888002 + .word 0xe1b09fa1 + .word 0x01a01081 + .word 0x02888001 + .word 0xe05898a6 + .word 0x81a01931 + .word 0x30400009 + .word 0xe1a0f00e + .word 0xe1a088a6 + .word 0xe2689020 + .word 0xe1a01811 + .word 0xe1811932 + .word 0xe1a02812 + .word 0xe1a0f00e + .word 0xe2033102 + .word 0xe3340000 + .word 0x0a000017 + .word 0xe3a08000 + .word 0xe1b09824 + .word 0x01a04804 + .word 0x02888010 + .word 0xe1b09c24 + .word 0x01a04404 + .word 0x02888008 + .word 0xe1b09e24 + .word 0x01a04204 + .word 0x02888004 + .word 0xe1b09f24 + .word 0x01a04104 + .word 0x02888002 + .word 0xe1b09fa4 + .word 0x01a04084 + .word 0x02888001 + .word 0xe05898a6 + .word 0x81a04934 + .word 0x81a088a6 + .word 0xe2686020 + .word 0xe1844635 + .word 0xe1a05815 + .word 0x30433009 + .word 0xe1a0f00e + .word 0xe3560501 + .word 0x3a000016 + .word 0xe1b04005 + .word 0x01a0f00e + .word 0xe3a05000 + .word 0xe3a08020 + .word 0xe1b09824 + .word 0x01a04804 + .word 0x02888010 + .word 0xe1b09c24 + .word 0x01a04404 + .word 0x02888008 + .word 0xe1b09e24 + .word 0x01a04204 + .word 0x02888004 + .word 0xe1b09f24 + .word 0x01a04104 + .word 0x02888002 + .word 0xe1b09fa4 + .word 0x01a04084 + .word 0x02888001 + .word 0xe05898a6 + .word 0x81a04934 + .word 0x30433009 + .word 0xe1a0f00e + .word 0xe1a088a6 + .word 0xe2689020 + .word 0xe1a04814 + .word 0xe1844935 + .word 0xe1a05815 + .word 0xe1a0f00e + .word 0xe3a02000 + .word 0xe2160102 + .word 0x12661000 + .word 0x01b01006 + .word 0x03a03000 + .word 0x01a0f00e + .word 0xe3a03901 + .word 0xe383301e + .word 0xe3a06000 + .word 0xe3310000 + .word 0x01a01002 + .word 0x03a02000 + .word 0x02433020 + .word 0xe3a08000 + .word 0xe1b09821 + .word 0x01a01801 + .word 0x02888010 + .word 0xe1b09c21 + .word 0x01a01401 + .word 0x02888008 + .word 0xe1b09e21 + .word 0x01a01201 + .word 0x02888004 + .word 0xe1b09f21 + .word 0x01a01101 + .word 0x02888002 + .word 0xe1b09fa1 + .word 0x01a01081 + .word 0x02888001 + .word 0xe2789020 + .word 0xe1811932 + .word 0xe1a02812 + .word 0xe0433008 + .word 0xe1a0f00e + .word 0xe3340000 + .word 0x01a04005 + .word 0x03a05000 + .word 0x02433020 + .word 0xe3a08000 + .word 0xe1b09824 + .word 0x01a04804 + .word 0x02888010 + .word 0xe1b09c24 + .word 0x01a04404 + .word 0x02888008 + .word 0xe1b09e24 + .word 0x01a04204 + .word 0x02888004 + .word 0xe1b09f24 + .word 0x01a04104 + .word 0x02888002 + .word 0xe1b09fa4 + .word 0x01a04084 + .word 0x02888001 + .word 0xe2789020 + .word 0xe1844935 + .word 0xe1a05815 + .word 0xe0433008 + .word 0xe1a0f00e + .word 0xe3310000 + .word 0x01a01002 + .word 0x03a02000 + .word 0x02833020 + .word 0xe3a08000 + .word 0xe1b09821 + .word 0x01a01801 + .word 0x02888010 + .word 0xe1b09c21 + .word 0x01a01401 + .word 0x02888008 + .word 0xe1b09e21 + .word 0x01a01201 + .word 0x02888004 + .word 0xe1b09f21 + .word 0x01a01101 + .word 0x02888002 + .word 0xe1b09fa1 + .word 0x01a01081 + .word 0x02888001 + .word 0xe2789020 + .word 0xe1811932 + .word 0xe1a02812 + .word 0xe0833008 + .word 0xe1a0f00e + .word 0xe3100101 + .word 0x03130101 + .word 0x1a0003c1 + .word 0xe92d4000 + .word 0xe31b0602 + .word 0x12233102 + .word 0xe31b0601 + .word 0x12233102 + .word 0x12200102 + .word 0xe1a06880 + .word 0xe0568883 + .word 0xe020e003 + .word 0xe2000102 + .word 0xe1a038a6 + .word 0x8a00001a + .word 0x01a09008 + .word 0x0a00002e + .word 0xe2686000 + .word 0xe1a068a6 + .word 0xe0833006 + .word 0xe1a092a6 + .word 0xe1c66289 + .word 0xe3590002 + .word 0x33390000 + .word 0xe2669020 + .word 0xe1a08912 + .word 0xe1a02632 + .word 0xe1822911 + .word 0xe1a01631 + .word 0x0a000003 + .word 0x11888108 + .word 0x11828128 + .word 0x11a02001 + .word 0x13a01000 + .word 0x3a000004 + .word 0x21888002 + .word 0x21888108 + .word 0x21818128 + .word 0x23a02000 + .word 0x23a01000 + .word 0xe3a09000 + .word 0xea000015 + .word 0xe1a068a8 + .word 0xe1a082a6 + .word 0xe1c66288 + .word 0xe3580002 + .word 0x33380000 + .word 0xe2668020 + .word 0xe1a09815 + .word 0xe1a05635 + .word 0xe1855814 + .word 0xe1a04634 + .word 0x0a000003 + .word 0x11899109 + .word 0x11859129 + .word 0x11a05004 + .word 0x13a04000 + .word 0x3a000004 + .word 0x21899005 + .word 0x21899109 + .word 0x21849129 + .word 0x23a05000 + .word 0x23a04000 + .word 0xe3a08000 + .word 0xe31e0102 + .word 0x1a000009 + .word 0xe0986009 + .word 0xe0b22005 + .word 0xe0b11004 + .word 0x38bd8000 + .word 0xe2833001 + .word 0xe1b01061 + .word 0xe1b02062 + .word 0xe1866086 + .word 0xe1a06066 + .word 0xe8bd8000 + .word 0xe0586009 + .word 0xe0d22005 + .word 0xe0d11004 + .word 0x2a000003 + .word 0xe2200102 + .word 0xe2766000 + .word 0xe2f22000 + .word 0xe2e11000 + .word 0xe3110102 + .word 0x18bd8000 + .word 0xe0966006 + .word 0xe0b22002 + .word 0xe0a11001 + .word 0xe2433001 + .word 0xe3110102 + .word 0x18bd8000 + .word 0xe191e002 + .word 0x1bffff56 + .word 0x18bd8000 + .word 0xe20b8060 + .word 0xe3380040 + .word 0x03a00102 + .word 0x13a00000 + .word 0xe3a03000 + .word 0xe8bd8000 + .word 0xe3100101 + .word 0x03130101 + .word 0x1a000395 + .word 0xe0118004 + .word 0x5a0003b5 + .word 0xe3c08103 + .word 0xe3c39103 + .word 0xe0200003 + .word 0xe2000102 + .word 0xe0883009 + .word 0xe2433c3f + .word 0xe24330fe + .word 0xe31b0502 + .word 0x1a00007f + .word 0xe3320000 + .word 0x0a00005d + .word 0xe3350000 + .word 0x0a00003d + .word 0xe92d4881 + .word 0xe1a00821 + .word 0xe1c17800 + .word 0xe1a06824 + .word 0xe1c48806 + .word 0xe0090690 + .word 0xe0060697 + .word 0xe0070798 + .word 0xe0977806 + .word 0xe0a99826 + .word 0xe0080890 + .word 0xe0977808 + .word 0xe0a90828 + .word 0xe1a0b822 + .word 0xe1c2e80b + .word 0xe1a06825 + .word 0xe1c58806 + .word 0xe009069b + .word 0xe006069e + .word 0xe00e0e98 + .word 0xe09ee806 + .word 0xe0a99826 + .word 0xe008089b + .word 0xe09ee808 + .word 0xe0a9b828 + .word 0xe097700b + .word 0xe2a00000 + .word 0xe097b00e + .word 0xe0b77000 + .word 0xe2a00000 + .word 0xe0518002 + .word 0xe3a01000 + .word 0xe3a06000 + .word 0x31e01001 + .word 0x30446005 + .word 0x10559004 + .word 0x03a01000 + .word 0x31e01001 + .word 0x30466008 + .word 0xe1a04828 + .word 0xe1c85804 + .word 0xe1a08829 + .word 0xe1c99808 + .word 0xe0226894 + .word 0xe0080895 + .word 0xe0060599 + .word 0xe0966808 + .word 0xe0a22828 + .word 0xe0090994 + .word 0xe0966809 + .word 0xe0a22829 + .word 0xe09b6006 + .word 0xe0b72002 + .word 0xe0b01001 + .word 0xe18ee10e + .word 0xe186612e + .word 0x48bd8881 + .word 0xe0966006 + .word 0xe0b22002 + .word 0xe0a11001 + .word 0xe2433001 + .word 0xe8bd8881 + .word 0xe1a05824 + .word 0xe1c46805 + .word 0xe1a08821 + .word 0xe1c19808 + .word 0xe0040895 + .word 0xe0080896 + .word 0xe0010699 + .word 0xe0911808 + .word 0xe0a44828 + .word 0xe0090995 + .word 0xe0911809 + .word 0xe0a44829 + .word 0xe1a08822 + .word 0xe1c29808 + .word 0xe0020895 + .word 0xe0080896 + .word 0xe0060699 + .word 0xe0966808 + .word 0xe0a22828 + .word 0xe0090995 + .word 0xe0966809 + .word 0xe0a25829 + .word 0xe0952001 + .word 0xe2b41000 + .word 0x41a0f00e + .word 0xe0966006 + .word 0xe0b22002 + .word 0xe0a11001 + .word 0xe2433001 + .word 0xe1a0f00e + .word 0xe3350000 + .word 0x0a00001d + .word 0xe1a02821 + .word 0xe1c16802 + .word 0xe1a08824 + .word 0xe1c49808 + .word 0xe0010892 + .word 0xe0080896 + .word 0xe0040699 + .word 0xe0944808 + .word 0xe0a11828 + .word 0xe0090992 + .word 0xe0944809 + .word 0xe0a11829 + .word 0xe1a08825 + .word 0xe1c59808 + .word 0xe0050892 + .word 0xe0080896 + .word 0xe0060699 + .word 0xe0966808 + .word 0xe0a55828 + .word 0xe0090992 + .word 0xe0966809 + .word 0xe0a52829 + .word 0xe0922004 + .word 0xe2b11000 + .word 0x41a0f00e + .word 0xe0966006 + .word 0xe0b22002 + .word 0xe0a11001 + .word 0xe2433001 + .word 0xe1a0f00e + .word 0xe1a05824 + .word 0xe1c46805 + .word 0xe1a08821 + .word 0xe1c19808 + .word 0xe0010895 + .word 0xe0080896 + .word 0xe0020699 + .word 0xe0922808 + .word 0xe0a11828 + .word 0xe0090995 + .word 0xe0922809 + .word 0xe0b11829 + .word 0xe3a06000 + .word 0x41a0f00e + .word 0xe0922002 + .word 0xe0a11001 + .word 0xe2433001 + .word 0xe1a0f00e + .word 0xe3100101 + .word 0x03130101 + .word 0x1a000336 + .word 0xe0118004 + .word 0x5a000361 + .word 0xe31b0601 + .word 0x1a000008 + .word 0xe1a08000 + .word 0xe1a00003 + .word 0xe1a03008 + .word 0xe1a08001 + .word 0xe1a01004 + .word 0xe1a04008 + .word 0xe1a08002 + .word 0xe1a02005 + .word 0xe1a05008 + .word 0xe3c08103 + .word 0xe3c39103 + .word 0xe0200003 + .word 0xe2000102 + .word 0xe0493008 + .word 0xe2833c3f + .word 0xe28330ff + .word 0xe92d4889 + .word 0xe1a00821 + .word 0xe1c17800 + .word 0xe1a0b822 + .word 0xe1c2e80b + .word 0xe28f6fd9 + .word 0xe7d66420 + .word 0xe0286690 + .word 0xe2688502 + .word 0xe0060698 + .word 0xe1a069a6 + .word 0xe2866002 + .word 0xe1a086a1 + .word 0xe0296698 + .word 0xe2699202 + .word 0xe1a08829 + .word 0xe1c99808 + .word 0xe0020699 + .word 0xe0010698 + .word 0xe0816822 + .word 0xe1a06326 + .word 0xe1b040a4 + .word 0xe1b05065 + .word 0x33a03000 + .word 0x23a03102 + .word 0xe1a087a4 + .word 0xe0090896 + .word 0xe1a09829 + .word 0xe0080b99 + .word 0xe0555008 + .word 0xe0080990 + .word 0xe0c44008 + .word 0xe0080e99 + .word 0xe0533808 + .word 0xe0d55828 + .word 0xe0080799 + .word 0x30455808 + .word 0x20555808 + .word 0xe0c44828 + .word 0xe1a01809 + .word 0xe1a08124 + .word 0xe0090896 + .word 0xe1a09829 + .word 0xe0080b99 + .word 0xe0533988 + .word 0xe0d556a8 + .word 0xe0080990 + .word 0x30455988 + .word 0x20555988 + .word 0xe0c446a8 + .word 0xe0080e99 + .word 0xe0533188 + .word 0xe0d55ea8 + .word 0xe0080799 + .word 0x30455188 + .word 0x20555188 + .word 0xe0c44ea8 + .word 0xe1a04d04 + .word 0xe1844325 + .word 0xe1a05d05 + .word 0xe1855323 + .word 0xe1a03d03 + .word 0xe0811189 + .word 0xe59d800c + .word 0xe3180702 + .word 0x03180080 + .word 0x0a000094 + .word 0xe1a087a4 + .word 0xe0090896 + .word 0xe1a09829 + .word 0xe0080b99 + .word 0xe0555008 + .word 0xe0080990 + .word 0xe0c44008 + .word 0xe0080e99 + .word 0xe0533808 + .word 0xe0d55828 + .word 0xe0080799 + .word 0x30455808 + .word 0x20555808 + .word 0xe0c44828 + .word 0xe1a02b09 + .word 0xe0811529 + .word 0xe1a08124 + .word 0xe0090896 + .word 0xe1a09829 + .word 0xe0080b99 + .word 0xe0533988 + .word 0xe0d556a8 + .word 0xe0080990 + .word 0x30455988 + .word 0x20555988 + .word 0xe0c446a8 + .word 0xe0080e99 + .word 0xe0533188 + .word 0xe0d55ea8 + .word 0xe0080799 + .word 0x30455188 + .word 0x20555188 + .word 0xe0c44ea8 + .word 0xe1a04d04 + .word 0xe1844325 + .word 0xe1a05d05 + .word 0xe1855323 + .word 0xe1a03d03 + .word 0xe0922489 + .word 0xe2a11000 + .word 0xe59d800c + .word 0xe3180702 + .word 0x0a00003f + .word 0xe1a087a4 + .word 0xe0090896 + .word 0xe1a09829 + .word 0xe0080b99 + .word 0xe0555008 + .word 0xe0080990 + .word 0xe0c44008 + .word 0xe0080e99 + .word 0xe0533808 + .word 0xe0d55828 + .word 0xe0080799 + .word 0x30455808 + .word 0x20555808 + .word 0xe0c44828 + .word 0xe1a04704 + .word 0xe1844925 + .word 0xe1a05705 + .word 0xe1855923 + .word 0xe1a03703 + .word 0xe1a06e09 + .word 0xe0922229 + .word 0xe2a11000 + .word 0xe1870800 + .word 0xe18e780b + .word 0xe3a0e000 + .word 0xe0559007 + .word 0xe0d48000 + .word 0x21a05009 + .word 0x21a04008 + .word 0xe0aee00e + .word 0xe3a0b000 + .word 0xe0933003 + .word 0xe0b55005 + .word 0xe0b44004 + .word 0xe0abb00b + .word 0xe0559007 + .word 0xe0d48000 + .word 0xe2dbb000 + .word 0x21a05009 + .word 0x21a04008 + .word 0xe0aee00e + .word 0xe3a0b000 + .word 0xe0933003 + .word 0xe0b55005 + .word 0xe0b44004 + .word 0xe0abb00b + .word 0xe0559007 + .word 0xe0d48000 + .word 0xe2dbb000 + .word 0x21a05009 + .word 0x21a04008 + .word 0xe0aee00e + .word 0xe1948005 + .word 0x13866001 + .word 0xe0966e0e + .word 0xe2b22000 + .word 0xe2b11000 + .word 0x48bd8889 + .word 0xe8bd4889 + .word 0xe0966006 + .word 0xe0b22002 + .word 0xe0a11001 + .word 0xe2433001 + .word 0xe1a0f00e + .word 0xe1870800 + .word 0xe18e780b + .word 0xe3a0e000 + .word 0xe0933003 + .word 0xe0b55005 + .word 0xe0a44004 + .word 0xe0559007 + .word 0xe0d48000 + .word 0x21a05009 + .word 0x21a04008 + .word 0xe0aee00e + .word 0xe3a0b000 + .word 0xe0933003 + .word 0xe0b55005 + .word 0xe0b44004 + .word 0xe0abb00b + .word 0xe0559007 + .word 0xe0d48000 + .word 0xe2dbb000 + .word 0x21a05009 + .word 0x21a04008 + .word 0xe0aee00e + .word 0xe3a0b000 + .word 0xe0933003 + .word 0xe0b55005 + .word 0xe0b44004 + .word 0xe0abb00b + .word 0xe0559007 + .word 0xe0d48000 + .word 0xe2dbb000 + .word 0x21a05009 + .word 0x21a04008 + .word 0xe0aee00e + .word 0xe1846005 + .word 0xe092248e + .word 0xe2b11000 + .word 0x48bd8889 + .word 0xe8bd4889 + .word 0xe0922002 + .word 0xe0a11001 + .word 0xe2433001 + .word 0xe1a0f00e + .word 0xe1870800 + .word 0xe18e780b + .word 0xe0933003 + .word 0xe0b55005 + .word 0xe0a44004 + .word 0xe0559007 + .word 0xe0d48000 + .word 0x21a05009 + .word 0x21a04008 + .word 0x22811020 + .word 0xe3a0b000 + .word 0xe0933003 + .word 0xe0b55005 + .word 0xe0b44004 + .word 0xe0abb00b + .word 0xe0559007 + .word 0xe0d48000 + .word 0xe2dbb000 + .word 0x21a05009 + .word 0x21a04008 + .word 0x22811010 + .word 0xe3a0b000 + .word 0xe0933003 + .word 0xe0b55005 + .word 0xe0b44004 + .word 0xe0abb00b + .word 0xe0559007 + .word 0xe0d48000 + .word 0xe2dbb000 + .word 0x21a05009 + .word 0x21a04008 + .word 0x22811008 + .word 0xe1846005 + .word 0xe3a02000 + .word 0xe3310000 + .word 0x48bd8889 + .word 0xe8bd4889 + .word 0xe1a01081 + .word 0xe2433001 + .word 0xe1a0f00e + .word 0x7e7f8080 + .word 0x7a7b7c7d + .word 0x76777879 + .word 0x73747576 + .word 0x70717172 + .word 0x6d6e6e6f + .word 0x6a6b6c6c + .word 0x6868696a + .word 0x65666667 + .word 0x63636464 + .word 0x60616162 + .word 0x5e5f5f60 + .word 0x5c5d5d5e + .word 0x5a5b5b5c + .word 0x5859595a + .word 0x56575758 + .word 0x55555556 + .word 0x53535454 + .word 0x51525252 + .word 0x50505051 + .word 0x4e4f4f4f + .word 0x4d4d4d4e + .word 0x4b4c4c4c + .word 0x4a4a4b4b + .word 0x4949494a + .word 0x47484848 + .word 0x46474747 + .word 0x45454646 + .word 0x44444445 + .word 0x43434344 + .word 0x42424243 + .word 0x41414142 + .word 0xe3100101 + .word 0x03130101 + .word 0x1a00025f + .word 0xe1946005 + .word 0x03a0800a + .word 0x0afffc6c + .word 0xe1916002 + .word 0x0a000297 + .word 0xe92d4000 + .word 0xe3c33103 + .word 0xe2433001 + .word 0xe3c06103 + .word 0xe0566003 + .word 0xe2000102 + .word 0xb0863003 + .word 0xb3a06000 + .word 0xb1a0f00e + .word 0xe1a000c0 + .word 0xe3a0e000 + .word 0xea000002 + .word 0xe1a0efa1 + .word 0xe0922002 + .word 0xe0a11001 + .word 0xe0728005 + .word 0xe0f19004 + .word 0xe2fee000 + .word 0x2a000002 + .word 0xe0982005 + .word 0xe0a91004 + .word 0xe2200102 + .word 0xe2566001 + .word 0xaafffff3 + .word 0xe3a06000 + .word 0xe1918002 + .word 0x01a00080 + .word 0x03a03000 + .word 0x12000102 + .word 0x1bfffd52 + .word 0xe8bd8000 + .word 0xe3100101 + .word 0x1a00027f + .word 0xe3110102 + .word 0x0a000293 + .word 0xe3c03103 + .word 0xe2100102 + .word 0x13a0800b + .word 0x1afffbe1 + .word 0xe2833c3f + .word 0xe28330ff + .word 0xe1b030a3 + .word 0x32414102 + .word 0x22414101 + .word 0xe1a05002 + .word 0xe3a08202 + .word 0xe3a01102 + .word 0xe3a02000 + .word 0xe3a0928b + .word 0xe1a069ab + .word 0xe3160001 + .word 0x03a0926b + .word 0x031b0080 + .word 0x03a09103 + .word 0x3a000005 + .word 0xe0955005 + .word 0xe0b44004 + .word 0xe1816008 + .word 0x31540006 + .word 0x20444006 + .word 0x21811088 + .word 0xe0955005 + .word 0xe0b44004 + .word 0xe18160a8 + .word 0x31540006 + .word 0x20444006 + .word 0x21811008 + .word 0xe0955005 + .word 0xe0b44004 + .word 0xe1816128 + .word 0x31540006 + .word 0x20444006 + .word 0x218110a8 + .word 0xe0955005 + .word 0xe0b44004 + .word 0xe18161a8 + .word 0x31540006 + .word 0x20444006 + .word 0x21811128 + .word 0xe0955005 + .word 0xe0b44004 + .word 0xe1816228 + .word 0x31540006 + .word 0x20444006 + .word 0x218111a8 + .word 0xe0955005 + .word 0xe0b44004 + .word 0xe18162a8 + .word 0x31540006 + .word 0x20444006 + .word 0x21811228 + .word 0xe2999201 + .word 0xe1a08368 + .word 0xbaffffd8 + .word 0xe1946005 + .word 0x13580020 + .word 0x01a0f00e + .word 0xe92d4880 + .word 0xe0955005 + .word 0xe0b44004 + .word 0xe0aee00e + .word 0xe1826008 + .word 0xe055b006 + .word 0xe0d47001 + .word 0x31b0e0ae + .word 0x21a0500b + .word 0x21a04007 + .word 0x21822088 + .word 0x21811fa8 + .word 0xe0955005 + .word 0xe0b44004 + .word 0xe0aee00e + .word 0xe18260a8 + .word 0xe055b006 + .word 0xe0d47001 + .word 0x31b0e0ae + .word 0x21a0500b + .word 0x21a04007 + .word 0x21822008 + .word 0xe0955005 + .word 0xe0b44004 + .word 0xe0aee00e + .word 0xe1826128 + .word 0xe055b006 + .word 0xe0d47001 + .word 0x31b0e0ae + .word 0x21a0500b + .word 0x21a04007 + .word 0x218220a8 + .word 0xe0955005 + .word 0xe0b44004 + .word 0xe0aee00e + .word 0xe18261a8 + .word 0xe055b006 + .word 0xe0d47001 + .word 0x31b0e0ae + .word 0x21a0500b + .word 0x21a04007 + .word 0x21822128 + .word 0xe2599001 + .word 0xe1a08268 + .word 0x1affffd3 + .word 0xe1946005 + .word 0x13580080 + .word 0x08bd8880 + .word 0xe0955005 + .word 0xe0b44004 + .word 0xe0aee00e + .word 0xe2788000 + .word 0xe0f2b005 + .word 0xe0f17004 + .word 0x31b0e0ae + .word 0x21a0500b + .word 0x21a04007 + .word 0x33a08000 + .word 0x23822001 + .word 0xe3a06106 + .word 0xe0988008 + .word 0xe0b55005 + .word 0xe0b44004 + .word 0x28bd8880 + .word 0xe0d5b002 + .word 0xe0d4b001 + .word 0x33a06001 + .word 0xe8bd8880 + .word 0xe3100101 + .word 0x1a00021a + .word 0xe3c03103 + .word 0xe2000102 + .word 0xe3a06000 + .word 0xe31b0601 + .word 0x12200102 + .word 0xe31b0602 + .word 0x13c00102 + .word 0xe1a0f00e + .word 0xe3100101 + .word 0x1a000236 + .word 0xe3c03103 + .word 0xe3110102 + .word 0x1a000008 + .word 0xe1918002 + .word 0x03a03000 + .word 0x0a000005 + .word 0xe92d4000 + .word 0xe0116080 + .word 0x43c11102 + .word 0x42833001 + .word 0xebfffcb4 + .word 0xe8bd4000 + .word 0xe2000102 + .word 0xe3a06000 + .word 0xe1a0f00e + .word 0xe3100101 + .word 0x1a000232 + .word 0xe3c06103 + .word 0xe2000102 + .word 0xe3a03016 + .word 0xe31b0080 + .word 0x13a03033 + .word 0xe31b0702 + .word 0x13a0303e + .word 0xe3833901 + .word 0xe0538006 + .word 0x9a000014 + .word 0xe1a092a8 + .word 0xe1c88289 + .word 0xe3590002 + .word 0x33390000 + .word 0xe2689020 + .word 0xe1a06912 + .word 0xe1a02832 + .word 0xe1822911 + .word 0xe1a01831 + .word 0x0a000003 + .word 0x11866106 + .word 0x11826126 + .word 0x11a02001 + .word 0x13a01000 + .word 0x3a000004 + .word 0x21866002 + .word 0x21866106 + .word 0x21816126 + .word 0x23a02000 + .word 0x23a01000 + .word 0xe1a0f00e + .word 0xe1a03006 + .word 0xe3a06000 + .word 0xe1a0f00e + .word 0xe3100101 + .word 0x1a000219 + .word 0xe3c03103 + .word 0xe2000102 + .word 0xe3110102 + .word 0x0a000049 + .word 0x13a0603e + .word 0xe3866901 + .word 0xe0568003 + .word 0xda000045 + .word 0xe2789020 + .word 0xba000017 + .word 0xe1b08912 + .word 0x0a000041 + .word 0xe1b08080 + .word 0x231b0020 + .word 0x331b0040 + .word 0x1a000007 + .word 0xe31b0060 + .word 0x1a00000a + .word 0xe2898001 + .word 0xe1b08812 + .word 0x1a000001 + .word 0xe1b080a1 + .word 0xe1b08912 + .word 0x2a000004 + .word 0xe2699020 + .word 0xe1a02932 + .word 0xe1a02912 + .word 0xe3a06101 + .word 0xe1a0f00e + .word 0xe2699020 + .word 0xe1e02932 + .word 0xe1e02912 + .word 0xe3a06103 + .word 0xe1a0f00e + .word 0xe2789040 + .word 0xba00001a + .word 0xe1928911 + .word 0x0a000027 + .word 0xe1b08080 + .word 0x231b0020 + .word 0x331b0040 + .word 0x1a000007 + .word 0xe31b0060 + .word 0x1a00000c + .word 0xe2898001 + .word 0xe1928811 + .word 0x1a000001 + .word 0xe3590001 + .word 0x21b08911 + .word 0x2a000006 + .word 0xe2699020 + .word 0xe1a01931 + .word 0xe1b01911 + .word 0xe3a02000 + .word 0x03a03000 + .word 0xe3a06101 + .word 0xe1a0f00e + .word 0xe2699020 + .word 0xe1e01931 + .word 0xe1e01911 + .word 0xe3e02000 + .word 0xe3a06103 + .word 0xe1a0f00e + .word 0xe0208d0b + .word 0xe0209c8b + .word 0xe1d88009 + .word 0x4a000004 + .word 0xe3a01000 + .word 0xe3a02000 + .word 0xe3a03000 + .word 0xe3a06101 + .word 0xe1a0f00e + .word 0xe3e01000 + .word 0xe3e02000 + .word 0xe3a03c3f + .word 0xe38330fe + .word 0xe3a06103 + .word 0xe1a0f00e + .word 0xe3a06000 + .word 0xe1a0f00e + .word 0xe3100101 + .word 0x03130101 + .word 0x1a0001d7 + .word 0xe31b0602 + .word 0x02233102 + .word 0xe1a08880 + .word 0xe1580883 + .word 0x01510004 + .word 0x01520005 + .word 0x0a000004 + .word 0x23300000 + .word 0x33330000 + .word 0x53a06202 + .word 0x43a06102 + .word 0xe1a0f00e + .word 0xe0309003 + .word 0xe3a06206 + .word 0x41a0f00e + .word 0xe1888001 + .word 0xe1988002 + .word 0x01a0f00e + .word 0xe3100102 + .word 0x03a06202 + .word 0x13a06102 + .word 0xe1a0f00e + .word 0xe3100101 + .word 0x1a0001f9 + .word 0xe3c06103 + .word 0xe2000102 + .word 0xe92d4000 + .word 0xe3a03901 + .word 0xe383303e + .word 0xe0538006 + .word 0x9a000023 + .word 0xe1a092a8 + .word 0xe1c88289 + .word 0xe3590002 + .word 0x33390000 + .word 0xe2689020 + .word 0xe1a06912 + .word 0xe1a02832 + .word 0xe1822911 + .word 0xe1a01831 + .word 0x0a000003 + .word 0x11866106 + .word 0x11826126 + .word 0x11a02001 + .word 0x13a01000 + .word 0x3a000004 + .word 0x21866002 + .word 0x21866106 + .word 0x21816126 + .word 0x23a02000 + .word 0x23a01000 + .word 0xe20b5060 + .word 0xe3855c01 + .word 0xe3a04000 + .word 0xebfff86d + .word 0xe1b08080 + .word 0x21e01001 + .word 0x22722000 + .word 0x22811001 + .word 0xe1310fc2 + .word 0x1a000005 + .word 0xe1a06002 + .word 0xe3540000 + .word 0x11b08aa7 + .word 0x33877010 + .word 0x8bfff9fe + .word 0xe8bd8000 + .word 0xe8bd4000 + .word 0xe3e06102 + .word 0xe0266fc0 + .word 0xe3a0800e + .word 0xeafffb03 + .word 0xe1a09883 + .word 0xe3790802 + .word 0x30099004 + .word 0xe0199083 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4a000014 + .word 0xe3190102 + .word 0x1a000022 + .word 0xe92d4000 + .word 0xe0116080 + .word 0x43c11102 + .word 0x42800001 + .word 0xe0146083 + .word 0x43c44102 + .word 0x42833001 + .word 0xe3100101 + .word 0x11b06880 + .word 0x1bfffb5d + .word 0xe3130101 + .word 0x11b06883 + .word 0x1bfffb94 + .word 0xebfffc24 + .word 0xe3110102 + .word 0x18bd8000 + .word 0xe191e002 + .word 0x1bfffbd2 + .word 0xe8bd8000 + .word 0xe3190102 + .word 0x0a000009 + .word 0xe1828081 + .word 0xe1888005 + .word 0xe1988084 + .word 0x1afffa1f + .word 0xe023850b + .word 0xe0388000 + .word 0x52008102 + .word 0x5a00000a + .word 0xe3a08004 + .word 0xeafffabf + .word 0xe1928081 + .word 0x1afffa35 + .word 0xe2008102 + .word 0xea000004 + .word 0xe1958084 + .word 0x1afffa1b + .word 0xe2038102 + .word 0xe31b0602 + .word 0x12288102 + .word 0xe31b0601 + .word 0x12288102 + .word 0xe28f0fe6 + .word 0xe8900007 + .word 0xe1800008 + .word 0xe1a0f00e + .word 0xe1a09883 + .word 0xe3790802 + .word 0x30099004 + .word 0xe0199083 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4a00001f + .word 0xe3190102 + .word 0x1a00002f + .word 0xe1918002 + .word 0x11948005 + .word 0x0a000013 + .word 0xe0116080 + .word 0x43c11102 + .word 0x42800001 + .word 0xe0146083 + .word 0x43c44102 + .word 0x42833001 + .word 0xe3c08103 + .word 0xe3c39103 + .word 0xe0200003 + .word 0xe2000102 + .word 0xe0883009 + .word 0xe2433c3f + .word 0xe24330fe + .word 0xe92d4000 + .word 0xe3110102 + .word 0x0bfffb98 + .word 0xe3140102 + .word 0x0bfffbaf + .word 0xe8bd4000 + .word 0xeafffc50 + .word 0xe0200003 + .word 0xe2000102 + .word 0xe3a01000 + .word 0xe3a02000 + .word 0xe3a03000 + .word 0xe3a06000 + .word 0xe1a0f00e + .word 0xe3190102 + .word 0x0a000009 + .word 0xe1828081 + .word 0xe1888005 + .word 0xe1988084 + .word 0x1afff9db + .word 0xe0208003 + .word 0xe2088102 + .word 0xe28f0fb1 + .word 0xe8900007 + .word 0xe1800008 + .word 0xe1a0f00e + .word 0xe1928081 + .word 0x1afff9f1 + .word 0xe1948005 + .word 0x1afffff5 + .word 0xe3a08005 + .word 0xeafffa75 + .word 0xe1958084 + .word 0x1afff9d5 + .word 0xe1918002 + .word 0x1affffef + .word 0xe3a08006 + .word 0xeafffa6f + .word 0xe1a09883 + .word 0xe3790802 + .word 0x30099004 + .word 0xe0199083 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4a000036 + .word 0xe3190102 + .word 0x1a000048 + .word 0xe1918002 + .word 0x11948005 + .word 0x0a00001e + .word 0xe31b0601 + .word 0x1a000008 + .word 0xe1a08000 + .word 0xe1a00003 + .word 0xe1a03008 + .word 0xe1a08001 + .word 0xe1a01004 + .word 0xe1a04008 + .word 0xe1a08002 + .word 0xe1a02005 + .word 0xe1a05008 + .word 0xe0116080 + .word 0x43c11102 + .word 0x42800001 + .word 0xe0146083 + .word 0x43c44102 + .word 0x42833001 + .word 0xe3c08103 + .word 0xe3c39103 + .word 0xe0200003 + .word 0xe2000102 + .word 0xe0493008 + .word 0xe2833c3f + .word 0xe28330ff + .word 0xe92d4000 + .word 0xe3110102 + .word 0x0bfffb7e + .word 0xe3140102 + .word 0x0bfffb63 + .word 0xe8bd4000 + .word 0xeafffcaf + .word 0xe3a08007 + .word 0xe31b0601 + .word 0x1a00000a + .word 0xe1919002 + .word 0x1afffaa5 + .word 0xe1949005 + .word 0x0afffa3b + .word 0xe0200003 + .word 0xe2000102 + .word 0xe3a01000 + .word 0xe3a02000 + .word 0xe3a03000 + .word 0xe3a06000 + .word 0xe1a0f00e + .word 0xe1919002 + .word 0x1afffff6 + .word 0xe1949005 + .word 0x1afffa98 + .word 0xeafffa2f + .word 0xe3190102 + .word 0x0a000005 + .word 0xe1828081 + .word 0xe1888005 + .word 0xe1988084 + .word 0x1afff983 + .word 0xe3a08008 + .word 0xeafffa27 + .word 0xe1928081 + .word 0x1afff99d + .word 0xe0208003 + .word 0xe2088102 + .word 0xe31b0601 + .word 0x028f0e15 + .word 0x128f0d05 + .word 0xe8900007 + .word 0xe1800008 + .word 0xe3a03000 + .word 0xe3a06000 + .word 0xe1a0f00e + .word 0xe1958084 + .word 0x1afff97b + .word 0xe0208003 + .word 0xe2088102 + .word 0xe31b0601 + .word 0x128f0e12 + .word 0x028f0e11 + .word 0xe8900007 + .word 0xe1800008 + .word 0xe3a03000 + .word 0xe3a06000 + .word 0xe1a0f00e + .word 0xe1a09883 + .word 0xe3790802 + .word 0x30099004 + .word 0xe0199083 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4a000017 + .word 0xe3190102 + .word 0x1a000021 + .word 0xe1948005 + .word 0x03a0800a + .word 0x0afffa01 + .word 0xe1916002 + .word 0x0a00002c + .word 0xe0116080 + .word 0x43c11102 + .word 0x42800001 + .word 0xe0146083 + .word 0x43c44102 + .word 0x42833001 + .word 0xe92d4000 + .word 0xe3c33103 + .word 0xe3140102 + .word 0x0bfffb14 + .word 0xe2439001 + .word 0xe3c03103 + .word 0xe3140102 + .word 0x0bfffaf7 + .word 0xe0536009 + .word 0xe1a03009 + .word 0xeafffd88 + .word 0xe3190102 + .word 0x0a000005 + .word 0xe1828081 + .word 0xe1888005 + .word 0xe1988084 + .word 0x1afff942 + .word 0xe3a08009 + .word 0xeafff9e6 + .word 0xe1928081 + .word 0x1afff95c + .word 0xe3a08009 + .word 0xeafff9e2 + .word 0xe1958084 + .word 0x1afff942 + .word 0xe3100101 + .word 0x03c03103 + .word 0x02000102 + .word 0x03a06000 + .word 0x01a0f00e + .word 0xe1916002 + .word 0x0a000006 + .word 0xe3c03103 + .word 0xe2000102 + .word 0xe3110102 + .word 0x13c11102 + .word 0x12833001 + .word 0xe3a06000 + .word 0xeafffad8 + .word 0xe2000102 + .word 0xe3a03000 + .word 0xe1a0f00e + .word 0x00000000 + .word 0x00000000 + .word 0x00000000 + .word 0x40007fff + .word 0x00000000 + .word 0x00000000 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4a000013 + .word 0xe1918002 + .word 0x02000102 + .word 0x0a00000d + .word 0xe3c03103 + .word 0xe2100102 + .word 0x13a0800b + .word 0x1afff95b + .word 0xe92d4000 + .word 0xe3110102 + .word 0x13c11102 + .word 0x12833001 + .word 0xebfffabe + .word 0xe2833c3f + .word 0xe28330ff + .word 0xe1b030a3 + .word 0xe8bd4000 + .word 0xeafffd72 + .word 0xe3a03000 + .word 0xe3a06000 + .word 0xe1a0f00e + .word 0xe1928081 + .word 0x1afff921 + .word 0xe3100102 + .word 0x13a0800b + .word 0x1afff949 + .word 0xe24f008c + .word 0xe8900007 + .word 0xe1a0f00e + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4a00000a + .word 0xe1918002 + .word 0x03a03000 + .word 0x0afffddd + .word 0xe3c03103 + .word 0xe92d4000 + .word 0xe0116080 + .word 0x43c11102 + .word 0x42833001 + .word 0xebfffaa0 + .word 0xe8bd4000 + .word 0xeafffdd5 + .word 0xe1928081 + .word 0x1a000008 + .word 0xe2008102 + .word 0xe31b0601 + .word 0x12288102 + .word 0xe31b0602 + .word 0x13c88102 + .word 0xe24f00f4 + .word 0xe8900007 + .word 0xe1800008 + .word 0xe1a0f00e + .word 0xe92d4000 + .word 0xebfff8d2 + .word 0xe3360000 + .word 0x4a000001 + .word 0xebfff8fa + .word 0x18bd8000 + .word 0xe31b0601 + .word 0x12200102 + .word 0xe31b0602 + .word 0x13c00102 + .word 0xe8bd8000 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x53c03103 + .word 0x5afffdc5 + .word 0xe1928081 + .word 0x1afff8ed + .word 0xe2008102 + .word 0xe24f0f55 + .word 0xe8900007 + .word 0xe1800008 + .word 0xe1a0f00e + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4afffff3 + .word 0xe3c06103 + .word 0xe2000102 + .word 0xe3110102 + .word 0x13c11102 + .word 0x12866001 + .word 0xeafffdc3 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4affffe8 + .word 0xe1913002 + .word 0x02000102 + .word 0x0afffe2b + .word 0xe3c03103 + .word 0xe2000102 + .word 0xe92d4000 + .word 0xe3110102 + .word 0x13c11102 + .word 0x12833001 + .word 0xebfffa61 + .word 0xe8bd4000 + .word 0xeafffdd8 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0xe1a09883 + .word 0xe3790802 + .word 0x30099004 + .word 0xe0199083 + .word 0xe3180102 + .word 0x11926081 + .word 0x1a00001b + .word 0xe3190102 + .word 0x11956084 + .word 0x1a000018 + .word 0xe92d4000 + .word 0xe3180102 + .word 0x12000102 + .word 0x138000ff + .word 0x13800c7f + .word 0x13c11102 + .word 0xe3190102 + .word 0x12033102 + .word 0x138330ff + .word 0x13833c7f + .word 0x13c44102 + .word 0xe0116080 + .word 0x43c11102 + .word 0x42800001 + .word 0xe0146083 + .word 0x43c44102 + .word 0x42833001 + .word 0xe3100101 + .word 0x11b06880 + .word 0x1bfff9c0 + .word 0xe3130101 + .word 0x11b06883 + .word 0x1bfff9f7 + .word 0xe8bd4000 + .word 0xeafffe00 + .word 0xe3170a01 + .word 0x03a06201 + .word 0x13a06203 + .word 0xe3180102 + .word 0x11928081 + .word 0x0a000004 + .word 0xe2118101 + .word 0x0afff950 + .word 0xe3190102 + .word 0x11958084 + .word 0x0a000001 + .word 0xe2148101 + .word 0x0afff94b + .word 0xe31b0501 + .word 0x01a0f00e + .word 0xe3a0800f + .word 0xeafff947 + .word 0xe3100101 + .word 0x0afffe05 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4a000005 + .word 0xe3c06103 + .word 0xe2000102 + .word 0xe3110102 + .word 0x13c11102 + .word 0x12866001 + .word 0xeafffdfc + .word 0xe3110101 + .word 0x03a08000 + .word 0x13a0800c + .word 0xe1926081 + .word 0x03a0800d + .word 0xe3a06102 + .word 0xeafff927 + .word 0xedd8a200 + .word 0xee181102 + .word 0xee106111 + .word 0xee308110 + .word 0xe3180005 + .word 0x0e016110 + .word 0x0e192103 + .word 0x0e280102 + .word 0x0e192104 + .word 0x0e280102 + .word 0xe1a0f009 + .word 0xecb8a203 + .word 0xe2466001 + .word 0xecb8b203 + .word 0xee1a2101 + .word 0xee0a2103 + .word 0xe2566001 + .word 0x1afffffa + .word 0xee1a2101 + .word 0xe1a0f009 + .word 0xecb8b203 + .word 0xee094103 + .word 0xe2566001 + .word 0x01a0f009 + .word 0xecb8b203 + .word 0xee1c4101 + .word 0xee0c4103 + .word 0xe2566001 + .word 0x1afffffa + .word 0xe1a0f009 + .word 0xee08a109 + .word 0xee108111 + .word 0xe0389048 + .word 0xe2a99000 + .word 0xe3a06902 + .word 0xe1190006 + .word 0x01a060a6 + .word 0x0afffffc + .word 0xe3580000 + .word 0xba00000e + .word 0xea000002 + .word 0xee1a2102 + .word 0xe1190086 + .word 0x1e1a2100 + .word 0xe1b060a6 + .word 0x1afffffa + .word 0xee1a3102 + .word 0xe3190001 + .word 0x0e1a2162 + .word 0x1e1b2160 + .word 0x1e1b3100 + .word 0xea000009 + .word 0xee1a2102 + .word 0xe1190086 + .word 0x1e4a2100 + .word 0xe1b060a6 + .word 0x1afffffa + .word 0xee1a3102 + .word 0xe3190001 + .word 0x0e1a2162 + .word 0x1e4b2160 + .word 0x1e4b3100 + .word 0xee308110 + .word 0xe318000c + .word 0x1a0001b7 + .word 0xee92f113 + .word 0x03a06101 + .word 0x13a06103 + .word 0xe3180010 + .word 0x03a06000 + .word 0xee088102 + .word 0xea00010c + .word 0x80003ffe + .word 0xca20ad9a + .word 0xb5e946e9 + .word 0x00004003 + .word 0x83125100 + .word 0xb57f6509 + .word 0x80004005 + .word 0x803ff895 + .word 0x9dacd228 + .word 0x80004004 + .word 0x8eac025b + .word 0x3e7076bb + .word 0x00004007 + .word 0x9c041fd0 + .word 0xa933ef60 + .word 0x80004008 + .word 0xc05ff4e0 + .word 0x6c83bb96 + .word 0x00003ffe + .word 0xb17217f7 + .word 0xd1cf0000 + .word 0x00003fcd + .word 0xf35793c0 + .word 0x00000000 + .word 0x00003ffe + .word 0xb504f333 + .word 0xf9de6484 + .word 0x00003ffd + .word 0xde5bd8a9 + .word 0x37287195 + .word 0xe3100101 + .word 0x1a000079 + .word 0xe1918002 + .word 0x0afff8eb + .word 0xe3100102 + .word 0x13a08018 + .word 0x1afff83e + .word 0xe3c03103 + .word 0xe3a00c3f + .word 0xe38000fe + .word 0xe0433000 + .word 0xe92d4000 + .word 0xe24dd04c + .word 0xe1a09407 + .word 0xe389901f + .word 0xe58d9000 + .word 0xe10f9000 + .word 0xe3899080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c7981f + .word 0xe3c9901f + .word 0xee209110 + .word 0xe28d9040 + .word 0xed09020f + .word 0xed09c203 + .word 0xe8890007 + .word 0xed998200 + .word 0xe31b0601 + .word 0x0a000011 + .word 0xe2838001 + .word 0xe0889108 + .word 0xe0689109 + .word 0xe1a09349 + .word 0xe359001c + .word 0x2a000010 + .word 0xe24f8b0b + .word 0xe2488feb + .word 0xe0888209 + .word 0xe8980130 + .word 0xe1320008 + .word 0x01310005 + .word 0x00444003 + .word 0x01300004 + .word 0x1a000007 + .word 0xe3a06000 + .word 0xee019110 + .word 0xea00003e + .word 0xe3530001 + .word 0x0e90f11e + .word 0x03a06000 + .word 0x0e089108 + .word 0x0a000039 + .word 0xed5f113d + .word 0xee90f111 + .word 0xd2433001 + .word 0xde28010e + .word 0xee18110e + .word 0xee09110e + .word 0xce280109 + .word 0xee480101 + .word 0xee181100 + .word 0xe24f8f5e + .word 0xe3a06003 + .word 0xe1a0900f + .word 0xeaffff62 + .word 0xe24f8f59 + .word 0xe3a06003 + .word 0xe1a0900f + .word 0xeaffff67 + .word 0xee4a2104 + .word 0xee1a1100 + .word 0xee091100 + .word 0xe3330000 + .word 0x1a000008 + .word 0xe31b0601 + .word 0x1a000017 + .word 0xee1a2160 + .word 0xee0a0160 + .word 0xee91f110 + .word 0x03a06101 + .word 0x13a06103 + .word 0x1e089100 + .word 0xea00001a + .word 0xee083110 + .word 0xed5f2263 + .word 0xee1a2100 + .word 0xee1b3100 + .word 0xee090102 + .word 0xee282102 + .word 0xee2a2101 + .word 0xee0a2103 + .word 0xee081102 + .word 0xe31b0601 + .word 0x1a000005 + .word 0xee080162 + .word 0xee91f110 + .word 0x03a06101 + .word 0x13a06103 + .word 0x1e089100 + .word 0xea000009 + .word 0xee08a101 + .word 0xed5f016b + .word 0xee181162 + .word 0xe3a06101 + .word 0xe31b00e0 + .word 0x1a000003 + .word 0xe31b0702 + .word 0x1e180102 + .word 0x1e90f111 + .word 0x13a06103 + .word 0xe28d9040 + .word 0xed899200 + .word 0xe8990007 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c03103 + .word 0xe2000102 + .word 0xe8bd8000 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4a00000c + .word 0xe1918002 + .word 0x0afff86c + .word 0xe3c03103 + .word 0xe3100102 + .word 0x13a08018 + .word 0x1afff7be + .word 0xe92d4000 + .word 0xe3110102 + .word 0x13c11102 + .word 0x12833001 + .word 0xebfff921 + .word 0xe8bd4000 + .word 0xeaffff79 + .word 0xe1928081 + .word 0x1afff78a + .word 0xe3100102 + .word 0x13a08018 + .word 0x1afff7b2 + .word 0xe24f0b01 + .word 0xe2400fba + .word 0xe8900007 + .word 0xe1a0f00e + .word 0x00003fff + .word 0xb8aa3b29 + .word 0x5c17f0bc + .word 0x00003ffe + .word 0xb1800000 + .word 0x00000000 + .word 0x80003ff2 + .word 0xde8082e3 + .word 0x08654362 + .word 0x00003ff1 + .word 0x845a2157 + .word 0x3490f106 + .word 0x00003ff8 + .word 0xf83a5f91 + .word 0x50952c99 + .word 0x00003feb + .word 0xc99b1867 + .word 0x2822a93e + .word 0x00003ff5 + .word 0xa57862e1 + .word 0x46a6fb39 + .word 0x00003ffb + .word 0xe8b9428e + .word 0xfecff592 + .word 0x00003fbd + .word 0x80000000 + .word 0x00000000 + .word 0x00003ffd + .word 0xffffffff + .word 0xffffffff + .word 0xe3100101 + .word 0x1a00005f + .word 0xe1916002 + .word 0x0a00005a + .word 0xe1a05000 + .word 0xe92d4000 + .word 0xe24dd04c + .word 0xe1a09407 + .word 0xe389901f + .word 0xe58d9000 + .word 0xe10f9000 + .word 0xe3899080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c7981f + .word 0xe3c9901f + .word 0xee209110 + .word 0xe28d9040 + .word 0xed09020f + .word 0xed09c203 + .word 0xe8890007 + .word 0xed998200 + .word 0xe3a04000 + .word 0xe24f80dc + .word 0xe1a0900f + .word 0xeafffeca + .word 0x02868801 + .word 0x01b088a8 + .word 0x1a000030 + .word 0xe2866001 + .word 0xe1844086 + .word 0xed5f1127 + .word 0xee28a100 + .word 0xee92f111 + .word 0xba000024 + .word 0xee181100 + .word 0xe24f80d4 + .word 0xe3a06003 + .word 0xe1a0900f + .word 0xeafffec7 + .word 0xee0a4109 + .word 0xe24f8c01 + .word 0xe3a06002 + .word 0xe1a0900f + .word 0xeafffec2 + .word 0xee0a210e + .word 0xee1a2100 + .word 0xee2c4102 + .word 0xee4a1104 + .word 0xee09016e + .word 0xe3a06101 + .word 0xe31b00e0 + .word 0x1a000004 + .word 0xe31b0702 + .word 0x0a000002 + .word 0xee09110e + .word 0xee90f111 + .word 0x13a06103 + .word 0xe28d9040 + .word 0xed898200 + .word 0xe8990007 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c03103 + .word 0xe08330c4 + .word 0xe1a00f84 + .word 0xe8bd8000 + .word 0xee90f118 + .word 0xae08810e + .word 0xa3a06101 + .word 0xbd5f0150 + .word 0xb3a06103 + .word 0xeaffffeb + .word 0xe28d9040 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe28f0b01 + .word 0xe2800f05 + .word 0xe8900007 + .word 0xe1800f84 + .word 0xe3a03601 + .word 0xe3150102 + .word 0x12633000 + .word 0xe3a06101 + .word 0xe8bd8000 + .word 0xe28f0e3f + .word 0xe890000f + .word 0xe1a0f00e + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x5affff9a + .word 0xe1928081 + .word 0x1afff6fc + .word 0xe3a04000 + .word 0xe3100102 + .word 0x024f0b02 + .word 0x02400f47 + .word 0x08900007 + .word 0x13a00000 + .word 0x13a01000 + .word 0x13a03000 + .word 0x13a06000 + .word 0xe1800f84 + .word 0xe1a0f00e + .word 0xe92d4000 + .word 0xe24dd04c + .word 0xe1a09407 + .word 0xe389901f + .word 0xe58d9000 + .word 0xe10f9000 + .word 0xe3899080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c7981f + .word 0xe3c9901f + .word 0xee209110 + .word 0xe28d9040 + .word 0xed09020f + .word 0xed09c203 + .word 0xe31b0601 + .word 0xe8890007 + .word 0x0d998200 + .word 0x1d999200 + .word 0xe8890038 + .word 0x0d999200 + .word 0x1d998200 + .word 0xe3100101 + .word 0x03130101 + .word 0x1a000096 + .word 0xeee8a101 + .word 0xeef8a102 + .word 0xee91f112 + .word 0x1a000044 + .word 0xe31b0601 + .word 0x01a08fa0 + .word 0x11a08fa3 + .word 0xe3180001 + .word 0x1e19210e + .word 0x1ee8b102 + .word 0x1ef8b103 + .word 0x1e92f113 + .word 0x03a08000 + .word 0xee91f118 + .word 0xca000002 + .word 0x0a000069 + .word 0xee90f118 + .word 0x0a000026 + .word 0xee90f118 + .word 0xbe188100 + .word 0x0a000015 + .word 0xee90f119 + .word 0x0a000006 + .word 0xe1a04008 + .word 0xe28f9fbd + .word 0xedd92100 + .word 0xee92f111 + .word 0xceb2f111 + .word 0xcafffe58 + .word 0xea000032 + .word 0xe28d9040 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe28f0e2a + .word 0xe890000f + .word 0xe1800f88 + .word 0xe3a06000 + .word 0xe8bd8000 + .word 0xe28d9040 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe1a00f88 + .word 0xe3a01000 + .word 0xe3a02000 + .word 0xe3a03000 + .word 0xe3a06000 + .word 0xe8bd8000 + .word 0xe28d9040 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3170802 + .word 0x1afff793 + .word 0xe3877002 + .word 0xe24f0b02 + .word 0xe2400fad + .word 0xe8900007 + .word 0xe1800f88 + .word 0xe8bd8000 + .word 0xee90f118 + .word 0xb3a08019 + .word 0xba000107 + .word 0x0a000038 + .word 0xee90f119 + .word 0x1e91f118 + .word 0x0a000021 + .word 0xe3a04000 + .word 0xee688100 + .word 0xee180101 + .word 0xe28d8040 + .word 0xed888200 + .word 0xe5985000 + .word 0xee309110 + .word 0xe3190004 + .word 0x1affff67 + .word 0xee90f118 + .word 0x0a000010 + .word 0xe24f8b02 + .word 0xe2488e31 + .word 0xedd81100 + .word 0xee90f111 + .word 0x1eb0f111 + .word 0x1affff28 + .word 0xe28d9040 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe8bd4000 + .word 0xe1a00005 + .word 0xeaffff70 + .word 0xe3150102 + .word 0x0e088109 + .word 0x03a06101 + .word 0x1ddf0163 + .word 0x13a06103 + .word 0xeaffff3a + .word 0xe24f8b02 + .word 0xe2488fdb + .word 0xedd82100 + .word 0xee90f112 + .word 0x1e91f112 + .word 0x1eb1f112 + .word 0x03a0801b + .word 0x0a0000d9 + .word 0xe28d9040 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe28f0e13 + .word 0xe890000f + .word 0xe3a06000 + .word 0xe8bd8000 + .word 0xee91f118 + .word 0xd3a0801a + .word 0xda0000ca + .word 0xe28d9040 + .word 0xed898200 + .word 0xe8990007 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe2000102 + .word 0xe3a03000 + .word 0xe3a06000 + .word 0xe8bd8000 + .word 0xe1a09883 + .word 0xe3790802 + .word 0x30099004 + .word 0xe0199083 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4a000010 + .word 0xe3190102 + .word 0x0affff5d + .word 0xe1958084 + .word 0x1a000002 + .word 0xe31b0601 + .word 0x0affffa2 + .word 0xeaffff58 + .word 0xe28d9040 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe8bd4000 + .word 0xeafff616 + .word 0xe3190102 + .word 0x0a00000d + .word 0xe1828081 + .word 0xe1888005 + .word 0xe1988084 + .word 0x0affff91 + .word 0xe28d9040 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe8bd4000 + .word 0xeafff5fe + .word 0xe1928081 + .word 0x1a000002 + .word 0xe31b0601 + .word 0x1affff83 + .word 0xeaffff39 + .word 0xe28d9040 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe8bd4000 + .word 0xeafff60d + .word 0x00000000 + .word 0x80000000 + .word 0x00000000 + .word 0x00003fff + .word 0x00003ffe + .word 0xffffffff + .word 0xffffffff + .word 0x0000400f + .word 0x80000000 + .word 0x00000000 + .word 0x00003ffd + .word 0xa2f9836e + .word 0x4e44152a + .word 0x00004000 + .word 0xc9100000 + .word 0x00000000 + .word 0x80003fee + .word 0x95777a5c + .word 0xf72cece6 + .word 0x00003fce + .word 0xc407fb4c + .word 0x9efca5fe + .word 0x80003fd6 + .word 0xd72106e0 + .word 0x424cdf56 + .word 0x00003fde + .word 0xb091e343 + .word 0x56a17fa8 + .word 0x80003fe5 + .word 0xd7322a5a + .word 0xee055b44 + .word 0x00003fec + .word 0xb8ef1d29 + .word 0x27831824 + .word 0x80003ff2 + .word 0xd00d00d0 + .word 0x09f0d114 + .word 0x00003ff8 + .word 0x88888888 + .word 0x88858061 + .word 0x80003ffc + .word 0xaaaaaaaa + .word 0xaaaaa603 + .word 0xe3100101 + .word 0x1a00004d + .word 0xe1916002 + .word 0x0a000043 + .word 0xe92d4000 + .word 0xe24dd04c + .word 0xe1a09407 + .word 0xe389901f + .word 0xe58d9000 + .word 0xe10f9000 + .word 0xe3899080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c7981f + .word 0xe3c9901f + .word 0xee209110 + .word 0xe28d9040 + .word 0xed09020f + .word 0xed09c203 + .word 0xe8890007 + .word 0xed998200 + .word 0xee90f118 + .word 0xe0a44004 + .word 0xbe188100 + .word 0xe31b0601 + .word 0x1ddf1172 + .word 0x1e080101 + .word 0x13a04001 + .word 0xe24f80fc + .word 0xe1a0900f + .word 0xeafffd3d + .word 0x13a08010 + .word 0x1a000037 + .word 0xe0244006 + .word 0xee90f118 + .word 0xbe188100 + .word 0xa2244001 + .word 0xeddf1169 + .word 0xee90f111 + .word 0xba00001b + .word 0xee181100 + .word 0xe24f8f43 + .word 0xe3a06008 + .word 0xe1a0900f + .word 0xeafffd3a + .word 0xee1a1140 + .word 0xee091140 + .word 0xe3a06101 + .word 0xe31b00e0 + .word 0x1a000004 + .word 0xe31b0702 + .word 0x1e1a2100 + .word 0x1e0a0100 + .word 0x1e90f111 + .word 0x13a06103 + .word 0xe28d9040 + .word 0xed899200 + .word 0xe8990007 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe1a03000 + .word 0xe1a00f84 + .word 0xe8bd8000 + .word 0xed5f116d + .word 0xee181161 + .word 0xe3a06103 + .word 0xeaffffee + .word 0xe31b0601 + .word 0x1a000002 + .word 0xe2000102 + .word 0xe3a03000 + .word 0xe1a0f00e + .word 0xe24f0f7a + .word 0xe890000f + .word 0xe1a0f00e + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x5affffac + .word 0xe1928081 + .word 0x1afff586 + .word 0xe3a08011 + .word 0xeafff5af + .word 0xe28d9040 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe8bd4000 + .word 0xeafff5a5 + .word 0x80003ffe + .word 0xb25dedaf + .word 0x30f3242c + .word 0x00004002 + .word 0xa270bb27 + .word 0x61c93957 + .word 0x80004004 + .word 0x9ec1654d + .word 0x36d4f820 + .word 0x00004004 + .word 0xe4d539b0 + .word 0x56a451ad + .word 0x80004003 + .word 0xdaf2ad41 + .word 0xd05311c4 + .word 0x80004003 + .word 0xbe974377 + .word 0xcc30f9e6 + .word 0x00004006 + .word 0x96f3e4b2 + .word 0xc8e37cbc + .word 0x80004007 + .word 0xbeee77e2 + .word 0xb5423cf3 + .word 0x00004007 + .word 0xd0927880 + .word 0xf5c2170b + .word 0x80004006 + .word 0xa43601f1 + .word 0x5c3e6196 + .word 0x00003fff + .word 0xc90fdaa2 + .word 0x2168c234 + .word 0x00003fbf + .word 0xc4c68000 + .word 0x00000000 + .word 0x00004000 + .word 0xc90fdaa2 + .word 0x2168c234 + .word 0x00003fc0 + .word 0xc4c68000 + .word 0x00000000 + .word 0x00003fff + .word 0xc90fdaa2 + .word 0x2168c235 + .word 0x00003fdf + .word 0x80000000 + .word 0x00000000 + .word 0xe3100101 + .word 0x1a000075 + .word 0xe31b0501 + .word 0x01916002 + .word 0x0a00006f + .word 0xe92d4000 + .word 0xe24dd04c + .word 0xe1a09407 + .word 0xe389901f + .word 0xe58d9000 + .word 0xe10f9000 + .word 0xe3899080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c7981f + .word 0xe3c9901f + .word 0xee209110 + .word 0xe28d9040 + .word 0xed09020f + .word 0xed09c203 + .word 0xe8890007 + .word 0xed998200 + .word 0xee90f118 + .word 0xe0a44004 + .word 0xbe188100 + .word 0xee90f11e + .word 0xba000044 + .word 0xee90f119 + .word 0xba000004 + .word 0xc3a08014 + .word 0xcaffffa6 + .word 0xe31b0501 + .word 0x13140001 + .word 0x1a00004f + .word 0xe3a0520d + .word 0xe3140001 + .word 0x13a05103 + .word 0xe31b0501 + .word 0x13a0520e + .word 0x13140001 + .word 0x13a05000 + .word 0xee381109 + .word 0xee19110e + .word 0xee488101 + .word 0xee080100 + .word 0xe24f8f5f + .word 0xe3a06005 + .word 0xe1a0900f + .word 0xeafffca3 + .word 0xe24f8e15 + .word 0xe3a06005 + .word 0xe1a0900f + .word 0xeafffca8 + .word 0xee4a2104 + .word 0xe3150102 + .word 0x1e188100 + .word 0xee1a1100 + .word 0xee091100 + .word 0xe1b04105 + .word 0x2a000006 + .word 0xee1a2160 + .word 0xee0a0160 + .word 0xee91f110 + .word 0x03a06101 + .word 0x13a06103 + .word 0x1e089100 + .word 0xea00000d + .word 0x5d5f2257 + .word 0x4d5f2252 + .word 0xee090102 + .word 0xee282102 + .word 0xee2a2101 + .word 0xee0a2103 + .word 0xee081162 + .word 0xe3a06101 + .word 0xe31b00e0 + .word 0x1a000003 + .word 0xe31b0702 + .word 0x1e080102 + .word 0x1e90f111 + .word 0x13a06103 + .word 0xe3150201 + .word 0x1e189101 + .word 0xe28d9040 + .word 0xed899200 + .word 0xe8990007 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c03103 + .word 0xe2000102 + .word 0xe8bd8000 + .word 0xe3a05201 + .word 0xe3140001 + .word 0x13a05000 + .word 0xe31b0501 + .word 0x13a05101 + .word 0x13140001 + .word 0x13a05103 + .word 0xed5f116c + .word 0xee90f111 + .word 0xae181100 + .word 0xaaffffc1 + .word 0xe3150102 + .word 0x1e188100 + .word 0xee089100 + .word 0xe1b04105 + .word 0x2affffd2 + .word 0xe3a06101 + .word 0xeaffffde + .word 0xee089108 + .word 0xe3a06000 + .word 0xeaffffdd + .word 0xe2000102 + .word 0xe3a03000 + .word 0xe1a0f00e + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x5affff84 + .word 0xe1928081 + .word 0x1afff4cb + .word 0xe3a08015 + .word 0xeafff4f4 + .word 0x00003ffe + .word 0xa2f9836e + .word 0x4e44152a + .word 0x00003fff + .word 0xc9100000 + .word 0x00000000 + .word 0x80003fed + .word 0x95777a5c + .word 0xf72cece6 + .word 0x80003fef + .word 0x95d5b975 + .word 0x16391da8 + .word 0x00003ff6 + .word 0xe0741531 + .word 0xdd56f650 + .word 0x80003ffc + .word 0x8895af2a + .word 0x6847fcd5 + .word 0x00003fea + .word 0x85bba783 + .word 0xb3c748a9 + .word 0x80003ff3 + .word 0xa37b24c8 + .word 0x4a42092e + .word 0x00003ff9 + .word 0xd23cf50b + .word 0xf10aca84 + .word 0x80003ffd + .word 0xeef5823f + .word 0xdecea969 + .word 0x00000000 + .word 0x80000000 + .word 0x00000000 + .word 0x00003ffe + .word 0xffffffff + .word 0xffffffff + .word 0x00005fff + .word 0x80000000 + .word 0x00000000 + .word 0xe3100101 + .word 0x1a00005c + .word 0xe1916002 + .word 0x0a000057 + .word 0xe92d4000 + .word 0xe24dd04c + .word 0xe1a09407 + .word 0xe389901f + .word 0xe58d9000 + .word 0xe10f9000 + .word 0xe3899080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c7981f + .word 0xe3c9901f + .word 0xee209110 + .word 0xe28d9040 + .word 0xed09020f + .word 0xed09c203 + .word 0xe8890007 + .word 0xed998200 + .word 0xe24f80f8 + .word 0xe1a0900f + .word 0xeafffc09 + .word 0x13a08012 + .word 0x1affff03 + .word 0xe1a04006 + .word 0xeddf1163 + .word 0xee28a100 + .word 0xee92f111 + .word 0xba000028 + .word 0xee181100 + .word 0xe24f8c01 + .word 0xe3a06003 + .word 0xe1a0900f + .word 0xeafffc08 + .word 0xee0a2109 + .word 0xee184102 + .word 0xe24f80f4 + .word 0xe3a06004 + .word 0xe1a0900f + .word 0xeafffc02 + .word 0xee0a2109 + .word 0xe3140001 + .word 0x0e4c0142 + .word 0x1e18c104 + .word 0x1e4a0144 + .word 0xe3a06101 + .word 0xe31b00e0 + .word 0x1a000006 + .word 0xe31b0702 + .word 0x0a000004 + .word 0xe3140001 + .word 0x0e4c1102 + .word 0x1e4a1104 + .word 0xee90f111 + .word 0x13a06103 + .word 0xe3a04000 + .word 0xe28d9040 + .word 0xed898200 + .word 0xe8990007 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd04c + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c03103 + .word 0xe0833004 + .word 0xe2000102 + .word 0xe8bd8000 + .word 0xed5fa253 + .word 0xee289100 + .word 0xe3140001 + .word 0x1a000006 + .word 0xe3a06101 + .word 0xee91f112 + .word 0xaaffffe9 + .word 0xee180104 + .word 0xe3a04a02 + .word 0xe2644000 + .word 0xeaffffe6 + .word 0xe3a06103 + .word 0xee91f112 + .word 0xbe180104 + .word 0xee188100 + .word 0xee580109 + .word 0xee180163 + .word 0xaaffffde + .word 0xe3a04a02 + .word 0xeaffffdd + .word 0xe2000102 + .word 0xe3a03000 + .word 0xe1a0f00e + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x5affff9d + .word 0xe1928081 + .word 0x1afff43c + .word 0xe3a08013 + .word 0xeafff465 + .word 0x80003ffe + .word 0xd66bd6cd + .word 0x8c3de934 + .word 0x80004002 + .word 0x87e9fae4 + .word 0x6b531a29 + .word 0x80004003 + .word 0xa40bfdcf + .word 0x15e65691 + .word 0x80004002 + .word 0xdb053288 + .word 0x30e70eb4 + .word 0x00004002 + .word 0xf0624f0a + .word 0x56388310 + .word 0x00004004 + .word 0xee505190 + .word 0x6d1eb4e8 + .word 0x00004005 + .word 0xac509020 + .word 0x5b6d243b + .word 0x00004004 + .word 0xa443e5e6 + .word 0x24ad4b90 + .word 0x00003fdf + .word 0x80000000 + .word 0x00000000 + .word 0x00003ffe + .word 0xffffffff + .word 0xffffffff + .word 0x00003ffd + .word 0x8930a2f4 + .word 0xf66ab18a + .word 0x00003ffe + .word 0x860a91c1 + .word 0x6b9b2c23 + .word 0x00003fbc + .word 0xb766aaaa + .word 0xaaaaaaab + .word 0x00003fff + .word 0x860a91c1 + .word 0x6b9b2c23 + .word 0x00003fbd + .word 0xb766aaaa + .word 0xaaaaaaab + .word 0x00003fff + .word 0xc90fdaa2 + .word 0x2168c234 + .word 0x00003fbf + .word 0xc4c68000 + .word 0x00000000 + .word 0x00003fff + .word 0xc90fdaa2 + .word 0x2168c234 + .word 0x00003fbf + .word 0xc4c68000 + .word 0x00000000 + .word 0x00004000 + .word 0x860a91c1 + .word 0x6b9b2c23 + .word 0x00003fbe + .word 0xb766aaaa + .word 0xaaaaaaab + .word 0x00004000 + .word 0xa78d3631 + .word 0xc681f72b + .word 0x00003fc0 + .word 0xd6ecd555 + .word 0x55555555 + .word 0x00004000 + .word 0xc90fdaa2 + .word 0x2168c234 + .word 0x00003fc0 + .word 0xc4c68000 + .word 0x00000000 + .word 0xe3100101 + .word 0x03130101 + .word 0x1a00008b + .word 0xe1946005 + .word 0x1a000005 + .word 0xe1918002 + .word 0x03a08016 + .word 0x0afff474 + .word 0xe3100102 + .word 0x01a00003 + .word 0x0a00007e + .word 0xe2036102 + .word 0xe3100102 + .word 0x12266007 + .word 0xe3c00102 + .word 0xe3c33102 + .word 0xe92d4000 + .word 0xe24dd058 + .word 0xe1a09407 + .word 0xe389901f + .word 0xe58d9000 + .word 0xe10f9000 + .word 0xe3899080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c7981f + .word 0xe3c9901f + .word 0xee209110 + .word 0xe28d9040 + .word 0xed09020f + .word 0xed09c203 + .word 0xe889003f + .word 0xedd90200 + .word 0xe1a05006 + .word 0xee490100 + .word 0xea000016 + .word 0xe3100101 + .word 0x1a000083 + .word 0xe1916002 + .word 0x0a000061 + .word 0xe2005102 + .word 0xe3c00102 + .word 0xe92d4000 + .word 0xe24dd058 + .word 0xe1a09407 + .word 0xe389901f + .word 0xe58d9000 + .word 0xe10f9000 + .word 0xe3899080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c7981f + .word 0xe3c9901f + .word 0xee209110 + .word 0xe28d9040 + .word 0xed09020f + .word 0xed09c203 + .word 0xe8890007 + .word 0xed998200 + .word 0xee90f119 + .word 0xce580109 + .word 0xc2255003 + .word 0xed5f116d + .word 0xee90f111 + .word 0xda000007 + .word 0xee393109 + .word 0xee182103 + .word 0xee2a2109 + .word 0xee0a2100 + .word 0xee39110a + .word 0xee091100 + .word 0xee4a0101 + .word 0xe2255001 + .word 0xed5f217e + .word 0xee289100 + .word 0xeed1f112 + .word 0xba000035 + .word 0xee181100 + .word 0xe24f8f9b + .word 0xe3a06004 + .word 0xe1a0900f + .word 0xeafffb27 + .word 0xe24f8f93 + .word 0xe3a06004 + .word 0xe1a0900f + .word 0xeafffb2c + .word 0xee4a2104 + .word 0xee1a1100 + .word 0xee091100 + .word 0xe3150002 + .word 0x1e189101 + .word 0xe3150007 + .word 0x1a000006 + .word 0xee1a2160 + .word 0xee0a0160 + .word 0xee91f110 + .word 0x03a06101 + .word 0x13a06103 + .word 0x1e089100 + .word 0xea00000f + .word 0xe24f8f96 + .word 0xe0859085 + .word 0xe0888189 + .word 0xedd82200 + .word 0xee090102 + .word 0xee282102 + .word 0xee2a2101 + .word 0xee0a2103 + .word 0xee081162 + .word 0xe3a06101 + .word 0xe31b00e0 + .word 0x1a000003 + .word 0xe31b0702 + .word 0x1e080102 + .word 0x1e90f111 + .word 0x13a06103 + .word 0xe3150102 + .word 0x1e189101 + .word 0xe28d9040 + .word 0xed899200 + .word 0xe8990007 + .word 0xed19020f + .word 0xed19c203 + .word 0xe28dd058 + .word 0xe10f9000 + .word 0xe3c99080 + .word 0xe129f009 + .word 0xe1a00000 + .word 0xe3c03103 + .word 0xe2000102 + .word 0xe8bd8000 + .word 0xe3150007 + .word 0x1e089100 + .word 0x1affffd2 + .word 0xed5f11b8 + .word 0xee191160 + .word 0xe3a06103 + .word 0xeaffffe9 + .word 0xe3a01000 + .word 0xe3a02000 + .word 0xe2000102 + .word 0xe3a03000 + .word 0xe1a0f00e + .word 0xe1a09883 + .word 0xe3790802 + .word 0x30099004 + .word 0xe0199083 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x4a000005 + .word 0xe3190102 + .word 0x0affff68 + .word 0xe1958084 + .word 0x1afff342 + .word 0xe3a04102 + .word 0xeaffff64 + .word 0xe3190102 + .word 0x0a000005 + .word 0xe1828081 + .word 0xe1888005 + .word 0xe1988084 + .word 0x1afff332 + .word 0xe3a08017 + .word 0xeafff3d6 + .word 0xe1928081 + .word 0x1afff34c + .word 0xe3a01102 + .word 0xeaffff58 + .word 0xe1a08880 + .word 0xe3780802 + .word 0x30088001 + .word 0xe0188080 + .word 0x5affff76 + .word 0xe1928081 + .word 0x1afff33e + .word 0xe3a01102 + .word 0xeaffff72 + .word 0x00000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00000000 + .word 0x00000000 + .word 0xe59a2080 + .word 0xe3320000 + .word 0x5a00002b + .word 0xe92d4000 + .word 0xeb00017d + .word 0xe8bd0004 + .word 0xe8bd4000 + .word 0xe5922000 + .word 0xe132000a + .word 0x0e502110 + .word 0xe59a2084 + .word 0xe3c22b01 + .word 0xe58a2084 + .word 0xe24f2b1b + .word 0xe2422f2a + .word 0xe24f3d01 + .word 0xe2433f05 + .word 0xe1510002 + .word 0xa1530001 + .word 0xb1a0f00e + .word 0xe590103c + .word 0xe1510002 + .word 0xa1530001 + .word 0xb1a0f00e + .word 0xe2804044 + .word 0xe5145004 + .word 0xe3150001 + .word 0x1cb48203 + .word 0xe3150002 + .word 0x1cb49203 + .word 0xe3150004 + .word 0x1cb4a203 + .word 0xe3150008 + .word 0x1cb4b203 + .word 0xe3150010 + .word 0x1cb4c203 + .word 0xe3150020 + .word 0x1cb4d203 + .word 0xe3150040 + .word 0x1cb4e203 + .word 0xe3150080 + .word 0x1cb4f203 + .word 0xe1a052a5 + .word 0xe3855481 + .word 0xee205110 + .word 0xe5900030 + .word 0xeaffffe4 + .word 0xe24f2a06 + .word 0xe2422ed3 + .word 0xe24f3d03 + .word 0xe2433f07 + .word 0xe1510002 + .word 0xa1530001 + .word 0xb1a0f00e + .word 0xe590103c + .word 0xe1510002 + .word 0xa1530001 + .word 0xb1a0f00e + .word 0xe28a3000 + .word 0xe2804044 + .word 0xe5145004 + .word 0xe3150001 + .word 0x18b400c2 + .word 0x188300c2 + .word 0xe2833010 + .word 0xe3150002 + .word 0x18b400c2 + .word 0x188300c2 + .word 0xe2833010 + .word 0xe3150004 + .word 0x18b400c2 + .word 0x188300c2 + .word 0xe2833010 + .word 0xe3150008 + .word 0x18b400c2 + .word 0x188300c2 + .word 0xe2833010 + .word 0xe3150010 + .word 0x18b400c2 + .word 0x188300c2 + .word 0xe2833010 + .word 0xe3150020 + .word 0x18b400c2 + .word 0x188300c2 + .word 0xe2833010 + .word 0xe3150040 + .word 0x18b400c2 + .word 0x188300c2 + .word 0xe2833010 + .word 0xe3150080 + .word 0x18b400c2 + .word 0x188300c2 + .word 0xe24f3c01 + .word 0xe2433f22 + .word 0xe1a052a5 + .word 0xe3855401 + .word 0xe58a5080 + .word 0xe5900030 + .word 0xeaffffd2 + .word 0xe3e00000 + .word 0xe1b0f00e + .word 0xe92d401e + .word 0xe58a1004 + .word 0xe3a0e000 + .word 0xe58ae000 + .word 0xe10f3000 + .word 0xe3830080 + .word 0xe129f000 + .word 0xe24f102c + .word 0xeb00011c + .word 0xe3a00000 + .word 0xee504110 + .word 0xe3300000 + .word 0x158a0008 + .word 0x1a000008 + .word 0xe3a02102 + .word 0xee302110 + .word 0xe1a00c22 + .word 0xe58a0008 + .word 0xe3300081 + .word 0x03a04c0d + .word 0x0e008109 + .word 0x0e100100 + .word 0xee404110 + .word 0xeb000112 + .word 0xe129f003 + .word 0xe8bd801e + .word 0xe92d400f + .word 0xe3a00000 + .word 0xe58a0084 + .word 0xe92d4000 + .word 0xeb0000fe + .word 0xe8bd0001 + .word 0xe8bd4000 + .word 0xe5900008 + .word 0xe3300081 + .word 0x1a00000d + .word 0xe24f0f8e + .word 0xe890000e + .word 0xe28a0000 + .word 0xe8a0000e + .word 0xe8a0000e + .word 0xe8a0000e + .word 0xe8a0000e + .word 0xe8a0000e + .word 0xe8a0000e + .word 0xe8a0000e + .word 0xe8a0000e + .word 0xe59f003c + .word 0xe58a0080 + .word 0xe8bd800f + .word 0xe24f0e27 + .word 0xe890000e + .word 0xe28a0000 + .word 0xe8a0001e + .word 0xe8a0001e + .word 0xe8a0001e + .word 0xe8a0001e + .word 0xe8a0001e + .word 0xe8a0001e + .word 0xe8a0001e + .word 0xe8a0001e + .word 0xe59f0008 + .word 0xe58a0080 + .word 0xe8bd800f + .word 0x81070000 + .word 0x01070000 + .word 0xe92d4007 + .word 0xe28fe074 + .word 0xe92d4000 + .word 0xeb0000d7 + .word 0xe8bd0001 + .word 0xe8bd4000 + .word 0xe5900000 + .word 0xe3300000 + .word 0x01a0f00e + .word 0xe5901080 + .word 0xe3310000 + .word 0x5a00000e + .word 0xe92d4002 + .word 0xee501110 + .word 0xe3110c01 + .word 0x01a0e001 + .word 0x1590e084 + .word 0xe3ceec0d + .word 0xe3110b01 + .word 0x138eec05 + .word 0xe580e084 + .word 0xee301110 + .word 0xe5801080 + .word 0xed800200 + .word 0xed80420c + .word 0xee40e110 + .word 0xe8bd8002 + .word 0xe92d4000 + .word 0xe3a0e000 + .word 0xe580e084 + .word 0xe8bd8000 + .word 0xe92d4007 + .word 0xe92d4000 + .word 0xeb0000b9 + .word 0xe8bd0001 + .word 0xe8bd4000 + .word 0xe580a000 + .word 0xe5900008 + .word 0xe3300081 + .word 0x0e501110 + .word 0xe33a0000 + .word 0x0a000014 + .word 0xe3300081 + .word 0x1a00000b + .word 0xe59a1080 + .word 0xee201110 + .word 0xed9a0200 + .word 0xed9a420c + .word 0xe24f1a06 + .word 0xe2411efd + .word 0xeb0000b0 + .word 0xe59a1084 + .word 0xe3110b01 + .word 0x13a01c05 + .word 0x1e401110 + .word 0xe8bd8007 + .word 0xe3300081 + .word 0x03a01c0d + .word 0x0e401110 + .word 0xe24f1b19 + .word 0xe2411f1e + .word 0xeb0000a5 + .word 0xe8bd8007 + .word 0xe3300081 + .word 0x03a01c0d + .word 0x0e401110 + .word 0xe8bd4007 + .word 0xea0000a4 + .word 0xe92d4400 + .word 0xe3a0a000 + .word 0xebffffd7 + .word 0xe8bd8400 + .word 0xe92d4000 + .word 0xeb000091 + .word 0xe8bd0001 + .word 0xe8bd4000 + .word 0xe5900000 + .word 0xe3300000 + .word 0x01a0f00e + .word 0xe5901080 + .word 0xe3310000 + .word 0x5a000007 + .word 0xee501110 + .word 0xe3110c01 + .word 0x01a02001 + .word 0x15902084 + .word 0xe3822c09 + .word 0xe5802084 + .word 0xee402110 + .word 0xe1a0f00e + .word 0xe3a01001 + .word 0xe5801084 + .word 0xe1a0f00e + .word 0xe92d4000 + .word 0xeb00007c + .word 0xe8bd0001 + .word 0xe8bd4000 + .word 0xe5900000 + .word 0xe3300000 + .word 0x01a0f00e + .word 0xe5901080 + .word 0xe3310000 + .word 0x5a00000e + .word 0xee501110 + .word 0xe3110b01 + .word 0x01a0f00e + .word 0xe3110c01 + .word 0x01a02001 + .word 0x15902084 + .word 0xe3822c01 + .word 0xe3c22b02 + .word 0xe5802084 + .word 0xee301110 + .word 0xe5801080 + .word 0xed800200 + .word 0xed80420c + .word 0xee402110 + .word 0xe1a0f00e + .word 0xe3a01000 + .word 0xe5801084 + .word 0xe1a0f00e + .word 0xe92d40fe + .word 0xe59a2080 + .word 0xe3320000 + .word 0x5a000010 + .word 0xe3a0700c + .word 0xe92d4000 + .word 0xeb00005b + .word 0xe8bd0004 + .word 0xe8bd4000 + .word 0xe5922000 + .word 0xe132000a + .word 0x159a6084 + .word 0x1a000005 + .word 0xee506110 + .word 0xee302110 + .word 0xe58a2080 + .word 0xed8a0200 + .word 0xed8a420c + .word 0xee406110 + .word 0xe2066b01 + .word 0xea000001 + .word 0xe3a07010 + .word 0xe3a06000 + .word 0xe59a2080 + .word 0xe4802004 + .word 0xe3a02008 + .word 0xe89a0038 + .word 0xe08aa007 + .word 0xe3130101 + .word 0x0a000009 + .word 0xe3c33101 + .word 0xe3140102 + .word 0x0a000008 + .word 0xe3c44102 + .word 0xe3130901 + .word 0x02833001 + .word 0x0a000004 + .word 0xe38330ff + .word 0xe3833c7f + .word 0xea000006 + .word 0xe3140102 + .word 0x1a000004 + .word 0xe92d0340 + .word 0xe1a06883 + .word 0xe2968802 + .word 0x1bfff338 + .word 0xe8bd0340 + .word 0xe8a00038 + .word 0xe2522001 + .word 0x1affffe7 + .word 0xe24f2a07 + .word 0xe2422f6f + .word 0xe24f3b01 + .word 0xe2433f5a + .word 0xe1510002 + .word 0xa1530001 + .word 0xa3a00001 + .word 0xb1a00006 + .word 0xe8bd80fe + .word 0xe92d40ff + .word 0xe59a1080 + .word 0xe3310000 + .word 0x53a07010 + .word 0x43a0700c + .word 0xe4902004 + .word 0xe3c224ff + .word 0x53822401 + .word 0x43822481 + .word 0xe58a2080 + .word 0xe3a02008 + .word 0xe8b00038 + .word 0xe1846005 + .word 0xe1966083 + .word 0x0a000003 + .word 0xe1a06883 + .word 0xe2966802 + .word 0x13140102 + .word 0x03833101 + .word 0xe88a0038 + .word 0xe08aa007 + .word 0xe2522001 + .word 0x1afffff3 + .word 0xe04aa187 + .word 0xe3310000 + .word 0x58bd80ff + .word 0xe92d4000 + .word 0xeb00000b + .word 0xe8bd0004 + .word 0xe8bd4000 + .word 0xe5922000 + .word 0xe132000a + .word 0x18bd80ff + .word 0xee506110 + .word 0xe59a2080 + .word 0xee202110 + .word 0xed9a0200 + .word 0xed9a420c + .word 0xee406110 + .word 0xe8bd80ff + .word 0xe24dd008 + .word 0xe58d0000 + .word 0xe59f0008 + .word 0xe58d0004 + .word 0xe49d0004 + .word 0xe1a0f00e + .word 0x00000000 + .word 0x00000000 + .word 0xe92d4003 + .word 0xe59f0004 + .word 0xe5801000 + .word 0xe8bd8003 + .word 0x00000000 + .word 0xe92d4007 + .word 0xe51f0010 + .word 0xe59f1004 + .word 0xe5801000 + .word 0xe8bd8007 + .word 0x00000000 + .word 0xe1a0d00c + .word 0xe8dd7fff + .word 0xe0000000 + .word 0xe28dd03c + .word 0xe8bd8000 + .word 0xe3a00000 + .word 0xea000009 + .word 0xe3a00001 + .word 0xea000007 + .word 0xe3a00002 + .word 0xea000005 + .word 0xe3a00003 + .word 0xea000003 + .word 0xe3a00004 + .word 0xea000001 + .word 0xe3e00000 + .word 0xeaffffff + .word 0xe59f1000 + .word 0xe1a0f001 + .word 0x00000000 + .word 0xe3a00005 + .word 0xeafffffa + .word 0xe1a00000 + .word 0xe59f1030 + .word 0xe24fb010 + .word 0xe05b1001 + .word 0x01a0f00e + .word 0xe59fb024 + .word 0xe08bb001 + .word 0xe28f2020 + .word 0xe4920004 + .word 0xe3700001 + .word 0xd1a0f00e + .word 0xe79b3000 + .word 0xe0833001 + .word 0xe78b3000 + .word 0xeafffff8 + .word 0x0000f370 + .word 0x00008000 + .word 0x000073ac + .word 0x000073b0 + .word 0xffffffff + diff --git a/sys/arch/arm32/fpe-arm/armfpe_glue.S b/sys/arch/arm32/fpe-arm/armfpe_glue.S new file mode 100644 index 00000000000..bd824f701b5 --- /dev/null +++ b/sys/arch/arm32/fpe-arm/armfpe_glue.S @@ -0,0 +1,411 @@ +/* $NetBSD: armfpe_glue.S,v 1.6 1996/03/18 19:54:59 mark Exp $ */ + +/* + * Copyright (c) 1996 Mark Brinicombe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Mark Brinicombe. + * 4. The name of the company nor the name of the author may be used to + * endorse or promote products derived from this software without specific + * prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * RiscBSD kernel project + * + * arm_fpe_glue.S + * + * Glue code for calling the ARM FPE core code + * + * Created : 21/12/95 + */ + +#include "assym.h" +#include <machine/cpu.h> + +sp .req r13 +lr .req r14 +pc .req r15 + +/* Offsets into fpe core for function addresses */ + +#define ARM_FPE_CORE_ABORT 0 +#define ARM_FPE_CORE_INITWS 4 +#define ARM_FPE_CORE_INITCONTEXT 8 +#define ARM_FPE_CORE_CHANGECONTEXT 12 +#define ARM_FPE_CORE_SHUTDOWN 16 +#define ARM_FPE_CORE_ACTIVATECONTEXT 20 +#define ARM_FPE_CORE_DEACTIVATECONTEXT 24 +#define ARM_FPE_CORE_SAVECONTEXT 28 +#define ARM_FPE_CORE_LOADCONTEXT 32 +#define ARM_FPE_CORE_DISABLE 36 +#define ARM_FPE_CORE_ENABLE 40 + +/* + * Ok Lots of little stubs for calling the fpe core + * routines from C + */ + + .text + .align + +arm_fpe_header: + .word _arm_fpe_mod + + .global _arm_fpe_core_disable +_arm_fpe_core_disable: + stmfd sp!, {r0-r7, lr} + ldr r0, [pc, #arm_fpe_header - . - 8] + ldr r0, [r0, #ARM_FPE_CORE_DISABLE] + + add lr, pc, #L1 - . - 8 + mov pc, r0 +L1: + ldmfd sp!, {r0-r7, pc} + + + .global _arm_fpe_core_enable +_arm_fpe_core_enable: + stmfd sp!, {r0-r7, lr} + ldr r0, [pc, #arm_fpe_header - . - 8] + ldr r0, [r0, #ARM_FPE_CORE_ENABLE] + + add lr, pc, #L2 - . - 8 + mov pc, r0 +L2: + ldmfd sp!, {r0-r7, pc} + + + .global _arm_fpe_core_initws +_arm_fpe_core_initws: + stmfd sp!, {r10, lr} + mov r10, r0 + ldr r3, [pc, #arm_fpe_header - . - 8] + ldr r3, [r3, #ARM_FPE_CORE_INITWS] + + add lr, pc, #L3 - . - 8 + mov pc, r3 +L3: + ldmfd sp!, {r10, pc} + + + .global _arm_fpe_core_abort +_arm_fpe_core_abort: + stmfd sp!, {r1-r7, r10, lr} + mov r10, r0 + mov r0, r1 + mov r1, r2 + ldr r3, [pc, #arm_fpe_header - . - 8] + ldr r3, [r3, #ARM_FPE_CORE_ABORT] + + add lr, pc, #L4 - . - 8 + mov pc, r3 +L4: + ldmfd sp!, {r1-r7, r10, pc} + + +/* Only needs to preserve r10 */ + + .global _arm_fpe_core_initcontext +_arm_fpe_core_initcontext: + stmfd sp!, {r0-r7, r10, lr} + mov r10, r0 + ldr r3, [pc, #arm_fpe_header - . - 8] + ldr r3, [r3, #ARM_FPE_CORE_INITCONTEXT] + + add lr, pc, #L5 - . - 8 + mov pc, r3 +L5: + ldmfd sp!, {r0-r7, r10, pc} + + +/* Only needs to preserve r10 */ + + .global _arm_fpe_core_changecontext +_arm_fpe_core_changecontext: + stmfd sp!, {r1-r7, r10, lr} + mov r10, r0 + ldr r3, [pc, #arm_fpe_header - . - 8] + ldr r3, [r3, #ARM_FPE_CORE_CHANGECONTEXT] + + add lr, pc, #L6 - . - 8 + mov pc, r3 +L6: + ldmfd sp!, {r1-r7, r10, pc} + + +/* All regs preerved */ + + .global _arm_fpe_core_shutdown +_arm_fpe_core_shutdown: + stmfd sp!, {r0-r7, r10, lr} + ldr r3, [pc, #arm_fpe_header - . - 8] + ldr r3, [r3, #ARM_FPE_CORE_SHUTDOWN] + + add lr, pc, #L7 - . - 8 + mov pc, r3 +L7: + ldmfd sp!, {r0-r7, r10, pc} + + +/* Preserve r10 */ + .global _arm_fpe_core_savecontext +_arm_fpe_core_savecontext: + stmfd sp!, {r1-r7, r10, lr} + mov r10, r0 + mov r0, r1 + mov r1, r2 + ldr r3, [pc, #arm_fpe_header - . - 8] + ldr r3, [r3, #ARM_FPE_CORE_SAVECONTEXT] + + add lr, pc, #L8 - . - 8 + mov pc, r3 +L8: + ldmfd sp!, {r1-r7, r10, pc} + + +/* Preserve r10 */ + + .global _arm_fpe_core_loadcontext +_arm_fpe_core_loadcontext: + stmfd sp!, {r0-r7, r10, lr} + mov r10, r0 + mov r0, r1 + ldr r3, [pc, #arm_fpe_header - . - 8] + ldr r3, [r3, #ARM_FPE_CORE_LOADCONTEXT] + + add lr, pc, #L9 - . - 8 + mov pc, r3 +L9: + ldmfd sp!, {r0-r7, r10, pc} + + +/* Only needs to preserve r10 */ + + .global _arm_fpe_core_activatecontext +_arm_fpe_core_activatecontext: + stmfd sp!, {r0-r7, r10, lr} + mov r10, r0 + ldr r3, [pc, #arm_fpe_header - . - 8] + ldr r3, [r3, #ARM_FPE_CORE_ACTIVATECONTEXT] + + add lr, pc, #L10 - . - 8 + mov pc, r3 +L10: + ldmfd sp!, {r0-r7, r10, pc} + + +/* Only needs to preserve r10 */ + + .global _arm_fpe_core_deactivatecontext +_arm_fpe_core_deactivatecontext: + stmfd sp!, {r1-r7, r10, lr} + ldr r3, [pc, #arm_fpe_header - . - 8] + ldr r3, [r3, #ARM_FPE_CORE_DEACTIVATECONTEXT] + + add lr, pc, #L11 - . - 8 + mov pc, r3 +L11: + ldmfd sp!, {r1-r7, r10, pc} + + +/* Simple call back function that panics */ + + .global _arm_fpe_panic +_arm_fpe_panic: + adr r0, fpe_panic_text + b _panic + +fpe_panic_text: + .asciz "armfpe: we are panicing" + .align 0 + + +/* + * Call back routine from FPE on completion of an instruction + */ + + .global _arm_fpe_post_proc_glue +_arm_fpe_post_proc_glue: + stmfd sp!, {r0-r6, r10-r12, lr} + +/* This could be optimised as we are going from UND32->SVC32 mode */ + + mrs r4, cpsr_all + bic r3, r4, #(PSR_MODE) + orr r3, r3, #(PSR_SVC32_MODE) + msr cpsr_all, r3 + + mov r0, r12 + +/* Reserve a trapframe on the SVC stack */ + + sub sp, sp, #(TRAPFRAMESIZE) + mov r1, sp + + ldr r2, [r0, #-0x0008] /* Copy spsr */ + str r2, [r1, #0x0000] + + ldr r2, [r0, #0x0000] /* Copy r0 */ + str r2, [r1, #0x0004] + ldr r2, [r0, #0x0004] + str r2, [r1, #0x0008] + ldr r2, [r0, #0x0008] + str r2, [r1, #0x000c] + ldr r2, [r0, #0x000c] + str r2, [r1, #0x0010] + ldr r2, [r0, #0x0010] + str r2, [r1, #0x0014] + ldr r2, [r0, #0x0014] + str r2, [r1, #0x0018] + ldr r2, [r0, #0x0018] + str r2, [r1, #0x001c] + ldr r2, [r0, #0x001c] + str r2, [r1, #0x0020] + ldr r2, [r0, #0x0020] + str r2, [r1, #0x0024] + ldr r2, [r0, #0x0024] + str r2, [r1, #0x0028] + ldr r2, [r0, #0x0028] + str r2, [r1, #0x002c] + ldr r2, [r0, #0x002c] + str r2, [r1, #0x0030] + ldr r2, [r0, #0x0030] /* Copy r12 */ + str r2, [r1, #0x0034] + ldr r2, [r0, #0x0034] /* Copy usr r13 */ + str r2, [r1, #0x0038] + ldr r2, [r0, #0x0038] /* Copy usr r14 */ + str r2, [r1, #0x003c] + ldr r2, [r0, #0x003c] /* Copy old pc */ + str r2, [r1, #0x0044] + + str r14, [r1, #0x0040] /* SVC r14 */ + +/* + * OK Question Time ... + * + * Do I need to save SVC r14 ? + * It only needs saving if this routine can interrupt something already + * running in SVC mode. Since FP is only valid from USR32 mode this + * should not happen. + */ + + mov r5, r14 + mov r6, r12 + +/* More optimisation ... Need to code a assembly version of userret() */ + + bl _arm_fpe_postproc + +/* Release the trapframe on the SVC stack */ + + ldr r2, [sp, #0x0000] /* Copy spsr */ + str r2, [r6, #-0x0008] + + ldr r2, [sp, #0x0004] /* Copy r0 */ + str r2, [r6, #0x0000] + ldr r2, [sp, #0x0008] /* Copy r1 */ + str r2, [r6, #0x0004] + ldr r2, [sp, #0x000c] /* Copy r2 */ + str r2, [r6, #0x0008] + ldr r2, [sp, #0x0010] /* Copy r3 */ + str r2, [r6, #0x000c] + ldr r2, [sp, #0x0014] /* Copy r4 */ + str r2, [r6, #0x0010] + ldr r2, [sp, #0x0018] /* Copy r5 */ + str r2, [r6, #0x0014] + ldr r2, [sp, #0x001c] /* Copy r6 */ + str r2, [r6, #0x0018] + ldr r2, [sp, #0x0020] /* Copy r7 */ + str r2, [r6, #0x001c] + ldr r2, [sp, #0x0024] /* Copy r8 */ + str r2, [r6, #0x0020] + ldr r2, [sp, #0x0028] /* Copy r9 */ + str r2, [r6, #0x0024] + ldr r2, [sp, #0x002c] /* Copy r10 */ + str r2, [r6, #0x0028] + ldr r2, [sp, #0x0030] /* Copy r11 */ + str r2, [r6, #0x002c] + ldr r2, [sp, #0x0034] /* Copy r12 */ + str r2, [r6, #0x0030] + ldr r2, [sp, #0x0038] /* Copy usr r13 */ + str r2, [r6, #0x0034] + ldr r2, [sp, #0x003c] /* Copy usr r14 */ + str r2, [r6, #0x0038] + ldr r2, [sp, #0x0044] /* Copy pc */ + str r2, [r6, #0x003c] + + add sp, sp, #(TRAPFRAMESIZE) + + mov r14, r5 + + msr cpsr_all, r4 + + ldmfd sp!, {r0-r6, r10-r12, pc} + + +/* + * Call back routine from FPE when the an exception occurs + */ + + .global _arm_fpe_exception_glue +_arm_fpe_exception_glue: + stmfd sp!, {r0-r5, r10-r12, lr} + +/* This could be optimised as we are going from UND32->SVC32 mode */ + + mrs r4, cpsr_all + bic r3, r4, #(PSR_MODE) + orr r3, r3, #(PSR_SVC32_MODE) + msr cpsr_all, r3 + + ldr r1, [r12, #15*4] + mov r2, r12 + + mov r5, r14 + + bl _arm_fpe_exception + + mov r14, r5 + + msr cpsr_all, r4 + + ldmfd sp!, {r0-r5, r10-r12, lr} + +/* Now pull the original trapframe that the FPE pushed off the stack */ + + ldmdb r12, {r0, r1} + + msr cpsr_all, r1 + msr spsr_all, r0 + + mov sp, r12 + + ldmia sp, {r0-r14}^ + mov r0, r0 + add sp, sp, #15*4 + ldmfd sp!, {pc}^ + + .global _fpe_nexthandler +_fpe_nexthandler: + .word _undefinedinstruction_bounce diff --git a/sys/arch/arm32/fpe-arm/armfpe_init.c b/sys/arch/arm32/fpe-arm/armfpe_init.c new file mode 100644 index 00000000000..05990d53fc2 --- /dev/null +++ b/sys/arch/arm32/fpe-arm/armfpe_init.c @@ -0,0 +1,332 @@ +/* $NetBSD: armfpe_init.c,v 1.6 1996/03/18 19:55:01 mark Exp $ */ + +/* + * Copyright (C) 1996 Mark Brinicombe + * Copyright (C) 1995 Neil A Carson. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Brini. + * 4. The name of the company nor the name of the author may be used to + * endorse or promote products derived from this software without specific + * prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * RiscBSD kernel project + * + * arm_fpe.c + * + * Stuff needed to interface the ARM floating point emulator module to RiscBSD. + * + * Created : 22/10/95 + */ + +/*#define DEBUG*/ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/proc.h> +#include <sys/user.h> +#include <sys/malloc.h> +#include <sys/device.h> +#include <sys/acct.h> +#include <vm/vm.h> +#include <vm/vm_kern.h> +#include <vm/vm_param.h> + +#include <machine/cpu.h> +#include <machine/cpus.h> +#include <machine/katelib.h> +#include <machine/frame.h> + +#include "armfpe.h" /* Prototypes for things */ + +extern int want_resched; +extern u_int fpe_nexthandler; + +void undefinedinstruction_bounce __P(()); +void arm_fpe_exception_glue __P((int exception)); +void arm_fpe_panic __P(()); +void undefined_entry __P(()); +void arm_fpe_post_proc_glue __P(()); + +/* + * A module header, pointing into the module + */ + +extern u_int arm_fpe_mod[]; +extern u_int undefined_handler_address; + +/* + * Error messages for the various exceptions, numbered 0-5 + */ + +static char *exception_errors[] = { + "Floating point invalid operation", + "Floating point division by zero (0)", + "Floating point overflow", + "Floating point underflow", + "Floating point operation inexact", + "Floating point major faliure... core fault trapped... not good!" +}; + +/* + * Relocate the FPE. + */ + +void +arm_fpe_mod_reloc(void) +{ + int cnt; + arm_fpe_mod_hdr_t *arm_fpe_mod_hdr = (arm_fpe_mod_hdr_t *)arm_fpe_mod; + + /* Go through the module header, and convert all offsets into absolute + * addresses. Careful here - the last two fields of the header do _NOT_ + * want to be relocated! + */ + + for (cnt = 0; cnt < (sizeof(arm_fpe_mod_hdr_t) >> 2) - 2; cnt ++) { +#ifdef DEBUG + printf("FPE: entry %02x = %08x ", cnt, arm_fpe_mod[cnt]); +#endif + arm_fpe_mod[cnt] += (u_int) arm_fpe_mod; +#ifdef DEBUG + printf(" reloc=%08x\n", arm_fpe_mod[cnt]); +#endif + } + /* Print a startup message, and a couple of variables needed, these may need + * checking to make *sure* they are OK! + */ + +#ifdef DEBUG + printf("FPE: global workspace size = %d bytes, context size = %d bytes\n", + arm_fpe_mod_hdr->WorkspaceLength, arm_fpe_mod_hdr->ContextLength); + printf("FPE: base=%08x\n", (u_int)arm_fpe_mod); +#endif +} + +/* + * Initialisation point. The kernel calls this during the configuration of the cpu + * in order to install the FPE. + * The FPE specification needs to be filled in the specified cpu_t structure + * and the FPE needs to be installed on the CPU undefined instruction vector. + */ + +int +initialise_arm_fpe(cpu) + cpu_t *cpu; +{ + int error; + + cpu->fpu_class = FPU_CLASS_FPE; + cpu->fpu_type = FPU_TYPE_ARMLTD_FPE; + strcpy(cpu->fpu_model, "Advanced RISC Machines floating point emulator"); + error = arm_fpe_boot(); + if (error != 0) { + strcat(cpu->fpu_model, " - boot failed"); + return(1); + } + +/* Return with start failure so the old FPE is installed */ + +/* strcat(cpu->fpu_model, " - boot aborted");*/ + + return(0); +} + +/* + * The actual FPE boot routine. + * This has to do a number of things : + * 1. Relocate the FPE - Note this requires write access to the kernel text area + * 2. Allocated memory for the FPE + * 3. Initialise the FPE + */ + +int +arm_fpe_boot(void) +{ + u_int workspace; + int id; + arm_fpe_mod_hdr_t *arm_fpe_mod_hdr = (arm_fpe_mod_hdr_t *)arm_fpe_mod; + + /* First things first ... Relocate the FPE pointers */ + + arm_fpe_mod_reloc(); + + /* Now we must do some memory allocation */ + + workspace = (u_int)malloc(arm_fpe_mod_hdr->WorkspaceLength, M_DEVBUF, M_NOWAIT); +#ifdef DEBUG + printf("Gloabl workspace at 0x%08x\n", workspace); +#endif + + if (!workspace) + return(ENOMEM); + + *arm_fpe_mod_hdr->main_ws_ptr_addr = workspace; + + *arm_fpe_mod_hdr->local_handler_ptr_addr = (u_int)&undefined_handler_address; + *arm_fpe_mod_hdr->old_handler_ptr_addr = undefined_handler_address; + + /* Initialise out gloable workspace */ + +#ifdef DEBUG + printf("Initing workspace "); +#endif + + id = arm_fpe_core_initws(workspace, (u_int)&fpe_nexthandler, (u_int)&fpe_nexthandler); + +#ifdef DEBUG + printf("id=%08x\n", id); +#endif + + /* Set up an exception handler */ + + *arm_fpe_mod_hdr->exc_handler_ptr_addr = (u_int)arm_fpe_exception_glue; + + /* Set up post instruction handler */ +#if defined(CPU_ARM6) || defined(CPU_ARM7) + *arm_fpe_mod_hdr->fp_post_proc_addr = (((((u_int)arm_fpe_post_proc_glue - + (u_int)arm_fpe_mod_hdr->fp_post_proc_addr - 8)>>2) & 0x00ffffff) | 0xea000000); +#ifdef DEBUG + printf("arm_fpe_mod_hdr->fp_post_proc_addr = %08x (%08x)", + arm_fpe_mod_hdr->fp_post_proc_addr, + *arm_fpe_mod_hdr->fp_post_proc_addr); +#endif +#else +#error ARMFPE currently only supports ARM6 and ARM7 +#endif + +#ifdef DEBUG + printf("Initialising proc0 FPE context\n"); +#endif + + /* Initialise proc0's FPE context */ + + arm_fpe_core_initcontext(FP_CONTEXT(&proc0)); + arm_fpe_core_changecontext(FP_CONTEXT(&proc0)); + + return(0); +} + + +/* + * Callback routine from the FPE when instruction emulation completes + */ + +void +arm_fpe_postproc(fpframe, frame) + u_int fpframe; + struct trapframe *frame; +{ + register u_int s; + register int sig; + register struct proc *p; + + p = curproc; + p->p_md.md_regs = frame; + +/* take pending signals */ + + while ((sig = (CURSIG(p))) != 0) { + postsig(sig); + } + + p->p_priority = p->p_usrpri; + + if (want_resched) { + /* + * Since we are curproc, a clock interrupt could + * change our priority without changing run queues + * (the running process is not kept on a run queue). + * If this happened after we setrunqueue ourselves but + * before we switch()'ed, we might not be on the queue + * indicated by our priority + */ + + s = splstatclock(); + setrunqueue(p); + p->p_stats->p_ru.ru_nivcsw++; + + mi_switch(); + + (void)splx(s); + while ((sig = (CURSIG(p))) != 0) { + postsig(sig); + } + } + +/* Profiling. */ + + if (p->p_flag & P_PROFIL) { + extern int psratio; + u_int pc; + + pc = ReadWord(fpframe + 15*4); + + if (pc <0x1000 || pc > 0xefc00000) + printf("armfpe_postproc: pc=%08x\n", pc); + +/* addupc_task(p, pc, (int)(p->p_sticks - sticks) * psratio);*/ + addupc_task(p, pc, (int)(p->p_sticks - p->p_sticks) * psratio); + } + + curpriority = p->p_priority; +} + + +/* + * Callback routine from the FPE when an exception occurs. + */ + +void +arm_fpe_exception(exception, pc, fpframe) + int exception; + u_int pc; + u_int fpframe; +{ + if (exception >= 0 && exception < 6) + printf("fpe exception: %d - %s\n", exception, exception_errors[exception]); + else + printf("fpe exception: %d - unknown\n", exception); + + trapsignal(curproc, SIGFPE, exception); + + printf("PC=%08x\n", ReadWord(fpframe + 60)); + + userret(curproc, pc, curproc->p_sticks); +} + + +void +arm_fpe_copycontext(c1, c2) + u_int c1; + u_int c2; +{ + fp_context_frame_t fpcontext; + + arm_fpe_core_savecontext(c1, (int *)&fpcontext, 0); + arm_fpe_core_loadcontext(c2, (int *)&fpcontext); +} + +/* End of armfpe_init.c */ |