diff -u --recursive --new-file v2.1.129/linux/CREDITS linux/CREDITS --- v2.1.129/linux/CREDITS Thu Nov 19 09:56:27 1998 +++ linux/CREDITS Mon Nov 23 10:00:31 1998 @@ -1423,6 +1423,10 @@ D: implemented kmod D: modularized BSD Unix domain sockets +N: Reed H. Petty +E: rhp@draper.net +D: Loop device driver extensions + N: Kai Petzke E: wpp@marie.physik.tu-berlin.de W: http://physik.tu-berlin.de/~wpp @@ -2011,7 +2015,7 @@ S: The Netherlands N: David Woodhouse -E: Dave@mvhi.com +E: David.Woodhouse@mvhi.com E: Dave@imladris.demon.co.uk D: Extensive ARCnet rewrite D: ARCnet COM20020, COM90xx IO-MAP drivers diff -u --recursive --new-file v2.1.129/linux/Documentation/Configure.help linux/Documentation/Configure.help --- v2.1.129/linux/Documentation/Configure.help Thu Nov 19 09:56:27 1998 +++ linux/Documentation/Configure.help Wed Nov 25 17:25:16 1998 @@ -6,25 +6,18 @@ # # Translations of this file available on the WWW: # -# - http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/Configure.help.euc -# is a Japanese translation, maintained by Tetsuyasu YAMADA -# (tetsu@cauchy.nslab.ntt.co.jp). -# - http://nevod.perm.su/service/linux/doc/kernel/Configure.help -# is a Russian translation, maintained by kaf@linux.nevod.perm.su. -# - http://www.linux-kheops.com/traduc/kernels/ -# has a French translation of the whole kernel, including -# Configure.help. This is maintained by David Bourgin -# (dbourgin@wsc.com). -# - http://visar.csustan.edu/~carlos/ contains Spanish translations -# of the 2.0 kernel documentation files, produced by Carlos Perelló -# Marín (fperllo@ehome.encis.es). -# - ftp://ftp-pavia1.linux.it/pub/linux/Configure.help -# is a work-in-progress effort of the Italian translation team, -# currently only for the 2.0 version of this file, maintained -# by rubini@linux.it. -# - http://www.cs.net.pl/~cezar/Kernel is the beginning of a Polish -# translation of the 2.0 version of this file, maintained by Cezar -# Cichocki (cezar@cs.net.pl). +# - Japanese, by Tetsuyasu YAMADA (tetsu@cauchy.nslab.ntt.co.jp), at +# http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/Configure.help.euc +# - Russian, by kaf@linux.nevod.perm.su, at +# http://nevod.perm.su/service/linux/doc/kernel/Configure.help +# - French, by David Bourgin (dbourgin@wsc.com), at +# http://www.linux-kheops.com/traduc/kernels/ +# - Spanish, by Carlos Perelló Marín (fperllo@ehome.encis.es), at +# http://visar.csustan.edu/~carlos/ +# - Italian, by Alessandro Rubini (rubini@linux.it), at +# ftp://ftp-pavia1.linux.it/pub/linux/Configure.help +# - Polish, by Cezar Cichocki (cezar@cs.net.pl), at +# http://www.cs.net.pl/~cezar/Kernel # # Information about what a kernel is, what it does, how to patch and # compile it and much more is contained in the Kernel-HOWTO, available @@ -1761,21 +1754,21 @@ Matrox unified accelerated driver CONFIG_FB_MATROX - Say Y here if you have Matrox Millenium, Matrox Millenium II, Matrox - Mystique, Matrox Mystique 220 or Matrox Productiva G100 in your box. - At this time, G100 support is untested and G200 support does not - exist at all. If you want, you can select M, in this case module - matroxfb.o will be created. - You can pass parameters into driver if it is compiled into kernel by - specifying "video=matrox:XXX", where meaning of XXX you can found at - the end of main source file (drivers/video/matroxfb.c) at boottime. - Same parameters can be passed into insmod if driver is used as - module. + Say Y here if you have Matrox Millennium, Matrox Milleinnium II, + Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox + Mystique G200, Matrox Millennium G200 or Matrox Marvel G200 in your + box. At this time, G100, Mystique G200 and Marvel G200 support is + untested. If you want, you can select M, in this case module + matroxfb.o will be created. You can pass parameters into driver if + it is compiled into kernel by specifying "video=matrox:XXX", where + meaning of XXX you can found at the end of main source file + (drivers/video/matroxfb.c) at boottime. Same parameters can be + passed into insmod if driver is used as module. -Matrox Millenium support +Matrox Millennium support CONFIG_FB_MATROX_MILLENIUM - Say Y here if you have Matrox Millenium or Matrox Millenium II in the - box. If you select "Advanced lowlevel driver options", you should + Say Y here if you have Matrox Millennium or Matrox Milleninium II in + the box. If you select "Advanced lowlevel driver options", you should check 4 bpp packed pixel, 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can also use font widths different from 8. @@ -2300,26 +2293,27 @@ BOOTP support CONFIG_IP_PNP_BOOTP - If you want your Linux box to mount its whole root filesystem from - some other computer over the net via NFS and you want the IP address - of your computer to be discovered automatically at boot time using - the BOOTP protocol (a special protocol designed for doing this job), - say Y here. In case the boot ROM of your network card was designed - for booting Linux and does BOOTP itself, providing all necessary - information on the kernel command line, you can say N here. If - unsure, say Y. Note that if you want to use BOOTP, a BOOTP server - must be operating on your network. Read Documentation/nfsroot.txt - for details. + If you want your Linux box to mount its whole root filesystem (the + one containing the directory /) from some other computer over the + net via NFS and you want the IP address of your computer to be + discovered automatically at boot time using the BOOTP protocol (a + special protocol designed for doing this job), say Y here. In case + the boot ROM of your network card was designed for booting Linux and + does BOOTP itself, providing all necessary information on the kernel + command line, you can say N here. If unsure, say Y. Note that if you + want to use BOOTP, a BOOTP server must be operating on your network. + Read Documentation/nfsroot.txt for details. RARP support CONFIG_IP_PNP_RARP - If you want your Linux box to mount its whole root filesystem from - some other computer over the net via NFS and you want the IP address - of your computer to be discovered automatically at boot time using - the RARP protocol (an older protocol which is being obsoleted by - BOOTP and DHCP), say Y here. Note that if you want to use RARP, a - RARP server must be operating on your network. Read - Documentation/nfsroot.txt for details. + If you want your Linux box to mount its whole root filesystem (the + one containing the directory /) from some other computer over the + net via NFS and you want the IP address of your computer to be + discovered automatically at boot time using the RARP protocol (an + older protocol which is being obsoleted by BOOTP and DHCP), say Y + here. Note that if you want to use RARP, a RARP server must be + operating on your network. Read Documentation/nfsroot.txt for + details. IP: tunneling CONFIG_NET_IPIP @@ -2469,13 +2463,14 @@ Port Forwarding is an addition to IP Masquerading which allows some forwarding of packets from outside to inside a firewall on given ports. This could be useful if, for example, you want to run a web - server behind the firewall or masquerading host and this web server + server behind the firewall or masquerading host and that web server should be visible to the outside world. An external client connects to port 80 of the firewall, the firewall forwards requests to this port to the web server, the web server handles the request and the results are sent through the firewall to the original client. The client thinks that the firewall machine itself is running the web - server. + server. This can also be used for load balancing if you have a farm + of identical web servers behind the firewall. Information about it is available from http://www.monmouth.demon.co.uk/ipsubs/portforwarding.html (to @@ -2546,10 +2541,9 @@ available via FTP (user: anonymous) from ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO. - Another scenario would be - that there are two logical networks living on your local Ethernet - and you want to access them both with the same Ethernet card. This - can be done if you say Y here. + Another scenario would be that there are two logical networks living + on your local Ethernet and you want to access them both with the + same Ethernet card. This can also be done if you say Y here. The configuration of these alias addresses is done with a special name syntax explained in Documentation/networking/alias.txt and in @@ -3837,6 +3831,12 @@ of the box, you may have to change some settings in drivers/scsi/53c7,8xx.h. + Note: there is another driver for the 53c8xx family of controllers + ("NCR53C8XX SCSI support" below). You cannot say Y to both of them; + you can say M to both and build them as modules, but only one may be + active at a time. If you have a 53c8xx board, it's better to use the + other driver. + This driver is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called 53c7,8xx.o. If you want to compile it as a @@ -3876,6 +3876,12 @@ The NCR53C860 and NCR53C875 support FAST-20 transfers. The NCR53C895 supports FAST-40 transfers with Ultra2 LVD devices. + Note: there is another driver for the 53c8xx family of controllers + ("NCR53c7,8xx SCSI support" above). You cannot say Y to both of + them; you can say M to both and build them as modules, but only one + may be active at a time. If you have a 53c8xx board, it's best to + use this driver. + Please read drivers/scsi/README.ncr53c8xx for more information. synchronous data transfers frequency @@ -5350,6 +5356,20 @@ say M here and read Documentation/modules.txt. This is recommended. The module will be called yellowfin.o. +Alteon AceNIC / 3Com 3C985 Gigabit Ethernet support. +CONFIG_ACENIC + Say Y here if you have an Alteon AceNIC or 3Com 3C985 PCI Gigabit + Ethernet adapter. The driver allows for using the Jumbo Frame + option (9000 bytes/frame) however it requires that your switches + can handle this as well. To enable Jumbo Frames, add `mtu 9000' to + your ifconfig line. + + If you want to compile this driver as a module ( = code which can be + inserted in and removed from the running kernel whenever you want), + say M here and read Documentation/modules.txt. This is recommended. + The module will be called acenic.o. + + AMD LANCE and PCnet (AT1500 and NE2100) support CONFIG_LANCE If you have a network (Ethernet) card of this type, say Y and read @@ -6435,18 +6455,17 @@ Minix is a simple operating system used in many classes about OS's. The minix filesystem (method to organize files on a hard disk partition or a floppy disk) was the original filesystem for Linux, - has since been superseded by the second extended filesystem ext2fs - but is still being used for root/boot and other floppies or ram - disks since it is leaner. You don't want to use it on your hard disk - because of certain built-in restrictions. This option will enlarge - your kernel by about 25 kB. Everyone should say Y or M so that they - are able to read this common floppy filesystem. + but has been superseded by the second extended filesystem ext2fs. + You don't want to use the minix filesystem on your hard disk because + of certain built-in restrictions, but it is sometimes found on older + Linux floppy disks. This option will enlarge your kernel by about + 25 kB. If unsure, say N. If you want to compile this as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read Documentation/modules.txt. The module will be - called minix.o. Note that the filesystem of your root partition - cannot be compiled as a module. + called minix.o. Note that the filesystem of your root partition (the + one containing the directory /) cannot be compiled as a module. Second extended fs support CONFIG_EXT2_FS @@ -6490,8 +6509,9 @@ can be inserted in and removed from the running kernel whenever you want), say M here and read Documentation/modules.txt. The module will be called ext2.o. Be aware however that the filesystem of your - root partition cannot be compiled as a module, and so this could be - dangerous. Most everyone wants to say Y here. + root partition (the one containing the directory /) cannot be + compiled as a module, and so this could be dangerous. Most everyone + wants to say Y here. ISO 9660 CDROM filesystem support CONFIG_ISO9660_FS @@ -6526,12 +6546,27 @@ CONFIG_FAT_FS If you want to use one of the FAT-based filesystems (the MS-DOS, VFAT (Windows 95) and UMSDOS (used to run Linux on top of an - ordinary DOS partition) filesystems), then you must include FAT - support. This is not a filesystem in itself, but it provides the - foundation for the other filesystems. It is now also becoming - possible to read and write compressed FAT filesystems; read - Documentation/filesystems/fat_cvf.txt for details. This option will - enlarge your kernel by about 24 kB. If unsure, say Y. + ordinary DOS partition) filesystems), then you must say Y or M here + to include FAT support. You will then be able to mount partitions or + diskettes with FAT-based filesystems and transparently access the + files on them, i.e. MSDOS files will look and behave just like all + other Unix files. + + This FAT support is not a filesystem in itself, it only provides the + foundation for the other filesystems. You will have to say Y or M to + at least one of "msdos fs support" or "vfat fs support" in order to + make use of it. + + Another way to read and write MSDOS floppies and hard drive + partitions from within Linux (but not transparently) is with the + mtools ("man mtools") program suite. This doesn't require the FAT + filesystem support. + + It is now also becoming possible to read and write compressed FAT + filesystems; read Documentation/filesystems/fat_cvf.txt for details. + + The FAT support will enlarge your kernel by about 24 kB. If unsure, + say Y. If you want to compile this as a module however ( = code which can be inserted in and removed from the running kernel whenever you @@ -6539,8 +6574,9 @@ will be called fat.o. Note that if you compile the FAT support as a module, you cannot compile any of the FAT-based filesystems into the kernel -- they will have to be modules as well. The filesystem of - your root partition cannot be a module, so don't say M here if you - intend to use UMSDOS as your root filesystem. + your root partition (the one containing the directory /) cannot be a + module, so don't say M here if you intend to use UMSDOS as your root + filesystem. msdos fs support CONFIG_MSDOS_FS @@ -6555,16 +6591,14 @@ transparent, i.e. the MSDOS files look and behave just like all other Unix files. - Another way to read and write MSDOS floppies from within Linux (but - not transparently) is with the mtools ("man mtools") program suite, - which doesn't require the msdos filesystem support. - If you want to use umsdos, the Unix-like filesystem on top of DOS, which allows you to run Linux from within a DOS partition without - repartitioning, you'll have to say Y or M here. If you have Windows - 95 or Windows NT installed on your MSDOS partitions, you should use - the VFAT filesystem instead, or you will not be able to see the long - filenames generated by Windows 95 / Windows NT. + repartitioning, you'll have to say Y or M here. + + If you have Windows 95 or Windows NT installed on your MSDOS + partitions, you should use the VFAT filesystem (say Y to "vfat fs + support" below), or you will not be able to see the long filenames + generated by Windows 95 / Windows NT. This option will enlarge your kernel by about 7 kB. If unsure, answer Y. This will only work if you said Y to "fat fs support" as @@ -6575,15 +6609,19 @@ vfat fs support CONFIG_VFAT_FS - This allows you to mount MSDOS partitions of your hard drive. It - will let you use filenames in a way compatible with the long - filenames used by Windows 95 and Windows NT fat-based (not NTFS) - partitions. It does not support Windows 95 compressed filesystems. - You cannot use the VFAT filesystem for your root partition; use - UMSDOS instead. This option enlarges your kernel by about 10 kB and - it only works if you said Y to the "fat fs support" above. Please - read the file Documentation/filesystems/vfat.txt for details. If - unsure, say N. + This option provides support for normal Windows filesystems with + long filenames. That includes noncompressed FAT-based filesystems + used by Windows 95, Windows 98, Windows NT 4.0, and mtools. + + You cannot use the VFAT filesystem for your Linux root partition + (the one containing the directory /); use UMSDOS instead if you + want to run Linux from within a DOS partition (i.e. say Y to + "umsdos: Unix like fs on top of std MSDOS fs", below). + + The VFAT support enlarges your kernel by about 10 kB and it only + works if you said Y to the "fat fs support" above. Please read the + file Documentation/filesystems/vfat.txt for details. If unsure, + say Y. If you want to compile this as a module ( = code which can be inserted in and removed from the running kernel whenever you want), @@ -6598,7 +6636,7 @@ backing everything up and restoring afterwards) and hence you're able to quickly try out Linux or show it to your friends; the disadvantage is that Linux becomes susceptible to DOS viruses and - that UMSDOS is somewhat slower than ext2fs. Another use of umsdos + that UMSDOS is somewhat slower than ext2fs. Another use of UMSDOS is to write files with long unix filenames to MSDOS floppies; it also allows Unix-style softlinks and owner/permissions of files on MSDOS floppies. You will need a program called umssync in order to @@ -6609,8 +6647,9 @@ you want to compile this as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read Documentation/modules.txt. The module will be called - umsdos.o. Note that the filesystem of your root partition cannot be - a module, so this could be dangerous. If unsure, say N. + umsdos.o. Note that the filesystem of your root partition (the one + containing the directory /) cannot be a module, so saying M could be + dangerous. If unsure, say N. /proc filesystem support CONFIG_PROC_FS @@ -6671,12 +6710,13 @@ Root file system on NFS CONFIG_ROOT_NFS - If you want your Linux box to mount its whole root filesystem from - some other computer over the net via NFS (presumably because your - box doesn't have a hard disk), say Y. Read Documentation/nfsroot.txt - for details. It is likely that in this case, you also want to say Y - to "IP: kernel level autoconfiguration" so that your box can - discover its network address at boot time. + If you want your Linux box to mount its whole root filesystem (the + one containing the directory /) from some other computer over the + net via NFS (presumably because your box doesn't have a hard disk), + say Y. Read Documentation/nfsroot.txt for details. It is likely that + in this case, you also want to say Y to "IP: kernel level + autoconfiguration" so that your box can discover its network address + at boot time. Most people say N here. @@ -6961,7 +7001,7 @@ partition tables of Macintosh hard drives, and thus use partitions on those drives. -SMB filesystem support (to mount WfW shares etc..) +SMB filesystem support (to mount Windows shares etc...) CONFIG_SMB_FS SMB (Server Message Block) is the protocol Windows for Workgroups (WfW), Windows 95, Windows NT and OS/2 Lan Manager use to share diff -u --recursive --new-file v2.1.129/linux/Documentation/fb/framebuffer.txt linux/Documentation/fb/framebuffer.txt --- v2.1.129/linux/Documentation/fb/framebuffer.txt Thu Jul 16 18:09:22 1998 +++ linux/Documentation/fb/framebuffer.txt Wed Nov 25 14:53:51 1998 @@ -2,7 +2,7 @@ ----------------------- Maintained by Geert Uytterhoeven (Geert.Uytterhoeven@cs.kuleuven.ac.be) -Last revised: June 10, 1998 +Last revised: November 7, 1998 0. Introduction @@ -114,7 +114,7 @@ -------------------------------------- Frame buffer resolutions are maintained using the utility `fbset'. It can -change the video mode properties of the current resolution. Its main usage is +change the video mode properties of a frame buffer device. Its main usage is to change the current video mode, e.g. during boot up in one of your /etc/rc.* or /etc/init.d/* files. @@ -126,8 +126,8 @@ --------------- The X server (XF68_FBDev) is the most notable application program for the frame -buffer device. The current X server is part of the XFree86/XFree68 release -3.3.1 package and has 2 modes: +buffer device. Starting with XFree86 release 3.2, the X server is part of +XFree86 and has 2 modes: - If the `Display' subsection for the `fbdev' driver in the /etc/XF86Config file contains a @@ -135,19 +135,18 @@ Modes "default" line, the X server will use the scheme discussed above, i.e. it will start - up in the resolution determined by /dev/fb0current (or $FRAMEBUFFER, if - set). This is the default for the configuration file supplied with XFree68 - 3.2. It's the most simple configuration (and the only possible one if you - want to have a broadcast compatible display, e.g. PAL or NTSC), but it has - some limitations. + up in the resolution determined by /dev/fb0 (or $FRAMEBUFFER, if set). You + still have to specify the color depth (using the Depth keyword) and virtual + resolution (using the Virtual keyword) though. This is the default for the + configuration file supplied with XFree86. It's the most simple + configuration, but it has some limitations. - Therefore it's also possible to specify resolutions in the /etc/XF86Config file. This allows for on-the-fly resolution switching while retaining the same virtual desktop size. The frame buffer device that's used is still /dev/fb0current (or $FRAMEBUFFER), but the available resolutions are defined by /etc/XF86Config now. The disadvantage is that you have to - specify the timings in a different format (but `fbset -x' may help) and - that you can't have a broadcast compatible display (e.g. no PAL or NTSC). + specify the timings in a different format (but `fbset -x' may help). To tune a video mode, you can use fbset or xvidtune. Note that xvidtune doesn't work 100% with XF68_FBDev: the reported clock values are always incorrect. @@ -298,11 +297,11 @@ applications, please refer to the following documentation: - The manual pages for fbset: fbset(8), fb.modes(5) - - The manual pages for XFree68: XF68_FBDev(1), XF86Config(4/5) + - The manual pages for XFree86: XF68_FBDev(1), XF86Config(4/5) - The mighty kernel sources: + o linux/drivers/video/ o linux/include/linux/fb.h - o linux/drivers/char/fbmem.c - o linux/drivers/video/*fb.c + o linux/include/video/ 8. Downloading diff -u --recursive --new-file v2.1.129/linux/Makefile linux/Makefile --- v2.1.129/linux/Makefile Thu Nov 19 09:56:27 1998 +++ linux/Makefile Thu Nov 19 09:56:40 1998 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 1 -SUBLEVEL = 129 +SUBLEVEL = 130 ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/) diff -u --recursive --new-file v2.1.129/linux/arch/alpha/kernel/alpha_ksyms.c linux/arch/alpha/kernel/alpha_ksyms.c --- v2.1.129/linux/arch/alpha/kernel/alpha_ksyms.c Fri Oct 23 22:01:19 1998 +++ linux/arch/alpha/kernel/alpha_ksyms.c Fri Nov 20 10:38:42 1998 @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -26,6 +27,7 @@ #include #include #include +#include #define __KERNEL_SYSCALLS__ #include diff -u --recursive --new-file v2.1.129/linux/arch/alpha/kernel/bios32.c linux/arch/alpha/kernel/bios32.c --- v2.1.129/linux/arch/alpha/kernel/bios32.c Fri Oct 23 22:01:19 1998 +++ linux/arch/alpha/kernel/bios32.c Wed Nov 25 14:52:21 1998 @@ -719,39 +719,55 @@ pcibios_write_config_dword(bridge->bus->number, bridge->devfn, PCI_IO_BASE, l); - /* Also clear out the upper 16 bits. */ + /* + * Also: + * clear out the upper 16 bits of IO base/limit. + * clear out the upper 32 bits of PREF base/limit. + */ pcibios_write_config_dword(bridge->bus->number, bridge->devfn, PCI_IO_BASE_UPPER16, 0); + pcibios_write_config_dword(bridge->bus->number, bridge->devfn, + PCI_PREF_BASE_UPPER32, 0); + pcibios_write_config_dword(bridge->bus->number, bridge->devfn, + PCI_PREF_LIMIT_UPPER32, 0); /* - * Set up the top and bottom of the PCI Memory segment + * Set up the top and bottom of the PCI Memory segment * for this bus. */ l = ((bmem & 0xfff00000) >> 16) | ((tmem - 1) & 0xfff00000); pcibios_write_config_dword(bridge->bus->number, bridge->devfn, PCI_MEMORY_BASE, l); /* - * Turn off downstream PF memory address range: + * Turn off downstream PF memory address range, unless + * there is a VGA behind this bridge, in which case, we + * enable the PREFETCH range to include BIOS ROM at C0000. + * + * NOTE: this is a bit of a hack, done with PREFETCH for + * simplicity, rather than having to add it into the above + * non-PREFETCH range, which could then be bigger than we want. + * We might assume that we could relocate the BIOS ROM, but + * that would depend on having it found by those who need it + * (the DEC BIOS emulator would find it, but I do not know + * about the Xservers). So, we do it this way for now... ;-} */ + l = (found_vga) ? 0 : 0x0000ffff; pcibios_write_config_dword(bridge->bus->number, bridge->devfn, - PCI_PREF_MEMORY_BASE, 0x0000ffff); + PCI_PREF_MEMORY_BASE, l); /* * Tell bridge that there is an ISA bus in the system, * and (possibly) a VGA as well. */ - /* ??? This appears to be a single-byte write into MIN_GNT. - What is up with this? */ - l = 0x00040000; /* ISA present */ - if (found_vga) l |= 0x00080000; /* VGA present */ - pcibios_write_config_dword(bridge->bus->number, bridge->devfn, - 0x3c, l); + l = (found_vga) ? 0x0c : 0x04; + pcibios_write_config_byte(bridge->bus->number, bridge->devfn, + PCI_BRIDGE_CONTROL, l); /* - * Clear status bits, enable I/O (for downstream I/O), - * turn on master enable (for upstream I/O), turn on - * memory enable (for downstream memory), turn on - * master enable (for upstream memory and I/O). + * Clear status bits, + * turn on I/O enable (for downstream I/O), + * turn on memory enable (for downstream memory), + * turn on master enable (for upstream memory and I/O). */ pcibios_write_config_dword(bridge->bus->number, bridge->devfn, PCI_COMMAND, 0xffff0007); @@ -806,12 +822,15 @@ enable_ide(long ide_base) { int data; + unsigned long flags; + __save_and_cli(flags); outb(0, ide_base); /* set the index register for reg #0 */ data = inb(ide_base+1); /* read the current contents */ outb(0, ide_base); /* set the index register for reg #0 */ outb(data | 0x40, ide_base+1); /* turn on IDE */ outb(data | 0x40, ide_base+1); /* turn on IDE, really! */ + __restore_flags(flags); } /* Look for mis-configured devices' I/O space addresses behind bridges. */ diff -u --recursive --new-file v2.1.129/linux/arch/alpha/kernel/setup.c linux/arch/alpha/kernel/setup.c --- v2.1.129/linux/arch/alpha/kernel/setup.c Fri Oct 23 22:01:19 1998 +++ linux/arch/alpha/kernel/setup.c Wed Nov 25 14:52:21 1998 @@ -351,6 +351,12 @@ }; static int rawhide_indices[] = {0,0,0,1,1,2,2,3,3,4,4}; +static char tsunami_names[][16] = { + "0", "DP264", "Warhol", "Windjammer", "Monet", "Clipper", + "Goldrush", "Webbrick", "Catamaran" +}; +static int tsunami_indices[] = {0,1,2,3,4,5,6,7,8}; + static struct alpha_machine_vector * __init get_sysvec(long type, long variation, long cpu) @@ -600,6 +606,10 @@ if (member < N(rawhide_indices)) *variation_name = rawhide_names[rawhide_indices[member]]; break; + case ST_DEC_TSUNAMI: + if (member < N(tsunami_indices)) + *variation_name = tsunami_names[tsunami_indices[member]]; + break; } } @@ -651,8 +661,8 @@ } unaligned[2]; static char cpu_names[][8] = { - "EV3", "EV4", "Unknown", "LCA4", "EV5", "EV45", "EV56", - "EV6", "PCA56", "PCA57" + "EV3", "EV4", "Simulate", "LCA4", "EV5", "EV45", "EV56", + "EV6", "PCA56", "PCA57", "EV67" }; struct percpu_struct *cpu; diff -u --recursive --new-file v2.1.129/linux/arch/alpha/kernel/smc37c669.c linux/arch/alpha/kernel/smc37c669.c --- v2.1.129/linux/arch/alpha/kernel/smc37c669.c Sat Sep 5 16:46:40 1998 +++ linux/arch/alpha/kernel/smc37c669.c Wed Nov 25 14:52:22 1998 @@ -2519,10 +2519,10 @@ void __init SMC669_Init ( void ) { SMC37c669_CONFIG_REGS *SMC_base; + unsigned long flags; + __save_and_cli(flags); if ( ( SMC_base = SMC37c669_detect( ) ) != NULL ) { - printk( "SMC37c669 Super I/O Controller found @ 0x%lx\n", - (unsigned long) SMC_base ); #if SMC_DEBUG SMC37c669_config_mode( TRUE ); SMC37c669_dump_registers( ); @@ -2573,8 +2573,12 @@ SMC37c669_config_mode( FALSE ); SMC37c669_display_device_info( ); #endif + __restore_flags(flags); + printk( "SMC37c669 Super I/O Controller found @ 0x%lx\n", + (unsigned long) SMC_base ); } else { + __restore_flags(flags); #if SMC_DEBUG printk( "No SMC37c669 Super I/O Controller found\n" ); #endif diff -u --recursive --new-file v2.1.129/linux/arch/alpha/kernel/smc37c93x.c linux/arch/alpha/kernel/smc37c93x.c --- v2.1.129/linux/arch/alpha/kernel/smc37c93x.c Fri Oct 23 22:01:19 1998 +++ linux/arch/alpha/kernel/smc37c93x.c Wed Nov 25 14:52:22 1998 @@ -241,10 +241,10 @@ int __init SMC93x_Init(void) { unsigned long SMCUltraBase; + unsigned long flags; + __save_and_cli(flags); if ((SMCUltraBase = SMCDetectUltraIO()) != 0UL) { - printk("SMC FDC37C93X Ultra I/O Controller found @ 0x%lx\n", - SMCUltraBase); #if SMC_DEBUG SMCReportDeviceStatus(SMCUltraBase); #endif @@ -264,9 +264,13 @@ SMCReportDeviceStatus(SMCUltraBase); #endif SMCRunState(SMCUltraBase); + __restore_flags(flags); + printk("SMC FDC37C93X Ultra I/O Controller found @ 0x%lx\n", + SMCUltraBase); return 1; } else { + __restore_flags(flags); DBG_DEVS(("No SMC FDC37C93X Ultra I/O Controller found\n")); return 0; } diff -u --recursive --new-file v2.1.129/linux/arch/alpha/kernel/sys_dp264.c linux/arch/alpha/kernel/sys_dp264.c --- v2.1.129/linux/arch/alpha/kernel/sys_dp264.c Wed Sep 9 14:51:04 1998 +++ linux/arch/alpha/kernel/sys_dp264.c Wed Nov 25 14:52:22 1998 @@ -25,12 +25,24 @@ #include #include #include +#include #include "proto.h" #include "irq.h" #include "bios32.h" #include "machvec.h" +struct hwrpb_struct *hwrpb; + +/* hwrpb->sys_variation helpers */ +#define MEMBER_ID(x) (((x)>>10)&0x3f) + +#define DP264_ID 1 +#define MONET_ID 4 +#define GOLDRUSH_ID 6 +#define WEBBRICK_ID 7 + +#define dev2hose(d) (bus2hose[(d)->bus->number]->pci_hose_index) /* * HACK ALERT! only CPU#0 is used currently @@ -217,16 +229,94 @@ }; const long min_idsel = 5, max_idsel = 10, irqs_per_slot = 5; int irq = COMMON_TABLE_LOOKUP; + if (irq >= 0) - irq += 16 * bus2hose[dev->bus->number]->pci_hose_index; + irq += 16 * dev2hose(dev); + return irq; } +static int __init +monet_map_irq(struct pci_dev *dev, int slot, int pin) +{ + static char irq_tab[13][5] __initlocaldata = { + /*INT INTA INTB INTC INTD */ + { 45, 45, 45, 45, 45}, /* IdSel 3 21143 PCI1 */ + { -1, -1, -1, -1, -1}, /* IdSel 4 unused */ + { -1, -1, -1, -1, -1}, /* IdSel 5 unused */ + { 47, 47, 47, 47, 47}, /* IdSel 6 SCSI PCI1 */ + { -1, -1, -1, -1, -1}, /* IdSel 7 ISA Bridge */ + { -1, -1, -1, -1, -1}, /* IdSel 8 P2P PCI1 */ +#if 1 + { 28, 28, 29, 30, 31}, /* IdSel 14 slot 4 PCI2*/ + { 24, 24, 25, 26, 27}, /* IdSel 15 slot 5 PCI2*/ +#else + { -1, -1, -1, -1, -1}, /* IdSel 9 unused */ + { -1, -1, -1, -1, -1}, /* IdSel 10 unused */ +#endif + { 40, 40, 41, 42, 43}, /* IdSel 11 slot 1 PCI0*/ + { 36, 36, 37, 38, 39}, /* IdSel 12 slot 2 PCI0*/ + { 32, 32, 33, 34, 35}, /* IdSel 13 slot 3 PCI0*/ + { 28, 28, 29, 30, 31}, /* IdSel 14 slot 4 PCI2*/ + { 24, 24, 25, 26, 27} /* IdSel 15 slot 5 PCI2*/ +}; + const long min_idsel = 3, max_idsel = 15, irqs_per_slot = 5; + int irq = COMMON_TABLE_LOOKUP; + + return irq; +} + +static int __init +monet_swizzle(struct pci_dev *dev, int *pinp) +{ + int slot, pin = *pinp; + + /* Check first for the built-in bridge on hose 1. */ + if (dev2hose(dev) == 1 && PCI_SLOT(dev->bus->self->devfn) == 8) { + slot = PCI_SLOT(dev->devfn); + } + else + { + /* Must be a card-based bridge. */ + do { + /* Check for built-in bridge on hose 1. */ + if (dev2hose(dev) == 1 && + PCI_SLOT(dev->bus->self->devfn) == 8) { + slot = PCI_SLOT(dev->devfn); + break; + } + pin = bridge_swizzle(pin, PCI_SLOT(dev->devfn)) ; + + /* Move up the chain of bridges. */ + dev = dev->bus->self; + /* Slot of the next bridge. */ + slot = PCI_SLOT(dev->devfn); + } while (dev->bus->self); + } + *pinp = pin; + return slot; +} + static void __init dp264_pci_fixup(void) { layout_all_busses(DEFAULT_IO_BASE, DEFAULT_MEM_BASE); - common_pci_fixup(dp264_map_irq, common_swizzle); + + /* must do map and/or swizzle different on some */ + switch (MEMBER_ID(hwrpb->sys_variation)) { + case MONET_ID: + common_pci_fixup(monet_map_irq, monet_swizzle); + /* es1888_init(); */ /* later? */ + break; + + case DP264_ID: + case GOLDRUSH_ID: + case WEBBRICK_ID: + default: + common_pci_fixup(dp264_map_irq, common_swizzle); + break; + } /* end MEMBER_ID switch */ + SMC669_Init(); } diff -u --recursive --new-file v2.1.129/linux/arch/alpha/kernel/sys_miata.c linux/arch/alpha/kernel/sys_miata.c --- v2.1.129/linux/arch/alpha/kernel/sys_miata.c Wed Sep 9 14:51:04 1998 +++ linux/arch/alpha/kernel/sys_miata.c Wed Nov 25 14:52:22 1998 @@ -36,7 +36,7 @@ if (irq >= 16) { /* Make CERTAIN none of the bogus ints get enabled... */ *(vulp)PYXIS_INT_MASK = - ~((long)mask >> 16) & ~0x4000000000000e3bUL; + ~((long)mask >> 16) & ~0x400000000000063bUL; mb(); /* ... and read it back to make sure it got written. */ *(vulp)PYXIS_INT_MASK; @@ -62,7 +62,7 @@ * then all the PCI slots/INTXs (12-31). */ /* Maybe HALT should only be used for SRM console boots? */ - pld &= 0x00000000fffff1c4UL; + pld &= 0x00000000fffff9c4UL; /* * Now for every possible bit set, work through them and call @@ -101,8 +101,8 @@ * used for this purpose, as PIC interrupts are delivered as the * vectors 0x800-0x8f0). * But I really don't want to change the fixup code for allocation - * of IRQs, nor the alpha_irq_mask maintenance stuff, both of which look - * nice and clean now. + * of IRQs, nor the alpha_irq_mask maintenance stuff, both of which + * look nice and clean now. * So, here's this grotty hack... :-( */ if (irq >= 16) @@ -120,14 +120,15 @@ alpha_mv.device_interrupt = miata_srm_device_interrupt; /* Note invert on MASK bits. */ - *(vulp)PYXIS_INT_MASK = ~((long)alpha_irq_mask >> 16); mb(); + *(vulp)PYXIS_INT_MASK = + ~((long)alpha_irq_mask >> 16) & ~0x400000000000063bUL; mb(); #if 0 /* These break on MiataGL so we'll try not to do it at all. */ *(vulp)PYXIS_INT_HILO = 0x000000B2UL; mb(); /* ISA/NMI HI */ *(vulp)PYXIS_RT_COUNT = 0UL; mb(); /* clear count */ #endif /* Clear upper timer. */ - *(vulp)PYXIS_INT_REQ = 0x4000000000000000UL; mb(); + *(vulp)PYXIS_INT_REQ = 0x4000000000000180UL; mb(); enable_irq(16 + 2); /* enable HALT switch - SRM only? */ enable_irq(16 + 6); /* enable timer */ @@ -209,22 +210,21 @@ { -1, -1, -1, -1, -1}, /* IdSel 15, EIDE */ { -1, -1, -1, -1, -1}, /* IdSel 16, none */ { -1, -1, -1, -1, -1}, /* IdSel 17, none */ - /* {16+11, 16+11, 16+11, 16+11, 16+11},*//* IdSel 17, USB ?? */ { -1, -1, -1, -1, -1}, /* IdSel 18, PCI-ISA */ { -1, -1, -1, -1, -1}, /* IdSel 19, PCI-PCI */ { -1, -1, -1, -1, -1}, /* IdSel 20, none */ { -1, -1, -1, -1, -1}, /* IdSel 21, none */ {16+12, 16+12, 16+13, 16+14, 16+15}, /* IdSel 22, slot 4 */ {16+16, 16+16, 16+17, 16+18, 16+19}, /* IdSel 23, slot 5 */ - /* The following are actually on bus 1, which is - across the builtin PCI-PCI bridge. */ - {16+20, 16+20, 16+21, 16+22, 16+23}, /* IdSel 24, slot 1 */ - {16+24, 16+24, 16+25, 16+26, 16+27}, /* IdSel 25, slot 2 */ - {16+28, 16+28, 16+29, 16+30, 16+31}, /* IdSel 26, slot 3 */ + /* the next 7 are actually on PCI bus 1, across the bridge */ + {16+11, 16+11, 16+11, 16+11, 16+11}, /* IdSel 24, QLISP/GL*/ + { -1, -1, -1, -1, -1}, /* IdSel 25, none */ + { -1, -1, -1, -1, -1}, /* IdSel 26, none */ { -1, -1, -1, -1, -1}, /* IdSel 27, none */ - { -1, -1, -1, -1, -1}, /* IdSel 28, none */ - { -1, -1, -1, -1, -1}, /* IdSel 29, none */ - { -1, -1, -1, -1, -1}, /* IdSel 30, none */ + {16+20, 16+20, 16+21, 16+22, 16+23}, /* IdSel 28, slot 1 */ + {16+24, 16+24, 16+25, 16+26, 16+27}, /* IdSel 29, slot 2 */ + {16+28, 16+28, 16+29, 16+30, 16+31}, /* IdSel 30, slot 3 */ + /* this bridge is on the main bus of the later original MIATA */ { -1, -1, -1, -1, -1}, /* IdSel 31, PCI-PCI */ }; const long min_idsel = 3, max_idsel = 20, irqs_per_slot = 5; @@ -239,7 +239,7 @@ /* Check first for the built-in bridge. */ if ((PCI_SLOT(dev->bus->self->devfn) == 8) || (PCI_SLOT(dev->bus->self->devfn) == 20)) { - slot = PCI_SLOT(dev->devfn) + 5; + slot = PCI_SLOT(dev->devfn) + 9; } else { @@ -247,7 +247,7 @@ do { if ((PCI_SLOT(dev->bus->self->devfn) == 8) || (PCI_SLOT(dev->bus->self->devfn) == 20)) { - slot = PCI_SLOT(dev->devfn) + 5; + slot = PCI_SLOT(dev->devfn) + 9; break; } pin = bridge_swizzle(pin, PCI_SLOT(dev->devfn)); diff -u --recursive --new-file v2.1.129/linux/arch/alpha/kernel/sys_ruffian.c linux/arch/alpha/kernel/sys_ruffian.c --- v2.1.129/linux/arch/alpha/kernel/sys_ruffian.c Fri Oct 23 22:01:19 1998 +++ linux/arch/alpha/kernel/sys_ruffian.c Wed Nov 25 14:52:22 1998 @@ -62,7 +62,7 @@ outb(0x20, 0x20); } else { /* Ack PYXIS PCI interrupt. */ - *(vulp)PYXIS_INT_REQ = (1UL << (irq - 16)); + *(vulp)PYXIS_INT_REQ = (1UL << (irq - 16)); mb(); /* ... and read it back to make sure it got written. */ *(vulp)PYXIS_INT_REQ; } @@ -91,8 +91,8 @@ while (pld) { i = ffz(~pld); pld &= pld - 1; /* clear least bit set */ - if (i == 7) { - /* Copy this bit from isa_device_interrupt cause + if (i == 7) { /* if ISA int */ + /* Copy this code from isa_device_interrupt because we need to hook into int 0 for the timer. I refuse to soil device_interrupt with ifdefs. */ @@ -107,13 +107,12 @@ if (j == 7 && !(inb(0x20) & 0x80)) { /* It's only a passive release... */ } else if (j == 0) { - timer_interrupt(0, NULL, regs); + handle_irq(8, -1, regs); /* fake it */ ruffian_ack_irq(0); } else { handle_irq(j, j, regs); } - } else { - /* if not timer int */ + } else { /* if not an ISA int */ handle_irq(16 + i, 16 + i, regs); } @@ -171,6 +170,7 @@ } +#ifdef BUILDING_FOR_MILO /* * The DeskStation Ruffian motherboard firmware does not place * the memory size in the PALimpure area. Therefore, we use @@ -207,6 +207,7 @@ return ret; } +#endif /* BUILDING_FOR_MILO */ static void __init ruffian_init_arch(unsigned long *mem_start, unsigned long *mem_end) @@ -232,10 +233,12 @@ static void ruffian_kill_arch (int mode, char *reboot_cmd) { +#if 0 + /* this only causes re-entry to ARCSBIOS */ /* Perhaps this works for other PYXIS as well? */ *(vuip) PYXIS_RESET = 0x0000dead; mb(); - +#endif generic_kill_arch(mode, reboot_cmd); } diff -u --recursive --new-file v2.1.129/linux/arch/i386/kernel/entry.S linux/arch/i386/kernel/entry.S --- v2.1.129/linux/arch/i386/kernel/entry.S Sun Nov 8 14:02:42 1998 +++ linux/arch/i386/kernel/entry.S Thu Nov 19 10:05:37 1998 @@ -150,14 +150,14 @@ jmp ret_from_sys_call -#ifdef __SMP__ ALIGN - .globl ret_from_smpfork -ret_from_smpfork: + .globl ret_from_fork +ret_from_fork: GET_CURRENT(%ebx) +#ifdef __SMP__ btrl $0, SYMBOL_NAME(scheduler_lock) - jmp ret_from_sys_call #endif /* __SMP__ */ + jmp ret_from_sys_call /* * Return to user mode is not as complex as all this looks, diff -u --recursive --new-file v2.1.129/linux/arch/i386/kernel/i386_ksyms.c linux/arch/i386/kernel/i386_ksyms.c --- v2.1.129/linux/arch/i386/kernel/i386_ksyms.c Thu Nov 19 09:56:27 1998 +++ linux/arch/i386/kernel/i386_ksyms.c Tue Nov 24 09:22:04 1998 @@ -39,6 +39,7 @@ EXPORT_SYMBOL(local_irq_count); EXPORT_SYMBOL(enable_irq); EXPORT_SYMBOL(disable_irq); +EXPORT_SYMBOL(kernel_thread); EXPORT_SYMBOL_NOVERS(__down_failed); EXPORT_SYMBOL_NOVERS(__down_failed_interruptible); diff -u --recursive --new-file v2.1.129/linux/arch/i386/kernel/process.c linux/arch/i386/kernel/process.c --- v2.1.129/linux/arch/i386/kernel/process.c Fri Oct 9 13:27:05 1998 +++ linux/arch/i386/kernel/process.c Wed Nov 25 17:25:16 1998 @@ -50,11 +50,7 @@ spinlock_t semaphore_wake_lock = SPIN_LOCK_UNLOCKED; -#ifdef __SMP__ -asmlinkage void ret_from_fork(void) __asm__("ret_from_smpfork"); -#else -asmlinkage void ret_from_fork(void) __asm__("ret_from_sys_call"); -#endif +asmlinkage void ret_from_fork(void) __asm__("ret_from_fork"); #ifdef CONFIG_APM extern int apm_do_idle(void); @@ -506,6 +502,31 @@ mm->segments = NULL; vfree(ldt); } +} + +/* + * Create a kernel thread + */ +int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) +{ + long retval; + + __asm__ __volatile__( + "movl %%esp,%%esi\n\t" + "int $0x80\n\t" /* Linux/i386 system call */ + "cmpl %%esp,%%esi\n\t" /* child or parent? */ + "je 1f\n\t" /* parent - jump */ + "pushl %3\n\t" /* push argument */ + "call *%4\n\t" /* call fn */ + "movl %2,%0\n\t" /* exit */ + "int $0x80\n" + "1:\t" + :"=a" (retval) + :"0" (__NR_clone), "i" (__NR_exit), + "r" (arg), "r" (fn), + "b" (flags | CLONE_VM) + :"si"); + return retval; } /* diff -u --recursive --new-file v2.1.129/linux/arch/i386/kernel/ptrace.c linux/arch/i386/kernel/ptrace.c --- v2.1.129/linux/arch/i386/kernel/ptrace.c Mon Oct 5 13:13:35 1998 +++ linux/arch/i386/kernel/ptrace.c Sun Nov 22 09:38:19 1998 @@ -476,7 +476,7 @@ if(addr == (long) &dummy->u_debugreg[4]) return -EIO; if(addr == (long) &dummy->u_debugreg[5]) return -EIO; if(addr < (long) &dummy->u_debugreg[4] && - ((unsigned long) data) >= 0xbffffffd) return -EIO; + ((unsigned long) data) >= TASK_SIZE-3) return -EIO; ret = -EIO; if(addr == (long) &dummy->u_debugreg[7]) { diff -u --recursive --new-file v2.1.129/linux/arch/i386/mm/fault.c linux/arch/i386/mm/fault.c --- v2.1.129/linux/arch/i386/mm/fault.c Sun Nov 8 14:02:42 1998 +++ linux/arch/i386/mm/fault.c Sun Nov 22 09:38:19 1998 @@ -124,7 +124,7 @@ /* * accessing the stack below %esp is always a bug. * The "+ 32" is there due to some instructions (like - * pusha) doing pre-decrement on the stack and that + * pusha) doing post-decrement on the stack and that * doesn't show up until later.. */ if (address + 32 < regs->esp) diff -u --recursive --new-file v2.1.129/linux/arch/ppc/kernel/ppc_ksyms.c linux/arch/ppc/kernel/ppc_ksyms.c --- v2.1.129/linux/arch/ppc/kernel/ppc_ksyms.c Thu Nov 19 09:56:27 1998 +++ linux/arch/ppc/kernel/ppc_ksyms.c Wed Nov 25 12:21:40 1998 @@ -146,8 +146,6 @@ EXPORT_SYMBOL(start_thread); EXPORT_SYMBOL(__kernel_thread); -EXPORT_SYMBOL(__down_interruptible); - EXPORT_SYMBOL(__cli); EXPORT_SYMBOL(__sti); /*EXPORT_SYMBOL(__restore_flags);*/ diff -u --recursive --new-file v2.1.129/linux/drivers/Makefile linux/drivers/Makefile --- v2.1.129/linux/drivers/Makefile Wed Aug 26 11:37:34 1998 +++ linux/drivers/Makefile Fri Nov 20 08:59:01 1998 @@ -8,7 +8,7 @@ # Note 2! The CFLAGS definitions are now in the main makefile. SUB_DIRS := block char net misc sound -MOD_SUB_DIRS := $(SUB_DIRS) sbus +MOD_SUB_DIRS := $(SUB_DIRS) ALL_SUB_DIRS := $(SUB_DIRS) pci scsi sbus cdrom isdn pnp \ macintosh video dio zorro fc4 @@ -23,6 +23,7 @@ ifdef CONFIG_SBUS SUB_DIRS += sbus +MOD_SUB_DIRS += sbus endif ifdef CONFIG_ZORRO diff -u --recursive --new-file v2.1.129/linux/drivers/block/loop.c linux/drivers/block/loop.c --- v2.1.129/linux/drivers/block/loop.c Sun Nov 8 14:02:51 1998 +++ linux/drivers/block/loop.c Sun Nov 22 21:29:54 1998 @@ -17,6 +17,10 @@ * Handle sparse backing files correctly - Kenn Humborg, Jun 28, 1998 * * Loadable modules and other fixes by AK, 1998 + * + * Make real block number available to downstream transfer functions, enables + * CBC (and relatives) mode encryption requiring unique IVs per data block. + * Reed H. Petty, rhp@draper.net * * Still To Fix: * - Advisory locking is ignored here. @@ -67,7 +71,7 @@ * Transfer functions */ static int transfer_none(struct loop_device *lo, int cmd, char *raw_buf, - char *loop_buf, int size) + char *loop_buf, int size, int real_block) { if (cmd == READ) memcpy(loop_buf, raw_buf, size); @@ -77,7 +81,7 @@ } static int transfer_xor(struct loop_device *lo, int cmd, char *raw_buf, - char *loop_buf, int size) + char *loop_buf, int size, int real_block) { char *in, *out, *key; int i, keysize; @@ -245,7 +249,7 @@ } if ((lo->transfer)(lo, current_request->cmd, bh->b_data + offset, - dest_addr, size)) { + dest_addr, size, real_block)) { printk(KERN_ERR "loop: transfer error block %d\n", block); brelse(bh); goto error_out_lock; diff -u --recursive --new-file v2.1.129/linux/drivers/char/bttv.c linux/drivers/char/bttv.c --- v2.1.129/linux/drivers/char/bttv.c Thu Nov 12 16:21:18 1998 +++ linux/drivers/char/bttv.c Fri Nov 20 10:58:22 1998 @@ -2582,7 +2582,10 @@ btv->grabcount=0; btv->grab=0; btv->lastgrab=0; - btv->field=btv->last_field=0; + btv->field=btv->last_field=0; + btv->video_dev.minor = -1; + btv->vbi_dev.minor = -1; + btv->radio_dev.minor = -1; /* i2c */ memcpy(&(btv->i2c),&bttv_i2c_bus_template,sizeof(struct i2c_bus)); diff -u --recursive --new-file v2.1.129/linux/drivers/char/mem.c linux/drivers/char/mem.c --- v2.1.129/linux/drivers/char/mem.c Thu Nov 19 09:56:28 1998 +++ linux/drivers/char/mem.c Fri Nov 20 11:41:46 1998 @@ -512,7 +512,7 @@ case 3: filp->f_op = &null_fops; break; -#ifndef CONFIG_PPC +#if !defined(CONFIG_PPC) && !defined(__mc68000__) case 4: filp->f_op = &port_fops; break; @@ -568,6 +568,9 @@ tty_init(); #ifdef CONFIG_PRINTER lp_init(); +#endif +#ifdef CONFIG_M68K_PRINTER + lp_m68k_init(); #endif misc_init(); #ifdef CONFIG_SOUND diff -u --recursive --new-file v2.1.129/linux/drivers/char/misc.c linux/drivers/char/misc.c --- v2.1.129/linux/drivers/char/misc.c Thu Nov 19 09:56:28 1998 +++ linux/drivers/char/misc.c Wed Nov 25 17:25:17 1998 @@ -77,6 +77,8 @@ extern void acq_init(void); extern void pcwatchdog_init(void); extern int rtc_init(void); +extern int rtc_DP8570A_init(void); +extern int rtc_MK48T08_init(void); extern int dsp56k_init(void); extern int nvram_init(void); extern int radio_init(void); @@ -244,6 +246,12 @@ #endif #ifdef CONFIG_H8 h8_init(); +#endif +#ifdef CONFIG_MVME16x + rtc_MK48T08_init(); +#endif +#ifdef CONFIG_BVME6000 + rtc_DP8570A_init(); #endif #if defined(CONFIG_RTC) || defined(CONFIG_SUN_MOSTEK_RTC) rtc_init(); diff -u --recursive --new-file v2.1.129/linux/drivers/char/radio-sf16fmi.c linux/drivers/char/radio-sf16fmi.c --- v2.1.129/linux/drivers/char/radio-sf16fmi.c Sun Nov 8 14:02:55 1998 +++ linux/drivers/char/radio-sf16fmi.c Fri Nov 20 08:44:06 1998 @@ -77,13 +77,20 @@ static inline int fmi_setfreq(struct fmi_device *dev, unsigned long freq) { int myport = dev->port; - + int i; + outbits(16, RSF16_ENCODE(freq), myport); outbits(8, 0xC0, myport); - /* it is better than udelay(140000), isn't it? */ - current->state = TASK_INTERRUPTIBLE; + for(i=0; i< 100; i++) + { + udelay(1400); + if(current->need_resched) + schedule(); + } +/* If this becomes allowed use it ... + current->state = TASK_UNINTERRUPTIBLE; schedule_timeout(HZ/7); - /* ignore signals, we really should restore volume */ +*/ if (dev->curvol) fmi_unmute(myport); return 0; } @@ -93,17 +100,21 @@ int val; int res; int myport = dev->port; - + int i; + val = dev->curvol ? 0x08 : 0x00; /* unmute/mute */ outb(val, myport); outb(val | 0x10, myport); - /* it is better than udelay(140000), isn't it? */ - current->state = TASK_INTERRUPTIBLE; + for(i=0; i< 100; i++) + { + udelay(1400); + if(current->need_resched) + schedule(); + } +/* If this becomes allowed use it ... + current->state = TASK_UNINTERRUPTIBLE; schedule_timeout(HZ/7); - /* do not do it..., 140ms is very looong time to get signal in real program - if (signal_pending(current)) - return -EINTR; - */ +*/ res = (int)inb(myport+1); outb(val, myport); return (res & 2) ? 0 : 0xFFFF; diff -u --recursive --new-file v2.1.129/linux/drivers/char/serial.c linux/drivers/char/serial.c --- v2.1.129/linux/drivers/char/serial.c Sun Nov 8 14:02:55 1998 +++ linux/drivers/char/serial.c Wed Nov 25 11:35:06 1998 @@ -2582,7 +2582,7 @@ tty->driver_data = info; info->tty = tty; if (serial_paranoia_check(info, tty->device, "rs_open")) { - MOD_DEC_USE_COUNT; + /* MOD_DEC_USE_COUNT; "info->tty" will cause this */ return -ENODEV; } @@ -2595,7 +2595,7 @@ if (!tmp_buf) { page = get_free_page(GFP_KERNEL); if (!page) { - MOD_DEC_USE_COUNT; + /* MOD_DEC_USE_COUNT; "info->tty" will cause this? */ return -ENOMEM; } if (tmp_buf) @@ -2611,7 +2611,7 @@ (info->flags & ASYNC_CLOSING)) { if (info->flags & ASYNC_CLOSING) interruptible_sleep_on(&info->close_wait); - MOD_DEC_USE_COUNT; + /* MOD_DEC_USE_COUNT; "info->tty" will cause this? */ #ifdef SERIAL_DO_RESTART return ((info->flags & ASYNC_HUP_NOTIFY) ? -EAGAIN : -ERESTARTSYS); @@ -2625,13 +2625,13 @@ */ retval = startup(info); if (retval) { - MOD_DEC_USE_COUNT; + /* MOD_DEC_USE_COUNT; "info->tty" will cause this? */ return retval; } retval = block_til_ready(tty, filp, info); if (retval) { - MOD_DEC_USE_COUNT; + /* MOD_DEC_USE_COUNT; "info->tty" will cause this? */ #ifdef SERIAL_DEBUG_OPEN printk("rs_open returning after block_til_ready with %d\n", retval); diff -u --recursive --new-file v2.1.129/linux/drivers/char/tty_io.c linux/drivers/char/tty_io.c --- v2.1.129/linux/drivers/char/tty_io.c Sun Nov 8 14:02:56 1998 +++ linux/drivers/char/tty_io.c Thu Nov 19 17:10:37 1998 @@ -1269,8 +1269,10 @@ filp->f_flags |= O_NONBLOCK; /* Don't let /dev/console block */ noctty = 1; } -#ifdef CONFIG_UNIX98_PTYS + if (device == PTMX_DEV) { +#ifdef CONFIG_UNIX98_PTYS + /* find a free pty. */ int major, minor; struct tty_driver *driver; @@ -1293,9 +1295,14 @@ devpts_pty_new(driver->other->name_base + minor, MKDEV(driver->other->major, minor + driver->other->minor_start)); noctty = 1; goto init_dev_done; + +#else /* CONFIG_UNIX_98_PTYS */ + + return -ENODEV; + +#endif /* CONFIG_UNIX_98_PTYS */ } -#endif - + retval = init_dev(device, &tty); if (retval) return retval; diff -u --recursive --new-file v2.1.129/linux/drivers/fc4/Config.in linux/drivers/fc4/Config.in --- v2.1.129/linux/drivers/fc4/Config.in Thu May 14 19:47:39 1998 +++ linux/drivers/fc4/Config.in Wed Nov 25 17:21:48 1998 @@ -4,10 +4,10 @@ mainmenu_option next_comment comment 'Fibre Channel support' -tristate 'Fibre Channel and FC4 SCSI support' CONFIG_FC4 m +tristate 'Fibre Channel and FC4 SCSI support' CONFIG_FC4 if [ ! "$CONFIG_FC4" = "n" ]; then comment 'FC4 drivers' - tristate 'Sun SOC/Sbus' CONFIG_FC4_SOC m + tristate 'Sun SOC/Sbus' CONFIG_FC4_SOC comment 'FC4 targets' dep_tristate 'SparcSTORAGE Array 100 and 200 series' CONFIG_SCSI_PLUTO $CONFIG_SCSI else diff -u --recursive --new-file v2.1.129/linux/drivers/net/8390.c linux/drivers/net/8390.c --- v2.1.129/linux/drivers/net/8390.c Tue Jul 21 00:15:31 1998 +++ linux/drivers/net/8390.c Fri Nov 20 11:42:52 1998 @@ -950,7 +950,8 @@ int start_page) { int e8390_base = dev->base_addr; - + struct ei_device *ei_local = (struct ei_device *) dev->priv; + outb_p(E8390_NODMA+E8390_PAGE0, e8390_base+E8390_CMD); if (inb_p(e8390_base) & E8390_TRANS) diff -u --recursive --new-file v2.1.129/linux/drivers/net/Config.in linux/drivers/net/Config.in --- v2.1.129/linux/drivers/net/Config.in Thu Nov 12 16:21:19 1998 +++ linux/drivers/net/Config.in Wed Nov 25 10:25:02 1998 @@ -81,6 +81,7 @@ if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then tristate 'RealTek 8129/8139 (not 8019/8029!) support' CONFIG_RTL8139 tristate 'Packet Engines Yellowfin Gigabit-NIC support' CONFIG_YELLOWFIN + tristate 'Alteon AceNIC & 3Com 3C985 Gigabit support' CONFIG_ACENIC fi bool 'Other ISA cards' CONFIG_NET_ISA if [ "$CONFIG_NET_ISA" = "y" ]; then diff -u --recursive --new-file v2.1.129/linux/drivers/net/Makefile linux/drivers/net/Makefile --- v2.1.129/linux/drivers/net/Makefile Thu Nov 12 16:21:19 1998 +++ linux/drivers/net/Makefile Wed Nov 25 10:25:02 1998 @@ -538,6 +538,14 @@ endif endif +ifeq ($(CONFIG_ACENIC),y) +L_OBJS += acenic.o +else + ifeq ($(CONFIG_ACENIC),m) + M_OBJS += acenic.o + endif +endif + ifeq ($(CONFIG_WAVELAN),y) L_OBJS += wavelan.o else diff -u --recursive --new-file v2.1.129/linux/drivers/net/Space.c linux/drivers/net/Space.c --- v2.1.129/linux/drivers/net/Space.c Thu Nov 19 09:56:28 1998 +++ linux/drivers/net/Space.c Wed Nov 25 10:25:02 1998 @@ -114,6 +114,7 @@ /* Gigabit Ethernet adapters */ extern int yellowfin_probe(struct device *dev); +extern int acenic_probe(struct device *dev); /* Detachable devices ("pocket adaptors") */ extern int atp_init(struct device *); @@ -197,6 +198,9 @@ #endif #ifdef CONFIG_YELLOWFIN {yellowfin_probe, 0}, +#endif +#ifdef CONFIG_ACENIC + {acenic_probe, 0}, #endif #ifdef CONFIG_VIA_RHINE {via_rhine_probe, 0}, diff -u --recursive --new-file v2.1.129/linux/drivers/net/acenic.c linux/drivers/net/acenic.c --- v2.1.129/linux/drivers/net/acenic.c Wed Dec 31 16:00:00 1969 +++ linux/drivers/net/acenic.c Wed Nov 25 10:25:02 1998 @@ -0,0 +1,1576 @@ +/* + * acenic.c: Linux driver for the Alteon AceNIC Gigabit Ethernet card + * and other Tigon based cards. + * + * Copyright 1998 by Jes Sorensen, . + * + * Thanks to Alteon and 3Com for providing hardware and documentation + * enabling me to write this driver. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +#define DEBUG 1 +#define RX_DMA_SKBUFF 1 +#define PKT_COPY_THRESHOLD 300 + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "acenic.h" + +/* + * These must be defined before the firmware is included. + */ +#define MAX_TEXT_LEN 96*1024 +#define MAX_RODATA_LEN 8*1024 +#define MAX_DATA_LEN 2*1024 + +#include "acenic_firmware.h" + + +/* + * This driver currently supports Tigon I and Tigon II based cards + * including the Alteon AceNIC and the 3Com 3C985. + * + * This card is really neat, it supports receive hardware checksumming + * and jumbo frames (up to 9000 bytes) and does a lot of work in the + * firmware. Also the programming interface is quite neat, except for + * the parts dealing with the i2c eeprom on the card ;-) + * + * A number of standard Ethernet receive skb's are now allocated at + * init time and not released before the driver is unloaded. This + * makes it possible to do ifconfig down/up. + * + * Using jumbo frames: + * + * To enable jumbo frames, simply specify an mtu between 1500 and 9000 + * bytes to ifconfig. Jumbo frames can be enabled or disabled at any time + * by running `ifconfig eth mtu ' with being the Ethernet + * interface number and being the MTU value. + * + * TODO: + * + * - Add multicast support. + * - Make all the tuning parameters and link speed negotiation, user + * settable at driver/module init time. + */ + +static const char *version = "acenic.c: v0.13 11/25/98 Jes Sorensen (Jes.Sorensen@cern.ch)\n"; + +static struct device *root_dev = NULL; + +static int ace_load_firmware(struct device *dev); + +__initfunc(int acenic_probe (struct device *dev)) +{ + static int i = 0; + int boards_found = 0; + int version_disp; + u32 tmp; + struct ace_private *ap; + u16 vendor, device; + u8 pci_bus; + u8 pci_dev_fun; + u8 pci_latency; + u8 irq; + + if (!pci_present()) /* is PCI support present? */ + return -ENODEV; + + version_disp = 0; + + for (; i < 255; i++) + { + dev = NULL; + + if (pcibios_find_class(PCI_CLASS_NETWORK_ETHERNET << 8, + i, &pci_bus, &pci_dev_fun) != + PCIBIOS_SUCCESSFUL) + break; + + pcibios_read_config_word(pci_bus, pci_dev_fun, + PCI_VENDOR_ID, &vendor); + + pcibios_read_config_word(pci_bus, pci_dev_fun, + PCI_DEVICE_ID, &device); + + if ((vendor != PCI_VENDOR_ID_ALTEON) && + !((vendor == PCI_VENDOR_ID_3COM) && + (device == PCI_DEVICE_ID_3COM_3C985))) + continue; + + dev = init_etherdev(dev, sizeof(struct ace_private)); + + if (dev == NULL){ + printk(KERN_ERR "Unable to allocate etherdev " + "structure!\n"); + break; + } + + if (!dev->priv) + dev->priv = kmalloc(sizeof(*ap), GFP_KERNEL); + + ap = dev->priv; + ap->vendor = vendor; + + /* Read register base address from + PCI Configuration Space */ + + pcibios_read_config_dword(pci_bus, pci_dev_fun, + PCI_BASE_ADDRESS_0, &tmp); + + pcibios_read_config_byte(pci_bus, pci_dev_fun, + PCI_INTERRUPT_LINE, &irq); + + pcibios_read_config_word(pci_bus, pci_dev_fun, + PCI_COMMAND, &ap->pci_command); + + if (!(ap->pci_command & PCI_COMMAND_MASTER)){ + ap->pci_command |= PCI_COMMAND_MASTER; + pcibios_write_config_word(pci_bus, pci_dev_fun, + PCI_COMMAND, + ap->pci_command); + } + + if (!(ap->pci_command & PCI_COMMAND_MEMORY)){ + printk(KERN_ERR "Shared mem not enabled - " + "unable to configure AceNIC\n"); + break; + } + + dev->irq = irq; + ap->pci_bus = pci_bus; + ap->pci_dev_fun = pci_dev_fun; +#ifdef __SMP__ + spin_lock_init(&ap->lock); +#endif + + dev->open = &ace_open; + dev->hard_start_xmit = &ace_start_xmit; + dev->stop = &ace_close; + dev->get_stats = &ace_get_stats; + dev->set_multicast_list = &ace_set_multicast_list; + dev->set_mac_address = &ace_set_mac_addr; + dev->change_mtu = &ace_change_mtu; + + /* + * Dummy value. + */ + dev->base_addr = 42; + + /* display version info if adapter is found */ + if (!version_disp) + { + /* set display flag to TRUE so that */ + /* we only display this string ONCE */ + version_disp = 1; + printk(version); + } + + pcibios_read_config_byte(pci_bus, pci_dev_fun, + PCI_LATENCY_TIMER, &pci_latency); + if (pci_latency <= 0x40){ + pci_latency = 0x40; + pcibios_write_config_byte(pci_bus, pci_dev_fun, + PCI_LATENCY_TIMER, + pci_latency); + } + + switch(ap->vendor){ + case PCI_VENDOR_ID_ALTEON: + sprintf(ap->name, "AceNIC Gigabit Ethernet"); + printk(KERN_INFO "%s: Alteon AceNIC ", dev->name); + break; + case PCI_VENDOR_ID_3COM: + sprintf(ap->name, "3Com 3C985 Gigabit Ethernet"); + printk(KERN_INFO "%s: 3Com 3C985 ", dev->name); + break; + default: + sprintf(ap->name, "Unknown AceNIC based Gigabit Ethernet"); + printk(KERN_INFO "%s: Unknown AceNIC ", dev->name); + break; + } + printk("Gigabit Ethernet at 0x%08x, irq %i, PCI latency %i " + "clks\n", tmp, dev->irq, pci_latency); + + /* + * Remap the regs into kernel space. + */ + + ap->regs = (struct ace_regs *)ioremap(tmp, 0x4000); + if (!ap->regs){ + printk(KERN_ERR "%s: Unable to map I/O register, " + "AceNIC %i will be disabled.\n", dev->name, i); + break; + } + + ace_init(dev); + + boards_found++; + + /* + * This is bollocks, but we need to tell the net-init + * code that it shall go for the next device. + */ + dev->base_addr = 0; + } + + /* + * If we're at this point we're going through ace_probe() for + * the first time. Return success (0) if we've initialized 1 + * or more boards. Otherwise, return failure (-ENODEV). + */ + +#ifdef MODULE + return boards_found; +#else + if (boards_found > 0) + return 0; + else + return -ENODEV; +#endif +} + + +#ifdef MODULE +int init_module(void) +{ + int cards; + + root_dev = NULL; + + cards = acenic_probe(NULL); + return cards ? 0 : -ENODEV; +} + +void cleanup_module(void) +{ + struct ace_private *ap; + struct ace_regs *regs; + struct device *next; + short i; + unsigned long flags; + + while (root_dev) { + next = ((struct ace_private *)root_dev->priv)->next; + ap = (struct ace_private *)root_dev->priv; + + regs = ap->regs; + spin_lock_irqsave(&ap->lock, flags); + + regs->CpuCtrl |= CPU_HALT; + if (ap->version == 2) + regs->CpuBCtrl |= CPU_HALT; + regs->Mb0Lo = 0; + + spin_unlock_irqrestore(&ap->lock, flags); + + /* + * Release the RX buffers. + */ + for (i = 0; i < RX_STD_RING_ENTRIES; i++) { + if (ap->rx_std_skbuff[i]) { + ap->rx_std_ring[i].size = 0; + ap->rx_std_ring[i].addr = 0; + dev_kfree_skb(ap->rx_std_skbuff[i]); + } + } + + iounmap(regs); + kfree(ap->info); + free_irq(root_dev->irq, root_dev); + unregister_netdev(root_dev); + kfree(root_dev); + + root_dev = next; + } +} +#endif + + +/* + * Commands are considered to be slow. + */ +static inline void ace_issue_cmd(struct ace_regs *regs, struct cmd *cmd) +{ + u32 idx; + + idx = regs->CmdPrd; + + regs->CmdRng[idx] = *(u32 *)(cmd); + idx = (idx + 1) % CMD_RING_ENTRIES; + + regs->CmdPrd = idx; +} + + +__initfunc(static int ace_init(struct device *dev)) +{ + struct ace_private *ap; + struct ace_regs *regs; + struct ace_info *info; + u32 tig_ver, mac1 = 0, mac2 = 0, tmp; + unsigned long tmp_ptr, myjif; + short i; + + ap = dev->priv; + regs = ap->regs; + +#if 0 + regs->HostCtrl |= 0x08; + regs->CpuCtrl = CPU_RESET; + regs->CpuBCtrl = CPU_RESET; + + { + long myjif = jiffies + HZ; + while (myjif > jiffies); + } +#endif + + /* + * Don't access any other registes before this point! + */ +#ifdef __BIG_ENDIAN + regs->HostCtrl = ((BYTE_SWAP | WORD_SWAP | CLR_INT) | + ((BYTE_SWAP | WORD_SWAP | CLR_INT) << 24)); +#else + regs->HostCtrl = (CLR_INT | WORD_SWAP | + ((CLR_INT | WORD_SWAP) << 24)); +#endif + +#ifdef __LITTLE_ENDIAN + regs->ModeStat = ACE_BYTE_SWAP_DATA | ACE_WARN | ACE_FATAL + | ACE_WORD_SWAP; +#else +#error "this driver doesn't run on big-endian machines yet!" +#endif + + /* + * Stop the NIC CPU and clear pending interrupts + */ + regs->CpuCtrl |= CPU_HALT; + regs->Mb0Lo = 0; + + tig_ver = regs->HostCtrl >> 28; + + switch(tig_ver){ + case 4: + printk(KERN_INFO" Tigon I (Rev. 4), Firmware: %i.%i.%i, ", + tigonFwReleaseMajor, tigonFwReleaseMinor, + tigonFwReleaseFix); + regs->LocalCtrl = 0; + ap->version = 1; + break; + case 6: + printk(KERN_INFO" Tigon II (Rev. %i), Firmware: %i.%i.%i, ", + tig_ver, tigon2FwReleaseMajor, tigon2FwReleaseMinor, + tigon2FwReleaseFix); + regs->CpuBCtrl |= CPU_HALT; + regs->LocalCtrl = SRAM_BANK_512K; + regs->MiscCfg = SYNC_SRAM_TIMING; + ap->version = 2; + break; + default: + printk(KERN_INFO" Unsupported Tigon version detected (%i), ", + tig_ver); + return -ENODEV; + } + + for(i = 0; i < 4; i++){ + mac1 = mac1 << 8; + mac1 |= read_eeprom_byte(regs, 0x8c+i); + } + for(i = 4; i < 8; i++){ + mac2 = mac2 << 8; + mac2 |= read_eeprom_byte(regs, 0x8c+i); + } + + regs->MacAddrHi = mac1; + regs->MacAddrLo = mac2; + + printk("MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", + (mac1 >> 8) & 0xff, mac1 & 0xff, (mac2 >> 24) &0xff, + (mac2 >> 16) & 0xff, (mac2 >> 8) & 0xff, mac2 & 0xff); + + dev->dev_addr[0] = (mac1 >> 8) & 0xff; + dev->dev_addr[1] = mac1 & 0xff; + dev->dev_addr[2] = (mac2 >> 24) & 0xff; + dev->dev_addr[3] = (mac2 >> 16) & 0xff; + dev->dev_addr[4] = (mac2 >> 8) & 0xff; + dev->dev_addr[5] = mac2 & 0xff; + + /* + * Set the max DMA transfer size. Seems that for most systems + * the performance is better when no MAX parameter is + * set. However for systems enabling PCI write and invalidate, + * DMA writes must be set to the L1 cache line size to get + * optimal performance. + */ + tmp = READ_CMD_MEM | WRITE_CMD_MEM; + if (ap->version == 2){ + tmp |= DMA_WRITE_ALL_ALIGN; + if (ap->pci_command & PCI_COMMAND_INVALIDATE){ + switch(L1_CACHE_BYTES){ + case 16: + tmp |= DMA_WRITE_MAX_16; + break; + case 32: + tmp |= DMA_WRITE_MAX_32; + break; + case 64: + tmp |= DMA_WRITE_MAX_64; + break; + default: + printk(KERN_INFO " Cache line size %i not " + "supported, PCI write and invalidate " + "disabled\n", L1_CACHE_BYTES); + ap->pci_command &= ~PCI_COMMAND_INVALIDATE; + pcibios_write_config_word(ap->pci_bus, + ap->pci_dev_fun, + PCI_COMMAND, + ap->pci_command); + } + } + } + regs->PciState = tmp; + + if (request_irq(dev->irq, ace_interrupt, SA_SHIRQ, ap->name, dev)) + { + printk(KERN_WARNING "%s: Requested IRQ %d is busy\n", + dev->name, dev->irq); + return -EAGAIN; + } + + /* + * Initialize the generic info block and the command+event rings + * and the control blocks for the transmit and receive rings + * as they need to be setup once and for all. + */ + if (!(info = kmalloc(sizeof(struct ace_info), GFP_KERNEL | GFP_DMA))){ + free_irq(dev->irq, dev); + return -EAGAIN; + } + + ap->info = info; + memset(info, 0, sizeof(struct ace_info)); + + ace_load_firmware(dev); + ap->fw_running = 0; + + tmp_ptr = virt_to_bus((void *)info); +#if (BITS_PER_LONG == 64) + regs->InfoPtrHi = (tmp_ptr >> 32); +#else + regs->InfoPtrHi = 0; +#endif + regs->InfoPtrLo = ((tmp_ptr) & 0xffffffff); + + memset(ap->evt_ring, 0, EVT_RING_ENTRIES * sizeof(struct event)); + + info->evt_ctrl.rngptr = virt_to_bus(ap->evt_ring); + info->evt_ctrl.flags = 0; + + info->evt_prd_ptr = virt_to_bus(&ap->evt_prd); + ap->evt_prd = 0; + regs->EvtCsm = 0; + + info->cmd_ctrl.flags = 0; + info->cmd_ctrl.rngptr = 0x100; + info->cmd_ctrl.max_len = 0; + + for (i = 0; i < CMD_RING_ENTRIES; i++) { + regs->CmdRng[i] = 0; + } + + regs->CmdPrd = 0; + regs->CmdCsm = 0; + + info->stats2_ptr = virt_to_bus(&info->s.stats); + + info->rx_std_ctrl.max_len = ACE_STD_MTU + ETH_HLEN + 4; + info->rx_std_ctrl.rngptr = virt_to_bus(ap->rx_std_ring); + info->rx_std_ctrl.flags = RX_TCP_UDP_SUM; + + memset(ap->rx_std_ring, 0, + RX_STD_RING_ENTRIES * sizeof(struct rx_desc)); + + info->rx_jumbo_ctrl.max_len = 0; + info->rx_jumbo_ctrl.rngptr = virt_to_bus(ap->rx_jumbo_ring); + info->rx_jumbo_ctrl.flags = RX_TCP_UDP_SUM; + + memset(ap->rx_jumbo_ring, 0, + RX_JUMBO_RING_ENTRIES * sizeof(struct rx_desc)); + + info->rx_return_ctrl.max_len = 0; + info->rx_return_ctrl.rngptr = virt_to_bus(ap->rx_return_ring); + info->rx_return_ctrl.flags = 0; + + memset(ap->rx_return_ring, 0, + RX_RETURN_RING_ENTRIES * sizeof(struct rx_desc)); + + info->rx_ret_prd_ptr = virt_to_bus(&ap->rx_ret_prd); + + regs->WinBase = TX_RING_BASE; + ap->tx_ring = (struct tx_desc *)regs->Window; + memset(ap->tx_ring, 0, TX_RING_ENTRIES * sizeof(struct tx_desc)); + + info->tx_ctrl.max_len = TX_RING_ENTRIES; + info->tx_ctrl.flags = 0; +#if (BITS_PER_LONG == 64) && defined(__BIG_ENDIAN) + info->tx_ctrl.rngptr = TX_RING_BASE << 32; +#else + info->tx_ctrl.rngptr = TX_RING_BASE; +#endif + + info->tx_csm_ptr = virt_to_bus(&ap->tx_csm); + + regs->DmaReadCfg = DMA_THRESH_8W; + regs->DmaWriteCfg = DMA_THRESH_8W; + + regs->MaskInt = 0; + regs->IfIdx = 1; + +#if 0 +{ + u32 tmp; + tmp = regs->AssistState; + tmp &= ~2; + tmp |= 1; + regs->AssistState = tmp; + + tmp = regs->MacRxState; + tmp &= ~4; + regs->MacRxState = tmp; +} +#endif + regs->TuneStatTicks = 2 * TICKS_PER_SEC; + regs->TuneTxCoalTicks = TICKS_PER_SEC / 500; + regs->TuneMaxTxDesc = 7; + regs->TuneRxCoalTicks = TICKS_PER_SEC / 10000; + regs->TuneMaxRxDesc = 2; + regs->TuneTrace = 0 /* 0x30001fff */; + tmp = LNK_ENABLE | LNK_FULL_DUPLEX | LNK_1000MB | + LNK_RX_FLOW_CTL_Y | LNK_NEG_FCTL | LNK_NEGOTIATE; + if(ap->version == 1) + regs->TuneLink = tmp; + else{ + tmp |= LNK_TX_FLOW_CTL_Y; + regs->TuneLink = tmp; + regs->TuneFastLink = tmp; + } + + if (ap->version == 1) + regs->Pc = tigonFwStartAddr; + else if (ap->version == 2) + regs->Pc = tigon2FwStartAddr; + + regs->Mb0Lo = 0; + + /* + * Start the NIC CPU + */ + + regs->CpuCtrl = (regs->CpuCtrl & ~(CPU_HALT | CPU_TRACE)); + + /* + * Wait for the firmware to spin up - max 2 seconds. + */ + myjif = jiffies + 3 * HZ; + while ((myjif > jiffies) && !ap->fw_running); + if (!ap->fw_running){ + printk(KERN_ERR "%s: firmware NOT running!\n", dev->name); + return -EBUSY; + } + + ap->next = root_dev; + root_dev = dev; + + /* + * We load the ring here as there seem to be no way to tell the + * firmware to wipe the ring without re-initializing it. + */ + ace_load_std_rx_ring(dev); + + return 0; +} + + +/* + * Monitor the card to detect hangs. + */ + +static void ace_timer(unsigned long data) +{ + struct device *dev = (struct device *)data; + struct ace_private *ap = (struct ace_private *)dev->priv; + struct ace_regs *regs = ap->regs; + + /* + * We haven't received a stats update event for more than 2.5 + * seconds and there is data in the transmit queue, thus we + * asume the card is stuck. + */ + if (ap->tx_csm != ap->tx_ret_csm){ + printk(KERN_WARNING "%s: Transmitter is stuck, %08x\n", + dev->name, regs->HostCtrl); + } + + ap->timer.expires = jiffies + (5/2*HZ); + add_timer(&ap->timer); +} + + +/* + * Load the standard rx ring. + */ +static int ace_load_std_rx_ring(struct device *dev) +{ + struct ace_private *ap; + struct ace_regs *regs; + struct ace_info *info; + unsigned long flags; + struct cmd cmd; + short i; + + ap = (struct ace_private *)dev->priv; + regs = ap->regs; + info = ap->info; + + spin_lock_irqsave(&ap->lock, flags); + + /* + * Set tx_csm before we start receiving interrupts, otherwise + * the interrupt handler might think it is supposed to process + * tx ints before we are up and running, which may cause a null + * pointer access in the int handler. + */ + ap->tx_full = 0; + ap->cur_rx = ap->dirty_rx = 0; + ap->tx_prd = ap->tx_csm = ap->tx_ret_csm = 0; + regs->RxRetCsm = 0; + + for (i = 0; i < RX_RING_THRESH; i++) { + struct sk_buff *skb; + + ap->rx_std_ring[i].flags = 0; + skb = alloc_skb(ACE_STD_MTU + ETH_HLEN + 6, GFP_ATOMIC); + ap->rx_std_skbuff[i] = skb; + + /* + * Make sure the data contents end up on an aligned address + */ + skb_reserve(skb, 2); + + ap->rx_std_ring[i].addr = virt_to_bus(skb->data); + ap->rx_std_ring[i].size = ACE_STD_MTU + ETH_HLEN + 4; + + ap->rx_std_ring[i].flags = 0; + ap->rx_std_ring[i].type = DESC_RX; + + ap->rx_std_ring[i].idx = i; + } + + ap->rx_std_skbprd = i; + + /* + * The last descriptor needs to be marked as being special. + */ + ap->rx_std_ring[i-1].type = DESC_END; + + cmd.evt = C_SET_RX_PRD_IDX; + cmd.code = 0; + cmd.idx = ap->rx_std_skbprd; + ace_issue_cmd(regs, &cmd); + + spin_unlock_irqrestore(&ap->lock, flags); + + return 0; +} + + +/* + * Load the jumbo rx ring, this may happen at any time if the MTU + * is changed to a value > 1500. + */ +static int ace_load_jumbo_rx_ring(struct device *dev) +{ + struct ace_private *ap; + struct ace_regs *regs; + struct cmd cmd; + unsigned long flags; + short i; + + ap = (struct ace_private *)dev->priv; + regs = ap->regs; + + spin_lock_irqsave(&ap->lock, flags); + + for (i = 0; i < RX_RING_THRESH; i++) { + struct sk_buff *skb; + + ap->rx_jumbo_ring[i].flags = 0; + skb = alloc_skb(ACE_JUMBO_MTU + ETH_HLEN + 6, GFP_ATOMIC); + ap->rx_jumbo_skbuff[i] = skb; + + /* + * Make sure the data contents end up on an aligned address + */ + skb_reserve(skb, 2); + + ap->rx_jumbo_ring[i].addr = virt_to_bus(skb->data); + ap->rx_jumbo_ring[i].size = ACE_JUMBO_MTU + ETH_HLEN + 4; + + ap->rx_jumbo_ring[i].flags = JUMBO_FLAG; + ap->rx_jumbo_ring[i].type = DESC_RX; + + ap->rx_jumbo_ring[i].idx = i; + } + + ap->rx_jumbo_skbprd = i; + + /* + * The last descriptor needs to be marked as being special. + */ + ap->rx_jumbo_ring[i-1].type = DESC_END; + + cmd.evt = C_SET_RX_JUMBO_PRD_IDX; + cmd.code = 0; + cmd.idx = ap->rx_jumbo_skbprd; + ace_issue_cmd(regs, &cmd); + + spin_unlock_irqrestore(&ap->lock, flags); + + return 0; +} + + +/* + * Tell the firmware not to accept jumbos and flush the jumbo ring. + * This function must be called with the spinlock held. + */ +static int ace_flush_jumbo_rx_ring(struct device *dev) +{ + struct ace_private *ap; + struct ace_regs *regs; + struct cmd cmd; + short i; + + ap = (struct ace_private *)dev->priv; + regs = ap->regs; + + if (ap->jumbo){ + cmd.evt = C_RESET_JUMBO_RNG; + cmd.code = 0; + cmd.idx = 0; + ace_issue_cmd(regs, &cmd); + + for (i = 0; i < RX_JUMBO_RING_ENTRIES; i++) { + if (ap->rx_jumbo_skbuff[i]) { + ap->rx_jumbo_ring[i].size = 0; + ap->rx_jumbo_ring[i].addr = 0; + dev_kfree_skb(ap->rx_jumbo_skbuff[i]); + } + } + }else + printk(KERN_ERR "%s: Trying to flush Jumbo ring without " + "Jumbo support enabled\n", dev->name); + + return 0; +} + + +/* + * All events are considered to be slow (RX/TX ints do not generate + * events) and are handled here, outside the main interrupt handler, + * to reduce the size of the handler. + */ +static u32 ace_handle_event(struct device *dev, u32 evtcsm, u32 evtprd) +{ + struct ace_private *ap; + struct ace_regs *regs; + + ap = (struct ace_private *)dev->priv; + regs = ap->regs; + + while (evtcsm != evtprd){ + switch (ap->evt_ring[evtcsm].evt){ + case E_FW_RUNNING: + printk(KERN_INFO "%s: Firmware up and running\n", + dev->name); + ap->fw_running = 1; + break; + case E_STATS_UPDATED: + mod_timer(&ap->timer, jiffies + (5/2*HZ)); + break; + case E_LNK_STATE: + { + u16 code = ap->evt_ring[evtcsm].code; + if (code == E_C_LINK_UP){ + printk("%s: Optical link UP\n", dev->name); + } + else if (code == E_C_LINK_DOWN) + printk(KERN_INFO "%s: Optical link DOWN\n", + dev->name); + else + printk(KERN_INFO "%s: Unknown optical link " + "state %02x\n", dev->name, code); + break; + } + case E_ERROR: + switch(ap->evt_ring[evtcsm].code){ + case E_C_ERR_INVAL_CMD: + printk(KERN_ERR "%s: invalid command error\n", + dev->name); + break; + case E_C_ERR_UNIMP_CMD: + printk(KERN_ERR "%s: unimplemented command " + "error\n", dev->name); + break; + case E_C_ERR_BAD_CFG: + printk(KERN_ERR "%s: bad config error\n", + dev->name); + break; + default: + printk(KERN_ERR "%s: unknown error %02x\n", + dev->name, ap->evt_ring[evtcsm].code); + } + break; + case E_RESET_JUMBO_RNG: + break; + default: + printk(KERN_ERR "%s: Unhandled event 0x%02x\n", + dev->name, ap->evt_ring[evtcsm].evt); + } + evtcsm = (evtcsm + 1) % EVT_RING_ENTRIES; + } + + return evtcsm; +} + + +static int rx_int(struct device *dev, u32 rxretprd, u32 rxretcsm) +{ + struct ace_private *ap = (struct ace_private *)dev->priv; + u32 idx, oldidx; + struct ace_regs *regs = ap->regs; + + idx = rxretcsm; + + while(idx != rxretprd){ + struct sk_buff *skb, *newskb, *oldskb; + struct rx_desc *newrxdesc, *oldrxdesc; + u32 prdidx, size; + unsigned long addr; + u16 csum; + int jumbo; + + oldidx = ap->rx_return_ring[idx].idx; + jumbo = ap->rx_return_ring[idx].flags & JUMBO_FLAG; + + if (jumbo){ + oldskb = ap->rx_jumbo_skbuff[oldidx]; + prdidx = ap->rx_jumbo_skbprd; + newrxdesc = &ap->rx_jumbo_ring[prdidx]; + oldrxdesc = &ap->rx_jumbo_ring[oldidx]; + }else{ + oldskb = ap->rx_std_skbuff[oldidx]; + prdidx = ap->rx_std_skbprd; + newrxdesc = &ap->rx_std_ring[prdidx]; + oldrxdesc = &ap->rx_std_ring[oldidx]; + } + + size = oldrxdesc->size; + + if (size < PKT_COPY_THRESHOLD) { + skb = alloc_skb(size + 2, GFP_ATOMIC); + if (skb == NULL){ + printk(KERN_ERR "%s: Out of memory\n", + dev->name); + goto error; + } + /* + * Make sure the real data is aligned + */ + + skb_reserve(skb, 2); + memcpy(skb_put(skb, size), oldskb->data, size); + addr = oldrxdesc->addr; + newskb = oldskb; + }else{ + skb = oldskb; + + skb_put(skb, size); + + newskb = alloc_skb(size + 2, GFP_ATOMIC); + if (newskb == NULL){ + printk(KERN_ERR "%s: Out of memory\n", + dev->name); + goto error; + } + + /* + * Make sure we DMA directly into nicely + * aligned receive buffers + */ + skb_reserve(newskb, 2); + addr = virt_to_bus(newskb->data); + } + + newrxdesc->addr = addr; + newrxdesc->size = size; + + newrxdesc->flags = oldrxdesc->flags; + newrxdesc->idx = prdidx; + newrxdesc->type = DESC_RX; +#if (BITS_PER_LONG == 32) + newrxdesc->zero = 0; +#endif + + oldrxdesc->size = 0; + oldrxdesc->addr = 0; + + if (jumbo){ + ap->rx_jumbo_skbuff[oldidx] = NULL; + ap->rx_jumbo_skbuff[prdidx] = newskb; + + prdidx = (prdidx + 1) % RX_JUMBO_RING_ENTRIES; + ap->rx_jumbo_skbprd = prdidx; + }else{ + ap->rx_std_skbuff[oldidx] = NULL; + ap->rx_std_skbuff[prdidx] = newskb; + + prdidx = (prdidx + 1) % RX_STD_RING_ENTRIES; + ap->rx_std_skbprd = prdidx; + } + + /* + * Fly baby, fly! + */ + csum = ap->rx_return_ring[idx].tcp_udp_csum; + + skb->dev = dev; + skb->protocol = eth_type_trans(skb, dev); + + /* + * If the checksum is correct and this is not a + * fragment, tell the stack that the data is correct. + */ + if(!(csum ^ 0xffff) && + (!(((struct iphdr *)skb->data)->frag_off & + __constant_htons(IP_MF|IP_OFFSET)))) + skb->ip_summed = CHECKSUM_UNNECESSARY; + else + skb->ip_summed = CHECKSUM_NONE; + + netif_rx(skb); /* send it up */ + + ap->stats.rx_packets++; + ap->stats.rx_bytes += skb->len; + + if ((prdidx & 0x7) == 0){ + struct cmd cmd; + if (jumbo) + cmd.evt = C_SET_RX_JUMBO_PRD_IDX; + else + cmd.evt = C_SET_RX_PRD_IDX; + cmd.code = 0; + cmd.idx = prdidx; + ace_issue_cmd(regs, &cmd); + } + + idx = (idx + 1) % RX_RETURN_RING_ENTRIES; + } + out: + regs->RxRetCsm = idx; + ap->cur_rx = idx; + + return idx; + error: + idx = rxretprd; + goto out; +} + + +static void ace_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) +{ + struct ace_private *ap; + struct ace_regs *regs; + struct device *dev = (struct device *)dev_id; + u32 txcsm, rxretcsm, rxretprd; + u32 evtcsm, evtprd; + + ap = (struct ace_private *)dev->priv; + regs = ap->regs; + + spin_lock(&ap->lock); + + /* + * In case of PCI shared interrupts or spurious interrupts, + * we want to make sure it is actually our interrupt before + * spending any time in here. + */ + if (!(regs->HostCtrl & IN_INT)){ + spin_unlock(&ap->lock); + return; + } + +#if 0 + /* + * Since we are also using a spinlock, I wonder if this is + * actually worth it. + */ + if (test_and_set_bit(0, (void*)&dev->interrupt) != 0) { + printk(KERN_WARNING "%s: Re-entering the interrupt handler.\n", + dev->name); + return; + } +#endif + + /* + * Tell the card not to generate interrupts while we are in here. + */ + regs->Mb0Lo = 1; + + txcsm = ap->tx_csm; + if (txcsm != ap->tx_ret_csm) { + u32 idx = ap->tx_ret_csm; + + do { + ap->stats.tx_packets++; + ap->stats.tx_bytes += ap->tx_skbuff[idx]->len; + dev_kfree_skb(ap->tx_skbuff[idx]); + + ap->tx_skbuff[idx] = NULL; + + ap->tx_ring[idx].size = 0; + ap->tx_ring[idx].addr = 0; + ap->tx_ring[idx].flags = 0; + + idx = (idx + 1) % TX_RING_ENTRIES; + } while (idx != txcsm); + + if (ap->tx_full && dev->tbusy && + (((ap->tx_prd + 1) % TX_RING_ENTRIES) != txcsm)){ + ap->tx_full = 0; + dev->tbusy = 0; + mark_bh(NET_BH); + } + + ap->tx_ret_csm = txcsm; + } + + rxretprd = ap->rx_ret_prd; + rxretcsm = ap->cur_rx; + + if (rxretprd != rxretcsm) + rxretprd = rx_int(dev, rxretprd, rxretcsm); + + evtcsm = regs->EvtCsm; + evtprd = ap->evt_prd; + + if (evtcsm != evtprd){ + evtcsm = ace_handle_event(dev, evtcsm, evtprd); + } + + regs->EvtCsm = evtcsm; + regs->Mb0Lo = 0; + + spin_unlock(&ap->lock); +#if 0 + dev->interrupt = 0; +#endif +} + + +static int ace_open(struct device *dev) +{ + struct ace_private *ap; + struct ace_regs *regs; + struct cmd cmd; + + ap = dev->priv; + regs = ap->regs; + + if (!(ap->fw_running)){ + printk(KERN_WARNING "%s: firmware not running!\n", dev->name); + return -EBUSY; + } + + regs->IfMtu = dev->mtu + ETH_HLEN + 4; + + cmd.evt = C_HOST_STATE; + cmd.code = C_C_STACK_UP; + cmd.idx = 0; + ace_issue_cmd(regs, &cmd); + + if (ap->jumbo) + ace_load_jumbo_rx_ring(dev); + + if (dev->flags & IFF_PROMISC){ + cmd.evt = C_SET_PROMISC_MODE; + cmd.code = C_C_PROMISC_ENABLE; + cmd.idx = 0; + ace_issue_cmd(regs, &cmd); + + ap->promisc = 1; + }else + ap->promisc = 0; + +#if 0 + { long myjif = jiffies + HZ; + while (jiffies < myjif); + } + + cmd.evt = C_LNK_NEGOTIATION; + cmd.code = 0; + cmd.idx = 0; + ace_issue_cmd(regs, &cmd); +#endif + + dev->tbusy = 0; + dev->interrupt = 0; + dev->start = 1; + + MOD_INC_USE_COUNT; + + /* + * Setup the timer + */ + init_timer(&ap->timer); + ap->timer.expires = jiffies + 5/2 * HZ; + ap->timer.data = (unsigned long)dev; + ap->timer.function = &ace_timer; + add_timer(&ap->timer); + return 0; +} + + +static int ace_close(struct device *dev) +{ + struct ace_private *ap; + struct ace_regs *regs; + struct cmd cmd; + unsigned long flags; + short i; + + dev->start = 0; + set_bit(0, (void*)&dev->tbusy); + + ap = (struct ace_private *)dev->priv; + regs = ap->regs; + + del_timer(&ap->timer); + + if (ap->promisc){ + cmd.evt = C_SET_PROMISC_MODE; + cmd.code = C_C_PROMISC_DISABLE; + cmd.idx = 0; + ace_issue_cmd(regs, &cmd); + ap->promisc = 0; + } + + cmd.evt = C_HOST_STATE; + cmd.code = C_C_STACK_DOWN; + cmd.idx = 0; + ace_issue_cmd(regs, &cmd); + + spin_lock_irqsave(&ap->lock, flags); + + for (i = 0; i < TX_RING_ENTRIES; i++) { + if (ap->tx_skbuff[i]) { + ap->tx_ring[i].size = 0; + ap->tx_ring[i].addr = 0; + dev_kfree_skb(ap->tx_skbuff[i]); + } + } + + if (ap->jumbo) + ace_flush_jumbo_rx_ring(dev); + + spin_unlock_irqrestore(&ap->lock, flags); + + MOD_DEC_USE_COUNT; + return 0; +} + + +static int ace_start_xmit(struct sk_buff *skb, struct device *dev) +{ + struct ace_private *ap = (struct ace_private *)dev->priv; + struct ace_regs *regs = ap->regs; + unsigned long flags; + u32 idx; + + spin_lock_irqsave(&ap->lock, flags); + + idx = ap->tx_prd; + + ap->tx_skbuff[idx] = skb; + ap->tx_ring[idx].addr = virt_to_bus(skb->data); + ap->tx_ring[idx].size = skb->len; + ap->tx_ring[idx].flags = DESC_END; + idx = (idx + 1) % TX_RING_ENTRIES; + + ap->tx_prd = idx; + regs->TxPrd = idx; + + if ((idx + 1) % TX_RING_ENTRIES == ap->tx_ret_csm){ + ap->tx_full = 1; + set_bit(0, (void*)&dev->tbusy); + } + + spin_unlock_irqrestore(&ap->lock, flags); + + dev->trans_start = jiffies; + return 0; +} + + +static int ace_change_mtu(struct device *dev, int new_mtu) +{ + struct ace_private *ap = dev->priv; + struct ace_regs *regs = ap->regs; + + if ((new_mtu < 68) || (new_mtu > ACE_JUMBO_MTU)) + return -EINVAL; + + regs->IfMtu = new_mtu + ETH_HLEN + 4; + dev->mtu = new_mtu; + + if (new_mtu > ACE_STD_MTU){ + if (!(ap->jumbo)){ + printk(KERN_INFO "%s: Enabling Jumbo frame " + "support\n", dev->name); + ap->jumbo = 1; + ace_load_jumbo_rx_ring(dev); + } + ap->jumbo = 1; + }else{ + if (ap->jumbo){ + ace_flush_jumbo_rx_ring(dev); + + printk(KERN_INFO "%s: Disabling Jumbo frame support\n", + dev->name); + } + ap->jumbo = 0; + } + + return 0; +} + + +/* + * Set the hardware MAC address. + */ +static int ace_set_mac_addr(struct device *dev, void *p) +{ + struct sockaddr *addr=p; + struct ace_regs *regs; + u16 *da; + struct cmd cmd; + + if(dev->start) + return -EBUSY; + memcpy(dev->dev_addr, addr->sa_data,dev->addr_len); + + da = (u16 *)dev->dev_addr; + + regs = ((struct ace_private *)dev->priv)->regs; + regs->MacAddrHi = da[0]; + regs->MacAddrLo = (da[1] << 16) | da[2]; + + cmd.evt = C_SET_MAC_ADDR; + cmd.code = 0; + cmd.idx = 0; + ace_issue_cmd(regs, &cmd); + + return 0; +} + + +static void ace_set_multicast_list(struct device *dev) +{ + struct ace_private *ap = dev->priv; + struct ace_regs *regs = ap->regs; + struct cmd cmd; + + if ((dev->flags & IFF_PROMISC) && !(ap->promisc)) { + cmd.evt = C_SET_PROMISC_MODE; + cmd.code = C_C_PROMISC_ENABLE; + cmd.idx = 0; + ace_issue_cmd(regs, &cmd); + + ap->promisc = 1; + }else if (!(dev->flags & IFF_PROMISC) && (ap->promisc)){ + cmd.evt = C_SET_PROMISC_MODE; + cmd.code = C_C_PROMISC_DISABLE; + cmd.idx = 0; + ace_issue_cmd(regs, &cmd); + + ap->promisc = 0; + } +} + + +static struct net_device_stats *ace_get_stats(struct device *dev) +{ + struct ace_private *ap = dev->priv; + + return(&ap->stats); +} + + +__initfunc(int ace_copy(struct ace_regs *regs, void *src, u32 dest, int size)) +{ + int tsize; + u32 tdest; + + while(size > 0){ + tsize = min(((~dest & (ACE_WINDOW_SIZE - 1)) + 1), + min(size, ACE_WINDOW_SIZE)); + tdest = dest & (ACE_WINDOW_SIZE - 1); + regs->WinBase = dest & ~(ACE_WINDOW_SIZE - 1); +#ifdef __BIG_ENDIAN +#error "data must be swapped here" +#else +#if 0 + printk("copying %04x from %08x to %06x (Window addr %08x), winbase %02x\n", tsize, (unsigned)src, dest, (unsigned) ((void *)regs->Window + tdest), regs->WinBase); +#endif + memcpy((void *)((void *)regs->Window + tdest), src, tsize); +#endif + dest += tsize; + src += tsize; + size -= tsize; + } + + return 0; +} + + +__initfunc(int ace_clear(struct ace_regs *regs, u32 dest, int size)) +{ + int tsize; + u32 tdest; + + while(size > 0){ + tsize = min(((~dest & (ACE_WINDOW_SIZE - 1)) + 1), + min(size, ACE_WINDOW_SIZE)); + tdest = dest & (ACE_WINDOW_SIZE - 1); + regs->WinBase = dest & ~(ACE_WINDOW_SIZE - 1); + + memset((void *)((void *)regs->Window + tdest), 0, tsize); + + dest += tsize; + size -= tsize; + } + + return 0; +} + + +/* + * Download the firmware into the SRAM on the NIC + * + * This operation requires the NIC to be halted and is performed with + * interrupts disabled and with the spinlock hold. + */ +__initfunc(int ace_load_firmware(struct device *dev)) +{ + struct ace_private *ap; + struct ace_regs *regs; + + ap = (struct ace_private *)dev->priv; + regs = ap->regs; + + if (!(regs->CpuCtrl & CPU_HALTED)){ + printk(KERN_ERR "%s: trying to download firmware while the " + "CPU is running!\n", dev->name); + return -EFAULT; + } + + ace_clear(regs, 0x2000, 0x100000-0x2000); + if (ap->version == 1){ + ace_copy(regs, tigonFwText, tigonFwTextAddr, tigonFwTextLen); + ace_copy(regs, tigonFwData, tigonFwDataAddr, tigonFwDataLen); + ace_copy(regs, tigonFwRodata, tigonFwRodataAddr, + tigonFwRodataLen); + ace_clear(regs, tigonFwBssAddr, tigonFwBssLen); + ace_clear(regs, tigonFwSbssAddr, tigonFwSbssLen); + }else if (ap->version == 2){ + ace_clear(regs, tigon2FwBssAddr, tigon2FwBssLen); + ace_clear(regs, tigon2FwSbssAddr, tigon2FwSbssLen); + ace_copy(regs, tigon2FwText, tigon2FwTextAddr,tigon2FwTextLen); + ace_copy(regs, tigon2FwRodata, tigon2FwRodataAddr, + tigon2FwRodataLen); + ace_copy(regs, tigon2FwData, tigon2FwDataAddr,tigon2FwDataLen); + } + + return 0; +} + + +/* + * The eeprom on the AceNIC is an Atmel i2c EEPROM. + * + * Accessing the EEPROM is `interesting' to say the least - don't read + * this code right after dinner. + * + * This is all about black magic and bit-banging the device .... I + * wonder in what hospital they have put the guy who designed the i2c + * specs. + * + * Oh yes, this is only the beginning! + */ +static void eeprom_start(struct ace_regs *regs) +{ + udelay(1); + regs->LocalCtrl |= (EEPROM_DATA_OUT | EEPROM_WRITE_ENABLE); + udelay(1); + regs->LocalCtrl |= EEPROM_CLK_OUT; + udelay(1); + regs->LocalCtrl &= ~EEPROM_DATA_OUT; + udelay(1); + regs->LocalCtrl &= ~EEPROM_CLK_OUT; +} + + +static void eeprom_prep(struct ace_regs *regs, u8 magic) +{ + short i; + + udelay(2); + regs->LocalCtrl &= ~EEPROM_DATA_OUT; + regs->LocalCtrl |= EEPROM_WRITE_ENABLE; + + for (i = 0; i < 8; i++, magic <<= 1) { + udelay(2); + if (magic & 0x80) + regs->LocalCtrl |= EEPROM_DATA_OUT; + else + regs->LocalCtrl &= ~EEPROM_DATA_OUT; + + udelay(1); + regs->LocalCtrl |= EEPROM_CLK_OUT; + udelay(1); + regs->LocalCtrl &= ~(EEPROM_CLK_OUT | EEPROM_DATA_OUT); + } +} + + +static int eeprom_check_ack(struct ace_regs *regs) +{ + int state; + + regs->LocalCtrl &= ~EEPROM_WRITE_ENABLE; + udelay(2); + regs->LocalCtrl |= EEPROM_CLK_OUT; + udelay(1); + /* sample data in middle of high clk */ + state = (regs->LocalCtrl & EEPROM_DATA_IN) != 0; + udelay(1); + regs->LocalCtrl &= ~EEPROM_CLK_OUT; + + return state; +} + + +static void eeprom_stop(struct ace_regs *regs) +{ + regs->LocalCtrl |= EEPROM_WRITE_ENABLE; + udelay(1); + regs->LocalCtrl &= ~EEPROM_DATA_OUT; + udelay(1); + regs->LocalCtrl |= EEPROM_CLK_OUT; + udelay(1); + regs->LocalCtrl |= EEPROM_DATA_OUT; + udelay(2); + regs->LocalCtrl &= ~EEPROM_CLK_OUT; +} + + +/* + * Read a whole byte from the EEPROM. + */ +static u8 read_eeprom_byte(struct ace_regs *regs, unsigned long offset) +{ + u32 i; + u8 result = 0; + + if (!regs){ + printk(KERN_ERR "No regs!\n"); + return 0; + } + + eeprom_start(regs); + + eeprom_prep(regs, EEPROM_WRITE_SELECT); + if (eeprom_check_ack(regs)){ + printk("Unable to sync eeprom\n"); + return 0; + } + + eeprom_prep(regs, (offset >> 8) & 0xff); + if (eeprom_check_ack(regs)) + return 0; + + eeprom_prep(regs, offset & 0xff); + if (eeprom_check_ack(regs)) + return 0; + + eeprom_start(regs); + eeprom_prep(regs, EEPROM_READ_SELECT); + if (eeprom_check_ack(regs)) + return 0; + + for (i = 0; i < 8; i++) { + regs->LocalCtrl &= ~EEPROM_WRITE_ENABLE; + udelay(2); + regs->LocalCtrl |= EEPROM_CLK_OUT; + udelay(1); + /* sample data mid high clk */ + result = (result << 1) | + ((regs->LocalCtrl & EEPROM_DATA_IN) != 0); + udelay(1); + regs->LocalCtrl &= ~EEPROM_CLK_OUT; + if (i == 7) + regs->LocalCtrl |= EEPROM_WRITE_ENABLE; + } + + regs->LocalCtrl |= EEPROM_DATA_OUT; + udelay(1); + regs->LocalCtrl |= EEPROM_CLK_OUT; + udelay(2); + regs->LocalCtrl &= ~EEPROM_CLK_OUT; + eeprom_stop(regs); + + return result; +} + + +/* + * Local variables: + * compile-command: "gcc -D__KERNEL__ -D__SMP__ -I/data/home/jes/linux/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -pipe -fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=686 -DMODULE -DMODVERSIONS -include /data/home/jes/linux/include/linux/modversions.h -c -o acenic.o acenic.c" + * End: + */ diff -u --recursive --new-file v2.1.129/linux/drivers/net/acenic.h linux/drivers/net/acenic.h --- v2.1.129/linux/drivers/net/acenic.h Wed Dec 31 16:00:00 1969 +++ linux/drivers/net/acenic.h Wed Nov 25 10:25:02 1998 @@ -0,0 +1,612 @@ +#ifndef _ACENIC_H_ +#define _ACENIC_H_ + +#if ((BITS_PER_LONG != 32) && (BITS_PER_LONG != 64)) +#error "BITS_PER_LONG not defined or not valid" +#endif + + +struct ace_regs { + + u32 pad0[16]; /* PCI control registers */ + + u32 HostCtrl; /* 0x40 */ + u32 LocalCtrl; + + u32 pad1[2]; + + u32 MiscCfg; /* 0x50 */ + + u32 pad2[2]; + + u32 PciState; + + u32 pad3[2]; /* 0x60 */ + + u32 WinBase; + u32 WinData; + + u32 pad4[12]; /* 0x70 */ + + u32 DmaWriteState; /* 0xa0 */ + u32 pad5[3]; + u32 DmaReadState; /* 0xb0 */ + + u32 pad6[26]; + + u32 AssistState; + + u32 pad7[8]; /* 0x120 */ + + u32 CpuCtrl; /* 0x140 */ + u32 Pc; + + u32 pad8[3]; + + u32 SramAddr; /* 0x154 */ + u32 SramData; + + u32 pad9[49]; + + u32 MacRxState; /* 0x220 */ + + u32 pad10[7]; + + u32 CpuBCtrl; /* 0x240 */ + u32 PcB; + + u32 pad11[3]; + + u32 SramBAddr; /* 0x254 */ + u32 SramBData; + + u32 pad12[105]; + + u32 pad13[32]; /* 0x400 */ + u32 Stats[32]; + + u32 Mb0Hi; /* 0x500 */ + u32 Mb0Lo; + u32 Mb1Hi; + u32 CmdPrd; + u32 Mb2Hi; + u32 TxPrd; + u32 Mb3Hi; + u32 Mb3Lo; + u32 Mb4Hi; + u32 Mb4Lo; + u32 Mb5Hi; + u32 Mb5Lo; + u32 Mb6Hi; + u32 Mb6Lo; + u32 Mb7Hi; + u32 Mb7Lo; + u32 Mb8Hi; + u32 Mb8Lo; + u32 Mb9Hi; + u32 Mb9Lo; + u32 MbAHi; + u32 MbALo; + u32 MbBHi; + u32 MbBLo; + u32 MbCHi; + u32 MbCLo; + u32 MbDHi; + u32 MbDLo; + u32 MbEHi; + u32 MbELo; + u32 MbFHi; + u32 MbFLo; + + u32 pad14[32]; + + u32 MacAddrHi; /* 0x600 */ + u32 MacAddrLo; + u32 InfoPtrHi; + u32 InfoPtrLo; + u32 MultiCastHi; /* 0x610 */ + u32 MultiCastLo; + u32 ModeStat; + u32 DmaReadCfg; + u32 DmaWriteCfg; /* 0x620 */ + u32 pad15; + u32 EvtCsm; + u32 CmdCsm; + u32 TuneRxCoalTicks;/* 0x630 */ + u32 TuneTxCoalTicks; + u32 TuneStatTicks; + u32 TuneMaxTxDesc; + u32 TuneMaxRxDesc; /* 0x640 */ + u32 TuneTrace; + u32 TuneLink; + u32 TuneFastLink; + u32 TracePtr; /* 0x650 */ + u32 TraceStrt; + u32 TraceLen; + u32 IfIdx; + u32 IfMtu; /* 0x660 */ + u32 MaskInt; + u32 LnkState; + u32 FastLnkState; + u32 pad16[4]; /* 0x670 */ + u32 RxRetCsm; /* 0x680 */ + + u32 pad17[31]; + + u32 CmdRng[64]; /* 0x700 */ + u32 Window[0x200]; +}; + +#define ACE_WINDOW_SIZE 0x800 + +#define ACE_JUMBO_MTU 9000 +#define ACE_STD_MTU 1500 + +/* + * Host control register bits. + */ + +#define IN_INT 0x01 +#define CLR_INT 0x02 +#define BYTE_SWAP 0x10 +#define WORD_SWAP 0x20 +#define MASK_INTS 0x40 + +/* + * Local control register bits. + */ + +#define EEPROM_DATA_IN 0x800000 +#define EEPROM_DATA_OUT 0x400000 +#define EEPROM_WRITE_ENABLE 0x200000 +#define EEPROM_CLK_OUT 0x100000 + +#define EEPROM_BASE 0xa0000000 + +#define EEPROM_WRITE_SELECT 0xa0 +#define EEPROM_READ_SELECT 0xa1 + +#define SRAM_BANK_512K 0x200 + + +/* + * Misc Config bits + */ + +#define SYNC_SRAM_TIMING 0x100000 + + +/* + * CPU state bits. + */ + +#define CPU_RESET 0x01 +#define CPU_TRACE 0x02 +#define CPU_PROM_FAILED 0x10 +#define CPU_HALT 0x00010000 +#define CPU_HALTED 0xffff0000 + + +/* + * PCI State bits. + */ + +#define DMA_READ_MAX_4 0x04 +#define DMA_READ_MAX_16 0x08 +#define DMA_READ_MAX_32 0x0c +#define DMA_READ_MAX_64 0x10 +#define DMA_READ_MAX_128 0x14 +#define DMA_READ_MAX_256 0x18 +#define DMA_READ_MAX_1K 0x1c +#define DMA_WRITE_MAX_4 0x20 +#define DMA_WRITE_MAX_16 0x40 +#define DMA_WRITE_MAX_32 0x60 +#define DMA_WRITE_MAX_64 0x80 +#define DMA_WRITE_MAX_128 0xa0 +#define DMA_WRITE_MAX_256 0xc0 +#define DMA_WRITE_MAX_1K 0xe0 +#define DMA_WRITE_ALL_ALIGN 0x00800000 +#define READ_CMD_MEM 0x06000000 +#define WRITE_CMD_MEM 0x70000000 + + +/* + * Transmit status. + */ + +#define ENA_XMIT 0x01 +#define PERM_CON 0x02 + + +/* + * Mode status + */ + +#define ACE_BYTE_SWAP_DATA 0x10 +#define ACE_WARN 0x08 +#define ACE_WORD_SWAP 0x04 +#define ACE_FATAL 0x40000000 + + +/* + * DMA config + */ + +#define DMA_THRESH_8W 0x80; + + +/* + * Tuning parameters + */ + +#define TICKS_PER_SEC 1000000 + + +/* + * Link bits + */ + +#define LNK_PREF 0x00008000 +#define LNK_10MB 0x00010000 +#define LNK_100MB 0x00020000 +#define LNK_1000MB 0x00040000 +#define LNK_FULL_DUPLEX 0x00080000 +#define LNK_HALF_DUPLEX 0x00100000 +#define LNK_TX_FLOW_CTL_Y 0x00200000 +#define LNK_NEG_ADVANCED 0x00400000 +#define LNK_RX_FLOW_CTL_Y 0x00800000 +#define LNK_NIC 0x01000000 +#define LNK_JAM 0x02000000 +#define LNK_JUMBO 0x04000000 +#define LNK_ALTEON 0x08000000 +#define LNK_NEG_FCTL 0x10000000 +#define LNK_NEGOTIATE 0x20000000 +#define LNK_ENABLE 0x40000000 +#define LNK_UP 0x80000000 + + +/* + * Event definitions + */ + +#define EVT_RING_ENTRIES 256 +#define EVT_RING_SIZE (EVT_RING_ENTRIES * sizeof(struct event)) + +struct event { +#ifdef __LITTLE_ENDIAN + u32 idx:12; + u32 code:12; + u32 evt:8; +#else + u32 evt:8; + u32 code:12; + u32 idx:12; +#endif + u32 pad; +}; + + +/* + * Events + */ + +#define E_FW_RUNNING 0x01 +#define E_STATS_UPDATED 0x04 + +#define E_STATS_UPDATE 0x04 + +#define E_LNK_STATE 0x06 +#define E_C_LINK_UP 0x01 +#define E_C_LINK_DOWN 0x02 + +#define E_ERROR 0x07 +#define E_C_ERR_INVAL_CMD 0x01 +#define E_C_ERR_UNIMP_CMD 0x02 +#define E_C_ERR_BAD_CFG 0x03 + +#define E_MCAST_LIST 0x08 +#define E_C_MCAST_ADDR_ADD 0x01 +#define E_C_MCAST_ADDR_DEL 0x02 + +#define E_RESET_JUMBO_RNG 0x09 + + +/* + * Commands + */ + +#define CMD_RING_ENTRIES 64 + +struct cmd { +#ifdef __LITTLE_ENDIAN + u32 idx:12; + u32 code:12; + u32 evt:8; +#else + u32 evt:8; + u32 code:12; + u32 idx:12; +#endif +}; + + +#define C_HOST_STATE 0x01 +#define C_C_STACK_UP 0x01 +#define C_C_STACK_DOWN 0x02 + +#define C_FDR_FILTERING 0x02 +#define C_C_FDR_FILT_ENABLE 0x01 +#define C_C_FDR_FILT_DISABLE 0x02 + +#define C_SET_RX_PRD_IDX 0x03 +#define C_UPDATE_STATS 0x04 +#define C_RESET_JUMBO_RNG 0x05 +#define C_ADD_MULTICAST_ADDR 0x08 +#define C_DEL_MULTICAST_ADDR 0x09 + +#define C_SET_PROMISC_MODE 0x0a +#define C_C_PROMISC_ENABLE 0x01 +#define C_C_PROMISC_DISABLE 0x02 + +#define C_LNK_NEGOTIATION 0x0b +#define C_SET_MAC_ADDR 0x0c +#define C_CLEAR_PROFILE 0x0d + +#define C_SET_MULTICAST_MODE 0x0e +#define C_C_MCAST_ENABLE 0x01 +#define C_C_MCAST_DISABLE 0x02 + +#define C_CLEAR_STATS 0x0f +#define C_SET_RX_JUMBO_PRD_IDX 0x10 +#define C_REFRESH_STATS 0x11 + + +/* + * Descriptor types. + */ + +#define DESC_TX 0x01 +#define DESC_RX 0x02 +#define DESC_END 0x04 +#define DESC_MORE 0x08 + +/* + * RX control block flags + */ + +#define RX_TCP_UDP_SUM 0x01 +#define RX_IP_SUM 0x02 +#define RX_SPLIT_HDRS 0x04 +#define RX_NO_PSEUDO_HDR_SUM 0x08 + +/* + * Descriptor flags + */ + +#define JUMBO_FLAG 0x10 + +/* + * TX ring + */ + +#define TX_RING_ENTRIES 128 +#define TX_RING_SIZE (TX_RING_ENTRIES * sizeof(struct tx_desc)) +#define TX_RING_BASE 0x3800 + +struct tx_desc{ +#if (BITS_PER_LONG == 64) + u64 addr; +#else + u32 zero; + u32 addr; +#endif +#if __LITTLE_ENDIAN + u16 flags; + u16 size; +#else + u16 size; + u16 flags; +#endif + u32 nic_addr; +}; + + +#define RX_STD_RING_ENTRIES 512 +#define RX_STD_RING_SIZE (RX_STD_RING_ENTRIES * sizeof(struct rx_desc)) + +#define RX_JUMBO_RING_ENTRIES 256 +#define RX_JUMBO_RING_SIZE (RX_JUMBO_RING_ENTRIES *sizeof(struct rx_desc)) + +#define RX_RETURN_RING_ENTRIES (2 * RX_STD_RING_ENTRIES) +#define RX_RETURN_RING_SIZE (RX_RETURN_RING_ENTRIES * \ + sizeof(struct rx_desc)) + +#define RX_RING_THRESH 32 + +struct rx_desc{ +#if (BITS_PER_LONG == 64) + u64 addr; +#else + u32 zero; + u32 addr; +#endif +#ifdef __LITTLE_ENDIAN + u16 size; + u16 idx; +#else + u16 idx; + u16 size; +#endif +#ifdef __LITTLE_ENDIAN + u16 flags; + u16 type; +#else + u16 type; + u16 flags; +#endif +#ifdef __LITTLE_ENDIAN + u16 tcp_udp_csum; + u16 ip_csum; +#else + u16 ip_csum; + u16 tcp_udp_csum; +#endif +#ifdef __LITTLE_ENDIAN + u16 reserved; + u16 err_flags; +#else + u16 err_flags; + u16 reserved; +#endif + u32 nic_addr; + u32 pad[1]; +}; + + +/* + * This struct is shared with the NIC firmware. + */ +struct ring_ctrl { +#if (BITS_PER_LONG == 64) + u64 rngptr; +#else + u32 zero; + u32 rngptr; +#endif +#ifdef __LITTLE_ENDIAN + u16 flags; + u16 max_len; +#else + u16 max_len; + u16 flags; +#endif + u32 pad; +}; + + +struct ace_mac_stats { + u32 excess_colls; + u32 coll_1; + u32 coll_2; + u32 coll_3; + u32 coll_4; + u32 coll_5; + u32 coll_6; + u32 coll_7; + u32 coll_8; + u32 coll_9; + u32 coll_10; + u32 coll_11; + u32 coll_12; + u32 coll_13; + u32 coll_14; + u32 coll_15; + u32 late_coll; + u32 defers; + u32 crc_err; + u32 underrun; + u32 crs_err; + u32 pad[3]; + u32 drop_ula; + u32 drop_mc; + u32 drop_fc; + u32 drop_space; + u32 coll; + u32 kept_bc; + u32 kept_mc; + u32 kept_uc; +}; + + +struct ace_info { + union { + u32 stats[256]; + } s; + struct ring_ctrl evt_ctrl; + struct ring_ctrl cmd_ctrl; + struct ring_ctrl tx_ctrl; + struct ring_ctrl rx_std_ctrl; + struct ring_ctrl rx_jumbo_ctrl; + struct ring_ctrl rx_return_ctrl; +#if (BITS_PER_LONG == 64) + u64 evt_prd_ptr; + u64 rx_ret_prd_ptr; + u64 tx_csm_ptr; + u64 stats2_ptr; +#else + u32 evt_prd_ptr_hi; + u32 evt_prd_ptr; + u32 rx_ret_prd_ptr_hi; + u32 rx_ret_prd_ptr; + u32 tx_csm_ptr_hi; + u32 tx_csm_ptr; + u32 stats2_ptr_hi; + u32 stats2_ptr; +#endif +}; + +/* + * Struct private for the AceNIC. + */ + +struct ace_private +{ + struct ace_regs *regs; /* register base */ + volatile __u32 *sgt; + struct sk_buff *pkt_buf; /* Receive buffer */ +/* + * The send ring is located in the shared memory window + */ + struct tx_desc *tx_ring; + struct rx_desc rx_std_ring[RX_STD_RING_ENTRIES]; + struct rx_desc rx_jumbo_ring[RX_JUMBO_RING_ENTRIES]; + struct rx_desc rx_return_ring[RX_RETURN_RING_ENTRIES]; + struct event evt_ring[EVT_RING_ENTRIES]; + struct ace_info *info; + struct sk_buff *tx_skbuff[TX_RING_ENTRIES]; + struct sk_buff *rx_std_skbuff[RX_STD_RING_ENTRIES]; + struct sk_buff *rx_jumbo_skbuff[RX_JUMBO_RING_ENTRIES]; + spinlock_t lock; + struct timer_list timer; + u32 cur_rx, tx_prd; + u32 dirty_rx, tx_ret_csm, dirty_event; + u32 rx_std_skbprd, rx_jumbo_skbprd; + u32 tx_full; + volatile u32 evt_prd + __attribute__ ((aligned (L1_CACHE_BYTES))); + volatile u32 rx_ret_prd + __attribute__ ((aligned (L1_CACHE_BYTES))); + volatile u32 tx_csm + __attribute__ ((aligned (L1_CACHE_BYTES))); + struct device *next + __attribute__ ((aligned (L1_CACHE_BYTES))); + int fw_running, fw_up, jumbo, promisc; + int version; + int vendor; + u16 pci_command; + u8 pci_bus; + u8 pci_dev_fun; + char name[24]; + struct net_device_stats stats; +}; + +/* + * Prototypes + */ +static int ace_init(struct device *dev); +static int ace_load_std_rx_ring(struct device *dev); +static int ace_load_jumbo_rx_ring(struct device *dev); +static int ace_flush_jumbo_rx_ring(struct device *dev); +static void ace_interrupt(int irq, void *dev_id, struct pt_regs *regs); + +static int ace_open(struct device *dev); +static int ace_start_xmit(struct sk_buff *skb, struct device *dev); +static int ace_close(struct device *dev); +static void ace_timer(unsigned long data); +static void ace_set_multicast_list(struct device *dev); +static int ace_change_mtu(struct device *dev, int new_mtu); +static int ace_set_mac_addr(struct device *dev, void *p); +static struct net_device_stats *ace_get_stats(struct device *dev); +static u8 read_eeprom_byte(struct ace_regs *regs, unsigned long offset); + +#endif /* _ACENIC_H_ */ diff -u --recursive --new-file v2.1.129/linux/drivers/net/acenic_firmware.h linux/drivers/net/acenic_firmware.h --- v2.1.129/linux/drivers/net/acenic_firmware.h Wed Dec 31 16:00:00 1969 +++ linux/drivers/net/acenic_firmware.h Wed Nov 25 10:25:02 1998 @@ -0,0 +1,5517 @@ +/* Generated by genfw.c */ +int tigonFwReleaseMajor = 0xc; +int tigonFwReleaseMinor = 0x1; +int tigonFwReleaseFix = 0x4; +u32 tigonFwStartAddr = 0x4000; +u32 tigonFwTextAddr = 0x4000; +int tigonFwTextLen = 0x10300; +u32 tigonFwDataAddr = 0x14d40; +int tigonFwDataLen = 0x140; +u32 tigonFwRodataAddr = 0x14300; +int tigonFwRodataLen = 0xa20; +u32 tigonFwBssAddr = 0x14eb0; +int tigonFwBssLen = 0x2080; +u32 tigonFwSbssAddr = 0x14e80; +int tigonFwSbssLen = 0x28; +u32 tigonFwText[(MAX_TEXT_LEN/4) + 1] = { +0x10000003, 0x0, 0xd, 0xd, 0x3c1d0001, 0x8fbd4d74, +0x3a0f021, 0x3c100000, 0x26104000, 0xc00100c, 0x0, 0xd, +0x27bdffd8, 0x3c1cc000, 0x3c1b0013, 0x377bd800, 0xd021, 0x3c170013, +0x36f75430, 0x2e02021, 0x340583d0, 0xafbf0024, 0xc00242c, 0xafb00020, +0xc00238c, 0x0, 0x3c040001, 0x24844360, 0x24050001, 0x2e03021, +0x3821, 0x3c100001, 0x26106f30, 0xafb00010, 0xc0023a7, 0xafbb0014, +0x3c02000f, 0x3442ffff, 0x2021024, 0x362102b, 0x10400009, 0x24050003, +0x3c040001, 0x2484436c, 0x2003021, 0x3603821, 0x3c020010, 0xafa20010, +0xc0023a7, 0xafa00014, 0x2021, 0x3405c000, 0x3c010001, 0x370821, +0xa02083a0, 0x3c010001, 0x370821, 0xa02083a2, 0x3c010001, 0x370821, +0xa02083a3, 0x3c010001, 0x370821, 0xac2083a4, 0xa2e004c8, 0x418c0, +0x24840001, 0x771021, 0xac40726c, 0x771021, 0xac407270, 0x2e31021, +0xa445726c, 0x2c820020, 0x1440fff7, 0x418c0, 0x2021, 0x3405c000, +0x418c0, 0x24840001, 0x771021, 0xac40736c, 0x771021, 0xac407370, +0x2e31021, 0xa445736c, 0x2c820080, 0x5440fff7, 0x418c0, 0xaf800054, +0xaf80011c, 0x8f820044, 0x34420040, 0xaf820044, 0x8f820044, 0x34420020, +0xaf820044, 0x8f420218, 0x30420002, 0x10400009, 0x0, 0x8f420220, +0x3c030002, 0x34630004, 0x431025, 0xaee204b4, 0x8f42021c, 0x8001074, +0x34420004, 0x8f420220, 0x3c030002, 0x34630006, 0x431025, 0xaee204b4, +0x8f42021c, 0x34420006, 0xaee204bc, 0x8f420218, 0x30420010, 0x1040000a, +0x0, 0x8f42021c, 0x34420004, 0xaee204b8, 0x8f420220, 0x3c03000a, +0x34630004, 0x431025, 0x800108a, 0xaee204b0, 0x8f420220, 0x3c03000a, +0x34630006, 0x431025, 0xaee204b0, 0x8f42021c, 0x34420006, 0xaee204b8, +0x8f420218, 0x30420200, 0x10400003, 0x24020001, 0x8001091, 0xa2e27238, +0xa2e07238, 0x24020001, 0xaf8200a0, 0xaf8200b0, 0x8f830054, 0x8f820054, +0x8001099, 0x24630064, 0x8f820054, 0x621023, 0x2c420065, 0x1440fffc, +0x0, 0xaf800044, 0x8f420208, 0x8f43020c, 0xaee20010, 0xaee30014, +0x8ee40010, 0x8ee50014, 0x26e20030, 0xaee20028, 0x24020480, 0xaee20018, +0xaf840090, 0xaf850094, 0x8ee20028, 0xaf8200b4, 0x96e2001a, 0xaf82009c, +0x8f8200b0, 0x8ee304bc, 0x431025, 0xaf8200b0, 0x8f8200b0, 0x30420004, +0x1440fffd, 0x0, 0x8ee20450, 0x8ee30454, 0xaee304ec, 0x8ee204ec, +0x2442e000, 0x2c422001, 0x1440000d, 0x26e40030, 0x8ee20450, 0x8ee30454, +0x3c040001, 0x24844378, 0x3c050001, 0xafa00010, 0xafa00014, 0x8ee704ec, +0x34a5f000, 0xc0023a7, 0x603021, 0x26e40030, 0xc00242c, 0x24050400, +0x27440080, 0xc00242c, 0x24050080, 0x26e4776c, 0xc00242c, 0x24050400, +0x8f42025c, 0x26e40094, 0xaee20060, 0x8f420260, 0x27450200, 0x24060008, +0xaee20068, 0x24020006, 0xc00243e, 0xaee20064, 0x3c023b9a, 0x3442ca00, +0x2021, 0x24030002, 0xaee30074, 0xaee30070, 0xaee2006c, 0x240203e8, +0xaee20104, 0x24020001, 0xaee30100, 0xaee2010c, 0x3c030001, 0x641821, +0x90634d40, 0x2e41021, 0x24840001, 0xa043009c, 0x2c82000f, 0x1440fff8, +0x0, 0x8f820040, 0x2e41821, 0x24840001, 0x21702, 0x24420030, +0xa062009c, 0x2e41021, 0xa040009c, 0x96e2046a, 0x30420003, 0x14400009, +0x0, 0x96e2047a, 0x30420003, 0x5040012b, 0x3c030800, 0x96e2046a, +0x30420003, 0x1040002a, 0x3c020700, 0x96e2047a, 0x30420003, 0x10400026, +0x3c020700, 0x96e3047a, 0x96e2046a, 0x14620022, 0x3c020700, 0x8ee204b0, +0x24030001, 0xa2e34e10, 0x34420e00, 0xaee204b0, 0x8f420218, 0x30420100, +0x10400005, 0x0, 0x3c020001, 0x2442ded0, 0x800111d, 0x21100, +0x3c020001, 0x2442d0d0, 0x21100, 0x21182, 0x3c030800, 0x431025, +0x3c010001, 0xac220f38, 0x3c020001, 0x2442f3c8, 0x21100, 0x21182, +0x3c030800, 0x431025, 0x3c010001, 0xac220f78, 0x8ee20000, 0x34424000, +0x8001232, 0xaee20000, 0x34423000, 0xafa20018, 0x8ee205f8, 0x8f430228, +0x24420001, 0x304900ff, 0x512300dc, 0xafa00010, 0x8ee205f8, 0x210c0, +0x571021, 0x8fa30018, 0x8fa4001c, 0xac4305fc, 0xac440600, 0x8f870120, +0x27623800, 0x24e80020, 0x102102b, 0x50400001, 0x27683000, 0x8f820128, +0x15020007, 0x1021, 0x8ee201a0, 0x3021, 0x24420001, 0xaee201a0, +0x800119d, 0x8ee201a0, 0x8ee405f8, 0x420c0, 0x801821, 0x8ee40430, +0x8ee50434, 0xa32821, 0xa3302b, 0x822021, 0x862021, 0xace40000, +0xace50004, 0x8ee305f8, 0x24020008, 0xa4e2000e, 0x2402000d, 0xace20018, +0xace9001c, 0x318c0, 0x246305fc, 0x2e31021, 0xace20008, 0x8ee204b4, +0xace20010, 0xaf880120, 0x92e24e10, 0x14400037, 0x24060001, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x8c830000, 0x24020007, 0x1462001f, +0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x24030040, 0x8c820004, +0x24420001, 0xac820004, 0x8ee24e24, 0x8ee54e20, 0x24420001, 0x10430007, +0x0, 0x8ee24e24, 0x24420001, 0x10a20005, 0x0, 0x8001187, +0x0, 0x14a00005, 0x0, 0x8f820128, 0x24420020, 0xaf820128, +0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, 0xac800000, 0x800119d, +0x0, 0x8ee24e20, 0x24030040, 0x24420001, 0x50430003, 0x1021, +0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0x24020007, 0xac820000, 0x24020001, 0xac820004, 0x54c0000c, +0xaee905f8, 0x3c040001, 0x24844384, 0xafa00010, 0xafa00014, 0x8ee605f8, +0x8f470228, 0x3c050009, 0xc0023a7, 0x34a5f000, 0x800121d, 0x0, +0x8f830120, 0x27623800, 0x24660020, 0xc2102b, 0x50400001, 0x27663000, +0x8f820128, 0x14c20007, 0x0, 0x8ee201a0, 0x3021, 0x24420001, +0xaee201a0, 0x8001201, 0x8ee201a0, 0x8ee205f8, 0xac62001c, 0x8ee40490, +0x8ee50494, 0x2462001c, 0xac620008, 0x24020008, 0xa462000e, 0x24020011, +0xac620018, 0xac640000, 0xac650004, 0x8ee204b4, 0xac620010, 0xaf860120, +0x92e24e10, 0x14400037, 0x24060001, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0x8c830000, 0x24020012, 0x1462001f, 0x0, 0x8ee34e20, +0x8ee24e24, 0x1062001b, 0x24030040, 0x8c820004, 0x24420001, 0xac820004, +0x8ee24e24, 0x8ee54e20, 0x24420001, 0x10430007, 0x0, 0x8ee24e24, +0x24420001, 0x10a20005, 0x0, 0x80011eb, 0x0, 0x14a00005, +0x0, 0x8f820128, 0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, +0x2c420011, 0x50400013, 0xac800000, 0x8001201, 0x0, 0x8ee24e20, +0x24030040, 0x24420001, 0x50430003, 0x1021, 0x8ee24e20, 0x24420001, +0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x24020012, +0xac820000, 0x24020001, 0xac820004, 0x14c0001b, 0x0, 0x3c040001, +0x2484438c, 0xafa00010, 0xafa00014, 0x8ee605f8, 0x8f470228, 0x3c050009, +0xc0023a7, 0x34a5f001, 0x8ee201ac, 0x24420001, 0xaee201ac, 0x800121d, +0x8ee201ac, 0x3c040001, 0x24844398, 0xafa00014, 0x8ee605f8, 0x8f470228, +0x3c050009, 0xc0023a7, 0x34a5f005, 0x8ee201a8, 0x24420001, 0xaee201a8, +0x8ee201a8, 0x8ee2015c, 0x3c040001, 0x248443a4, 0x3405f001, 0x24420001, +0xaee2015c, 0x8ee2015c, 0x3021, 0x3821, 0xafa00010, 0xc0023a7, +0xafa00014, 0x8001232, 0x0, 0x3c020001, 0x2442f2f0, 0x21100, +0x21182, 0x431025, 0x3c010001, 0xac220f78, 0x96e2045a, 0x30420003, +0x10400025, 0x3c050fff, 0x8ee204b8, 0x34a5ffff, 0x34420a00, 0xaee204b8, +0x8ee304b8, 0x3c040001, 0x248443b0, 0x24020001, 0xa2e204dc, 0xa2e204dd, +0x3c020002, 0x621825, 0x3c020001, 0x2442a1c0, 0x451024, 0x21082, +0xaee304b8, 0x3c030800, 0x431025, 0x3c010001, 0xac220f20, 0x3c020001, +0x2442abb4, 0x451024, 0x21082, 0x431025, 0x3c010001, 0xac220f80, +0x96e6045a, 0x3821, 0x24050011, 0xafa00010, 0xc0023a7, 0xafa00014, +0x8001262, 0x0, 0x3c020001, 0x2442a7e0, 0x21100, 0x21182, +0x3c030800, 0x431025, 0x3c010001, 0xac220f80, 0x96e2046a, 0x30420010, +0x14400009, 0x0, 0x96e2047a, 0x30420010, 0x1040010c, 0x0, +0x96e2046a, 0x30420010, 0x10400005, 0x3c020700, 0x96e2047a, 0x30420010, +0x144000fc, 0x3c020700, 0x34423000, 0xafa20018, 0x8ee205f8, 0x8f430228, +0x24420001, 0x304900ff, 0x512300dc, 0xafa00010, 0x8ee205f8, 0x210c0, +0x571021, 0x8fa30018, 0x8fa4001c, 0xac4305fc, 0xac440600, 0x8f870120, +0x27623800, 0x24e80020, 0x102102b, 0x50400001, 0x27683000, 0x8f820128, +0x15020007, 0x1021, 0x8ee201a0, 0x3021, 0x24420001, 0xaee201a0, +0x80012e1, 0x8ee201a0, 0x8ee405f8, 0x420c0, 0x801821, 0x8ee40430, +0x8ee50434, 0xa32821, 0xa3302b, 0x822021, 0x862021, 0xace40000, +0xace50004, 0x8ee305f8, 0x24020008, 0xa4e2000e, 0x2402000d, 0xace20018, +0xace9001c, 0x318c0, 0x246305fc, 0x2e31021, 0xace20008, 0x8ee204b4, +0xace20010, 0xaf880120, 0x92e24e10, 0x14400037, 0x24060001, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x8c830000, 0x24020007, 0x1462001f, +0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x24030040, 0x8c820004, +0x24420001, 0xac820004, 0x8ee24e24, 0x8ee54e20, 0x24420001, 0x10430007, +0x0, 0x8ee24e24, 0x24420001, 0x10a20005, 0x0, 0x80012cb, +0x0, 0x14a00005, 0x0, 0x8f820128, 0x24420020, 0xaf820128, +0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, 0xac800000, 0x80012e1, +0x0, 0x8ee24e20, 0x24030040, 0x24420001, 0x50430003, 0x1021, +0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0x24020007, 0xac820000, 0x24020001, 0xac820004, 0x54c0000c, +0xaee905f8, 0x3c040001, 0x24844384, 0xafa00010, 0xafa00014, 0x8ee605f8, +0x8f470228, 0x3c050009, 0xc0023a7, 0x34a5f000, 0x8001361, 0x0, +0x8f830120, 0x27623800, 0x24660020, 0xc2102b, 0x50400001, 0x27663000, +0x8f820128, 0x14c20007, 0x0, 0x8ee201a0, 0x3021, 0x24420001, +0xaee201a0, 0x8001345, 0x8ee201a0, 0x8ee205f8, 0xac62001c, 0x8ee40490, +0x8ee50494, 0x2462001c, 0xac620008, 0x24020008, 0xa462000e, 0x24020011, +0xac620018, 0xac640000, 0xac650004, 0x8ee204b4, 0xac620010, 0xaf860120, +0x92e24e10, 0x14400037, 0x24060001, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0x8c830000, 0x24020012, 0x1462001f, 0x0, 0x8ee34e20, +0x8ee24e24, 0x1062001b, 0x24030040, 0x8c820004, 0x24420001, 0xac820004, +0x8ee24e24, 0x8ee54e20, 0x24420001, 0x10430007, 0x0, 0x8ee24e24, +0x24420001, 0x10a20005, 0x0, 0x800132f, 0x0, 0x14a00005, +0x0, 0x8f820128, 0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, +0x2c420011, 0x50400013, 0xac800000, 0x8001345, 0x0, 0x8ee24e20, +0x24030040, 0x24420001, 0x50430003, 0x1021, 0x8ee24e20, 0x24420001, +0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x24020012, +0xac820000, 0x24020001, 0xac820004, 0x14c0001b, 0x0, 0x3c040001, +0x2484438c, 0xafa00010, 0xafa00014, 0x8ee605f8, 0x8f470228, 0x3c050009, +0xc0023a7, 0x34a5f001, 0x8ee201ac, 0x24420001, 0xaee201ac, 0x8001361, +0x8ee201ac, 0x3c040001, 0x24844398, 0xafa00014, 0x8ee605f8, 0x8f470228, +0x3c050009, 0xc0023a7, 0x34a5f005, 0x8ee201a8, 0x24420001, 0xaee201a8, +0x8ee201a8, 0x8ee2015c, 0x3c040001, 0x248443a4, 0x3405f002, 0x24420001, +0xaee2015c, 0x8ee2015c, 0x3021, 0x3821, 0xafa00010, 0xc0023a7, +0xafa00014, 0x96e6047a, 0x96e7046a, 0x3c040001, 0x248443bc, 0x24050012, +0xafa00010, 0xc0023a7, 0xafa00014, 0xc004440, 0x0, 0xc0022b8, +0x0, 0x3c060001, 0x34c63800, 0xaee005f8, 0xaf400228, 0xaf40022c, +0x96e30458, 0x8ee40000, 0x3c0512d8, 0x34a5c358, 0x27623800, 0xaee27248, +0x27623800, 0xaee27250, 0x27623800, 0xaee27254, 0x3661021, 0xaee27260, +0x2402ffff, 0xaee004c4, 0xaee004d0, 0xaee004d4, 0xaee004e0, 0xa2e004e4, +0xaee00dfc, 0xaee00e08, 0xaee00e00, 0xaee00e04, 0xaee00e0c, 0xaee0723c, +0xaee05234, 0xaee05230, 0xaee0522c, 0xaee07240, 0xaee07244, 0xaee0724c, +0xaee07258, 0xaee004c0, 0x2463ffff, 0x852025, 0xaee304e8, 0xaee40000, +0xaf800060, 0xaf820064, 0x3c020100, 0xafa20018, 0x8ee205f8, 0x8f430228, +0x24420001, 0x304900ff, 0x512300dc, 0xafa00010, 0x8ee205f8, 0x210c0, +0x571021, 0x8fa30018, 0x8fa4001c, 0xac4305fc, 0xac440600, 0x8f870120, +0x27623800, 0x24e80020, 0x102102b, 0x50400001, 0x27683000, 0x8f820128, +0x15020007, 0x1021, 0x8ee201a0, 0x3021, 0x24420001, 0xaee201a0, +0x8001413, 0x8ee201a0, 0x8ee405f8, 0x420c0, 0x801821, 0x8ee40430, +0x8ee50434, 0xa32821, 0xa3302b, 0x822021, 0x862021, 0xace40000, +0xace50004, 0x8ee305f8, 0x24020008, 0xa4e2000e, 0x2402000d, 0xace20018, +0xace9001c, 0x318c0, 0x246305fc, 0x2e31021, 0xace20008, 0x8ee204b4, +0xace20010, 0xaf880120, 0x92e24e10, 0x14400037, 0x24060001, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x8c830000, 0x24020007, 0x1462001f, +0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x24030040, 0x8c820004, +0x24420001, 0xac820004, 0x8ee24e24, 0x8ee54e20, 0x24420001, 0x10430007, +0x0, 0x8ee24e24, 0x24420001, 0x10a20005, 0x0, 0x80013fd, +0x0, 0x14a00005, 0x0, 0x8f820128, 0x24420020, 0xaf820128, +0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, 0xac800000, 0x8001413, +0x0, 0x8ee24e20, 0x24030040, 0x24420001, 0x50430003, 0x1021, +0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0x24020007, 0xac820000, 0x24020001, 0xac820004, 0x54c0000c, +0xaee905f8, 0x3c040001, 0x24844384, 0xafa00010, 0xafa00014, 0x8ee605f8, +0x8f470228, 0x3c050009, 0xc0023a7, 0x34a5f000, 0x8001493, 0x0, +0x8f830120, 0x27623800, 0x24660020, 0xc2102b, 0x50400001, 0x27663000, +0x8f820128, 0x14c20007, 0x0, 0x8ee201a0, 0x3021, 0x24420001, +0xaee201a0, 0x8001477, 0x8ee201a0, 0x8ee205f8, 0xac62001c, 0x8ee40490, +0x8ee50494, 0x2462001c, 0xac620008, 0x24020008, 0xa462000e, 0x24020011, +0xac620018, 0xac640000, 0xac650004, 0x8ee204b4, 0xac620010, 0xaf860120, +0x92e24e10, 0x14400037, 0x24060001, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0x8c830000, 0x24020012, 0x1462001f, 0x0, 0x8ee34e20, +0x8ee24e24, 0x1062001b, 0x24030040, 0x8c820004, 0x24420001, 0xac820004, +0x8ee24e24, 0x8ee54e20, 0x24420001, 0x10430007, 0x0, 0x8ee24e24, +0x24420001, 0x10a20005, 0x0, 0x8001461, 0x0, 0x14a00005, +0x0, 0x8f820128, 0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, +0x2c420011, 0x50400013, 0xac800000, 0x8001477, 0x0, 0x8ee24e20, +0x24030040, 0x24420001, 0x50430003, 0x1021, 0x8ee24e20, 0x24420001, +0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x24020012, +0xac820000, 0x24020001, 0xac820004, 0x14c0001b, 0x0, 0x3c040001, +0x2484438c, 0xafa00010, 0xafa00014, 0x8ee605f8, 0x8f470228, 0x3c050009, +0xc0023a7, 0x34a5f001, 0x8ee201ac, 0x24420001, 0xaee201ac, 0x8001493, +0x8ee201ac, 0x3c040001, 0x24844398, 0xafa00014, 0x8ee605f8, 0x8f470228, +0x3c050009, 0xc0023a7, 0x34a5f005, 0x8ee201a8, 0x24420001, 0xaee201a8, +0x8ee201a8, 0x8ee20150, 0x24420001, 0xaee20150, 0xc0014c8, 0x8ee20150, +0x8f8200a0, 0x30420004, 0x1440fffd, 0x0, 0x8f820040, 0x30420001, +0x14400008, 0x0, 0x8f430104, 0x24020001, 0x10620004, 0x0, +0x8f420264, 0x10400006, 0x0, 0x8ee20178, 0x24420001, 0xaee20178, +0x80014b3, 0x8ee20178, 0x8f820044, 0x34420004, 0xaf820044, 0x8ee20174, +0x24420001, 0xaee20174, 0x8ee20174, 0x8f8200d8, 0x8f8300d4, 0x431023, +0xaee2725c, 0x8ee2725c, 0x1c400003, 0x3c030001, 0x431021, 0xaee2725c, +0xc003fb0, 0x0, 0xc004380, 0xaf800228, 0x8fbf0024, 0x8fb00020, +0x3e00008, 0x27bd0028, 0x3e00008, 0x0, 0x3e00008, 0x0, +0x2402002c, 0xaf820050, 0xaee07264, 0x8f420238, 0xaee27268, 0x8f820054, +0x24420067, 0xaf820058, 0xaee07b78, 0xaee07b7c, 0xaee07b74, 0x3c010001, +0x370821, 0xac2083ac, 0x3c010001, 0x370821, 0x3e00008, 0xa02083a9, +0x27bdffd8, 0xafbf0024, 0xafb00020, 0x8f820054, 0x3c030001, 0x8c634dfc, +0x24420067, 0x1060000d, 0xaf820058, 0x3c020001, 0x571021, 0x904283a8, +0x10400005, 0x3c030200, 0x3c010001, 0x370821, 0x80014ef, 0xa02083a8, +0x8ee20000, 0x431025, 0xaee20000, 0x8f420218, 0x30420100, 0x104000c3, +0x0, 0x8f8200b0, 0x30420004, 0x104000bf, 0x0, 0x3c030001, +0x771821, 0x8c6383c0, 0x8f820104, 0x146200b1, 0x0, 0x3c030001, +0x771821, 0x8c6383c4, 0x8f8200b4, 0x146200ab, 0x0, 0x8f8200b0, +0x3c030080, 0x431024, 0x1040000d, 0x0, 0x8f82011c, 0x34420002, +0xaf82011c, 0x8f8200b0, 0x2403fffb, 0x431024, 0xaf8200b0, 0x8f82011c, +0x2403fffd, 0x431024, 0x80015b5, 0xaf82011c, 0x3c030001, 0x771821, +0x8c6383c0, 0x8f820104, 0x1462007f, 0x0, 0x3c030001, 0x771821, +0x8c6383c4, 0x8f8200b4, 0x14620079, 0x0, 0x3c070001, 0xf73821, +0x8ce783c0, 0x8f8200b0, 0x3c040001, 0x24844430, 0xafa00014, 0xafa20010, +0x8f8600b0, 0x3c050005, 0xc0023a7, 0x34a50900, 0x8f82011c, 0x34420002, +0xaf82011c, 0x8f830104, 0x8f8200b0, 0x34420001, 0xaf8200b0, 0xaf830104, +0x8f830120, 0x27623800, 0x24660020, 0xc2102b, 0x50400001, 0x27663000, +0x8f820128, 0x14c20006, 0x0, 0x8ee201a0, 0x24420001, 0xaee201a0, +0x8001589, 0x8ee201a0, 0x8f440208, 0x8f45020c, 0x26e20030, 0xac620008, +0x24020400, 0xa462000e, 0x2402000f, 0xac620018, 0xac60001c, 0xac640000, +0xac650004, 0x8ee204b4, 0xac620010, 0xaf860120, 0x92e24e10, 0x14400037, +0x0, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c830000, +0x24020007, 0x1462001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, +0x24030040, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee54e20, +0x24420001, 0x10430007, 0x0, 0x8ee24e24, 0x24420001, 0x10a20005, +0x0, 0x8001573, 0x0, 0x14a00005, 0x0, 0x8f820128, +0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, +0xac800000, 0x8001589, 0x0, 0x8ee24e20, 0x24030040, 0x24420001, +0x50430003, 0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x24020007, 0xac820000, 0x24020001, +0xac820004, 0x8f82011c, 0x2403fffd, 0x431024, 0xaf82011c, 0x8ee201d4, +0x3c070001, 0xf73821, 0x8ce783c0, 0x24420001, 0xaee201d4, 0x8ee201d4, +0x3c040001, 0x2484443c, 0x80015a6, 0xafa00010, 0x8f820104, 0x3c010001, +0x370821, 0xac2283c0, 0x8f8200b4, 0x3c070001, 0xf73821, 0x8ce783c0, +0x3c040001, 0x24844444, 0x3c010001, 0x370821, 0xac2283c4, 0xafa00010, +0xafa00014, 0x8f8600b0, 0x3c050005, 0xc0023a7, 0x34a50900, 0x80015b5, +0x0, 0x8f820104, 0x3c010001, 0x370821, 0xac2283c0, 0x8f8200b4, +0x3c010001, 0x370821, 0xac2283c4, 0x8ee27264, 0x92e304e4, 0x24420067, +0x14600006, 0xaee27264, 0x8ee27264, 0x8f430234, 0x43102b, 0x14400078, +0x0, 0x8ee304d4, 0x8ee204e8, 0x14620004, 0x0, 0x92e204e4, +0x50400071, 0xa2e004e4, 0x8f830120, 0x27623800, 0x24660020, 0xc2102b, +0x50400001, 0x27663000, 0x8f820128, 0x14c20007, 0x0, 0x8ee201a0, +0x8021, 0x24420001, 0xaee201a0, 0x800161d, 0x8ee201a0, 0x8ee204d4, +0xac62001c, 0x8ee404a0, 0x8ee504a4, 0x2462001c, 0xac620008, 0x24020008, +0xa462000e, 0x24020011, 0xac620018, 0xac640000, 0xac650004, 0x8ee204b4, +0xac620010, 0xaf860120, 0x92e24e10, 0x14400037, 0x24100001, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x8c830000, 0x24020012, 0x1462001f, +0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x24030040, 0x8c820004, +0x24420001, 0xac820004, 0x8ee24e24, 0x8ee54e20, 0x24420001, 0x10430007, +0x0, 0x8ee24e24, 0x24420001, 0x10a20005, 0x0, 0x8001607, +0x0, 0x14a00005, 0x0, 0x8f820128, 0x24420020, 0xaf820128, +0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, 0xac800000, 0x800161d, +0x0, 0x8ee24e20, 0x24030040, 0x24420001, 0x50430003, 0x1021, +0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0x24020012, 0xac820000, 0x24020001, 0xac820004, 0x5600000b, +0x24100001, 0x8ee204d4, 0x3c040001, 0x2484444c, 0xafa00014, 0xafa20010, +0x8ee605f8, 0x8f470228, 0x3c050009, 0xc0023a7, 0x34a5f006, 0x16000003, +0x24020001, 0x8001636, 0xa2e204e4, 0x8ee2016c, 0x24420001, 0xaee2016c, +0x8ee2016c, 0x8ee204d4, 0xa2e004e4, 0xaee004e0, 0xaee07264, 0xaee204e8, +0x8ee20e0c, 0x1040006a, 0x0, 0x8f830120, 0x27623800, 0x24660020, +0xc2102b, 0x50400001, 0x27663000, 0x8f820128, 0x14c20007, 0x0, +0x8ee201a0, 0x8021, 0x24420001, 0xaee201a0, 0x8001690, 0x8ee201a0, +0x8ee2723c, 0xac62001c, 0x8ee40498, 0x8ee5049c, 0x2462001c, 0xac620008, +0x24020008, 0xa462000e, 0x24020011, 0xac620018, 0xac640000, 0xac650004, +0x8ee204b4, 0xac620010, 0xaf860120, 0x92e24e10, 0x14400037, 0x24100001, +0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c830000, 0x24020012, +0x1462001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x24030040, +0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee54e20, 0x24420001, +0x10430007, 0x0, 0x8ee24e24, 0x24420001, 0x10a20005, 0x0, +0x800167a, 0x0, 0x14a00005, 0x0, 0x8f820128, 0x24420020, +0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, 0xac800000, +0x8001690, 0x0, 0x8ee24e20, 0x24030040, 0x24420001, 0x50430003, +0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, +0x24425028, 0x2e22021, 0x24020012, 0xac820000, 0x24020001, 0xac820004, +0x5600000b, 0x24100001, 0x8ee2723c, 0x3c040001, 0x24844458, 0xafa00014, +0xafa20010, 0x8ee6723c, 0x8f470280, 0x3c050009, 0xc0023a7, 0x34a5f008, +0x56000001, 0xaee00e0c, 0x8ee20170, 0x24420001, 0xaee20170, 0x8ee20170, +0x8ee24e14, 0x10400019, 0x0, 0xaee04e14, 0x8f820040, 0x30420001, +0x14400008, 0x0, 0x8f430104, 0x24020001, 0x10620004, 0x0, +0x8f420264, 0x10400006, 0x0, 0x8ee20178, 0x24420001, 0xaee20178, +0x80016bd, 0x8ee20178, 0x8f820044, 0x34420004, 0xaf820044, 0x8ee20174, +0x24420001, 0xaee20174, 0x8ee20174, 0x8ee27268, 0x2442ff99, 0xaee27268, +0x8ee27268, 0x1c400299, 0x0, 0x8f420238, 0x10400296, 0x0, +0x8f420080, 0xaee2004c, 0x8f4200c0, 0xaee20048, 0x8f420084, 0xaee20038, +0x8f420084, 0xaee20234, 0x8f420088, 0xaee20238, 0x8f42008c, 0xaee2023c, +0x8f420090, 0xaee20240, 0x8f420094, 0xaee20244, 0x8f420098, 0xaee20248, +0x8f42009c, 0xaee2024c, 0x8f4200a0, 0xaee20250, 0x8f4200a4, 0xaee20254, +0x8f4200a8, 0xaee20258, 0x8f4200ac, 0xaee2025c, 0x8f4200b0, 0xaee20260, +0x8f4200b4, 0xaee20264, 0x8f4200b8, 0xaee20268, 0x8f4200bc, 0x24040001, +0xaee2026c, 0xaee0003c, 0x41080, 0x571021, 0x8ee3003c, 0x8c420234, +0x24840001, 0x621821, 0x2c82000f, 0xaee3003c, 0x1440fff8, 0x41080, +0x8f4200cc, 0xaee20050, 0x8f4200d0, 0xaee20054, 0x8f830120, 0x27623800, +0x24660020, 0xc2102b, 0x50400001, 0x27663000, 0x8f820128, 0x14c20007, +0x0, 0x8ee201a0, 0x8021, 0x24420001, 0xaee201a0, 0x8001750, +0x8ee201a0, 0x8f440208, 0x8f45020c, 0x26e20030, 0xac620008, 0x24020400, +0xa462000e, 0x2402000f, 0xac620018, 0xac60001c, 0xac640000, 0xac650004, +0x8ee204b4, 0xac620010, 0xaf860120, 0x92e24e10, 0x14400037, 0x24100001, +0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c830000, 0x24020007, +0x1462001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x24030040, +0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee54e20, 0x24420001, +0x10430007, 0x0, 0x8ee24e24, 0x24420001, 0x10a20005, 0x0, +0x800173a, 0x0, 0x14a00005, 0x0, 0x8f820128, 0x24420020, +0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, 0xac800000, +0x8001750, 0x0, 0x8ee24e20, 0x24030040, 0x24420001, 0x50430003, +0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, +0x24425028, 0x2e22021, 0x24020007, 0xac820000, 0x24020001, 0xac820004, +0x12000206, 0x3c020400, 0xafa20018, 0x3c020001, 0x571021, 0x904283a0, +0x10400105, 0x0, 0x8ee205f8, 0x8f430228, 0x24420001, 0x304a00ff, +0x514300f7, 0xafa00010, 0x8ee205f8, 0x210c0, 0x571021, 0x8fa30018, +0x8fa4001c, 0xac4305fc, 0xac440600, 0x8f830054, 0x8f820054, 0x24690032, +0x1221023, 0x2c420033, 0x10400067, 0x5821, 0x24180008, 0x240f000d, +0x240d0007, 0x240c0040, 0x240e0001, 0x8f870120, 0x27623800, 0x24e80020, +0x102102b, 0x50400001, 0x27683000, 0x8f820128, 0x15020007, 0x1021, +0x8ee201a0, 0x8021, 0x24420001, 0xaee201a0, 0x80017cb, 0x8ee201a0, +0x8ee405f8, 0x420c0, 0x801821, 0x8ee40430, 0x8ee50434, 0xa32821, +0xa3302b, 0x822021, 0x862021, 0xace40000, 0xace50004, 0x8ee205f8, +0xa4f8000e, 0xacef0018, 0xacea001c, 0x210c0, 0x244205fc, 0x2e21021, +0xace20008, 0x8ee204b4, 0xace20010, 0xaf880120, 0x92e24e10, 0x14400033, +0x24100001, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c820000, +0x144d001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x0, +0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, 0x24420001, +0x104c0007, 0x0, 0x8ee24e24, 0x24420001, 0x10620005, 0x0, +0x80017b8, 0x0, 0x14600005, 0x0, 0x8f820128, 0x24420020, +0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400010, 0xac800000, +0x80017cb, 0x0, 0x8ee24e20, 0x24420001, 0x504c0003, 0x1021, +0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0xac8d0000, 0xac8e0004, 0x56000006, 0x240b0001, 0x8f820054, +0x1221023, 0x2c420033, 0x1440ffa0, 0x0, 0x316300ff, 0x24020001, +0x14620074, 0x3c050009, 0xaeea05f8, 0x8f830054, 0x8f820054, 0x24690032, +0x1221023, 0x2c420033, 0x1040005e, 0x5821, 0x240d0008, 0x240c0011, +0x24080012, 0x24070040, 0x240a0001, 0x8f830120, 0x27623800, 0x24660020, +0xc2102b, 0x50400001, 0x27663000, 0x8f820128, 0x14c20007, 0x0, +0x8ee201a0, 0x8021, 0x24420001, 0xaee201a0, 0x8001834, 0x8ee201a0, +0x8ee205f8, 0xac62001c, 0x8ee40490, 0x8ee50494, 0x2462001c, 0xac620008, +0xa46d000e, 0xac6c0018, 0xac640000, 0xac650004, 0x8ee204b4, 0xac620010, +0xaf860120, 0x92e24e10, 0x14400033, 0x24100001, 0x8ee24e20, 0x210c0, +0x24425028, 0x2e22021, 0x8c820000, 0x1448001f, 0x0, 0x8ee34e20, +0x8ee24e24, 0x1062001b, 0x0, 0x8c820004, 0x24420001, 0xac820004, +0x8ee24e24, 0x8ee34e20, 0x24420001, 0x10470007, 0x0, 0x8ee24e24, +0x24420001, 0x10620005, 0x0, 0x8001821, 0x0, 0x14600005, +0x0, 0x8f820128, 0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, +0x2c420011, 0x50400010, 0xac800000, 0x8001834, 0x0, 0x8ee24e20, +0x24420001, 0x50470003, 0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, +0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0xac880000, 0xac8a0004, +0x56000006, 0x240b0001, 0x8f820054, 0x1221023, 0x2c420033, 0x1440ffa9, +0x0, 0x316300ff, 0x24020001, 0x14620003, 0x3c050009, 0x800194b, +0x24100001, 0x3c040001, 0x24844464, 0xafa00010, 0xafa00014, 0x8f860120, +0x8f870124, 0x8001850, 0x34a5f011, 0x3c040001, 0x24844470, 0xafa00010, +0xafa00014, 0x8f860120, 0x8f870124, 0x34a5f010, 0xc0023a7, 0x8021, +0x800194b, 0x0, 0x3c040001, 0x2484447c, 0xafa00014, 0x8ee605f8, +0x8f470228, 0x3c050009, 0x8001944, 0x34a5f00f, 0x8ee205f8, 0x8f430228, +0x24420001, 0x304900ff, 0x512300dc, 0xafa00010, 0x8ee205f8, 0x210c0, +0x571021, 0x8fa30018, 0x8fa4001c, 0xac4305fc, 0xac440600, 0x8f870120, +0x27623800, 0x24e80020, 0x102102b, 0x50400001, 0x27683000, 0x8f820128, +0x15020007, 0x1021, 0x8ee201a0, 0x8021, 0x24420001, 0xaee201a0, +0x80018c9, 0x8ee201a0, 0x8ee405f8, 0x420c0, 0x801821, 0x8ee40430, +0x8ee50434, 0xa32821, 0xa3302b, 0x822021, 0x862021, 0xace40000, +0xace50004, 0x8ee305f8, 0x24020008, 0xa4e2000e, 0x2402000d, 0xace20018, +0xace9001c, 0x318c0, 0x246305fc, 0x2e31021, 0xace20008, 0x8ee204b4, +0xace20010, 0xaf880120, 0x92e24e10, 0x14400037, 0x24100001, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x8c830000, 0x24020007, 0x1462001f, +0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x24030040, 0x8c820004, +0x24420001, 0xac820004, 0x8ee24e24, 0x8ee54e20, 0x24420001, 0x10430007, +0x0, 0x8ee24e24, 0x24420001, 0x10a20005, 0x0, 0x80018b3, +0x0, 0x14a00005, 0x0, 0x8f820128, 0x24420020, 0xaf820128, +0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, 0xac800000, 0x80018c9, +0x0, 0x8ee24e20, 0x24030040, 0x24420001, 0x50430003, 0x1021, +0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0x24020007, 0xac820000, 0x24020001, 0xac820004, 0x5600000c, +0xaee905f8, 0x3c040001, 0x24844488, 0xafa00010, 0xafa00014, 0x8ee605f8, +0x8f470228, 0x3c050009, 0xc0023a7, 0x34a5f000, 0x800194b, 0x0, +0x8f830120, 0x27623800, 0x24660020, 0xc2102b, 0x50400001, 0x27663000, +0x8f820128, 0x14c20007, 0x0, 0x8ee201a0, 0x8021, 0x24420001, +0xaee201a0, 0x800192d, 0x8ee201a0, 0x8ee205f8, 0xac62001c, 0x8ee40490, +0x8ee50494, 0x2462001c, 0xac620008, 0x24020008, 0xa462000e, 0x24020011, +0xac620018, 0xac640000, 0xac650004, 0x8ee204b4, 0xac620010, 0xaf860120, +0x92e24e10, 0x14400037, 0x24100001, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0x8c830000, 0x24020012, 0x1462001f, 0x0, 0x8ee34e20, +0x8ee24e24, 0x1062001b, 0x24030040, 0x8c820004, 0x24420001, 0xac820004, +0x8ee24e24, 0x8ee54e20, 0x24420001, 0x10430007, 0x0, 0x8ee24e24, +0x24420001, 0x10a20005, 0x0, 0x8001917, 0x0, 0x14a00005, +0x0, 0x8f820128, 0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, +0x2c420011, 0x50400013, 0xac800000, 0x800192d, 0x0, 0x8ee24e20, +0x24030040, 0x24420001, 0x50430003, 0x1021, 0x8ee24e20, 0x24420001, +0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x24020012, +0xac820000, 0x24020001, 0xac820004, 0x5600001d, 0x24100001, 0x3c040001, +0x24844490, 0xafa00010, 0xafa00014, 0x8ee605f8, 0x8f470228, 0x3c050009, +0xc0023a7, 0x34a5f001, 0x8ee201ac, 0x24420001, 0xaee201ac, 0x800194b, +0x8ee201ac, 0x3c040001, 0x2484449c, 0xafa00014, 0x8ee605f8, 0x8f470228, +0x3c050009, 0x34a5f005, 0xc0023a7, 0x0, 0x8ee201a8, 0x8021, +0x24420001, 0xaee201a8, 0x8ee201a8, 0x1200000c, 0x24020001, 0x3c010001, +0x370821, 0xa02083a0, 0x8f420238, 0x8ee30154, 0x24630001, 0xaee30154, +0x8ee30154, 0x800195b, 0xaee27268, 0x24020001, 0x3c010001, 0x370821, +0xa02283a0, 0x3c020001, 0x8c424dfc, 0x10400181, 0x0, 0x8ee27b74, +0x24430001, 0x284200c9, 0x1440019e, 0xaee37b74, 0x8ee204c4, 0x30420002, +0x14400113, 0xaee07b74, 0x8ee204c4, 0x3c030600, 0x34631000, 0x34420002, +0xaee204c4, 0xafa30018, 0x8ee205f8, 0x8f430228, 0x24420001, 0x304a00ff, +0x514300f7, 0xafa00010, 0x8ee205f8, 0x210c0, 0x571021, 0x8fa30018, +0x8fa4001c, 0xac4305fc, 0xac440600, 0x8f830054, 0x8f820054, 0x24690032, +0x1221023, 0x2c420033, 0x10400067, 0x5821, 0x24180008, 0x240f000d, +0x240d0007, 0x240c0040, 0x240e0001, 0x8f870120, 0x27623800, 0x24e80020, +0x102102b, 0x50400001, 0x27683000, 0x8f820128, 0x15020007, 0x1021, +0x8ee201a0, 0x8021, 0x24420001, 0xaee201a0, 0x80019e1, 0x8ee201a0, +0x8ee405f8, 0x420c0, 0x801821, 0x8ee40430, 0x8ee50434, 0xa32821, +0xa3302b, 0x822021, 0x862021, 0xace40000, 0xace50004, 0x8ee205f8, +0xa4f8000e, 0xacef0018, 0xacea001c, 0x210c0, 0x244205fc, 0x2e21021, +0xace20008, 0x8ee204b4, 0xace20010, 0xaf880120, 0x92e24e10, 0x14400033, +0x24100001, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c820000, +0x144d001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x0, +0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, 0x24420001, +0x104c0007, 0x0, 0x8ee24e24, 0x24420001, 0x10620005, 0x0, +0x80019ce, 0x0, 0x14600005, 0x0, 0x8f820128, 0x24420020, +0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400010, 0xac800000, +0x80019e1, 0x0, 0x8ee24e20, 0x24420001, 0x504c0003, 0x1021, +0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0xac8d0000, 0xac8e0004, 0x56000006, 0x240b0001, 0x8f820054, +0x1221023, 0x2c420033, 0x1440ffa0, 0x0, 0x316300ff, 0x24020001, +0x54620075, 0xafa00010, 0xaeea05f8, 0x8f830054, 0x8f820054, 0x24690032, +0x1221023, 0x2c420033, 0x1040005e, 0x5821, 0x240d0008, 0x240c0011, +0x24080012, 0x24070040, 0x240a0001, 0x8f830120, 0x27623800, 0x24660020, +0xc2102b, 0x50400001, 0x27663000, 0x8f820128, 0x14c20007, 0x0, +0x8ee201a0, 0x8021, 0x24420001, 0xaee201a0, 0x8001a4a, 0x8ee201a0, +0x8ee205f8, 0xac62001c, 0x8ee40490, 0x8ee50494, 0x2462001c, 0xac620008, +0xa46d000e, 0xac6c0018, 0xac640000, 0xac650004, 0x8ee204b4, 0xac620010, +0xaf860120, 0x92e24e10, 0x14400033, 0x24100001, 0x8ee24e20, 0x210c0, +0x24425028, 0x2e22021, 0x8c820000, 0x1448001f, 0x0, 0x8ee34e20, +0x8ee24e24, 0x1062001b, 0x0, 0x8c820004, 0x24420001, 0xac820004, +0x8ee24e24, 0x8ee34e20, 0x24420001, 0x10470007, 0x0, 0x8ee24e24, +0x24420001, 0x10620005, 0x0, 0x8001a37, 0x0, 0x14600005, +0x0, 0x8f820128, 0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, +0x2c420011, 0x50400010, 0xac800000, 0x8001a4a, 0x0, 0x8ee24e20, +0x24420001, 0x50470003, 0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, +0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0xac880000, 0xac8a0004, +0x56000006, 0x240b0001, 0x8f820054, 0x1221023, 0x2c420033, 0x1440ffa9, +0x0, 0x316300ff, 0x24020001, 0x10620022, 0x0, 0x3c040001, +0x24844464, 0xafa00010, 0xafa00014, 0x8f860120, 0x8f870124, 0x3c050009, +0xc0023a7, 0x34a5f011, 0x8001a76, 0x0, 0x3c040001, 0x24844470, +0xafa00014, 0x8f860120, 0x8f870124, 0x3c050009, 0xc0023a7, 0x34a5f010, +0x8001a76, 0x0, 0x3c040001, 0x2484447c, 0xafa00014, 0x8ee605f8, +0x8f470228, 0x3c050009, 0xc0023a7, 0x34a5f00f, 0x8ee201a8, 0x24420001, +0xaee201a8, 0x8ee201a8, 0x8ee20158, 0x24420001, 0xaee20158, 0x8ee20158, +0x8ee204c4, 0x30420001, 0x10400055, 0x0, 0x8f420218, 0x30420080, +0x10400029, 0x0, 0x8f820044, 0x34420040, 0xaf820044, 0x8ee27b6c, +0x402821, 0x8ee200c0, 0x8ee300c4, 0x24060000, 0x2407ffff, 0x2021, +0x461024, 0x1444000d, 0x671824, 0x1465000b, 0x0, 0x8ee27b70, +0x402821, 0x8ee200e0, 0x8ee300e4, 0x2021, 0x461024, 0x14440003, +0x671824, 0x1065000b, 0x0, 0x8ee200c0, 0x8ee300c4, 0x8ee400e0, +0x8ee500e4, 0xaee37b6c, 0xaee57b70, 0x8f820044, 0x38420020, 0x8001b01, +0xaf820044, 0x8f820044, 0x2403ffdf, 0x431024, 0x8001b01, 0xaf820044, +0x8f820044, 0x2403ffdf, 0x431024, 0xaf820044, 0x8ee27b6c, 0x402821, +0x8ee200c0, 0x8ee300c4, 0x24060000, 0x2407ffff, 0x2021, 0x461024, +0x1444000d, 0x671824, 0x1465000b, 0x0, 0x8ee27b70, 0x402821, +0x8ee200e0, 0x8ee300e4, 0x2021, 0x461024, 0x14440003, 0x671824, +0x1065000b, 0x0, 0x8ee200c0, 0x8ee300c4, 0x8ee400e0, 0x8ee500e4, +0xaee37b6c, 0xaee57b70, 0x8f820044, 0x38420040, 0x8001b01, 0xaf820044, +0x8f820044, 0x34420040, 0x8001b01, 0xaf820044, 0x8f820044, 0x34420040, +0xaf820044, 0x8ee27b7c, 0x24430001, 0x28420015, 0x14400028, 0xaee37b7c, +0x8f820044, 0x38420020, 0xaf820044, 0x8001b01, 0xaee07b7c, 0x8ee204c4, +0x30420001, 0x10400011, 0x0, 0x8f420218, 0x30420080, 0x10400009, +0x0, 0x8f820044, 0x34420020, 0xaf820044, 0x8f820044, 0x2403ffbf, +0x431024, 0x8001aff, 0xaf820044, 0x8f820044, 0x34420060, 0x8001aff, +0xaf820044, 0x8f820044, 0x34420040, 0xaf820044, 0x8ee27b78, 0x24430001, +0x28421389, 0x14400005, 0xaee37b78, 0x8f820044, 0x38420020, 0xaf820044, +0xaee07b78, 0xc0044fc, 0x0, 0x8fbf0024, 0x8fb00020, 0x3e00008, +0x27bd0028, 0x0, 0x0, 0x0, 0x27bdffb8, 0xafbf0044, +0xafb60040, 0xafb5003c, 0xafb40038, 0xafb30034, 0xafb20030, 0xafb1002c, +0xafb00028, 0x8f960064, 0x32c20004, 0x1040000c, 0x24020004, 0xaf820064, +0x8f420114, 0xaee204d0, 0x8f820060, 0x34420008, 0xaf820060, 0x8ee20168, +0x24420001, 0xaee20168, 0x8002293, 0x8ee20168, 0x32c20001, 0x10400004, +0x24020001, 0xaf820064, 0x8002293, 0x0, 0x32c20002, 0x1040076b, +0x0, 0x8f43022c, 0x8f42010c, 0x5062000c, 0xafa00010, 0x8f42022c, +0x21080, 0x5a1021, 0x8c420300, 0xafa20020, 0x8f42022c, 0x24070001, +0x24420001, 0x3042003f, 0x8001b41, 0xaf42022c, 0x3c040001, 0x24844510, +0xafa00014, 0x8f46022c, 0x8f47010c, 0x3c050003, 0xc0023a7, 0x34a5f01f, +0x3821, 0x14e00003, 0x0, 0x800228c, 0xaf960064, 0x93a20020, +0x2443ffff, 0x2c620011, 0x1040063c, 0x31080, 0x3c010001, 0x220821, +0x8c2245c8, 0x400008, 0x0, 0x8fa20020, 0x30420fff, 0xaee20dfc, +0x8f820060, 0x34420200, 0xaf820060, 0x8ee20118, 0x24420001, 0xaee20118, +0x8002287, 0x8ee20118, 0x8fa20020, 0x24030001, 0x3c010001, 0x370821, +0xa02383a1, 0x30420fff, 0xaee25228, 0x8f820060, 0x34420100, 0xaf820060, +0x8ee20144, 0x24420001, 0xaee20144, 0x8002287, 0x8ee20144, 0x8fa20020, +0x21200, 0x22502, 0x24020001, 0x10820005, 0x24020002, 0x10820009, +0x2402fffe, 0x8001b8a, 0xafa00010, 0x8ee204c4, 0xaee40070, 0xaee40074, +0x34420001, 0x8001b7e, 0xaee204c4, 0x8ee304c4, 0xaee40070, 0xaee40074, +0x621824, 0xaee304c4, 0x8f840054, 0x41442, 0x41c82, 0x431021, +0x41cc2, 0x431023, 0x41d02, 0x431021, 0x41d42, 0x431023, +0x8001b91, 0xaee20078, 0x3c040001, 0x2484451c, 0xafa00014, 0x8fa60020, +0x3c050003, 0xc0023a7, 0x34a50004, 0x8ee20110, 0x24420001, 0xaee20110, +0x8002287, 0x8ee20110, 0x27440212, 0xc00229d, 0x24050006, 0x3049001f, +0x920c0, 0x2e41021, 0x9442726c, 0x30424000, 0x1040000a, 0x971021, +0x97430212, 0xa443726e, 0x8f430214, 0x971021, 0xac437270, 0x2e41821, +0x34028000, 0x8001c38, 0xa462726c, 0x9443726e, 0x97420212, 0x14620006, +0x2e41021, 0x971021, 0x8c437270, 0x8f420214, 0x1062009d, 0x2e41021, +0x9442726c, 0x30428000, 0x10400028, 0x2406ffff, 0x2021, 0x410c0, +0x2e21021, 0x9442736c, 0x30424000, 0x54400005, 0x803021, 0x24840001, +0x2c820080, 0x1440fff8, 0x410c0, 0x4c10010, 0x620c0, 0x610c0, +0x571821, 0x8c63736c, 0x571021, 0xafa30010, 0x8c427370, 0x3c040001, +0x24844528, 0xafa20014, 0x8f470214, 0x3c050003, 0xc0023a7, 0x34a50013, +0x8001c4f, 0x3c020800, 0x97430212, 0x971021, 0xa443736e, 0x8f430214, +0x971021, 0xac437370, 0x910c0, 0x2e21021, 0x2e41821, 0x8001c36, +0xa446726c, 0x2e41021, 0x9445726c, 0x8001bed, 0x510c0, 0x9443736e, +0x97420212, 0x14620006, 0x510c0, 0x971021, 0x8c437370, 0x8f420214, +0x10620065, 0x510c0, 0x2e21021, 0x9445736c, 0x510c0, 0x2e21021, +0x9442736c, 0x30428000, 0x1040fff0, 0x971021, 0x520c0, 0x971021, +0x9443736e, 0x97420212, 0x14620006, 0x2406ffff, 0x971021, 0x8c437370, +0x8f420214, 0x10620053, 0x3c020800, 0x2021, 0x410c0, 0x2e21021, +0x9442736c, 0x30424000, 0x54400005, 0x803021, 0x24840001, 0x2c820080, +0x1440fff8, 0x410c0, 0x4c10023, 0x620c0, 0x910c0, 0x571821, +0x8c63726c, 0x571021, 0xafa30010, 0x8c427270, 0x3c040001, 0x24844534, +0xafa20014, 0x8f470214, 0x3c050003, 0xc0023a7, 0x34a5f017, 0x8001c4f, +0x3c020800, 0x8f430210, 0xb71021, 0xac43776c, 0x8f430214, 0xb71021, +0xac437770, 0x3c020001, 0x571021, 0x8c4283a4, 0x24420001, 0x3c010001, +0x370821, 0xac2283a4, 0x3c030001, 0x771821, 0x8c6383a4, 0x2e51021, +0x8001c41, 0xa443776c, 0x97430212, 0x971021, 0xa443736e, 0x8f430214, +0x971021, 0xac437370, 0x510c0, 0x2e21021, 0x2e41821, 0xa446736c, +0x34028000, 0xa462736c, 0x2021, 0x428c0, 0x2e51021, 0x9442776c, +0x1040ffdc, 0x24840001, 0x2c820080, 0x5440fffa, 0x428c0, 0x92e204c8, +0x10400006, 0x24020001, 0x8ee304cc, 0x1221004, 0x621825, 0x8001c4e, +0xaee304cc, 0x8f830228, 0x24020001, 0x1221004, 0x621825, 0xaf830228, +0x3c020800, 0x34421000, 0xafa20018, 0x8ee205f8, 0x8f430228, 0x24420001, +0x304a00ff, 0x514300f7, 0xafa00010, 0x8ee205f8, 0x210c0, 0x571021, +0x8fa30018, 0x8fa4001c, 0xac4305fc, 0xac440600, 0x8f830054, 0x8f820054, +0x24690032, 0x1221023, 0x2c420033, 0x10400067, 0x5821, 0x24100008, +0x240f000d, 0x240d0007, 0x240c0040, 0x240e0001, 0x8f870120, 0x27623800, +0x24e80020, 0x102102b, 0x50400001, 0x27683000, 0x8f820128, 0x15020007, +0x1021, 0x8ee201a0, 0x3821, 0x24420001, 0xaee201a0, 0x8001cc4, +0x8ee201a0, 0x8ee405f8, 0x420c0, 0x801821, 0x8ee40430, 0x8ee50434, +0xa32821, 0xa3302b, 0x822021, 0x862021, 0xace40000, 0xace50004, +0x8ee205f8, 0xa4f0000e, 0xacef0018, 0xacea001c, 0x210c0, 0x244205fc, +0x2e21021, 0xace20008, 0x8ee204b4, 0xace20010, 0xaf880120, 0x92e24e10, +0x14400033, 0x24070001, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, +0x8c820000, 0x144d001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, +0x0, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, +0x24420001, 0x104c0007, 0x0, 0x8ee24e24, 0x24420001, 0x10620005, +0x0, 0x8001cb1, 0x0, 0x14600005, 0x0, 0x8f820128, +0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400010, +0xac800000, 0x8001cc4, 0x0, 0x8ee24e20, 0x24420001, 0x504c0003, +0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, +0x24425028, 0x2e22021, 0xac8d0000, 0xac8e0004, 0x54e00006, 0x240b0001, +0x8f820054, 0x1221023, 0x2c420033, 0x1440ffa0, 0x0, 0x316300ff, +0x24020001, 0x54620075, 0xafa00010, 0xaeea05f8, 0x8f830054, 0x8f820054, +0x24690032, 0x1221023, 0x2c420033, 0x1040005e, 0x5821, 0x240e0008, +0x240d0011, 0x240a0012, 0x24080040, 0x240c0001, 0x8f830120, 0x27623800, +0x24660020, 0xc2102b, 0x50400001, 0x27663000, 0x8f820128, 0x14c20007, +0x0, 0x8ee201a0, 0x3821, 0x24420001, 0xaee201a0, 0x8001d2d, +0x8ee201a0, 0x8ee205f8, 0xac62001c, 0x8ee40490, 0x8ee50494, 0x2462001c, +0xac620008, 0xa46e000e, 0xac6d0018, 0xac640000, 0xac650004, 0x8ee204b4, +0xac620010, 0xaf860120, 0x92e24e10, 0x14400033, 0x24070001, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x8c820000, 0x144a001f, 0x0, +0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x0, 0x8c820004, 0x24420001, +0xac820004, 0x8ee24e24, 0x8ee34e20, 0x24420001, 0x10480007, 0x0, +0x8ee24e24, 0x24420001, 0x10620005, 0x0, 0x8001d1a, 0x0, +0x14600005, 0x0, 0x8f820128, 0x24420020, 0xaf820128, 0x8f820128, +0x8c820004, 0x2c420011, 0x50400010, 0xac800000, 0x8001d2d, 0x0, +0x8ee24e20, 0x24420001, 0x50480003, 0x1021, 0x8ee24e20, 0x24420001, +0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0xac8a0000, +0xac8c0004, 0x54e00006, 0x240b0001, 0x8f820054, 0x1221023, 0x2c420033, +0x1440ffa9, 0x0, 0x316300ff, 0x24020001, 0x10620022, 0x0, +0x3c040001, 0x24844540, 0xafa00010, 0xafa00014, 0x8f860120, 0x8f870124, +0x3c050009, 0xc0023a7, 0x34a5f011, 0x8001d59, 0x0, 0x3c040001, +0x2484454c, 0xafa00014, 0x8f860120, 0x8f870124, 0x3c050009, 0xc0023a7, +0x34a5f010, 0x8001d59, 0x0, 0x3c040001, 0x24844558, 0xafa00014, +0x8ee605f8, 0x8f470228, 0x3c050009, 0xc0023a7, 0x34a5f00f, 0x8ee201a8, +0x24420001, 0xaee201a8, 0x8ee201a8, 0x8ee20124, 0x24420001, 0xaee20124, +0x8001f47, 0x8ee20124, 0x27440212, 0xc00229d, 0x24050006, 0x3049001f, +0x928c0, 0x2e51021, 0x9442726c, 0x30428000, 0x1040002d, 0xb71021, +0x9443726e, 0x97420212, 0x1462001a, 0xb71021, 0x8c437270, 0x8f420214, +0x54620018, 0xafa20010, 0x92e204c8, 0x10400007, 0x24020001, 0x8ee304cc, +0x1221004, 0x21027, 0x621824, 0x8001d7e, 0xaee304cc, 0x8f830228, +0x1221004, 0x21027, 0x621824, 0xaf830228, 0x918c0, 0x2e31021, +0x9442726c, 0x2e31821, 0x34424000, 0x8001e04, 0xa462726c, 0x8f420214, +0xafa20010, 0x910c0, 0x571021, 0x8c42726c, 0x3c040001, 0x24844564, +0x3c050003, 0xafa20014, 0x8f470210, 0x34a5f01c, 0xc0023a7, 0x1203021, +0x8001e39, 0x3c020800, 0x9443726e, 0x97420212, 0x14620019, 0x918c0, +0xb71021, 0x8c437270, 0x8f420214, 0x14620014, 0x918c0, 0x2e51021, +0x9447726c, 0x720c0, 0x971021, 0x9443736e, 0xb71021, 0xa443726e, +0x971021, 0x8c437370, 0xb71021, 0xac437270, 0x2e41021, 0x9443736c, +0x2e51021, 0xa443726c, 0x2e41821, 0x24024000, 0x8001e04, 0xa462736c, +0x2e31021, 0x9447726c, 0x3021, 0x720c0, 0x2e41021, 0x9442736c, +0x4021, 0x30428000, 0x14400025, 0xe02821, 0x605021, 0x240b4000, +0x971021, 0x9443736e, 0x97420212, 0x54620015, 0xe02821, 0x971021, +0x8c437370, 0x8f420214, 0x54620010, 0xe02821, 0x11000006, 0x2e41021, +0x9443736c, 0x510c0, 0x2e21021, 0x8001dd0, 0xa443736c, 0x9443736c, +0x2ea1021, 0xa443726c, 0x710c0, 0x2e21021, 0xa44b736c, 0x8001dde, +0x24060001, 0x510c0, 0x2e21021, 0x9447736c, 0x720c0, 0x2e41021, +0x9442736c, 0x30428000, 0x1040ffdf, 0x25080001, 0x30c200ff, 0x14400025, +0x2021, 0x720c0, 0x971021, 0x9443736e, 0x97420212, 0x1462000f, +0x910c0, 0x971021, 0x8c437370, 0x8f420214, 0x1462000a, 0x910c0, +0x2e41821, 0x24024000, 0x15000015, 0xa462736c, 0x910c0, 0x2e21821, +0x34028000, 0x8001e04, 0xa462726c, 0x571021, 0x8c42726c, 0x3c040001, +0x24844570, 0x3c050003, 0xafa20010, 0x710c0, 0x571021, 0x8c42736c, +0x34a5001e, 0x1203021, 0xc0023a7, 0xafa20014, 0x8001e39, 0x3c020800, +0x2021, 0x428c0, 0xb71021, 0x9443776e, 0x97420212, 0x5462002b, +0x24840001, 0xb71021, 0x8c437770, 0x8f420214, 0x54620026, 0x24840001, +0x3c020001, 0x571021, 0x8c4283a4, 0x2442ffff, 0x3c010001, 0x370821, +0xac2283a4, 0x3c020001, 0x571021, 0x8c4283a4, 0x809021, 0x242102b, +0x1040000e, 0x24b1776c, 0x24b07774, 0x2f02021, 0x2f12821, 0xc002434, +0x24060008, 0x26310008, 0x3c020001, 0x571021, 0x8c4283a4, 0x26520001, +0x242102b, 0x1440fff5, 0x26100008, 0x3c040001, 0x972021, 0x8c8483a4, +0x24050008, 0x420c0, 0x2484776c, 0xc00242c, 0x2e42021, 0x8001e39, +0x3c020800, 0x2c820080, 0x1440ffcf, 0x428c0, 0x3c020800, 0x34422000, +0xafa20018, 0x8ee205f8, 0x8f430228, 0x24420001, 0x304a00ff, 0x514300f7, +0xafa00010, 0x8ee205f8, 0x210c0, 0x571021, 0x8fa30018, 0x8fa4001c, +0xac4305fc, 0xac440600, 0x8f830054, 0x8f820054, 0x24690032, 0x1221023, +0x2c420033, 0x10400067, 0x5821, 0x24100008, 0x240f000d, 0x240d0007, +0x240c0040, 0x240e0001, 0x8f870120, 0x27623800, 0x24e80020, 0x102102b, +0x50400001, 0x27683000, 0x8f820128, 0x15020007, 0x1021, 0x8ee201a0, +0x3821, 0x24420001, 0xaee201a0, 0x8001eae, 0x8ee201a0, 0x8ee405f8, +0x420c0, 0x801821, 0x8ee40430, 0x8ee50434, 0xa32821, 0xa3302b, +0x822021, 0x862021, 0xace40000, 0xace50004, 0x8ee205f8, 0xa4f0000e, +0xacef0018, 0xacea001c, 0x210c0, 0x244205fc, 0x2e21021, 0xace20008, +0x8ee204b4, 0xace20010, 0xaf880120, 0x92e24e10, 0x14400033, 0x24070001, +0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c820000, 0x144d001f, +0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x0, 0x8c820004, +0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, 0x24420001, 0x104c0007, +0x0, 0x8ee24e24, 0x24420001, 0x10620005, 0x0, 0x8001e9b, +0x0, 0x14600005, 0x0, 0x8f820128, 0x24420020, 0xaf820128, +0x8f820128, 0x8c820004, 0x2c420011, 0x50400010, 0xac800000, 0x8001eae, +0x0, 0x8ee24e20, 0x24420001, 0x504c0003, 0x1021, 0x8ee24e20, +0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, +0xac8d0000, 0xac8e0004, 0x54e00006, 0x240b0001, 0x8f820054, 0x1221023, +0x2c420033, 0x1440ffa0, 0x0, 0x316300ff, 0x24020001, 0x54620075, +0xafa00010, 0xaeea05f8, 0x8f830054, 0x8f820054, 0x24690032, 0x1221023, +0x2c420033, 0x1040005e, 0x5821, 0x240e0008, 0x240d0011, 0x240a0012, +0x24080040, 0x240c0001, 0x8f830120, 0x27623800, 0x24660020, 0xc2102b, +0x50400001, 0x27663000, 0x8f820128, 0x14c20007, 0x0, 0x8ee201a0, +0x3821, 0x24420001, 0xaee201a0, 0x8001f17, 0x8ee201a0, 0x8ee205f8, +0xac62001c, 0x8ee40490, 0x8ee50494, 0x2462001c, 0xac620008, 0xa46e000e, +0xac6d0018, 0xac640000, 0xac650004, 0x8ee204b4, 0xac620010, 0xaf860120, +0x92e24e10, 0x14400033, 0x24070001, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0x8c820000, 0x144a001f, 0x0, 0x8ee34e20, 0x8ee24e24, +0x1062001b, 0x0, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, +0x8ee34e20, 0x24420001, 0x10480007, 0x0, 0x8ee24e24, 0x24420001, +0x10620005, 0x0, 0x8001f04, 0x0, 0x14600005, 0x0, +0x8f820128, 0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, +0x50400010, 0xac800000, 0x8001f17, 0x0, 0x8ee24e20, 0x24420001, +0x50480003, 0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0xac8a0000, 0xac8c0004, 0x54e00006, +0x240b0001, 0x8f820054, 0x1221023, 0x2c420033, 0x1440ffa9, 0x0, +0x316300ff, 0x24020001, 0x10620022, 0x0, 0x3c040001, 0x24844540, +0xafa00010, 0xafa00014, 0x8f860120, 0x8f870124, 0x3c050009, 0xc0023a7, +0x34a5f011, 0x8001f43, 0x0, 0x3c040001, 0x2484454c, 0xafa00014, +0x8f860120, 0x8f870124, 0x3c050009, 0xc0023a7, 0x34a5f010, 0x8001f43, +0x0, 0x3c040001, 0x24844558, 0xafa00014, 0x8ee605f8, 0x8f470228, +0x3c050009, 0xc0023a7, 0x34a5f00f, 0x8ee201a8, 0x24420001, 0xaee201a8, +0x8ee201a8, 0x8ee20128, 0x24420001, 0xaee20128, 0x8ee20128, 0x8ee20160, +0x24420001, 0xaee20160, 0x8002287, 0x8ee20160, 0x8fa20020, 0x21200, +0x21d02, 0x24020001, 0x10620005, 0x24020002, 0x1062000d, 0x0, +0x8001f67, 0xafa00010, 0x92e204c8, 0x14400006, 0x24020001, 0x8f820228, +0xaee204cc, 0x2402ffff, 0xaf820228, 0x24020001, 0x8001f6e, 0xa2e204c8, +0x92e204c8, 0x5040000c, 0xa2e004c8, 0x8ee204cc, 0xaf820228, 0x8001f6e, +0xa2e004c8, 0x3c040001, 0x24844578, 0xafa00014, 0x8fa60020, 0x3c050003, +0xc0023a7, 0x34a5f009, 0x8ee2013c, 0x24420001, 0xaee2013c, 0x8002287, +0x8ee2013c, 0x8fa20020, 0x21200, 0x22502, 0x24020001, 0x10820005, +0x24020002, 0x1082000f, 0x0, 0x8001f93, 0xafa00010, 0x8f820220, +0x3c0308ff, 0x3463ffff, 0x431024, 0x34420008, 0xaf820220, 0x24020001, +0x3c010001, 0x370821, 0xa02283a2, 0x8001f9a, 0xaee40108, 0x8f820220, +0x3c0308ff, 0x3463fff7, 0x431024, 0xaf820220, 0x3c010001, 0x370821, +0xa02083a2, 0x8001f9a, 0xaee40108, 0x3c040001, 0x24844584, 0xafa00014, +0x8fa60020, 0x3c050003, 0xc0023a7, 0x34a5f00a, 0x8ee2012c, 0x24420001, +0xaee2012c, 0x8002287, 0x8ee2012c, 0x8fa20020, 0x21200, 0x21d02, +0x24020001, 0x10620005, 0x24020002, 0x1062000e, 0x0, 0x8001fc1, +0xafa00010, 0x8f820220, 0x3c0308ff, 0x3463ffff, 0x431024, 0x34420008, +0xaf820220, 0x24020001, 0x3c010001, 0x370821, 0x8001fc8, 0xa02283a3, +0x3c020001, 0x571021, 0x904283a2, 0x3c010001, 0x370821, 0x1440000e, +0xa02083a3, 0x8f820220, 0x3c0308ff, 0x3463fff7, 0x431024, 0x8001fc8, +0xaf820220, 0x3c040001, 0x24844590, 0xafa00014, 0x8fa60020, 0x3c050003, +0xc0023a7, 0x34a5f00b, 0x8ee20114, 0x24420001, 0xaee20114, 0x8002287, +0x8ee20114, 0x27840208, 0x27450200, 0xc00243e, 0x24060008, 0x26e40094, +0x27450200, 0xc00243e, 0x24060008, 0x8ee20134, 0x24420001, 0xaee20134, +0x8002287, 0x8ee20134, 0x8f460248, 0x24040001, 0xc004e2c, 0x24050004, +0x8ee20130, 0x24420001, 0xaee20130, 0x8002287, 0x8ee20130, 0x8ef301c4, +0x8ef401c8, 0x8ef501cc, 0x8ee20140, 0x26e40030, 0x24420001, 0xaee20140, +0x8ef00140, 0x8ef10074, 0x8ef20070, 0xc00242c, 0x24050400, 0xaef301c4, +0xaef401c8, 0xaef501cc, 0xaef00140, 0xaef10074, 0xaef20070, 0x8f42025c, +0x26e40094, 0xaee20060, 0x8f420260, 0x27450200, 0x24060008, 0xaee20068, +0x24020006, 0xc00243e, 0xaee20064, 0x3c023b9a, 0x3442ca00, 0xaee2006c, +0x240203e8, 0x24040002, 0x24030001, 0xaee20104, 0xaee40100, 0xaee3010c, +0x8f820220, 0x30420008, 0x10400004, 0x0, 0xaee30108, 0x8002011, +0x2021, 0xaee40108, 0x2021, 0x3c030001, 0x641821, 0x90634d50, +0x2e41021, 0x24840001, 0xa043009c, 0x2c82000f, 0x1440fff8, 0x0, +0x8f820040, 0x2e41821, 0x24840001, 0x21702, 0x24420030, 0xa062009c, +0x2e41021, 0x8002287, 0xa040009c, 0x240a0400, 0x24090040, 0x24080001, +0x8f830100, 0x27623000, 0x24660020, 0xc2102b, 0x50400001, 0x27662800, +0x8f820108, 0x14c20007, 0x26e20030, 0x8ee201a4, 0x3821, 0x24420001, +0xaee201a4, 0x8002050, 0x8ee201a4, 0x8ee404a8, 0x8ee504ac, 0xac620008, +0xa46a000e, 0xac600018, 0xac60001c, 0xac640000, 0xac650004, 0x8ee204bc, +0xac620010, 0xaf860100, 0x92e204dc, 0x1440000e, 0x24070001, 0x8ee24e18, +0x24420001, 0x50490003, 0x1021, 0x8ee24e18, 0x24420001, 0xaee24e18, +0x8ee24e18, 0x210c0, 0x24424e28, 0x2e21021, 0xac400000, 0xac480004, +0x10e0ffd5, 0x0, 0x8ee20148, 0x24420001, 0xaee20148, 0x8002287, +0x8ee20148, 0x3c020900, 0xaee05228, 0xaee0522c, 0xaee05230, 0xaee05234, +0xaee001c8, 0x3c010001, 0x370821, 0xa02083a1, 0xafa20018, 0x8ee205f8, +0x8f430228, 0x24420001, 0x304a00ff, 0x514300f7, 0xafa00010, 0x8ee205f8, +0x210c0, 0x571021, 0x8fa30018, 0x8fa4001c, 0xac4305fc, 0xac440600, +0x8f830054, 0x8f820054, 0x24690032, 0x1221023, 0x2c420033, 0x10400067, +0x5821, 0x24100008, 0x240f000d, 0x240d0007, 0x240c0040, 0x240e0001, +0x8f870120, 0x27623800, 0x24e80020, 0x102102b, 0x50400001, 0x27683000, +0x8f820128, 0x15020007, 0x1021, 0x8ee201a0, 0x3821, 0x24420001, +0xaee201a0, 0x80020d4, 0x8ee201a0, 0x8ee405f8, 0x420c0, 0x801821, +0x8ee40430, 0x8ee50434, 0xa32821, 0xa3302b, 0x822021, 0x862021, +0xace40000, 0xace50004, 0x8ee205f8, 0xa4f0000e, 0xacef0018, 0xacea001c, +0x210c0, 0x244205fc, 0x2e21021, 0xace20008, 0x8ee204b4, 0xace20010, +0xaf880120, 0x92e24e10, 0x14400033, 0x24070001, 0x8ee24e20, 0x210c0, +0x24425028, 0x2e22021, 0x8c820000, 0x144d001f, 0x0, 0x8ee34e20, +0x8ee24e24, 0x1062001b, 0x0, 0x8c820004, 0x24420001, 0xac820004, +0x8ee24e24, 0x8ee34e20, 0x24420001, 0x104c0007, 0x0, 0x8ee24e24, +0x24420001, 0x10620005, 0x0, 0x80020c1, 0x0, 0x14600005, +0x0, 0x8f820128, 0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, +0x2c420011, 0x50400010, 0xac800000, 0x80020d4, 0x0, 0x8ee24e20, +0x24420001, 0x504c0003, 0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, +0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0xac8d0000, 0xac8e0004, +0x54e00006, 0x240b0001, 0x8f820054, 0x1221023, 0x2c420033, 0x1440ffa0, +0x0, 0x316300ff, 0x24020001, 0x54620075, 0xafa00010, 0xaeea05f8, +0x8f830054, 0x8f820054, 0x24690032, 0x1221023, 0x2c420033, 0x1040005e, +0x5821, 0x240e0008, 0x240d0011, 0x240a0012, 0x24080040, 0x240c0001, +0x8f830120, 0x27623800, 0x24660020, 0xc2102b, 0x50400001, 0x27663000, +0x8f820128, 0x14c20007, 0x0, 0x8ee201a0, 0x3821, 0x24420001, +0xaee201a0, 0x800213d, 0x8ee201a0, 0x8ee205f8, 0xac62001c, 0x8ee40490, +0x8ee50494, 0x2462001c, 0xac620008, 0xa46e000e, 0xac6d0018, 0xac640000, +0xac650004, 0x8ee204b4, 0xac620010, 0xaf860120, 0x92e24e10, 0x14400033, +0x24070001, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c820000, +0x144a001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x0, +0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, 0x24420001, +0x10480007, 0x0, 0x8ee24e24, 0x24420001, 0x10620005, 0x0, +0x800212a, 0x0, 0x14600005, 0x0, 0x8f820128, 0x24420020, +0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400010, 0xac800000, +0x800213d, 0x0, 0x8ee24e20, 0x24420001, 0x50480003, 0x1021, +0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0xac8a0000, 0xac8c0004, 0x54e00006, 0x240b0001, 0x8f820054, +0x1221023, 0x2c420033, 0x1440ffa9, 0x0, 0x316300ff, 0x24020001, +0x10620022, 0x0, 0x3c040001, 0x24844540, 0xafa00010, 0xafa00014, +0x8f860120, 0x8f870124, 0x3c050009, 0xc0023a7, 0x34a5f011, 0x8002169, +0x0, 0x3c040001, 0x2484454c, 0xafa00014, 0x8f860120, 0x8f870124, +0x3c050009, 0xc0023a7, 0x34a5f010, 0x8002169, 0x0, 0x3c040001, +0x24844558, 0xafa00014, 0x8ee605f8, 0x8f470228, 0x3c050009, 0xc0023a7, +0x34a5f00f, 0x8ee201a8, 0x24420001, 0xaee201a8, 0x8ee201a8, 0x8ee20120, +0x24420001, 0xaee20120, 0x8ee20120, 0x8ee20164, 0x24420001, 0xaee20164, +0x8002287, 0x8ee20164, 0x8f42025c, 0x26e40094, 0xaee20060, 0x8f420260, +0x27450200, 0x24060008, 0xc00243e, 0xaee20068, 0x8f820220, 0x30420008, +0x14400002, 0x24020001, 0x24020002, 0xaee20108, 0x8ee2011c, 0x24420001, +0xaee2011c, 0x8002287, 0x8ee2011c, 0x3c040001, 0x2484459c, 0xafa00010, +0xafa00014, 0x8fa60020, 0x3c050003, 0xc0023a7, 0x34a5f00f, 0x93a20020, +0x3c030700, 0x34631000, 0x431025, 0xafa20018, 0x8ee205f8, 0x8f430228, +0x24420001, 0x304900ff, 0x512300dc, 0xafa00010, 0x8ee205f8, 0x210c0, +0x571021, 0x8fa30018, 0x8fa4001c, 0xac4305fc, 0xac440600, 0x8f870120, +0x27623800, 0x24e80020, 0x102102b, 0x50400001, 0x27683000, 0x8f820128, +0x15020007, 0x1021, 0x8ee201a0, 0x3821, 0x24420001, 0xaee201a0, +0x80021ff, 0x8ee201a0, 0x8ee405f8, 0x420c0, 0x801821, 0x8ee40430, +0x8ee50434, 0xa32821, 0xa3302b, 0x822021, 0x862021, 0xace40000, +0xace50004, 0x8ee305f8, 0x24020008, 0xa4e2000e, 0x2402000d, 0xace20018, +0xace9001c, 0x318c0, 0x246305fc, 0x2e31021, 0xace20008, 0x8ee204b4, +0xace20010, 0xaf880120, 0x92e24e10, 0x14400037, 0x24070001, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x8c830000, 0x24020007, 0x1462001f, +0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x24030040, 0x8c820004, +0x24420001, 0xac820004, 0x8ee24e24, 0x8ee54e20, 0x24420001, 0x10430007, +0x0, 0x8ee24e24, 0x24420001, 0x10a20005, 0x0, 0x80021e9, +0x0, 0x14a00005, 0x0, 0x8f820128, 0x24420020, 0xaf820128, +0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, 0xac800000, 0x80021ff, +0x0, 0x8ee24e20, 0x24030040, 0x24420001, 0x50430003, 0x1021, +0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0x24020007, 0xac820000, 0x24020001, 0xac820004, 0x54e0000c, +0xaee905f8, 0x3c040001, 0x248445a4, 0xafa00010, 0xafa00014, 0x8ee605f8, +0x8f470228, 0x3c050009, 0xc0023a7, 0x34a5f000, 0x800227f, 0x0, +0x8f830120, 0x27623800, 0x24660020, 0xc2102b, 0x50400001, 0x27663000, +0x8f820128, 0x14c20007, 0x0, 0x8ee201a0, 0x3821, 0x24420001, +0xaee201a0, 0x8002263, 0x8ee201a0, 0x8ee205f8, 0xac62001c, 0x8ee40490, +0x8ee50494, 0x2462001c, 0xac620008, 0x24020008, 0xa462000e, 0x24020011, +0xac620018, 0xac640000, 0xac650004, 0x8ee204b4, 0xac620010, 0xaf860120, +0x92e24e10, 0x14400037, 0x24070001, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0x8c830000, 0x24020012, 0x1462001f, 0x0, 0x8ee34e20, +0x8ee24e24, 0x1062001b, 0x24030040, 0x8c820004, 0x24420001, 0xac820004, +0x8ee24e24, 0x8ee54e20, 0x24420001, 0x10430007, 0x0, 0x8ee24e24, +0x24420001, 0x10a20005, 0x0, 0x800224d, 0x0, 0x14a00005, +0x0, 0x8f820128, 0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, +0x2c420011, 0x50400013, 0xac800000, 0x8002263, 0x0, 0x8ee24e20, +0x24030040, 0x24420001, 0x50430003, 0x1021, 0x8ee24e20, 0x24420001, +0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x24020012, +0xac820000, 0x24020001, 0xac820004, 0x14e0001b, 0x0, 0x3c040001, +0x248445ac, 0xafa00010, 0xafa00014, 0x8ee605f8, 0x8f470228, 0x3c050009, +0xc0023a7, 0x34a5f001, 0x8ee201ac, 0x24420001, 0xaee201ac, 0x800227f, +0x8ee201ac, 0x3c040001, 0x248445b8, 0xafa00014, 0x8ee605f8, 0x8f470228, +0x3c050009, 0xc0023a7, 0x34a5f005, 0x8ee201a8, 0x24420001, 0xaee201a8, +0x8ee201a8, 0x8ee2014c, 0x24420001, 0xaee2014c, 0x8ee2014c, 0x8ee2015c, +0x24420001, 0xaee2015c, 0x8ee2015c, 0x8f43022c, 0x8f42010c, 0x14620009, +0x24020002, 0xaf820064, 0x8f820064, 0x14400005, 0x0, 0x8f43022c, +0x8f42010c, 0x1462f897, 0x0, 0x8fbf0044, 0x8fb60040, 0x8fb5003c, +0x8fb40038, 0x8fb30034, 0x8fb20030, 0x8fb1002c, 0x8fb00028, 0x3e00008, +0x27bd0048, 0x27bdfff8, 0x2408ffff, 0x10a00014, 0x4821, 0x3c0aedb8, +0x354a8320, 0x90870000, 0x24840001, 0x3021, 0x1071026, 0x30420001, +0x10400002, 0x81842, 0x6a1826, 0x604021, 0x24c60001, 0x2cc20008, +0x1440fff7, 0x73842, 0x25290001, 0x125102b, 0x1440fff0, 0x0, +0x1001021, 0x3e00008, 0x27bd0008, 0x0, 0x27bdffe8, 0x27642800, +0xafbf0010, 0xc00242c, 0x24051000, 0x24020021, 0xaf800100, 0xaf800104, +0xaf800108, 0xaf800110, 0xaf800114, 0xaf800118, 0xaf800120, 0xaf800124, +0xaf800128, 0xaf800130, 0xaf800134, 0xaf800138, 0xaee04e18, 0xaee04e1c, +0xaee04e20, 0xaee04e24, 0xaf82011c, 0x8f420218, 0x30420040, 0x10400004, +0x0, 0x8f82011c, 0x34420004, 0xaf82011c, 0x8fbf0010, 0x3e00008, +0x27bd0018, 0x27bdffe0, 0xafbf0018, 0x8f820104, 0xafa20010, 0x8f820100, +0x3c050002, 0xafa20014, 0x8f8600b0, 0x8f87011c, 0x3c040001, 0x2484466c, +0xc0023a7, 0x34a5f000, 0x8f8300b0, 0x3c027f00, 0x621824, 0x3c020400, +0x1062002b, 0x43102b, 0x14400008, 0x3c022000, 0x3c020100, 0x10620026, +0x3c020200, 0x10620013, 0x0, 0x8002316, 0x0, 0x1062000a, +0x43102b, 0x1040001e, 0x3c024000, 0x1462001c, 0x0, 0x8ee2018c, +0x24420001, 0xaee2018c, 0x8002316, 0x8ee2018c, 0x8ee20188, 0x24420001, +0xaee20188, 0x8002316, 0x8ee20188, 0x8f82011c, 0x34420002, 0xaf82011c, +0x8f830104, 0x8f8200b0, 0x34420001, 0xaf8200b0, 0xaf830104, 0x8f82011c, +0x2403fffd, 0x431024, 0xaf82011c, 0x8ee2019c, 0x24420001, 0xaee2019c, +0x8002319, 0x8ee2019c, 0x8f8200b0, 0x34420001, 0xaf8200b0, 0x8fbf0018, +0x3e00008, 0x27bd0020, 0x27bdffe0, 0xafbf001c, 0xafb00018, 0x8f820120, +0xafa20010, 0x8f820124, 0x3c050001, 0xafa20014, 0x8f8600a0, 0x8f87011c, +0x3c040001, 0x24844678, 0xc0023a7, 0x34a5f000, 0x8f8300a0, 0x3c027f00, +0x621824, 0x3c020400, 0x10620055, 0x8021, 0x43102b, 0x14400008, +0x3c042000, 0x3c020100, 0x1062004f, 0x3c020200, 0x1062003c, 0x0, +0x8002384, 0x0, 0x10640005, 0x83102b, 0x10400047, 0x3c024000, +0x14620045, 0x0, 0x8f8200a0, 0x441024, 0x10400006, 0x0, +0x8ee20190, 0x24420001, 0xaee20190, 0x800234d, 0x8ee20190, 0x8ee20194, +0x24420001, 0xaee20194, 0x8ee20194, 0x8f82011c, 0x34420002, 0xaf82011c, +0x8f82011c, 0x30420200, 0x1040001b, 0x0, 0x8f8300a0, 0x8f840124, +0x8f8200ac, 0x14400007, 0x24020001, 0x3c020001, 0x3442f000, 0x621024, +0x50400001, 0x24100001, 0x24020001, 0x1200000d, 0xaf8200a0, 0x8f820124, +0x2442ffe0, 0xaf820124, 0x8f820124, 0x8f820124, 0x27633000, 0x43102b, +0x10400005, 0x276237e0, 0xaf820124, 0x800236e, 0x0, 0xaf840124, +0x8f82011c, 0x2403fffd, 0x431024, 0x8002387, 0xaf82011c, 0x8f82011c, +0x34420002, 0xaf82011c, 0x8f830124, 0x8f8200a0, 0x34420001, 0xaf8200a0, +0xaf830124, 0x8f82011c, 0x2403fffd, 0x431024, 0xaf82011c, 0x8ee20198, +0x24420001, 0xaee20198, 0x8002387, 0x8ee20198, 0x8f8200a0, 0x34420001, +0xaf8200a0, 0x8fbf001c, 0x8fb00018, 0x3e00008, 0x27bd0020, 0x0, +0x3c020001, 0x8c424d78, 0x27bdffe8, 0xafbf0014, 0x14400012, 0xafb00010, +0x3c100001, 0x26104eb0, 0x2002021, 0xc00242c, 0x24052000, 0x26021fe0, +0x3c010001, 0xac224e84, 0x3c010001, 0xac224e80, 0xaf420250, 0x24022000, +0xaf500254, 0xaf420258, 0x24020001, 0x3c010001, 0xac224d78, 0x8fbf0014, +0x8fb00010, 0x3e00008, 0x27bd0018, 0x3c030001, 0x8c634e84, 0x8c820000, +0x8fa80010, 0x8fa90014, 0xac620000, 0x3c020001, 0x8c424e84, 0x8c830004, +0xac430004, 0xac450008, 0x8f840054, 0x2443ffe0, 0xac460010, 0xac470014, +0xac480018, 0xac49001c, 0x3c010001, 0xac234e84, 0xac44000c, 0x3c020001, +0x24424eb0, 0x62182b, 0x10600005, 0x0, 0x3c020001, 0x8c424e80, +0x3c010001, 0xac224e84, 0x3c030001, 0x8c634e84, 0x3c020001, 0x8c424d60, +0xac620000, 0x3c030001, 0x8c634e84, 0x3c020001, 0x8c424d60, 0xac620004, +0x3e00008, 0xaf430250, 0x3c030001, 0x8c634e84, 0x3c020001, 0x8c424d60, +0x27bdffd0, 0xafb40020, 0x8fb40040, 0xafb00010, 0x808021, 0xafb50024, +0x8fb50044, 0x8fa40048, 0xafb10014, 0xa08821, 0xafbf0028, 0xafb3001c, +0xafb20018, 0xac620000, 0x3c050001, 0x8ca54e84, 0x3c020001, 0x8c424d60, +0xc09021, 0xe09821, 0x10800006, 0xaca20004, 0x24a50008, 0xc002434, +0x24060018, 0x80023f2, 0x0, 0x24a40008, 0xc00242c, 0x24050018, +0x3c020001, 0x8c424e84, 0x3c050001, 0x24a54eb0, 0x2442ffe0, 0x3c010001, +0xac224e84, 0x45102b, 0x10400005, 0x0, 0x3c020001, 0x8c424e80, +0x3c010001, 0xac224e84, 0x3c030001, 0x8c634e84, 0x8e020000, 0xac620000, +0x3c030001, 0x8c634e84, 0x8e020004, 0xac620004, 0xac710008, 0x8f840054, +0x2462ffe0, 0x3c010001, 0xac224e84, 0x45102b, 0xac720010, 0xac730014, +0xac740018, 0xac75001c, 0x10400005, 0xac64000c, 0x3c020001, 0x8c424e80, +0x3c010001, 0xac224e84, 0x3c030001, 0x8c634e84, 0x3c020001, 0x8c424d60, +0xac620000, 0x3c030001, 0x8c634e84, 0x3c020001, 0x8c424d60, 0xac620004, +0xaf430250, 0x8fbf0028, 0x8fb50024, 0x8fb40020, 0x8fb3001c, 0x8fb20018, +0x8fb10014, 0x8fb00010, 0x3e00008, 0x27bd0030, 0x10a00005, 0x0, +0xac800000, 0x24a5fffc, 0x14a0fffd, 0x24840004, 0x3e00008, 0x0, +0x10c00007, 0x0, 0x8c820000, 0x24840004, 0x24c6fffc, 0xaca20000, +0x14c0fffb, 0x24a50004, 0x3e00008, 0x0, 0x10c00007, 0x0, +0x8ca20000, 0x24a50004, 0x24c6fffc, 0xac820000, 0x14c0fffb, 0x24840004, +0x3e00008, 0x0, 0x3e00008, 0x0, 0x27bdffd8, 0xafbf0020, +0x8ee304d4, 0x8ee204d0, 0x1062041e, 0x0, 0x8ee204d4, 0x8ee304ec, +0x21100, 0x626021, 0x95870008, 0x8d8a0000, 0x8d8b0004, 0x958d000a, +0x8ee2724c, 0x8ee3725c, 0x30e4ffff, 0x441021, 0x62182b, 0x10600015, +0x31a20004, 0x8f8200d8, 0x8ee37248, 0x431023, 0xaee2725c, 0x8ee2725c, +0x1c400003, 0x3c030001, 0x431021, 0xaee2725c, 0x8ee2724c, 0x8ee3725c, +0x441021, 0x62182b, 0x10600006, 0x31a20004, 0x8ee201b4, 0x24420001, +0xaee201b4, 0x800286d, 0x8ee201b4, 0x10400234, 0x31a20200, 0x10400144, +0x4821, 0x96e2045a, 0x30420010, 0x10400140, 0x0, 0x8f840100, +0x27623000, 0x24850020, 0xa2102b, 0x50400001, 0x27652800, 0x8f820108, +0x14a20006, 0x2402000c, 0x8ee201a4, 0x24420001, 0xaee201a4, 0x80024cd, +0x8ee201a4, 0xac8a0000, 0xac8b0004, 0x8ee37254, 0x24060005, 0xa482000e, +0xac860018, 0xac830008, 0x8ee204d4, 0xac82001c, 0x8ee204b8, 0xac820010, +0xaf850100, 0x92e204dc, 0x14400036, 0x24090001, 0x8ee24e18, 0x210c0, +0x24424e28, 0x2e22021, 0x8c820000, 0x1446001f, 0x0, 0x8ee34e18, +0x8ee24e1c, 0x1062001b, 0x24030040, 0x8c820004, 0x24420001, 0xac820004, +0x8ee24e1c, 0x8ee54e18, 0x24420001, 0x10430007, 0x0, 0x8ee24e1c, +0x24420001, 0x10a20005, 0x0, 0x80024b7, 0x0, 0x14a00005, +0x0, 0x8f820108, 0x24420020, 0xaf820108, 0x8f820108, 0x8c820004, +0x2c420011, 0x50400013, 0xac800000, 0x80024cd, 0x0, 0x8ee24e18, +0x24030040, 0x24420001, 0x50430003, 0x1021, 0x8ee24e18, 0x24420001, +0xaee24e18, 0x8ee24e18, 0x210c0, 0x24424e28, 0x2e22021, 0x24020005, +0xac820000, 0x24020001, 0xac820004, 0x1520000a, 0x3c040001, 0xafab0010, +0x8ee27254, 0x3c040001, 0x248448e0, 0x3c050004, 0xafa20014, 0x8ee604d4, +0x800284a, 0x34a5f114, 0x8ee27254, 0x34843800, 0x3641821, 0x24420010, +0x43102b, 0x14400070, 0x0, 0x8ee27254, 0x24480010, 0x3641021, +0x102102b, 0x14400002, 0x3c02ffff, 0x1024021, 0x8f850100, 0x27623000, +0x24a60020, 0xc2102b, 0x50400001, 0x27662800, 0x8f820108, 0x14c20007, +0x2563000c, 0x8ee201a4, 0x4821, 0x24420001, 0xaee201a4, 0x800253e, +0x8ee201a4, 0x2c64000c, 0x1441021, 0xaca20000, 0xaca30004, 0x24e2fff4, +0xa4a2000e, 0x24020006, 0xaca80008, 0xaca20018, 0x8ee204d4, 0xaca2001c, +0x8ee204b8, 0x3c030002, 0x431025, 0xaca20010, 0xaf860100, 0x92e204dc, +0x14400037, 0x24090001, 0x8ee24e18, 0x210c0, 0x24424e28, 0x2e22021, +0x8c830000, 0x24020005, 0x1462001f, 0x0, 0x8ee34e18, 0x8ee24e1c, +0x1062001b, 0x24030040, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e1c, +0x8ee54e18, 0x24420001, 0x10430007, 0x0, 0x8ee24e1c, 0x24420001, +0x10a20005, 0x0, 0x8002528, 0x0, 0x14a00005, 0x0, +0x8f820108, 0x24420020, 0xaf820108, 0x8f820108, 0x8c820004, 0x2c420011, +0x50400013, 0xac800000, 0x800253e, 0x0, 0x8ee24e18, 0x24030040, +0x24420001, 0x50430003, 0x1021, 0x8ee24e18, 0x24420001, 0xaee24e18, +0x8ee24e18, 0x210c0, 0x24424e28, 0x2e22021, 0x24020005, 0xac820000, +0x24020001, 0xac820004, 0x1520000a, 0x2508fffc, 0xafab0010, 0x8ee27254, +0x3c040001, 0x248448e0, 0x3c050004, 0xafa20014, 0x8ee604d4, 0x800284a, +0x34a5f125, 0x34028100, 0xa5020000, 0x9582000e, 0x80025b8, 0xa5020002, +0x8f850100, 0x27623000, 0x24a60020, 0xc2102b, 0x50400001, 0x27662800, +0x8f820108, 0x14c20007, 0x2563000c, 0x8ee201a4, 0x4821, 0x24420001, +0xaee201a4, 0x80025a8, 0x8ee201a4, 0x2c64000c, 0x1441021, 0xaca20000, +0xaca30004, 0x8ee37254, 0x24e2fff4, 0xa4a2000e, 0x24020006, 0xaca20018, +0x24630010, 0xaca30008, 0x8ee204d4, 0xaca2001c, 0x8ee204b8, 0x3c030002, +0x431025, 0xaca20010, 0xaf860100, 0x92e204dc, 0x14400037, 0x24090001, +0x8ee24e18, 0x210c0, 0x24424e28, 0x2e22021, 0x8c830000, 0x24020005, +0x1462001f, 0x0, 0x8ee34e18, 0x8ee24e1c, 0x1062001b, 0x24030040, +0x8c820004, 0x24420001, 0xac820004, 0x8ee24e1c, 0x8ee54e18, 0x24420001, +0x10430007, 0x0, 0x8ee24e1c, 0x24420001, 0x10a20005, 0x0, +0x8002592, 0x0, 0x14a00005, 0x0, 0x8f820108, 0x24420020, +0xaf820108, 0x8f820108, 0x8c820004, 0x2c420011, 0x50400013, 0xac800000, +0x80025a8, 0x0, 0x8ee24e18, 0x24030040, 0x24420001, 0x50430003, +0x1021, 0x8ee24e18, 0x24420001, 0xaee24e18, 0x8ee24e18, 0x210c0, +0x24424e28, 0x2e22021, 0x24020005, 0xac820000, 0x24020001, 0xac820004, +0x1520000a, 0x34028100, 0xafab0010, 0x8ee27254, 0x3c040001, 0x248448e0, +0x3c050004, 0xafa20014, 0x8ee604d4, 0x800284a, 0x34a5f015, 0x8ee37254, +0xa462000c, 0x8ee37254, 0x9582000e, 0xa462000e, 0x8002619, 0x24e70004, +0x8f840100, 0x27623000, 0x24850020, 0xa2102b, 0x50400001, 0x27652800, +0x8f820108, 0x14a20007, 0x24020006, 0x8ee201a4, 0x4821, 0x24420001, +0xaee201a4, 0x800260f, 0x8ee201a4, 0xac8a0000, 0xac8b0004, 0x8ee37254, +0xa487000e, 0xac820018, 0xac830008, 0x8ee204d4, 0xac82001c, 0x8ee204b8, +0x3c030002, 0x431025, 0xac820010, 0xaf850100, 0x92e204dc, 0x14400037, +0x24090001, 0x8ee24e18, 0x210c0, 0x24424e28, 0x2e22021, 0x8c830000, +0x24020005, 0x1462001f, 0x0, 0x8ee34e18, 0x8ee24e1c, 0x1062001b, +0x24030040, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e1c, 0x8ee54e18, +0x24420001, 0x10430007, 0x0, 0x8ee24e1c, 0x24420001, 0x10a20005, +0x0, 0x80025f9, 0x0, 0x14a00005, 0x0, 0x8f820108, +0x24420020, 0xaf820108, 0x8f820108, 0x8c820004, 0x2c420011, 0x50400013, +0xac800000, 0x800260f, 0x0, 0x8ee24e18, 0x24030040, 0x24420001, +0x50430003, 0x1021, 0x8ee24e18, 0x24420001, 0xaee24e18, 0x8ee24e18, +0x210c0, 0x24424e28, 0x2e22021, 0x24020005, 0xac820000, 0x24020001, +0xac820004, 0x15200009, 0x3c050004, 0xafab0010, 0x8ee27254, 0x3c040001, +0x248448e0, 0xafa20014, 0x8ee604d4, 0x800284a, 0x34a5f004, 0x8ee2724c, +0x30e7ffff, 0x471021, 0xaee2724c, 0x8ee204d4, 0x8ee304ec, 0x8ee47248, +0x21100, 0x431021, 0xac44000c, 0x8ee27248, 0xafa20018, 0x8ee3724c, +0xafa3001c, 0x8ee2724c, 0x2c42003c, 0x10400004, 0x24620001, 0x2403fffe, +0x431024, 0xafa2001c, 0x8ee27254, 0x3c060001, 0x34c63800, 0x8ee3724c, +0x2405fff8, 0x471021, 0x24420007, 0x451024, 0x24630007, 0xaee27248, +0x8ee2725c, 0x8ee47248, 0x651824, 0x431023, 0xaee2725c, 0x3661021, +0x82202b, 0x14800004, 0x3c03ffff, 0x8ee27248, 0x431021, 0xaee27248, +0x8ee27248, 0xaee27254, 0x8f8200f0, 0x24470008, 0x27621800, 0xe2102b, +0x50400001, 0x27671000, 0x8f8200f4, 0x14e20007, 0x0, 0x8ee201b0, +0x4821, 0x24420001, 0xaee201b0, 0x800265c, 0x8ee201b0, 0x8f8200f0, +0x24090001, 0x8fa30018, 0x8fa4001c, 0xac430000, 0xac440004, 0xaf8700f0, +0x15200012, 0xd1142, 0x8f8200f0, 0xafa20010, 0x8f8200f4, 0x3c040001, +0x248448ec, 0xafa20014, 0x8fa60018, 0x8fa7001c, 0x3c050004, 0xc0023a7, +0x34a5f005, 0x8ee20088, 0x24420001, 0xaee20088, 0x8ee20088, 0x800285f, +0xaee0724c, 0x30430003, 0x24020002, 0x10620016, 0x28620003, 0x10400005, +0x24020001, 0x10620008, 0x0, 0x800269b, 0x0, 0x24020003, +0x10620017, 0x0, 0x800269b, 0x0, 0x8ee200e8, 0x8ee300ec, +0x24630001, 0x2c640001, 0x441021, 0xaee200e8, 0xaee300ec, 0x8ee200e8, +0x800269b, 0x8ee300ec, 0x8ee200f0, 0x8ee300f4, 0x24630001, 0x2c640001, +0x441021, 0xaee200f0, 0xaee300f4, 0x8ee200f0, 0x800269b, 0x8ee300f4, +0x8ee200f8, 0x8ee300fc, 0x24630001, 0x2c640001, 0x441021, 0xaee200f8, +0xaee300fc, 0x8ee200f8, 0x8ee300fc, 0x8ee2724c, 0x8ee400e0, 0x8ee500e4, +0x401821, 0x1021, 0xa32821, 0xa3302b, 0x822021, 0x862021, +0xaee400e0, 0xaee500e4, 0x800285f, 0xaee0724c, 0x30e2ffff, 0x104001b5, +0x31a20200, 0x10400144, 0x4821, 0x96e2045a, 0x30420010, 0x10400140, +0x0, 0x8f840100, 0x27623000, 0x24850020, 0xa2102b, 0x50400001, +0x27652800, 0x8f820108, 0x14a20006, 0x2402000c, 0x8ee201a4, 0x24420001, +0xaee201a4, 0x8002703, 0x8ee201a4, 0xac8a0000, 0xac8b0004, 0x8ee37254, +0x24060005, 0xa482000e, 0xac860018, 0xac830008, 0x8ee204d4, 0xac82001c, +0x8ee204b8, 0xac820010, 0xaf850100, 0x92e204dc, 0x14400036, 0x24090001, +0x8ee24e18, 0x210c0, 0x24424e28, 0x2e22021, 0x8c820000, 0x1446001f, +0x0, 0x8ee34e18, 0x8ee24e1c, 0x1062001b, 0x24030040, 0x8c820004, +0x24420001, 0xac820004, 0x8ee24e1c, 0x8ee54e18, 0x24420001, 0x10430007, +0x0, 0x8ee24e1c, 0x24420001, 0x10a20005, 0x0, 0x80026ed, +0x0, 0x14a00005, 0x0, 0x8f820108, 0x24420020, 0xaf820108, +0x8f820108, 0x8c820004, 0x2c420011, 0x50400013, 0xac800000, 0x8002703, +0x0, 0x8ee24e18, 0x24030040, 0x24420001, 0x50430003, 0x1021, +0x8ee24e18, 0x24420001, 0xaee24e18, 0x8ee24e18, 0x210c0, 0x24424e28, +0x2e22021, 0x24020005, 0xac820000, 0x24020001, 0xac820004, 0x1520000a, +0x3c040001, 0xafab0010, 0x8ee27254, 0x3c040001, 0x248448e0, 0x3c050004, +0xafa20014, 0x8ee604d4, 0x800284a, 0x34a5f014, 0x8ee27254, 0x34843800, +0x3641821, 0x24420010, 0x43102b, 0x14400070, 0x0, 0x8ee27254, +0x24480010, 0x3641021, 0x102102b, 0x14400002, 0x3c02ffff, 0x1024021, +0x8f850100, 0x27623000, 0x24a60020, 0xc2102b, 0x50400001, 0x27662800, +0x8f820108, 0x14c20007, 0x2563000c, 0x8ee201a4, 0x4821, 0x24420001, +0xaee201a4, 0x8002774, 0x8ee201a4, 0x2c64000c, 0x1441021, 0xaca20000, +0xaca30004, 0x24e2fff4, 0xa4a2000e, 0x24020006, 0xaca80008, 0xaca20018, +0x8ee204d4, 0xaca2001c, 0x8ee204b8, 0x3c030002, 0x431025, 0xaca20010, +0xaf860100, 0x92e204dc, 0x14400037, 0x24090001, 0x8ee24e18, 0x210c0, +0x24424e28, 0x2e22021, 0x8c830000, 0x24020005, 0x1462001f, 0x0, +0x8ee34e18, 0x8ee24e1c, 0x1062001b, 0x24030040, 0x8c820004, 0x24420001, +0xac820004, 0x8ee24e1c, 0x8ee54e18, 0x24420001, 0x10430007, 0x0, +0x8ee24e1c, 0x24420001, 0x10a20005, 0x0, 0x800275e, 0x0, +0x14a00005, 0x0, 0x8f820108, 0x24420020, 0xaf820108, 0x8f820108, +0x8c820004, 0x2c420011, 0x50400013, 0xac800000, 0x8002774, 0x0, +0x8ee24e18, 0x24030040, 0x24420001, 0x50430003, 0x1021, 0x8ee24e18, +0x24420001, 0xaee24e18, 0x8ee24e18, 0x210c0, 0x24424e28, 0x2e22021, +0x24020005, 0xac820000, 0x24020001, 0xac820004, 0x1520000a, 0x2508fffc, +0xafab0010, 0x8ee27254, 0x3c040001, 0x248448e0, 0x3c050004, 0xafa20014, +0x8ee604d4, 0x800284a, 0x34a5f015, 0x34028100, 0xa5020000, 0x9582000e, +0x80027ee, 0xa5020002, 0x8f850100, 0x27623000, 0x24a60020, 0xc2102b, +0x50400001, 0x27662800, 0x8f820108, 0x14c20007, 0x2563000c, 0x8ee201a4, +0x4821, 0x24420001, 0xaee201a4, 0x80027de, 0x8ee201a4, 0x2c64000c, +0x1441021, 0xaca20000, 0xaca30004, 0x8ee37254, 0x24e2fff4, 0xa4a2000e, +0x24020006, 0xaca20018, 0x24630010, 0xaca30008, 0x8ee204d4, 0xaca2001c, +0x8ee204b8, 0x3c030002, 0x431025, 0xaca20010, 0xaf860100, 0x92e204dc, +0x14400037, 0x24090001, 0x8ee24e18, 0x210c0, 0x24424e28, 0x2e22021, +0x8c830000, 0x24020005, 0x1462001f, 0x0, 0x8ee34e18, 0x8ee24e1c, +0x1062001b, 0x24030040, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e1c, +0x8ee54e18, 0x24420001, 0x10430007, 0x0, 0x8ee24e1c, 0x24420001, +0x10a20005, 0x0, 0x80027c8, 0x0, 0x14a00005, 0x0, +0x8f820108, 0x24420020, 0xaf820108, 0x8f820108, 0x8c820004, 0x2c420011, +0x50400013, 0xac800000, 0x80027de, 0x0, 0x8ee24e18, 0x24030040, +0x24420001, 0x50430003, 0x1021, 0x8ee24e18, 0x24420001, 0xaee24e18, +0x8ee24e18, 0x210c0, 0x24424e28, 0x2e22021, 0x24020005, 0xac820000, +0x24020001, 0xac820004, 0x1520000a, 0x34028100, 0xafab0010, 0x8ee27254, +0x3c040001, 0x248448e0, 0x3c050004, 0xafa20014, 0x8ee604d4, 0x800284a, +0x34a5f016, 0x8ee37254, 0xa462000c, 0x8ee37254, 0x9582000e, 0xa462000e, +0x800284e, 0x24e70004, 0x8f830100, 0x27623000, 0x24640020, 0x82102b, +0x50400001, 0x27642800, 0x8f820108, 0x14820007, 0x24050005, 0x8ee201a4, +0x4821, 0x24420001, 0xaee201a4, 0x8002842, 0x8ee201a4, 0xac6a0000, +0xac6b0004, 0x8ee27254, 0xa467000e, 0xac650018, 0xac620008, 0x8ee204d4, +0xac62001c, 0x8ee204b8, 0xac620010, 0xaf840100, 0x92e204dc, 0x14400036, +0x24090001, 0x8ee24e18, 0x210c0, 0x24424e28, 0x2e22021, 0x8c820000, +0x1445001f, 0x0, 0x8ee34e18, 0x8ee24e1c, 0x1062001b, 0x24030040, +0x8c820004, 0x24420001, 0xac820004, 0x8ee24e1c, 0x8ee54e18, 0x24420001, +0x10430007, 0x0, 0x8ee24e1c, 0x24420001, 0x10a20005, 0x0, +0x800282c, 0x0, 0x14a00005, 0x0, 0x8f820108, 0x24420020, +0xaf820108, 0x8f820108, 0x8c820004, 0x2c420011, 0x50400013, 0xac800000, +0x8002842, 0x0, 0x8ee24e18, 0x24030040, 0x24420001, 0x50430003, +0x1021, 0x8ee24e18, 0x24420001, 0xaee24e18, 0x8ee24e18, 0x210c0, +0x24424e28, 0x2e22021, 0x24020005, 0xac820000, 0x24020001, 0xac820004, +0x1520000b, 0x3c050004, 0x3c040001, 0x248448f8, 0xafab0010, 0xafa00014, +0x8ee604d4, 0x34a5f017, 0xc0023a7, 0x30e7ffff, 0x800286d, 0x0, +0x8ee27254, 0x3c050001, 0x30e4ffff, 0x441021, 0xaee27254, 0x8ee2724c, +0x8ee37254, 0x34a53800, 0x441021, 0xaee2724c, 0x3651021, 0x62182b, +0x14600004, 0x3c03ffff, 0x8ee27254, 0x431021, 0xaee27254, 0x8ee304d4, +0x96e20458, 0x24630001, 0x2442ffff, 0x621824, 0xaee304d4, 0x8ee304d4, +0x8ee204d0, 0x14620005, 0x0, 0x8f820060, 0x2403fff7, 0x431024, +0xaf820060, 0x8fbf0020, 0x3e00008, 0x27bd0028, 0x27bdffe0, 0xafbf0018, +0x8ee304d8, 0x8ee204d0, 0x10620180, 0x0, 0x8ee204d8, 0x8ee304ec, +0x21100, 0x621821, 0x94670008, 0x92e204dd, 0x8c680000, 0x8c690004, +0x10400023, 0x946a000a, 0x8ee204b8, 0x34460400, 0x31420200, 0x1040001f, +0x0, 0x96e2045a, 0x30420010, 0x1040001b, 0x3c028000, 0x3c010001, +0x370821, 0xac2283c8, 0x8ee27254, 0x9464000e, 0x3c050001, 0x34a53800, +0x24420004, 0xaee27254, 0x8ee37254, 0x42400, 0x3651021, 0x3c010001, +0x370821, 0xac2483cc, 0x62182b, 0x14600005, 0x24e70004, 0x8ee27254, +0x3c03ffff, 0x431021, 0xaee27254, 0x8ee27254, 0x80028a3, 0xaee27248, +0x8ee604b8, 0x8ee2725c, 0x30e4ffff, 0x44102a, 0x10400015, 0x0, +0x8f8200d8, 0x8ee37248, 0x431023, 0xaee2725c, 0x8ee2725c, 0x1c400007, +0x44102a, 0x8ee2725c, 0x3c030001, 0x431021, 0xaee2725c, 0x8ee2725c, +0x44102a, 0x10400006, 0x0, 0x8ee201b4, 0x24420001, 0xaee201b4, +0x80029f5, 0x8ee201b4, 0x3c020001, 0x571021, 0x8c4283c8, 0x54400001, +0x24e7fffc, 0x31420004, 0x104000b3, 0x30e2ffff, 0x3c020001, 0x571021, +0x8c4283c8, 0x1040002c, 0x5021, 0x8f840100, 0x27623000, 0x24850020, +0xa2102b, 0x50400001, 0x27652800, 0x8f820108, 0x10a2002c, 0x24020015, +0xac880000, 0xac890004, 0x8ee37254, 0xa487000e, 0xac820018, 0xac830008, +0x8ee204d8, 0x3c030001, 0x771821, 0x8c6383cc, 0xac860010, 0x431025, +0xac82001c, 0xaf850100, 0x92e204dc, 0x14400063, 0x240a0001, 0x8ee24e18, +0x24030040, 0x24420001, 0x50430003, 0x1021, 0x8ee24e18, 0x24420001, +0xaee24e18, 0x8ee24e18, 0x210c0, 0x24424e28, 0x2e21821, 0x24020015, +0xac620000, 0x24020001, 0x8002945, 0xac620004, 0x8f840100, 0x27623000, +0x24850020, 0xa2102b, 0x50400001, 0x27652800, 0x8f820108, 0x14a20006, +0x24020006, 0x8ee201a4, 0x24420001, 0xaee201a4, 0x8002945, 0x8ee201a4, +0xac880000, 0xac890004, 0x8ee37254, 0xa487000e, 0xac820018, 0xac830008, +0x8ee204d8, 0xac860010, 0xac82001c, 0xaf850100, 0x92e204dc, 0x14400037, +0x240a0001, 0x8ee24e18, 0x210c0, 0x24424e28, 0x2e22021, 0x8c830000, +0x24020005, 0x1462001f, 0x0, 0x8ee34e18, 0x8ee24e1c, 0x1062001b, +0x24030040, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e1c, 0x8ee54e18, +0x24420001, 0x10430007, 0x0, 0x8ee24e1c, 0x24420001, 0x10a20005, +0x0, 0x800292f, 0x0, 0x14a00005, 0x0, 0x8f820108, +0x24420020, 0xaf820108, 0x8f820108, 0x8c820004, 0x2c420011, 0x50400013, +0xac800000, 0x8002945, 0x0, 0x8ee24e18, 0x24030040, 0x24420001, +0x50430003, 0x1021, 0x8ee24e18, 0x24420001, 0xaee24e18, 0x8ee24e18, +0x210c0, 0x24424e28, 0x2e22021, 0x24020005, 0xac820000, 0x24020001, +0xac820004, 0x1540000a, 0x24020001, 0xafa90010, 0x8ee27254, 0x3c040001, +0x248448e0, 0x3c050004, 0xafa20014, 0x8ee604d4, 0x80029d2, 0x34a5f204, +0xa2e204dd, 0x8ee204d8, 0x8ee304ec, 0x8ee47248, 0x3c060001, 0x34c63800, +0x3c010001, 0x370821, 0xac2083c8, 0x3c010001, 0x370821, 0xac2083cc, +0x21100, 0x431021, 0xac44000c, 0x8ee27254, 0x2405fff8, 0x30e3ffff, +0x431021, 0x24420007, 0x451024, 0x24630007, 0xaee27248, 0x8ee2725c, +0x8ee47248, 0x651824, 0x431023, 0xaee2725c, 0x3661021, 0x82202b, +0x14800004, 0x3c03ffff, 0x8ee27248, 0x431021, 0xaee27248, 0x8ee27248, +0x80029e7, 0xaee27254, 0x10400070, 0x0, 0x8f830100, 0x27623000, +0x24640020, 0x82102b, 0x14400002, 0x5021, 0x27642800, 0x8f820108, +0x14820006, 0x24050005, 0x8ee201a4, 0x24420001, 0xaee201a4, 0x80029c9, +0x8ee201a4, 0xac680000, 0xac690004, 0x8ee27254, 0xa467000e, 0xac650018, +0xac620008, 0x8ee204d8, 0xac660010, 0xac62001c, 0xaf840100, 0x92e204dc, +0x14400036, 0x240a0001, 0x8ee24e18, 0x210c0, 0x24424e28, 0x2e22021, +0x8c820000, 0x1445001f, 0x0, 0x8ee34e18, 0x8ee24e1c, 0x1062001b, +0x24030040, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e1c, 0x8ee54e18, +0x24420001, 0x10430007, 0x0, 0x8ee24e1c, 0x24420001, 0x10a20005, +0x0, 0x80029b3, 0x0, 0x14a00005, 0x0, 0x8f820108, +0x24420020, 0xaf820108, 0x8f820108, 0x8c820004, 0x2c420011, 0x50400013, +0xac800000, 0x80029c9, 0x0, 0x8ee24e18, 0x24030040, 0x24420001, +0x50430003, 0x1021, 0x8ee24e18, 0x24420001, 0xaee24e18, 0x8ee24e18, +0x210c0, 0x24424e28, 0x2e22021, 0x24020005, 0xac820000, 0x24020001, +0xac820004, 0x1540000c, 0x30e5ffff, 0x3c040001, 0x248448f8, 0x3c050004, +0xafa90010, 0xafa00014, 0x8ee604d4, 0x34a5f237, 0xc0023a7, 0x30e7ffff, +0x80029f5, 0x0, 0x8ee27254, 0x451021, 0xaee27254, 0x8ee2725c, +0x8ee37254, 0x3c040001, 0x34843800, 0xa2e004dd, 0x451023, 0xaee2725c, +0x3641021, 0x62182b, 0x14600004, 0x3c03ffff, 0x8ee27254, 0x431021, +0xaee27254, 0x8ee304d8, 0x96e20458, 0x24630001, 0x2442ffff, 0x621824, +0xaee304d8, 0x8ee304d8, 0x8ee204d0, 0x14620005, 0x0, 0x8f820060, +0x2403fff7, 0x431024, 0xaf820060, 0x8fbf0018, 0x3e00008, 0x27bd0020, +0x27bdffe0, 0xafbf001c, 0xafb00018, 0x8f820100, 0x8ee34e1c, 0x8f820104, +0x8f850108, 0x24020040, 0x24630001, 0x50620003, 0x1021, 0x8ee24e1c, +0x24420001, 0xaee24e1c, 0x8ee24e1c, 0x8ee34e1c, 0x210c0, 0x24424e28, +0x2e22021, 0x8ee24e18, 0x8c870004, 0x14620007, 0xa03021, 0x8f820108, +0x24420020, 0xaf820108, 0x8f820108, 0x8002a25, 0xac800000, 0x8ee24e1c, +0x24030040, 0x24420001, 0x50430003, 0x1021, 0x8ee24e1c, 0x24420001, +0x210c0, 0x24424e28, 0x2e22021, 0x8c820004, 0x8f830108, 0x21140, +0x621821, 0xaf830108, 0xac800000, 0x8cc30018, 0x2c620002, 0x144000b7, +0x2c620004, 0x5440008a, 0x24030040, 0x2c620007, 0x104000b2, 0x2c620005, +0x144000b0, 0x0, 0x8ee204e0, 0x471021, 0xaee204e0, 0x8ee204e0, +0x8f43023c, 0x43102b, 0x144000b2, 0x0, 0x8ee304d4, 0x8ee204e8, +0x506200ae, 0xa2e004e4, 0x8f830120, 0x27623800, 0x24660020, 0xc2102b, +0x50400001, 0x27663000, 0x8f820128, 0x14c20007, 0x0, 0x8ee201a0, +0x8021, 0x24420001, 0xaee201a0, 0x8002a93, 0x8ee201a0, 0x8ee204d4, +0xac62001c, 0x8ee404a0, 0x8ee504a4, 0x2462001c, 0xac620008, 0x24020008, +0xa462000e, 0x24020011, 0xac620018, 0xac640000, 0xac650004, 0x8ee204b4, +0xac620010, 0xaf860120, 0x92e24e10, 0x14400037, 0x24100001, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x8c830000, 0x24020012, 0x1462001f, +0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x24030040, 0x8c820004, +0x24420001, 0xac820004, 0x8ee24e24, 0x8ee54e20, 0x24420001, 0x10430007, +0x0, 0x8ee24e24, 0x24420001, 0x10a20005, 0x0, 0x8002a7d, +0x0, 0x14a00005, 0x0, 0x8f820128, 0x24420020, 0xaf820128, +0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, 0xac800000, 0x8002a93, +0x0, 0x8ee24e20, 0x24030040, 0x24420001, 0x50430003, 0x1021, +0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0x24020012, 0xac820000, 0x24020001, 0xac820004, 0x5600000b, +0x24100001, 0x8ee204d4, 0x3c040001, 0x24844904, 0xafa00014, 0xafa20010, +0x8ee605f8, 0x8f470228, 0x3c050009, 0xc0023a7, 0x34a5f006, 0x16000003, +0x24020001, 0x8002ae9, 0xa2e204e4, 0x8ee2016c, 0x24420001, 0xaee2016c, +0x8ee2016c, 0x8ee204d4, 0xa2e004e4, 0xaee004e0, 0xaee204e8, 0x8f42023c, +0x5040003c, 0xaee07264, 0x8ee20180, 0x24420001, 0xaee20180, 0x8ee20180, +0x8002ae9, 0xaee07264, 0x8ee204f4, 0x24420001, 0x50430003, 0x1021, +0x8ee204f4, 0x24420001, 0xaee204f4, 0x8ee204f4, 0x8cc30018, 0x21080, +0x571021, 0x8c4404f8, 0x24020003, 0x1462000f, 0x0, 0x3c020001, +0x571021, 0x904283a1, 0x10400014, 0x0, 0x8ee201c8, 0x8ee35230, +0x441021, 0xaee201c8, 0x8ee201cc, 0x641821, 0x306300ff, 0x8002ad9, +0xaee35230, 0x8ee201c4, 0x8ee30e00, 0x441021, 0xaee201c4, 0x8ee201cc, +0x641821, 0x306301ff, 0xaee30e00, 0x441021, 0xaee201cc, 0x8ee20000, +0x34420040, 0x8002ae9, 0xaee20000, 0x94c7000e, 0x8cc2001c, 0x3c040001, +0x24844910, 0xafa60014, 0xafa20010, 0x8cc60018, 0x3c050008, 0xc0023a7, +0x34a50910, 0x8fbf001c, 0x8fb00018, 0x3e00008, 0x27bd0020, 0x27bdff98, +0xafbf0060, 0xafbe005c, 0xafb60058, 0xafb50054, 0xafb40050, 0xafb3004c, +0xafb20048, 0xafb10044, 0xafb00040, 0x8f830108, 0x8f820104, 0xafa00024, +0x106203d9, 0xafa0002c, 0x3c1e0001, 0x37de3800, 0x3c0bffff, 0x8f930108, +0x8e620018, 0x8f830104, 0x2443fffe, 0x2c620014, 0x104003c1, 0x31080, +0x3c010001, 0x220821, 0x8c224920, 0x400008, 0x0, 0x9663000e, +0x8ee2724c, 0x8ee404e0, 0x431021, 0xaee2724c, 0x8e63001c, 0x96e20458, +0x24840001, 0xaee404e0, 0x24630001, 0x2442ffff, 0x621824, 0xaee304d4, +0x8f42023c, 0x82202b, 0x148003ab, 0x0, 0x8f830120, 0x27623800, +0x24660020, 0xc2102b, 0x50400001, 0x27663000, 0x8f820128, 0x14c20007, +0x0, 0x8ee201a0, 0x8021, 0x24420001, 0xaee201a0, 0x8002b73, +0x8ee201a0, 0x8ee204d4, 0xac62001c, 0x8ee404a0, 0x8ee504a4, 0x2462001c, +0xac620008, 0x24020008, 0xa462000e, 0x24020011, 0xac620018, 0xac640000, +0xac650004, 0x8ee204b4, 0xac620010, 0xaf860120, 0x92e24e10, 0x14400037, +0x24100001, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c830000, +0x24020012, 0x1462001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, +0x240c0040, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, +0x24420001, 0x104c0007, 0x0, 0x8ee24e24, 0x24420001, 0x10620005, +0x0, 0x8002b5d, 0x0, 0x14600005, 0x0, 0x8f820128, +0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, +0xac800000, 0x8002b73, 0x0, 0x8ee24e20, 0x240c0040, 0x24420001, +0x504c0003, 0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x24020012, 0x240c0001, 0xac820000, +0xac8c0004, 0x5600000d, 0x24100001, 0x8ee204d4, 0x3c040001, 0x24844904, +0xafa00014, 0xafa20010, 0x8ee605f8, 0x8f470228, 0x3c050009, 0x34a5f006, +0xc0023a7, 0xafab0038, 0x8fab0038, 0x12000307, 0x240c0001, 0x8002e8b, +0x0, 0x966c001c, 0xafac002c, 0x9662001e, 0x3c0c8000, 0xafac0024, +0xae62001c, 0x8e75001c, 0x8ee204ec, 0x8ee404ec, 0x151900, 0x621021, +0x8c52000c, 0x92e27b88, 0x641821, 0x9476000a, 0x14400003, 0x32c20002, +0xaef27b94, 0xaef57b8c, 0x1040004b, 0x8021, 0x96e2045a, 0x30420002, +0x10400047, 0x0, 0x8e63001c, 0x8ee204ec, 0x32100, 0x821021, +0x8c42000c, 0x37e1821, 0x24420022, 0x43102b, 0x1440000a, 0x24050014, +0x8ee204ec, 0x821021, 0x8c44000c, 0xafab0038, 0xc002edf, 0x2484000e, +0x8fab0038, 0x8002bc7, 0x3050ffff, 0x8ee204ec, 0x821021, 0x8c42000c, +0x9450000e, 0x94430010, 0x94440012, 0x94450014, 0x2038021, 0x2048021, +0x2058021, 0x94430016, 0x94440018, 0x9445001a, 0x2038021, 0x2048021, +0x2058021, 0x9443001c, 0x9444001e, 0x94420020, 0x2038021, 0x2048021, +0x2028021, 0x101c02, 0x3202ffff, 0x628021, 0x8e63001c, 0x8ee204ec, +0x102402, 0x32900, 0xa21021, 0x8c43000c, 0x3202ffff, 0x828021, +0x37e1021, 0x24630018, 0x62182b, 0x14600009, 0x0, 0x8ee204ec, +0xa21021, 0x8c43000c, 0x101027, 0x3c01ffff, 0x230821, 0x8002be4, +0xa4220018, 0x8ee204ec, 0xa21021, 0x8c43000c, 0x101027, 0xa4620018, +0x96e2045a, 0x8821, 0x30420008, 0x14400063, 0xa021, 0x8e63001c, +0x8ee204ec, 0x33100, 0xc21021, 0x8c42000c, 0x37e1821, 0x24420022, +0x43102b, 0x14400035, 0x0, 0x8ee204ec, 0xc21021, 0x8c42000c, +0x24470010, 0x37e1021, 0xe2102b, 0x50400001, 0xeb3821, 0x8ee204ec, +0x94f10000, 0xc21021, 0x8c42000c, 0x24470016, 0x37e1021, 0xe2102b, +0x14400002, 0x2634ffec, 0xeb3821, 0x8ee204ec, 0x90e30001, 0xc21021, +0x8c42000c, 0x2447001a, 0x37e1021, 0xe2102b, 0x14400002, 0x2838821, +0xeb3821, 0x94e20000, 0x24e70002, 0x2228821, 0x37e1021, 0xe2102b, +0x50400001, 0xeb3821, 0x94e20000, 0x24e70002, 0x2228821, 0x37e1021, +0xe2102b, 0x50400001, 0xeb3821, 0x94e20000, 0x24e70002, 0x2228821, +0x37e1021, 0xe2102b, 0x50400001, 0xeb3821, 0x94e20000, 0x8002c45, +0x2228821, 0x8ee204ec, 0xc21021, 0x8c43000c, 0x8ee204ec, 0x94710010, +0x8ee304ec, 0xc21021, 0x8c44000c, 0xc31821, 0x8c62000c, 0x2634ffec, +0x90840017, 0x8ee304ec, 0x9442001a, 0x2848821, 0xc31821, 0x8c65000c, +0x8ee304ec, 0x2228821, 0x8ee204ec, 0xc31821, 0xc21021, 0x8c44000c, +0x8c62000c, 0x94a3001c, 0x9484001e, 0x94420020, 0x2238821, 0x2248821, +0x2228821, 0x111c02, 0x3222ffff, 0x628821, 0x111c02, 0x3222ffff, +0x628821, 0x32c20001, 0x104000b2, 0x0, 0x96e2045a, 0x30420001, +0x104000ae, 0x32c20080, 0x10400008, 0x0, 0x92e27b88, 0x14400005, +0x0, 0x240c0001, 0xa2ec7b88, 0xaef57b8c, 0xaef27b94, 0x8ee304ec, +0x151100, 0x431021, 0x8c47000c, 0x37e1821, 0x24e2000e, 0x43102b, +0x14400008, 0xe02021, 0x2405000e, 0xc002edf, 0xafab0038, 0x3042ffff, +0x8fab0038, 0x8002c7e, 0x2028021, 0x94e60000, 0x24e70002, 0x94e50000, +0x24e70002, 0x94e30000, 0x24e70002, 0x94e20000, 0x24e70002, 0x94e40000, +0x24e70002, 0x2068021, 0x2058021, 0x2038021, 0x2028021, 0x94e20000, +0x94e30002, 0x2048021, 0x2028021, 0x2038021, 0x101c02, 0x3202ffff, +0x628021, 0x101c02, 0x3202ffff, 0x8ee47b8c, 0x628021, 0x14950004, +0x3205ffff, 0x96620016, 0x8002c8c, 0x512021, 0x96620016, 0x542021, +0x41402, 0x3083ffff, 0x432021, 0x852023, 0x41402, 0x822021, +0x3084ffff, 0x50800001, 0x3404ffff, 0x8ee27b94, 0x24430017, 0x37e1021, +0x62102b, 0x50400001, 0x6b1821, 0x90630000, 0x24020011, 0x14620031, +0x24020006, 0x8ee27b94, 0x37e1821, 0x24420028, 0x43102b, 0x14400018, +0x0, 0x8ee27b8c, 0x12a2000a, 0x32c20100, 0x8ee27b94, 0x3c01ffff, +0x220821, 0x94220028, 0x822021, 0x41c02, 0x3082ffff, 0x622021, +0x32c20100, 0x14400004, 0x41027, 0x92e27b88, 0x14400002, 0x41027, +0x3044ffff, 0x8ee27b94, 0x3c01ffff, 0x220821, 0x8002cff, 0xa4240028, +0x8ee27b8c, 0x12a20008, 0x32c20100, 0x8ee27b94, 0x94420028, 0x822021, +0x41c02, 0x3082ffff, 0x622021, 0x32c20100, 0x14400004, 0x41027, +0x92e27b88, 0x14400002, 0x41027, 0x3044ffff, 0x8ee27b94, 0x8002cff, +0xa4440028, 0x1462002f, 0x37e1821, 0x8ee27b94, 0x24420032, 0x43102b, +0x14400018, 0x0, 0x8ee27b8c, 0x12a2000a, 0x32c20100, 0x8ee27b94, +0x3c01ffff, 0x220821, 0x94220032, 0x822021, 0x41c02, 0x3082ffff, +0x622021, 0x32c20100, 0x14400004, 0x41027, 0x92e27b88, 0x14400002, +0x41027, 0x3044ffff, 0x8ee27b94, 0x3c01ffff, 0x220821, 0x8002cff, +0xa4240032, 0x8ee27b8c, 0x12a20008, 0x32c20100, 0x8ee27b94, 0x94420032, +0x822021, 0x41c02, 0x3082ffff, 0x622021, 0x32c20100, 0x14400004, +0x41027, 0x92e27b88, 0x14400002, 0x41027, 0x3044ffff, 0x8ee27b94, +0xa4440032, 0x8fac0024, 0x1180002c, 0x37e1821, 0x8e420000, 0xae42fffc, +0x2642000a, 0x43102b, 0x1440001b, 0x34038100, 0x26430004, 0x37e1021, +0x62102b, 0x14400003, 0x602021, 0x6b1821, 0x602021, 0x8c620000, +0x24630004, 0xae420000, 0x37e1021, 0x62102b, 0x50400001, 0x6b1821, +0x8c620000, 0xac820000, 0x34028100, 0xa4620000, 0x24630002, 0x37e1021, +0x62102b, 0x50400001, 0x6b1821, 0x97ac002e, 0x8002d29, 0xa46c0000, +0x8e420004, 0x8e440008, 0xa6430008, 0x97ac002e, 0xa64c000a, 0xae420000, +0xae440004, 0x9662000e, 0x2652fffc, 0x24420004, 0xa662000e, 0x9662000e, +0x8ee3724c, 0x621821, 0xaee3724c, 0xafb20018, 0x8ee3724c, 0xafa3001c, +0x8ee2724c, 0x2c42003c, 0x10400004, 0x24620001, 0x2403fffe, 0x431024, +0xafa2001c, 0x32c20080, 0x1040000c, 0x32c20100, 0x8ee27b98, 0x24430001, +0x210c0, 0x571021, 0xaee37b98, 0x8fa30018, 0x8fa4001c, 0xac437b9c, +0xac447ba0, 0x8002e15, 0xaee0724c, 0x10400072, 0x0, 0x8ee27b98, +0x24430001, 0x210c0, 0x571021, 0xaee37b98, 0x8fa30018, 0x8fa4001c, +0xac437b9c, 0xac447ba0, 0x8ee27b98, 0x10400063, 0x4821, 0x5021, +0x8f8200f0, 0x24480008, 0x27621800, 0x102102b, 0x50400001, 0x27681000, +0x8f8200f4, 0x15020007, 0x0, 0x8ee201b0, 0x8021, 0x24420001, +0xaee201b0, 0x8002d6f, 0x8ee201b0, 0x8f8300f0, 0x24100001, 0x1571021, +0x8c447b9c, 0x8c457ba0, 0xac640000, 0xac650004, 0xaf8800f0, 0x16000006, +0x2ea1021, 0x8ee20088, 0x24420001, 0xaee20088, 0x8002db4, 0x8ee20088, +0x8c427ba0, 0x8ee400e0, 0x8ee500e4, 0x8ee67b8c, 0x401821, 0x1021, +0xa32821, 0xa3382b, 0x822021, 0x872021, 0x8ee204ec, 0xc93021, +0x63100, 0xaee400e0, 0xaee500e4, 0xc23021, 0x94c2000a, 0x240c0002, +0x21142, 0x30430003, 0x106c0016, 0x28620003, 0x10400005, 0x240c0001, +0x106c0008, 0x0, 0x8002db4, 0x0, 0x240c0003, 0x106c0017, +0x0, 0x8002db4, 0x0, 0x8ee200e8, 0x8ee300ec, 0x24630001, +0x2c640001, 0x441021, 0xaee200e8, 0xaee300ec, 0x8ee200e8, 0x8002db4, +0x8ee300ec, 0x8ee200f0, 0x8ee300f4, 0x24630001, 0x2c640001, 0x441021, +0xaee200f0, 0xaee300f4, 0x8ee200f0, 0x8002db4, 0x8ee300f4, 0x8ee200f8, +0x8ee300fc, 0x24630001, 0x2c640001, 0x441021, 0xaee200f8, 0xaee300fc, +0x8ee200f8, 0x8ee300fc, 0x8ee27b98, 0x25290001, 0x122102b, 0x1440ffa0, +0x254a0008, 0xa2e07b88, 0x8002e14, 0xaee07b98, 0x8f8200f0, 0x24470008, +0x27621800, 0xe2102b, 0x50400001, 0x27671000, 0x8f8200f4, 0x14e20007, +0x0, 0x8ee201b0, 0x8021, 0x24420001, 0xaee201b0, 0x8002dd2, +0x8ee201b0, 0x8f8200f0, 0x24100001, 0x8fa30018, 0x8fa4001c, 0xac430000, +0xac440004, 0xaf8700f0, 0x16000007, 0x0, 0x8ee20088, 0x24420001, +0xaee20088, 0x8ee20088, 0x8002e15, 0xaee0724c, 0x8ee2724c, 0x8ee400e0, +0x8ee500e4, 0x240c0002, 0x401821, 0x1021, 0xa32821, 0xa3302b, +0x822021, 0x862021, 0x161142, 0x30430003, 0xaee400e0, 0xaee500e4, +0x106c0017, 0x2c620003, 0x10400005, 0x240c0001, 0x106c0008, 0x0, +0x8002e15, 0xaee0724c, 0x240c0003, 0x106c0019, 0x0, 0x8002e15, +0xaee0724c, 0x8ee200e8, 0x8ee300ec, 0x24630001, 0x2c640001, 0x441021, +0xaee200e8, 0xaee300ec, 0x8ee200e8, 0x8ee300ec, 0x8002e15, 0xaee0724c, +0x8ee200f0, 0x8ee300f4, 0x24630001, 0x2c640001, 0x441021, 0xaee200f0, +0xaee300f4, 0x8ee200f0, 0x8ee300f4, 0x8002e15, 0xaee0724c, 0x8ee200f8, +0x8ee300fc, 0x24630001, 0x2c640001, 0x441021, 0xaee200f8, 0xaee300fc, +0x8ee200f8, 0x8ee300fc, 0xaee0724c, 0x8e62001c, 0x96e30458, 0x8ee404e0, +0x24420001, 0x2463ffff, 0x431024, 0x24840001, 0xaee204d4, 0xaee404e0, +0x8f42023c, 0x82202b, 0x148000a5, 0x0, 0x8f830120, 0x27623800, +0x24660020, 0xc2102b, 0x50400001, 0x27663000, 0x8f820128, 0x14c20007, +0x0, 0x8ee201a0, 0x8021, 0x24420001, 0xaee201a0, 0x8002e79, +0x8ee201a0, 0x8ee204d4, 0xac62001c, 0x8ee404a0, 0x8ee504a4, 0x2462001c, +0xac620008, 0x24020008, 0xa462000e, 0x24020011, 0xac620018, 0xac640000, +0xac650004, 0x8ee204b4, 0xac620010, 0xaf860120, 0x92e24e10, 0x14400037, +0x24100001, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c830000, +0x24020012, 0x1462001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, +0x240c0040, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, +0x24420001, 0x104c0007, 0x0, 0x8ee24e24, 0x24420001, 0x10620005, +0x0, 0x8002e63, 0x0, 0x14600005, 0x0, 0x8f820128, +0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, +0xac800000, 0x8002e79, 0x0, 0x8ee24e20, 0x240c0040, 0x24420001, +0x504c0003, 0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x24020012, 0x240c0001, 0xac820000, +0xac8c0004, 0x5600000d, 0x24100001, 0x8ee204d4, 0x3c040001, 0x24844904, +0xafa00014, 0xafa20010, 0x8ee605f8, 0x8f470228, 0x3c050009, 0x34a5f006, +0xc0023a7, 0xafab0038, 0x8fab0038, 0x16000003, 0x240c0001, 0x8002ec6, +0xa2ec04e4, 0x8ee2016c, 0x24420001, 0xaee2016c, 0x8ee2016c, 0x8ee204d4, +0xa2e004e4, 0xaee004e0, 0xaee07264, 0xaee204e8, 0x8f42023c, 0x10400030, +0x0, 0x8ee20180, 0x24420001, 0xaee20180, 0x8002ec6, 0x8ee20180, +0x8ee204f4, 0x240c0040, 0x24420001, 0x504c0003, 0x1021, 0x8ee204f4, +0x24420001, 0xaee204f4, 0x8ee204f4, 0x8e630018, 0x240c0003, 0x21080, +0x571021, 0x146c000f, 0x8c4404f8, 0x3c020001, 0x571021, 0x904283a1, +0x10400014, 0x0, 0x8ee201c8, 0x8ee35230, 0x441021, 0xaee201c8, +0x8ee201cc, 0x641821, 0x306300ff, 0x8002ec1, 0xaee35230, 0x8ee201c4, +0x8ee30e00, 0x441021, 0xaee201c4, 0x8ee201cc, 0x641821, 0x306301ff, +0xaee30e00, 0x441021, 0xaee201cc, 0x8ee20000, 0x34420040, 0xaee20000, +0x8f820108, 0x24420020, 0xaf820108, 0x8f820108, 0x8f820108, 0x27633000, +0x43102b, 0x14400002, 0x27622800, 0xaf820108, 0x8f830108, 0x8f820104, +0x1462fc2c, 0x0, 0x8fbf0060, 0x8fbe005c, 0x8fb60058, 0x8fb50054, +0x8fb40050, 0x8fb3004c, 0x8fb20048, 0x8fb10044, 0x8fb00040, 0x3e00008, +0x27bd0068, 0x52843, 0x10a0000d, 0x3021, 0x3c030001, 0x34633800, +0x3c07ffff, 0x3631021, 0x82102b, 0x50400001, 0x872021, 0x94820000, +0x24840002, 0x24a5ffff, 0x14a0fff8, 0xc23021, 0x61c02, 0x30c2ffff, +0x623021, 0x61c02, 0x30c2ffff, 0x623021, 0x3e00008, 0x30c2ffff, +0x0, 0x0, 0x27bdff88, 0x240f0001, 0xafbf0070, 0xafbe006c, +0xafb60068, 0xafb50064, 0xafb40060, 0xafb3005c, 0xafb20058, 0xafb10054, +0xafb00050, 0xa3a00027, 0xafaf002c, 0x8ee204c4, 0x8021, 0x30420001, +0x1440002a, 0xa3a00037, 0x8f8700e0, 0x8f8800c4, 0x8f8200e8, 0xe22023, +0x2c821000, 0x50400001, 0x24841000, 0x420c2, 0x801821, 0x8ee400c8, +0x8ee500cc, 0x1021, 0xa32821, 0xa3302b, 0x822021, 0x862021, +0xaee400c8, 0xaee500cc, 0x8f8300c8, 0x3c02000a, 0x3442efff, 0x1032023, +0x44102b, 0x10400003, 0x3c02000a, 0x3442f000, 0x822021, 0x801821, +0x8ee400c0, 0x8ee500c4, 0x1021, 0xa32821, 0xa3302b, 0x822021, +0x862021, 0xaee400c0, 0xaee500c4, 0xaf8800c8, 0xaf8700e4, 0x8003429, +0xaf8700e8, 0x3c020001, 0x571021, 0x904283b0, 0x1040000b, 0x0, +0x3c140001, 0x297a021, 0x8e9483b4, 0x3c130001, 0x2779821, 0x8e7383b8, +0x3c120001, 0x2579021, 0x80030ff, 0x8e5283bc, 0x8f8300e0, 0x8f8200e4, +0x10430007, 0x8821, 0x8f8200e4, 0x24110001, 0x8c430000, 0x8c440004, +0xafa30018, 0xafa4001c, 0x1620000e, 0x3c02ffff, 0x8f8200c4, 0xafa20010, +0x8f8200c8, 0x3c040001, 0x248449d0, 0xafa20014, 0x8f8600e0, 0x8f8700e4, +0x3c050006, 0xc0023a7, 0x34a5f000, 0x8003429, 0x0, 0x8fa3001c, +0x8fb20018, 0x3074ffff, 0x2694fffc, 0x621024, 0x10400058, 0x2409821, +0x3c020080, 0x621024, 0x1040000a, 0x3c040040, 0x8ee2007c, 0x24420001, +0xaee2007c, 0x8ee2007c, 0x8ee201ec, 0x24420001, 0xaee201ec, 0x8003423, +0x8ee201ec, 0x3c060004, 0x3c0b0001, 0x3c0a0002, 0x3c050010, 0x3c090008, +0x8ee20080, 0x3c080020, 0x34078000, 0x24420001, 0xaee20080, 0x8ee20080, +0x8fa2001c, 0x441824, 0x10660021, 0xc3102b, 0x14400007, 0x0, +0x106b0011, 0x0, 0x106a0015, 0x0, 0x8002fb5, 0x42042, +0x10650023, 0xa3102b, 0x14400005, 0x0, 0x10690019, 0x0, +0x8002fb5, 0x42042, 0x10680021, 0x0, 0x8002fb5, 0x42042, +0x8ee20034, 0x24420001, 0xaee20034, 0x8ee20034, 0x8002fb5, 0x42042, +0x8ee201dc, 0x24420001, 0xaee201dc, 0x8ee201dc, 0x8002fb5, 0x42042, +0x8ee201e0, 0x24420001, 0xaee201e0, 0x8ee201e0, 0x8002fb5, 0x42042, +0x8ee201e4, 0x24420001, 0xaee201e4, 0x8ee201e4, 0x8002fb5, 0x42042, +0x8ee20030, 0x24420001, 0xaee20030, 0x8ee20030, 0x8002fb5, 0x42042, +0x8ee201e8, 0x24420001, 0xaee201e8, 0x8ee201e8, 0x42042, 0x1087046d, +0x0, 0x8002f7a, 0x0, 0x3c020001, 0x571021, 0x904283a2, +0x14400084, 0x24020001, 0x3c030001, 0x771821, 0x906383a3, 0x1462007f, +0x3c020100, 0x8e430000, 0x621024, 0x1040006f, 0x2402ffff, 0x14620005, +0x24100001, 0x96430004, 0x3402ffff, 0x10620075, 0x0, 0x92e204c8, +0x14400072, 0x0, 0x3c020001, 0x571021, 0x8c4283a4, 0x28420005, +0x10400020, 0x3821, 0x3c020001, 0x571021, 0x8c4283a4, 0x18400016, +0x2821, 0x96660000, 0x520c0, 0x971021, 0x9442776e, 0x14460009, +0x971021, 0x94437770, 0x96620002, 0x14620005, 0x971021, 0x94437772, +0x96620004, 0x50620008, 0x24070001, 0x3c020001, 0x571021, 0x8c4283a4, +0x24a50001, 0xa2102a, 0x5440ffee, 0x520c0, 0x30e200ff, 0x10400431, +0x0, 0x8003041, 0x0, 0x2402021, 0xc00229d, 0x24050006, +0x3044001f, 0x428c0, 0x2e51021, 0x9442726c, 0x30424000, 0x14400425, +0xb71021, 0x9443726e, 0x96620000, 0x1462000b, 0x418c0, 0xb71021, +0x94437270, 0x96620002, 0x14620006, 0x418c0, 0xb71021, 0x94437272, +0x96620004, 0x10620035, 0x418c0, 0x2e31021, 0x9442726c, 0x30428000, +0x14400412, 0x2e31021, 0x944b726c, 0x96670000, 0xb28c0, 0xb71021, +0x9442736e, 0x8003023, 0x3021, 0x420c0, 0x2e41021, 0x9443736c, +0x2e41021, 0x944b736c, 0x30638000, 0x14600010, 0xb28c0, 0xb71021, +0x9442736e, 0x1447fff5, 0x1602021, 0xb71021, 0x94437370, 0x96620002, +0x5462fff1, 0x420c0, 0xb71021, 0x94437372, 0x96620004, 0x5462ffec, +0x420c0, 0x24060001, 0x30c200ff, 0x104003f1, 0x0, 0x8003041, +0x0, 0x97430202, 0x96420000, 0x146203eb, 0x0, 0x97430204, +0x96420002, 0x146203e7, 0x0, 0x97430206, 0x96420004, 0x146203e3, +0x0, 0x92420000, 0x3a030001, 0x30420001, 0x431024, 0x10400074, +0x2402ffff, 0x8e630000, 0x14620004, 0x3402ffff, 0x96630004, 0x1062006f, +0x240f0002, 0x3c020001, 0x571021, 0x904283a2, 0x1440006a, 0x240f0003, +0x92e204c8, 0x54400068, 0xafaf002c, 0x3c020001, 0x571021, 0x8c4283a4, +0x28420005, 0x10400020, 0x3821, 0x3c020001, 0x571021, 0x8c4283a4, +0x18400016, 0x2821, 0x96660000, 0x520c0, 0x971021, 0x9442776e, +0x14460009, 0x971021, 0x94437770, 0x96620002, 0x14620005, 0x971021, +0x94437772, 0x96620004, 0x50620008, 0x24070001, 0x3c020001, 0x571021, +0x8c4283a4, 0x24a50001, 0xa2102a, 0x5440ffee, 0x520c0, 0x30e200ff, +0x14400044, 0x240f0003, 0x8003423, 0x0, 0x2402021, 0xc00229d, +0x24050006, 0x3044001f, 0x428c0, 0x2e51021, 0x9442726c, 0x30424000, +0x144003a0, 0xb71021, 0x9443726e, 0x96620000, 0x1462000b, 0x418c0, +0xb71021, 0x94437270, 0x96620002, 0x14620006, 0x418c0, 0xb71021, +0x94437272, 0x96620004, 0x10620027, 0x418c0, 0x2e31021, 0x9442726c, +0x30428000, 0x1440038d, 0x2e31021, 0x944b726c, 0x96670000, 0xb28c0, +0xb71021, 0x9442736e, 0x80030a8, 0x3021, 0x420c0, 0x2e41021, +0x9443736c, 0x2e41021, 0x944b736c, 0x30638000, 0x14600010, 0xb28c0, +0xb71021, 0x9442736e, 0x1447fff5, 0x1602021, 0xb71021, 0x94437370, +0x96620002, 0x5462fff1, 0x420c0, 0xb71021, 0x94437372, 0x96620004, +0x5462ffec, 0x420c0, 0x24060001, 0x30c200ff, 0x1040036c, 0x0, +0x80030bb, 0x240f0003, 0x240f0001, 0xafaf002c, 0x8f420260, 0x54102b, +0x1040003a, 0x0, 0x8f8300e4, 0x8f8200e0, 0x10620003, 0x24630008, +0xaf8300e4, 0xaf8300e8, 0x8ee400c0, 0x8ee500c4, 0x2801821, 0x1021, +0xa32821, 0xa3302b, 0x822021, 0x862021, 0xaee400c0, 0xaee500c4, +0x8ee20058, 0x24420001, 0xaee20058, 0x8ee20058, 0x8ee2007c, 0x24420001, +0xaee2007c, 0x8ee2007c, 0x8f8200e0, 0xafa20010, 0x8f8200e4, 0x3c040001, +0x248449d8, 0xafa20014, 0x8fa60018, 0x8fa7001c, 0x3c050006, 0xc0023a7, +0x34a5f003, 0x8003429, 0x0, 0x8ee25230, 0xafa20010, 0x8ee25234, +0x3c040001, 0x248449e4, 0xafa20014, 0x8ee60e00, 0x8ee70e08, 0x3c050006, +0xc0023a7, 0x34a5f002, 0x8ee201bc, 0x24420001, 0xaee201bc, 0x8ee20000, +0x8ee301bc, 0x2403ffbf, 0x431024, 0x80033cd, 0xaee20000, 0x96e20468, +0x54102b, 0x10400003, 0x0, 0x240f0001, 0xa3af0027, 0x128002f2, +0x24160007, 0x24150040, 0x241e0001, 0x240e0012, 0x8ee2723c, 0x8f430280, +0x24420001, 0x304203ff, 0x106202c4, 0x0, 0x93a20027, 0x10400014, +0x0, 0x8ee35230, 0x8ee25234, 0x10620009, 0x26ed5234, 0x8ee65234, +0x8ee35234, 0x21140, 0x24425238, 0x2e28021, 0x24630001, 0x800312b, +0x306b00ff, 0x92e27238, 0x1440ffca, 0x0, 0x8ee201d0, 0x24420001, +0xaee201d0, 0x8ee201d0, 0x8ee30e00, 0x8ee20e08, 0x1062ffc2, 0x26ed0e08, +0x8ee60e08, 0x8ee30e08, 0x21140, 0x24420e10, 0x2e28021, 0x24630001, +0x306b01ff, 0x96e2046a, 0x30420010, 0x10400019, 0x0, 0x9642000c, +0x340f8100, 0x144f0015, 0x0, 0x3c020001, 0x571021, 0x904283b0, +0x14400010, 0x0, 0x9642000e, 0xa6020016, 0x8e420008, 0x8e430004, +0x8e440000, 0x2694fffc, 0xae42000c, 0xae430008, 0xae440004, 0x9602000e, +0x26730004, 0x240f0001, 0xa3af0037, 0x34420200, 0xa602000e, 0x8e020000, +0x8e030004, 0x3c040001, 0x34843800, 0x306a0007, 0x26a9823, 0x3641021, +0x262102b, 0x10400005, 0x28aa021, 0x2641023, 0x3621823, 0x3c020020, +0x439823, 0x26820007, 0x2404fff8, 0x9603000a, 0x446024, 0x6a1821, +0x6c102b, 0x10400002, 0x1803821, 0x603821, 0xae130018, 0x8f880120, +0x24e20007, 0x443824, 0x27623800, 0x25090020, 0x122102b, 0x50400001, +0x27693000, 0x8f820128, 0x15220007, 0x1401821, 0x8ee201a0, 0x8821, +0x24420001, 0xaee201a0, 0x80031b5, 0x8ee201a0, 0x8e040000, 0x8e050004, +0x1021, 0xad130008, 0xa507000e, 0xad160018, 0xad06001c, 0xa3302b, +0xa32823, 0x822023, 0x862023, 0xad040000, 0xad050004, 0x8ee204b0, +0xad020010, 0xaf890120, 0x92e24e10, 0x14400033, 0x24110001, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x8c820000, 0x1456001f, 0x0, +0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x0, 0x8c820004, 0x24420001, +0xac820004, 0x8ee24e24, 0x8ee34e20, 0x24420001, 0x10550007, 0x0, +0x8ee24e24, 0x24420001, 0x10620005, 0x0, 0x80031a2, 0x0, +0x14600005, 0x0, 0x8f820128, 0x24420020, 0xaf820128, 0x8f820128, +0x8c820004, 0x2c420011, 0x50400010, 0xac800000, 0x80031b5, 0x0, +0x8ee24e20, 0x24420001, 0x50550003, 0x1021, 0x8ee24e20, 0x24420001, +0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0xac960000, +0xac9e0004, 0x16200018, 0x3c050006, 0x8e020018, 0x3c040001, 0x248449f0, +0xafa20010, 0x8e020000, 0x8e030004, 0x34a5f009, 0x2003021, 0xc0023a7, +0xafa30014, 0x93a20037, 0x1040020a, 0x340f8100, 0x8e420004, 0x8e430008, +0x8e44000c, 0xa64f000c, 0xae420000, 0xae430004, 0xae440008, 0x96020016, +0x80033cd, 0xa642000e, 0x14ec015f, 0x28a1823, 0x960c000a, 0x9603000e, +0x28a1023, 0xa602000a, 0x34620004, 0xa602000e, 0x8f880120, 0x27623800, +0x25090020, 0x122102b, 0x14400002, 0x306affff, 0x27693000, 0x8f820128, +0x15220007, 0x24040020, 0x8ee201a0, 0x8821, 0x24420001, 0xaee201a0, +0x8003230, 0x8ee201a0, 0x8ee5723c, 0x8ee60480, 0x8ee70484, 0xa504000e, +0x24040004, 0xad100008, 0xad040018, 0x52940, 0xa01821, 0x1021, +0xe33821, 0xe3202b, 0xc23021, 0xc43021, 0xad060000, 0xad070004, +0x8ee2723c, 0xad02001c, 0x8ee204b4, 0xad020010, 0xaf890120, 0x92e24e10, +0x14400033, 0x24110001, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, +0x8c820000, 0x1456001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, +0x0, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, +0x24420001, 0x10550007, 0x0, 0x8ee24e24, 0x24420001, 0x10620005, +0x0, 0x800321d, 0x0, 0x14600005, 0x0, 0x8f820128, +0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400010, +0xac800000, 0x8003230, 0x0, 0x8ee24e20, 0x24420001, 0x50550003, +0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, +0x24425028, 0x2e22021, 0xac960000, 0xac9e0004, 0x1620000d, 0x0, +0xa60c000a, 0xa60a000e, 0x8f820100, 0xafa20010, 0x8f820104, 0x3c040001, +0x248449fc, 0x3c050006, 0xafa20014, 0x8ee6723c, 0x8003398, 0x34a5f00b, +0x3c010001, 0x370821, 0xa02083b0, 0xadab0000, 0x8ee201cc, 0x8ee3723c, +0x2442ffff, 0xaee201cc, 0x8ee201cc, 0x24630001, 0x306303ff, 0x26e25234, +0x15a20006, 0xaee3723c, 0x8ee201c8, 0x2442ffff, 0xaee201c8, 0x8003255, +0x8ee201c8, 0x8ee201c4, 0x2442ffff, 0xaee201c4, 0x8ee201c4, 0x8f420240, +0x10400070, 0x0, 0x8ee20e0c, 0x24420001, 0xaee20e0c, 0x8f430240, +0x43102b, 0x1440016d, 0xa021, 0x8f830120, 0x27623800, 0x24660020, +0xc2102b, 0x50400001, 0x27663000, 0x8f820128, 0x14c20007, 0x0, +0x8ee201a0, 0x8821, 0x24420001, 0xaee201a0, 0x80032b2, 0x8ee201a0, +0x8ee2723c, 0xac62001c, 0x8ee40498, 0x8ee5049c, 0x2462001c, 0xac620008, +0x24020008, 0xa462000e, 0x24020011, 0xac620018, 0xac640000, 0xac650004, +0x8ee204b4, 0xac620010, 0xaf860120, 0x92e24e10, 0x14400033, 0x24110001, +0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c820000, 0x144e001f, +0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x0, 0x8c820004, +0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, 0x24420001, 0x10550007, +0x0, 0x8ee24e24, 0x24420001, 0x10620005, 0x0, 0x800329f, +0x0, 0x14600005, 0x0, 0x8f820128, 0x24420020, 0xaf820128, +0x8f820128, 0x8c820004, 0x2c420011, 0x50400010, 0xac800000, 0x80032b2, +0x0, 0x8ee24e20, 0x24420001, 0x50550003, 0x1021, 0x8ee24e20, +0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, +0xac8e0000, 0xac9e0004, 0x5620000d, 0x24110001, 0x8ee2723c, 0x3c040001, +0x24844a08, 0xafa00014, 0xafa20010, 0x8ee6723c, 0x8f470280, 0x3c050009, +0x34a5f008, 0xc0023a7, 0xafae0048, 0x8fae0048, 0x56200001, 0xaee00e0c, +0x8ee20184, 0x24420001, 0xaee20184, 0x8003328, 0x8ee20184, 0x8f830120, +0x27623800, 0x24660020, 0xc2102b, 0x50400001, 0x27663000, 0x8f820128, +0x14c20007, 0x0, 0x8ee201a0, 0x8821, 0x24420001, 0xaee201a0, +0x800331a, 0x8ee201a0, 0x8ee2723c, 0xac62001c, 0x8ee40498, 0x8ee5049c, +0x2462001c, 0xac620008, 0x24020008, 0xa462000e, 0x24020011, 0xac620018, +0xac640000, 0xac650004, 0x8ee204b4, 0xac620010, 0xaf860120, 0x92e24e10, +0x14400033, 0x24110001, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, +0x8c820000, 0x144e001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, +0x0, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, +0x24420001, 0x10550007, 0x0, 0x8ee24e24, 0x24420001, 0x10620005, +0x0, 0x8003307, 0x0, 0x14600005, 0x0, 0x8f820128, +0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400010, +0xac800000, 0x800331a, 0x0, 0x8ee24e20, 0x24420001, 0x50550003, +0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, +0x24425028, 0x2e22021, 0xac8e0000, 0xac9e0004, 0x1620000d, 0x0, +0x8ee2723c, 0x3c040001, 0x24844a08, 0xafa00014, 0xafa20010, 0x8ee6723c, +0x8f470280, 0x3c050009, 0x34a5f008, 0xc0023a7, 0xafae0048, 0x8fae0048, +0x8ee20170, 0x24420001, 0xaee20170, 0x8ee20170, 0x80033cb, 0xa021, +0x960c000a, 0x183102b, 0x54400001, 0x1801821, 0xa603000a, 0x8f880120, +0x27623800, 0x25090020, 0x122102b, 0x50400001, 0x27693000, 0x8f820128, +0x15220007, 0x24040020, 0x8ee201a0, 0x8821, 0x24420001, 0xaee201a0, +0x800338c, 0x8ee201a0, 0x8ee5723c, 0x8ee60480, 0x8ee70484, 0xa504000e, +0x24040004, 0xad100008, 0xad040018, 0x52940, 0xa01821, 0x1021, +0xe33821, 0xe3202b, 0xc23021, 0xc43021, 0xad060000, 0xad070004, +0x8ee2723c, 0xad02001c, 0x8ee204b4, 0xad020010, 0xaf890120, 0x92e24e10, +0x14400033, 0x24110001, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, +0x8c820000, 0x1456001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, +0x0, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, +0x24420001, 0x10550007, 0x0, 0x8ee24e24, 0x24420001, 0x10620005, +0x0, 0x8003379, 0x0, 0x14600005, 0x0, 0x8f820128, +0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400010, +0xac800000, 0x800338c, 0x0, 0x8ee24e20, 0x24420001, 0x50550003, +0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, +0x24425028, 0x2e22021, 0xac960000, 0xac9e0004, 0x1620001d, 0x0, +0xa60c000a, 0x8f820100, 0xafa20010, 0x8f820104, 0x3c040001, 0x248449fc, +0x3c050006, 0xafa20014, 0x8ee6723c, 0x34a5f00d, 0xc0023a7, 0x2003821, +0x93a20037, 0x10400031, 0x340f8100, 0x8e420004, 0x8e430008, 0x8e44000c, +0xa64f000c, 0xae420000, 0xae430004, 0xae440008, 0x96020016, 0xa642000e, +0x9602000e, 0x3042fdff, 0x80033cd, 0xa602000e, 0x8ee201cc, 0x2442ffff, +0xaee201cc, 0x8ee201cc, 0x8ee201c4, 0x3c04001f, 0x3c010001, 0x370821, +0xa03e83b0, 0x2442ffff, 0xaee201c4, 0x9603000a, 0x3484ffff, 0x8ee201c4, +0x6a1821, 0x2639821, 0x93202b, 0x10800003, 0x3c02fff5, 0x34421000, +0x2629821, 0xadab0000, 0x8ee2723c, 0x24420001, 0x304203ff, 0xaee2723c, +0x8f420240, 0x10400004, 0x283a023, 0x8ee20e0c, 0x24420001, 0xaee20e0c, +0xa3a00027, 0x1680fd38, 0x0, 0x12800024, 0x0, 0x3c010001, +0x370821, 0xac3483b4, 0x3c010001, 0x370821, 0xac3383b8, 0x3c010001, +0x370821, 0xac3283bc, 0x93a20037, 0x10400008, 0x0, 0x3c020001, +0x571021, 0x8c4283bc, 0x24420004, 0x3c010001, 0x370821, 0xac2283bc, +0x8ee2723c, 0x8f430280, 0x24420001, 0x304203ff, 0x14620006, 0x0, +0x8ee201c0, 0x24420001, 0xaee201c0, 0x8003429, 0x8ee201c0, 0x8ee201b8, +0x24420001, 0xaee201b8, 0x8003429, 0x8ee201b8, 0x97a4001e, 0x2484fffc, +0x801821, 0x8ee400c0, 0x8ee500c4, 0x1021, 0xa32821, 0xa3302b, +0x822021, 0x862021, 0xaee400c0, 0xaee500c4, 0x8faf002c, 0x24020002, +0x11e2000f, 0x29e20003, 0x14400017, 0x24020003, 0x15e20015, 0x0, +0x8ee200d0, 0x8ee300d4, 0x24630001, 0x2c640001, 0x441021, 0xaee200d0, +0xaee300d4, 0x8ee200d0, 0x8003423, 0x8ee300d4, 0x8ee200d8, 0x8ee300dc, +0x24630001, 0x2c640001, 0x441021, 0xaee200d8, 0xaee300dc, 0x8ee200d8, +0x8003423, 0x8ee300dc, 0x8ee200c8, 0x8ee300cc, 0x24630001, 0x2c640001, +0x441021, 0xaee200c8, 0xaee300cc, 0x8ee200c8, 0x8ee300cc, 0x8f8300e4, +0x8f8200e0, 0x10620003, 0x24630008, 0xaf8300e4, 0xaf8300e8, 0x8fbf0070, +0x8fbe006c, 0x8fb60068, 0x8fb50064, 0x8fb40060, 0x8fb3005c, 0x8fb20058, +0x8fb10054, 0x8fb00050, 0x3e00008, 0x27bd0078, 0x27bdffb0, 0xafb50044, +0xa821, 0xafb00030, 0x8021, 0xafbf004c, 0xafb60048, 0xafb40040, +0xafb3003c, 0xafb20038, 0xafb10034, 0x8ee204c4, 0x24140001, 0x30420001, +0x1440002a, 0xb021, 0x8f8700e0, 0x8f8800c4, 0x8f8200e8, 0xe22023, +0x2c821000, 0x50400001, 0x24841000, 0x420c2, 0x801821, 0x8ee400c8, +0x8ee500cc, 0x1021, 0xa32821, 0xa3302b, 0x822021, 0x862021, +0xaee400c8, 0xaee500cc, 0x8f8300c8, 0x3c02000a, 0x3442efff, 0x1032023, +0x44102b, 0x10400003, 0x3c02000a, 0x3442f000, 0x822021, 0x801821, +0x8ee400c0, 0x8ee500c4, 0x1021, 0xa32821, 0xa3302b, 0x822021, +0x862021, 0xaee400c0, 0xaee500c4, 0xaf8800c8, 0xaf8700e4, 0x80037aa, +0xaf8700e8, 0x3c020001, 0x571021, 0x904283b0, 0x1040000b, 0x0, +0x3c130001, 0x2779821, 0x8e7383b4, 0x3c110001, 0x2378821, 0x8e3183b8, +0x3c120001, 0x2579021, 0x8003645, 0x8e5283bc, 0x8f8300e0, 0x8f8200e4, +0x10430007, 0x4821, 0x8f8200e4, 0x24090001, 0x8c430000, 0x8c440004, +0xafa30018, 0xafa4001c, 0x1520000e, 0x3c02ffff, 0x8f8200c4, 0xafa20010, +0x8f8200c8, 0x3c040001, 0x248449d0, 0xafa20014, 0x8f8600e0, 0x8f8700e4, +0x3c050006, 0xc0023a7, 0x34a5f000, 0x80037aa, 0x0, 0x8fa3001c, +0x8fb20018, 0x3073ffff, 0x2673fffc, 0x621024, 0x10400058, 0x2408821, +0x3c020080, 0x621024, 0x1040000a, 0x3c040040, 0x8ee2007c, 0x24420001, +0xaee2007c, 0x8ee2007c, 0x8ee201ec, 0x24420001, 0xaee201ec, 0x80037a4, +0x8ee201ec, 0x3c060004, 0x3c0b0001, 0x3c0a0002, 0x3c050010, 0x3c090008, +0x8ee20080, 0x3c080020, 0x34078000, 0x24420001, 0xaee20080, 0x8ee20080, +0x8fa2001c, 0x441824, 0x10660021, 0xc3102b, 0x14400007, 0x0, +0x106b0011, 0x0, 0x106a0015, 0x0, 0x80034ef, 0x42042, +0x10650023, 0xa3102b, 0x14400005, 0x0, 0x10690019, 0x0, +0x80034ef, 0x42042, 0x10680021, 0x0, 0x80034ef, 0x42042, +0x8ee20034, 0x24420001, 0xaee20034, 0x8ee20034, 0x80034ef, 0x42042, +0x8ee201dc, 0x24420001, 0xaee201dc, 0x8ee201dc, 0x80034ef, 0x42042, +0x8ee201e0, 0x24420001, 0xaee201e0, 0x8ee201e0, 0x80034ef, 0x42042, +0x8ee201e4, 0x24420001, 0xaee201e4, 0x8ee201e4, 0x80034ef, 0x42042, +0x8ee20030, 0x24420001, 0xaee20030, 0x8ee20030, 0x80034ef, 0x42042, +0x8ee201e8, 0x24420001, 0xaee201e8, 0x8ee201e8, 0x42042, 0x108702b4, +0x0, 0x80034b4, 0x0, 0x3c020001, 0x571021, 0x904283a2, +0x14400084, 0x24020001, 0x3c030001, 0x771821, 0x906383a3, 0x1462007f, +0x3c020100, 0x8e430000, 0x621024, 0x1040006f, 0x2402ffff, 0x14620005, +0x24100001, 0x96430004, 0x3402ffff, 0x10620075, 0x0, 0x92e204c8, +0x14400072, 0x0, 0x3c020001, 0x571021, 0x8c4283a4, 0x28420005, +0x10400020, 0x3821, 0x3c020001, 0x571021, 0x8c4283a4, 0x18400016, +0x2821, 0x96260000, 0x520c0, 0x971021, 0x9442776e, 0x14460009, +0x971021, 0x94437770, 0x96220002, 0x14620005, 0x971021, 0x94437772, +0x96220004, 0x50620008, 0x24070001, 0x3c020001, 0x571021, 0x8c4283a4, +0x24a50001, 0xa2102a, 0x5440ffee, 0x520c0, 0x30e200ff, 0x10400278, +0x0, 0x800357b, 0x0, 0x2402021, 0xc00229d, 0x24050006, +0x3044001f, 0x428c0, 0x2e51021, 0x9442726c, 0x30424000, 0x1440026c, +0xb71021, 0x9443726e, 0x96220000, 0x1462000b, 0x418c0, 0xb71021, +0x94437270, 0x96220002, 0x14620006, 0x418c0, 0xb71021, 0x94437272, +0x96220004, 0x10620035, 0x418c0, 0x2e31021, 0x9442726c, 0x30428000, +0x14400259, 0x2e31021, 0x9448726c, 0x96270000, 0x828c0, 0xb71021, +0x9442736e, 0x800355d, 0x3021, 0x420c0, 0x2e41021, 0x9443736c, +0x2e41021, 0x9448736c, 0x30638000, 0x14600010, 0x828c0, 0xb71021, +0x9442736e, 0x1447fff5, 0x1002021, 0xb71021, 0x94437370, 0x96220002, +0x5462fff1, 0x420c0, 0xb71021, 0x94437372, 0x96220004, 0x5462ffec, +0x420c0, 0x24060001, 0x30c200ff, 0x10400238, 0x0, 0x800357b, +0x0, 0x97430202, 0x96420000, 0x14620232, 0x0, 0x97430204, +0x96420002, 0x1462022e, 0x0, 0x97430206, 0x96420004, 0x1462022a, +0x0, 0x92420000, 0x3a030001, 0x30420001, 0x431024, 0x10400074, +0x2402ffff, 0x8e230000, 0x14620004, 0x3402ffff, 0x96230004, 0x1062006f, +0x24140002, 0x3c020001, 0x571021, 0x904283a2, 0x1440006a, 0x24140003, +0x92e204c8, 0x14400067, 0x0, 0x3c020001, 0x571021, 0x8c4283a4, +0x28420005, 0x10400020, 0x3821, 0x3c020001, 0x571021, 0x8c4283a4, +0x18400016, 0x2821, 0x96260000, 0x520c0, 0x971021, 0x9442776e, +0x14460009, 0x971021, 0x94437770, 0x96220002, 0x14620005, 0x971021, +0x94437772, 0x96220004, 0x50620008, 0x24070001, 0x3c020001, 0x571021, +0x8c4283a4, 0x24a50001, 0xa2102a, 0x5440ffee, 0x520c0, 0x30e200ff, +0x14400044, 0x24140003, 0x80037a4, 0x0, 0x2402021, 0xc00229d, +0x24050006, 0x3044001f, 0x428c0, 0x2e51021, 0x9442726c, 0x30424000, +0x144001e7, 0xb71021, 0x9443726e, 0x96220000, 0x1462000b, 0x418c0, +0xb71021, 0x94437270, 0x96220002, 0x14620006, 0x418c0, 0xb71021, +0x94437272, 0x96220004, 0x10620027, 0x418c0, 0x2e31021, 0x9442726c, +0x30428000, 0x144001d4, 0x2e31021, 0x9448726c, 0x96270000, 0x828c0, +0xb71021, 0x9442736e, 0x80035e2, 0x3021, 0x420c0, 0x2e41021, +0x9443736c, 0x2e41021, 0x9448736c, 0x30638000, 0x14600010, 0x828c0, +0xb71021, 0x9442736e, 0x1447fff5, 0x1002021, 0xb71021, 0x94437370, +0x96220002, 0x5462fff1, 0x420c0, 0xb71021, 0x94437372, 0x96220004, +0x5462ffec, 0x420c0, 0x24060001, 0x30c200ff, 0x104001b3, 0x0, +0x80035f5, 0x24140003, 0x24140001, 0x8f420260, 0x53102b, 0x10400049, +0x0, 0x8f8300e4, 0x8f8200e0, 0x10620003, 0x24630008, 0xaf8300e4, +0xaf8300e8, 0x8ee400c0, 0x8ee500c4, 0x2601821, 0x1021, 0xa32821, +0xa3302b, 0x822021, 0x862021, 0xaee400c0, 0xaee500c4, 0x8ee20058, +0x24420001, 0xaee20058, 0x8ee20058, 0x8ee2007c, 0x24420001, 0xaee2007c, +0x8ee2007c, 0x8f8200e0, 0xafa20010, 0x8f8200e4, 0x3c040001, 0x248449d8, +0xafa20014, 0x8fa60018, 0x8fa7001c, 0x3c050006, 0xc0023a7, 0x34a5f003, +0x80037aa, 0x0, 0x8ee25230, 0xafa20010, 0x8ee25234, 0x3c040001, +0x248449e4, 0xafa20014, 0x8ee60e00, 0x8ee70e08, 0xc0023a7, 0x34a5f002, +0x8ee201bc, 0x24420001, 0xaee201bc, 0x8ee20000, 0x8ee301bc, 0x2403ffbf, +0x431024, 0x8003752, 0xaee20000, 0x8ee25230, 0xafa20010, 0x8ee25234, +0x3c040001, 0x248449e4, 0xafa20014, 0x8ee60e00, 0x8ee70e08, 0x3c050006, +0xc0023a7, 0x34a5f002, 0x8ee201bc, 0x24420001, 0xaee201bc, 0x8003752, +0x8ee201bc, 0x96e20468, 0x53102b, 0x54400001, 0x3c158000, 0x1260012e, +0x3c0c001f, 0x358cffff, 0x8ee2723c, 0x8f430280, 0x24420001, 0x304203ff, +0x10620105, 0x0, 0x12a00014, 0x0, 0x8ee35230, 0x8ee25234, +0x10620009, 0x26ee5234, 0x8eeb5234, 0x8ee35234, 0x21140, 0x24425238, +0x2e28021, 0x24630001, 0x800366f, 0x306800ff, 0x92e27238, 0x1440ffc0, +0x3c050006, 0x8ee201d0, 0x24420001, 0xaee201d0, 0x8ee201d0, 0x8ee30e00, +0x8ee20e08, 0x1062ffcb, 0x26ee0e08, 0x8eeb0e08, 0xa821, 0x8ee30e08, +0x21140, 0x24420e10, 0x2e28021, 0x24630001, 0x306801ff, 0x96e2046a, +0x30420010, 0x10400017, 0x34028100, 0x9643000c, 0x14620014, 0x0, +0x3c020001, 0x571021, 0x904283b0, 0x1440000f, 0x0, 0x9642000e, +0xa6020016, 0x8e420008, 0x8e430004, 0x8e440000, 0x2673fffc, 0xae42000c, +0xae430008, 0xae440004, 0x9602000e, 0x26310004, 0x24160001, 0x34420200, +0xa602000e, 0x9603000a, 0x2605021, 0x73102b, 0x10400002, 0x2606821, +0x605021, 0x2d42003d, 0x1040002a, 0x3821, 0x9623000c, 0x24020800, +0x54620027, 0xae110018, 0x3c020001, 0x571021, 0x904283b0, 0x54400022, +0xae110018, 0x26220017, 0x182102b, 0x10400013, 0x0, 0x3c02fff5, +0x511021, 0x90421017, 0x38430006, 0x2c630001, 0x38420011, 0x2c420001, +0x621825, 0x10600013, 0x26220010, 0x182102b, 0x1040000e, 0x0, +0x3c07fff5, 0xf13821, 0x94e71010, 0x80036bb, 0x24e7000e, 0x92220017, +0x38430006, 0x2c630001, 0x38420011, 0x2c420001, 0x621825, 0x50600004, +0xae110018, 0x96270010, 0x24e7000e, 0xae110018, 0x3c020001, 0x571021, +0x904283b0, 0x2102b, 0x14e00002, 0x24ec0, 0x1403821, 0x8f830120, +0x27623800, 0x24660020, 0xc2102b, 0x50400001, 0x27663000, 0x8f820128, +0x14c20007, 0x2402000b, 0x8ee201a0, 0x4821, 0x24420001, 0xaee201a0, +0x8003719, 0x8ee201a0, 0x8e040000, 0x8e050004, 0xac620018, 0x1751025, +0x491025, 0xac710008, 0xa467000e, 0xac62001c, 0xac640000, 0xac650004, +0x8ee204b0, 0xac620010, 0xaf860120, 0x92e24e10, 0x14400038, 0x24090001, +0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c830000, 0x24020007, +0x14620020, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001c, 0x0, +0x8c820004, 0x24420001, 0xac820004, 0x8ee34e24, 0x8ee54e20, 0x24020040, +0x24630001, 0x10620007, 0x0, 0x8ee24e24, 0x24420001, 0x10a20005, +0x0, 0x8003703, 0x0, 0x14a00005, 0x0, 0x8f820128, +0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, +0xac800000, 0x8003719, 0x0, 0x8ee24e20, 0x24030040, 0x24420001, +0x50430003, 0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x24020007, 0xac820000, 0x24020001, +0xac820004, 0x15200018, 0x3c050006, 0x8e020018, 0x3c040001, 0x248449f0, +0xafa20010, 0x8e020000, 0x8e030004, 0x34a5f009, 0x2003021, 0xc0023a7, +0xafa30014, 0x32c200ff, 0x1040002b, 0x34028100, 0x8e430004, 0x8e440008, +0x8e45000c, 0xa642000c, 0xae430000, 0xae440004, 0xae450008, 0x96020016, +0x8003752, 0xa642000e, 0x154d000a, 0x0, 0x9602000e, 0xa613000a, +0x34420004, 0xa602000e, 0x3c010001, 0x370821, 0xa02083b0, 0x8003750, +0x9821, 0x9604000a, 0x93102b, 0x10400002, 0x2601821, 0x801821, +0x24020001, 0xa603000a, 0x3c010001, 0x370821, 0xa02283b0, 0x9604000a, +0x2248821, 0x191102b, 0x10400003, 0x3c02fff5, 0x34421000, 0x2228821, +0x2649823, 0xa821, 0x1660fef7, 0xadc80000, 0x12600021, 0x32c200ff, +0x3c010001, 0x370821, 0xac3383b4, 0x3c010001, 0x370821, 0xac3183b8, +0x3c010001, 0x370821, 0x10400008, 0xac3283bc, 0x3c020001, 0x571021, +0x8c4283bc, 0x24420004, 0x3c010001, 0x370821, 0xac2283bc, 0x8ee2723c, +0x8f430280, 0x24420001, 0x14620006, 0x0, 0x8ee201c0, 0x24420001, +0xaee201c0, 0x80037aa, 0x8ee201c0, 0x8ee201b8, 0x24420001, 0xaee201b8, +0x80037aa, 0x8ee201b8, 0x97a4001e, 0x2484fffc, 0x801821, 0x8ee400c0, +0x8ee500c4, 0x1021, 0xa32821, 0xa3302b, 0x822021, 0x862021, +0x24020002, 0xaee400c0, 0xaee500c4, 0x1282000f, 0x2a820003, 0x14400017, +0x24020003, 0x16820015, 0x0, 0x8ee200d0, 0x8ee300d4, 0x24630001, +0x2c640001, 0x441021, 0xaee200d0, 0xaee300d4, 0x8ee200d0, 0x80037a4, +0x8ee300d4, 0x8ee200d8, 0x8ee300dc, 0x24630001, 0x2c640001, 0x441021, +0xaee200d8, 0xaee300dc, 0x8ee200d8, 0x80037a4, 0x8ee300dc, 0x8ee200c8, +0x8ee300cc, 0x24630001, 0x2c640001, 0x441021, 0xaee200c8, 0xaee300cc, +0x8ee200c8, 0x8ee300cc, 0x8f8300e4, 0x8f8200e0, 0x10620003, 0x24630008, +0xaf8300e4, 0xaf8300e8, 0x8fbf004c, 0x8fb60048, 0x8fb50044, 0x8fb40040, +0x8fb3003c, 0x8fb20038, 0x8fb10034, 0x8fb00030, 0x3e00008, 0x27bd0050, +0x27bdff90, 0xafbe0064, 0xf021, 0xafbf0068, 0xafb60060, 0xafb5005c, +0xafb40058, 0xafb30054, 0xafb20050, 0xafb1004c, 0xafb00048, 0x8ee204c4, +0x8821, 0x24160001, 0x30420001, 0x1440002a, 0xa3a0002f, 0x8f8700e0, +0x8f8800c4, 0x8f8200e8, 0xe22023, 0x2c821000, 0x50400001, 0x24841000, +0x420c2, 0x801821, 0x8ee400c8, 0x8ee500cc, 0x1021, 0xa32821, +0xa3302b, 0x822021, 0x862021, 0xaee400c8, 0xaee500cc, 0x8f8300c8, +0x3c02000a, 0x3442efff, 0x1032023, 0x44102b, 0x10400003, 0x3c02000a, +0x3442f000, 0x822021, 0x801821, 0x8ee400c0, 0x8ee500c4, 0x1021, +0xa32821, 0xa3302b, 0x822021, 0x862021, 0xaee400c0, 0xaee500c4, +0xaf8800c8, 0xaf8700e4, 0x8003bb3, 0xaf8700e8, 0x3c020001, 0x571021, +0x904283b0, 0x1040000b, 0x0, 0x3c130001, 0x2779821, 0x8e7383b4, +0x3c100001, 0x2178021, 0x8e1083b8, 0x3c120001, 0x2579021, 0x80039b3, +0x8e5283bc, 0x8f8300e0, 0x8f8200e4, 0x10430007, 0x3821, 0x8f8200e4, +0x24070001, 0x8c430000, 0x8c440004, 0xafa30018, 0xafa4001c, 0x14e0000e, +0x3c02ffff, 0x8f8200c4, 0xafa20010, 0x8f8200c8, 0x3c040001, 0x24844a14, +0xafa20014, 0x8f8600e0, 0x8f8700e4, 0x3c050006, 0xc0023a7, 0x34a5f200, +0x8003bb3, 0x0, 0x8fa3001c, 0x8fb20018, 0x3073ffff, 0x2673fffc, +0x621024, 0x10400058, 0x2408021, 0x3c020080, 0x621024, 0x1040000a, +0x3c040040, 0x8ee2007c, 0x24420001, 0xaee2007c, 0x8ee2007c, 0x8ee201ec, +0x24420001, 0xaee201ec, 0x8003bad, 0x8ee201ec, 0x3c060004, 0x3c0b0001, +0x3c0a0002, 0x3c050010, 0x3c090008, 0x8ee20080, 0x3c080020, 0x34078000, +0x24420001, 0xaee20080, 0x8ee20080, 0x8fa2001c, 0x441824, 0x10660021, +0xc3102b, 0x14400007, 0x0, 0x106b0011, 0x0, 0x106a0015, +0x0, 0x8003870, 0x42042, 0x10650023, 0xa3102b, 0x14400005, +0x0, 0x10690019, 0x0, 0x8003870, 0x42042, 0x10680021, +0x0, 0x8003870, 0x42042, 0x8ee20034, 0x24420001, 0xaee20034, +0x8ee20034, 0x8003870, 0x42042, 0x8ee201dc, 0x24420001, 0xaee201dc, +0x8ee201dc, 0x8003870, 0x42042, 0x8ee201e0, 0x24420001, 0xaee201e0, +0x8ee201e0, 0x8003870, 0x42042, 0x8ee201e4, 0x24420001, 0xaee201e4, +0x8ee201e4, 0x8003870, 0x42042, 0x8ee20030, 0x24420001, 0xaee20030, +0x8ee20030, 0x8003870, 0x42042, 0x8ee201e8, 0x24420001, 0xaee201e8, +0x8ee201e8, 0x42042, 0x1087033c, 0x0, 0x8003835, 0x0, +0x3c020001, 0x571021, 0x904283a2, 0x14400084, 0x24020001, 0x3c030001, +0x771821, 0x906383a3, 0x1462007f, 0x3c020100, 0x8e430000, 0x621024, +0x1040006f, 0x2402ffff, 0x14620005, 0x24110001, 0x96430004, 0x3402ffff, +0x10620075, 0x0, 0x92e204c8, 0x14400072, 0x0, 0x3c020001, +0x571021, 0x8c4283a4, 0x28420005, 0x10400020, 0x3821, 0x3c020001, +0x571021, 0x8c4283a4, 0x18400016, 0x2821, 0x96060000, 0x520c0, +0x971021, 0x9442776e, 0x14460009, 0x971021, 0x94437770, 0x96020002, +0x14620005, 0x971021, 0x94437772, 0x96020004, 0x50620008, 0x24070001, +0x3c020001, 0x571021, 0x8c4283a4, 0x24a50001, 0xa2102a, 0x5440ffee, +0x520c0, 0x30e200ff, 0x10400300, 0x0, 0x80038fc, 0x0, +0x2402021, 0xc00229d, 0x24050006, 0x3044001f, 0x428c0, 0x2e51021, +0x9442726c, 0x30424000, 0x144002f4, 0xb71021, 0x9443726e, 0x96020000, +0x1462000b, 0x418c0, 0xb71021, 0x94437270, 0x96020002, 0x14620006, +0x418c0, 0xb71021, 0x94437272, 0x96020004, 0x10620035, 0x418c0, +0x2e31021, 0x9442726c, 0x30428000, 0x144002e1, 0x2e31021, 0x944e726c, +0x96070000, 0xe28c0, 0xb71021, 0x9442736e, 0x80038de, 0x3021, +0x420c0, 0x2e41021, 0x9443736c, 0x2e41021, 0x944e736c, 0x30638000, +0x14600010, 0xe28c0, 0xb71021, 0x9442736e, 0x1447fff5, 0x1c02021, +0xb71021, 0x94437370, 0x96020002, 0x5462fff1, 0x420c0, 0xb71021, +0x94437372, 0x96020004, 0x5462ffec, 0x420c0, 0x24060001, 0x30c200ff, +0x104002c0, 0x0, 0x80038fc, 0x0, 0x97430202, 0x96420000, +0x146202ba, 0x0, 0x97430204, 0x96420002, 0x146202b6, 0x0, +0x97430206, 0x96420004, 0x146202b2, 0x0, 0x92420000, 0x3a230001, +0x30420001, 0x431024, 0x10400074, 0x2402ffff, 0x8e030000, 0x14620004, +0x3402ffff, 0x96030004, 0x1062006f, 0x24160002, 0x3c020001, 0x571021, +0x904283a2, 0x1440006a, 0x24160003, 0x92e204c8, 0x14400067, 0x0, +0x3c020001, 0x571021, 0x8c4283a4, 0x28420005, 0x10400020, 0x3821, +0x3c020001, 0x571021, 0x8c4283a4, 0x18400016, 0x2821, 0x96060000, +0x520c0, 0x971021, 0x9442776e, 0x14460009, 0x971021, 0x94437770, +0x96020002, 0x14620005, 0x971021, 0x94437772, 0x96020004, 0x50620008, +0x24070001, 0x3c020001, 0x571021, 0x8c4283a4, 0x24a50001, 0xa2102a, +0x5440ffee, 0x520c0, 0x30e200ff, 0x14400044, 0x24160003, 0x8003bad, +0x0, 0x2402021, 0xc00229d, 0x24050006, 0x3044001f, 0x428c0, +0x2e51021, 0x9442726c, 0x30424000, 0x1440026f, 0xb71021, 0x9443726e, +0x96020000, 0x1462000b, 0x418c0, 0xb71021, 0x94437270, 0x96020002, +0x14620006, 0x418c0, 0xb71021, 0x94437272, 0x96020004, 0x10620027, +0x418c0, 0x2e31021, 0x9442726c, 0x30428000, 0x1440025c, 0x2e31021, +0x944e726c, 0x96070000, 0xe28c0, 0xb71021, 0x9442736e, 0x8003963, +0x3021, 0x420c0, 0x2e41021, 0x9443736c, 0x2e41021, 0x944e736c, +0x30638000, 0x14600010, 0xe28c0, 0xb71021, 0x9442736e, 0x1447fff5, +0x1c02021, 0xb71021, 0x94437370, 0x96020002, 0x5462fff1, 0x420c0, +0xb71021, 0x94437372, 0x96020004, 0x5462ffec, 0x420c0, 0x24060001, +0x30c200ff, 0x1040023b, 0x0, 0x8003976, 0x24160003, 0x24160001, +0x8f420260, 0x53102b, 0x10400036, 0x0, 0x8f8300e4, 0x8f8200e0, +0x10620003, 0x24630008, 0xaf8300e4, 0xaf8300e8, 0x8ee400c0, 0x8ee500c4, +0x2601821, 0x1021, 0xa32821, 0xa3302b, 0x822021, 0x862021, +0xaee400c0, 0xaee500c4, 0x8ee20058, 0x24420001, 0xaee20058, 0x8ee20058, +0x8ee2007c, 0x24420001, 0xaee2007c, 0x8ee2007c, 0x8f8200e0, 0xafa20010, +0x8f8200e4, 0x3c040001, 0x24844a20, 0xafa20014, 0x8fa60018, 0x8fa7001c, +0x3c050006, 0xc0023a7, 0x34a5f203, 0x8003bb3, 0x0, 0x8ee25230, +0xafa20010, 0x8ee25234, 0x3c040001, 0x24844a2c, 0xafa20014, 0x8ee60e00, +0x8ee70e08, 0x3c050006, 0xc0023a7, 0x34a5f202, 0x8ee201bc, 0x24420001, +0xaee201bc, 0x8003b5a, 0x8ee201bc, 0x96e20468, 0x53102b, 0x54400001, +0x3c1e8000, 0x126001c9, 0x3c0f001f, 0x35efffff, 0x3c18fff5, 0x37181000, +0x8ee2723c, 0x8f430280, 0x24420001, 0x304203ff, 0x1062019d, 0x0, +0x13c00012, 0x0, 0x8ee35230, 0x8ee25234, 0x1062000a, 0x26f95234, +0x8ef55234, 0xafb90024, 0x8ee35234, 0x21140, 0x24425238, 0x2e28821, +0x24630001, 0x80039de, 0x306e00ff, 0x8ee201d0, 0x24420001, 0xaee201d0, +0x8ee201d0, 0x8ee30e00, 0x8ee20e08, 0x1062ffcb, 0x26f90e08, 0x8ef50e08, +0xf021, 0xafb90024, 0x8ee30e08, 0x21140, 0x24420e10, 0x2e28821, +0x24630001, 0x306e01ff, 0x96e2046a, 0x30420010, 0x10400018, 0x34028100, +0x9643000c, 0x14620015, 0x0, 0x3c020001, 0x571021, 0x904283b0, +0x14400010, 0x0, 0x9642000e, 0xa6220016, 0x8e420008, 0x8e430004, +0x8e440000, 0x2673fffc, 0xae42000c, 0xae430008, 0xae440004, 0x9622000e, +0x26100004, 0x24190001, 0xa3b9002f, 0x34420200, 0xa622000e, 0x8e220000, +0x8e230004, 0x3c040001, 0x34843800, 0x2003021, 0x306b0007, 0x20b8023, +0x3641021, 0x202102b, 0x10400005, 0x26b9821, 0x2041023, 0x3621823, +0x3c020020, 0x438023, 0x26620007, 0x9623000a, 0x2419fff8, 0x59a024, +0x6b1821, 0x74102b, 0x10400002, 0x2806821, 0x606821, 0x1a01821, +0x24620007, 0x2419fff8, 0x596824, 0x26d102b, 0x14400004, 0x1b32823, +0x1a32823, 0x8003a1c, 0xc31021, 0xd31021, 0x4b2023, 0x1e4102b, +0x54400001, 0x982021, 0x25620040, 0x4d102b, 0x14400035, 0x6021, +0x94c3000c, 0x24020800, 0x54620032, 0xae260018, 0x3c020001, 0x571021, +0x904283b0, 0x5440002d, 0xae260018, 0x24c20017, 0x1e2102b, 0x10400013, +0x0, 0x3c02fff5, 0x461021, 0x90421017, 0x38430006, 0x2c630001, +0x38420011, 0x2c420001, 0x621825, 0x10600014, 0x24c20010, 0x1e2102b, +0x1040000e, 0x0, 0x3c0cfff5, 0x1866021, 0x958c1010, 0x8003a4d, +0x2582000e, 0x90c20017, 0x38430006, 0x2c630001, 0x38420011, 0x2c420001, +0x621825, 0x10600005, 0x1801821, 0x94cc0010, 0x2582000e, 0x4b6021, +0x1801821, 0x24620007, 0x2419fff8, 0x596024, 0xc31021, 0x4b2023, +0x1e4102b, 0x10400002, 0x1832823, 0x982021, 0xae260018, 0x3c020001, +0x571021, 0x904283b0, 0x2102b, 0x216c0, 0x15800002, 0xafa20044, +0x1a06021, 0x30820001, 0x10400007, 0x4021, 0x90880000, 0x24840001, +0x1e4102b, 0x10400002, 0x24a5ffff, 0x982021, 0x50a00012, 0x81c02, +0x2ca20002, 0x54400009, 0x24a5ffff, 0x94820000, 0x24840002, 0x1024021, +0x1e4102b, 0x10400006, 0x24a5fffe, 0x8003a7a, 0x982021, 0x90820000, +0x21200, 0x1024021, 0x14a0fff2, 0x2ca20002, 0x81c02, 0x3102ffff, +0x624021, 0x3108ffff, 0x1602821, 0x11600011, 0x2002021, 0x2ca20002, +0x54400009, 0x24a5ffff, 0x94820000, 0x24840002, 0x1024021, 0x1e4102b, +0x10400006, 0x24a5fffe, 0x8003a91, 0x982021, 0x90820000, 0x21200, +0x1024021, 0x14a0fff2, 0x2ca20002, 0x81c02, 0x3102ffff, 0x624021, +0x81c02, 0x3102ffff, 0x8f890120, 0x624021, 0x27623800, 0x252a0020, +0x142102b, 0x14400002, 0x3108ffff, 0x276a3000, 0x8f820128, 0x15420007, +0x1602821, 0x8ee201a0, 0x3821, 0x24420001, 0xaee201a0, 0x8003b21, +0x8ee201a0, 0x8e260000, 0x8e270004, 0x81400, 0x3443000b, 0xad300008, +0xa52c000e, 0xad230018, 0x8fb90044, 0x2021, 0x2be1025, 0x591025, +0xad22001c, 0xe5102b, 0xe53823, 0xc43023, 0xc23023, 0xad260000, +0xad270004, 0x8ee204b0, 0xad220010, 0xaf8a0120, 0x92e24e10, 0x14400061, +0x24070001, 0x2462ffee, 0x2c420002, 0x14400003, 0x24020011, 0x14620025, +0x0, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c830000, +0x24020012, 0x1462000f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062000b, +0x24190040, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, +0x24420001, 0x1059002b, 0x0, 0x8003aff, 0x0, 0x8ee24e20, +0x24190040, 0x24420001, 0x50590003, 0x1021, 0x8ee24e20, 0x24420001, +0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8003b1e, +0x24020012, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c830000, +0x24020007, 0x1462001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, +0x24190040, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, +0x24420001, 0x10590007, 0x0, 0x8ee24e24, 0x24420001, 0x10620005, +0x0, 0x8003b0b, 0x0, 0x14600005, 0x0, 0x8f820128, +0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, +0xac800000, 0x8003b21, 0x0, 0x8ee24e20, 0x24190040, 0x24420001, +0x50590003, 0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x24020007, 0xac820000, 0x24020001, +0xac820004, 0x14e00019, 0x3c050006, 0x3c040001, 0x248449f0, 0x8e220018, +0x34a5f209, 0xafa20010, 0x8e220000, 0x8e230004, 0x2203021, 0x1803821, +0xc0023a7, 0xafa30014, 0x93a2002f, 0x1040002a, 0x34028100, 0x8e430004, +0x8e440008, 0x8e45000c, 0xa642000c, 0xae430000, 0xae440004, 0xae450008, +0x96220016, 0x8003b5a, 0xa642000e, 0x15b4000a, 0x26b1823, 0x9622000e, +0xa623000a, 0x34420004, 0xa622000e, 0x3c010001, 0x370821, 0xa02083b0, +0x8003b57, 0x9821, 0x9624000a, 0x83102b, 0x54400001, 0x801821, +0x24020001, 0xa623000a, 0x3c010001, 0x370821, 0xa02283b0, 0x9622000a, +0x4b1821, 0x2038021, 0x1f0102b, 0x54400001, 0x2188021, 0x2639823, +0xf021, 0x8fb90024, 0x1660fe5f, 0xaf2e0000, 0x12600022, 0x0, +0x3c010001, 0x370821, 0xac3383b4, 0x3c010001, 0x370821, 0xac3083b8, +0x3c010001, 0x370821, 0xac3283bc, 0x93a2002f, 0x10400008, 0x0, +0x3c020001, 0x571021, 0x8c4283bc, 0x24420004, 0x3c010001, 0x370821, +0xac2283bc, 0x8f430280, 0x8ee2723c, 0x14620006, 0x0, 0x8ee201c0, +0x24420001, 0xaee201c0, 0x8003bb3, 0x8ee201c0, 0x8ee201b8, 0x24420001, +0xaee201b8, 0x8003bb3, 0x8ee201b8, 0x97a4001e, 0x2484fffc, 0x801821, +0x8ee400c0, 0x8ee500c4, 0x1021, 0xa32821, 0xa3302b, 0x822021, +0x862021, 0x24020002, 0xaee400c0, 0xaee500c4, 0x12c2000f, 0x2ac20003, +0x14400017, 0x24020003, 0x16c20015, 0x0, 0x8ee200d0, 0x8ee300d4, +0x24630001, 0x2c640001, 0x441021, 0xaee200d0, 0xaee300d4, 0x8ee200d0, +0x8003bad, 0x8ee300d4, 0x8ee200d8, 0x8ee300dc, 0x24630001, 0x2c640001, +0x441021, 0xaee200d8, 0xaee300dc, 0x8ee200d8, 0x8003bad, 0x8ee300dc, +0x8ee200c8, 0x8ee300cc, 0x24630001, 0x2c640001, 0x441021, 0xaee200c8, +0xaee300cc, 0x8ee200c8, 0x8ee300cc, 0x8f8300e4, 0x8f8200e0, 0x10620003, +0x24630008, 0xaf8300e4, 0xaf8300e8, 0x8fbf0068, 0x8fbe0064, 0x8fb60060, +0x8fb5005c, 0x8fb40058, 0x8fb30054, 0x8fb20050, 0x8fb1004c, 0x8fb00048, +0x3e00008, 0x27bd0070, 0x27bdffe0, 0xafbf0018, 0x8ee30e04, 0x8ee20dfc, +0x10620071, 0x0, 0x8ee30dfc, 0x8ee20e04, 0x622023, 0x4820001, +0x24840200, 0x8ee30e08, 0x8ee20e04, 0x43102b, 0x14400004, 0x24020200, +0x8ee30e04, 0x8003bd5, 0x431823, 0x8ee20e08, 0x8ee30e04, 0x431023, +0x2443ffff, 0x804821, 0x69102a, 0x54400001, 0x604821, 0x8f870100, +0x27623000, 0x24e80020, 0x102102b, 0x50400001, 0x27682800, 0x8f820108, +0x15020007, 0x1021, 0x8ee201a4, 0x2021, 0x24420001, 0xaee201a4, +0x8003c14, 0x8ee201a4, 0x8ee40e04, 0x42140, 0x801821, 0x8ee40460, +0x8ee50464, 0xa32821, 0xa3302b, 0x822021, 0x862021, 0xace40000, +0xace50004, 0x8ee30e04, 0x91140, 0xa4e2000e, 0x24020002, 0xace20018, +0x31940, 0x24630e10, 0x2e31021, 0xace20008, 0x8ee20e04, 0xace2001c, +0x8ee204bc, 0xace20010, 0xaf880100, 0x92e204dc, 0x14400011, 0x24040001, +0x8ee24e18, 0x24030040, 0x24420001, 0x50430003, 0x1021, 0x8ee24e18, +0x24420001, 0xaee24e18, 0x8ee24e18, 0x210c0, 0x24424e28, 0x2e21821, +0x24020002, 0xac620000, 0x24020001, 0xac620004, 0x1480000e, 0x24030040, +0x8ee20e04, 0xafa20010, 0x8ee20e08, 0x3c050007, 0xafa20014, 0x8ee60dfc, +0x8ee70e00, 0x3c040001, 0x24844a34, 0xc0023a7, 0x34a5f001, 0x8003c32, +0x0, 0x8ee204f0, 0x24420001, 0x50430003, 0x1021, 0x8ee204f0, +0x24420001, 0xaee204f0, 0x8ee204f0, 0x21080, 0x571021, 0xac4904f8, +0x8ee20e04, 0x491021, 0x304201ff, 0xaee20e04, 0x8ee30e04, 0x8ee20dfc, +0x14620005, 0x0, 0x8f820060, 0x2403fdff, 0x431024, 0xaf820060, +0x8fbf0018, 0x3e00008, 0x27bd0020, 0x27bdffe0, 0xafbf0018, 0x8ee3522c, +0x8ee25228, 0x10620071, 0x0, 0x8ee35228, 0x8ee2522c, 0x622023, +0x4820001, 0x24840100, 0x8ee35234, 0x8ee2522c, 0x43102b, 0x14400004, +0x24020100, 0x8ee3522c, 0x8003c54, 0x431823, 0x8ee25234, 0x8ee3522c, +0x431023, 0x2443ffff, 0x804821, 0x69102a, 0x54400001, 0x604821, +0x8f870100, 0x27623000, 0x24e80020, 0x102102b, 0x50400001, 0x27682800, +0x8f820108, 0x15020007, 0x1021, 0x8ee201a4, 0x2021, 0x24420001, +0xaee201a4, 0x8003c93, 0x8ee201a4, 0x8ee4522c, 0x42140, 0x801821, +0x8ee40470, 0x8ee50474, 0xa32821, 0xa3302b, 0x822021, 0x862021, +0xace40000, 0xace50004, 0x8ee3522c, 0x91140, 0xa4e2000e, 0x24020003, +0xace20018, 0x31940, 0x24635238, 0x2e31021, 0xace20008, 0x8ee2522c, +0xace2001c, 0x8ee204bc, 0xace20010, 0xaf880100, 0x92e204dc, 0x14400011, +0x24040001, 0x8ee24e18, 0x24030040, 0x24420001, 0x50430003, 0x1021, +0x8ee24e18, 0x24420001, 0xaee24e18, 0x8ee24e18, 0x210c0, 0x24424e28, +0x2e21821, 0x24020003, 0xac620000, 0x24020001, 0xac620004, 0x1480000e, +0x24030040, 0x8ee2522c, 0xafa20010, 0x8ee25234, 0x3c050007, 0xafa20014, +0x8ee65228, 0x8ee75230, 0x3c040001, 0x24844a40, 0xc0023a7, 0x34a5f010, +0x8003cb1, 0x0, 0x8ee204f0, 0x24420001, 0x50430003, 0x1021, +0x8ee204f0, 0x24420001, 0xaee204f0, 0x8ee204f0, 0x21080, 0x571021, +0xac4904f8, 0x8ee2522c, 0x491021, 0x304200ff, 0xaee2522c, 0x8ee3522c, +0x8ee25228, 0x14620005, 0x0, 0x8f820060, 0x2403feff, 0x431024, +0xaf820060, 0x8fbf0018, 0x3e00008, 0x27bd0020, 0x8f820120, 0x8ee34e24, +0x8f820124, 0x8f860128, 0x24020040, 0x24630001, 0x50620003, 0x1021, +0x8ee24e24, 0x24420001, 0xaee24e24, 0x8ee24e24, 0x8ee44e24, 0x8ee34e20, +0x210c0, 0x24425028, 0x14830007, 0x2e22821, 0x8f820128, 0x24420020, +0xaf820128, 0x8f820128, 0x8003ce4, 0xaca00000, 0x8ee24e24, 0x24030040, +0x24420001, 0x50430003, 0x1021, 0x8ee24e24, 0x24420001, 0x210c0, +0x24425028, 0x2e22821, 0x8ca20004, 0x8f830128, 0x21140, 0x621821, +0xaf830128, 0xaca00000, 0x8cc20018, 0x2443fffe, 0x2c620012, 0x10400008, +0x31080, 0x3c010001, 0x220821, 0x8c224a50, 0x400008, 0x0, +0x24020001, 0xaee24e14, 0x3e00008, 0x0, 0x27bdffc8, 0xafbf0030, +0xafb5002c, 0xafb40028, 0xafb30024, 0xafb20020, 0xafb1001c, 0xafb00018, +0x8f830128, 0x8f820124, 0x106202a7, 0xa021, 0x3c11001f, 0x3631ffff, +0x3c12fff5, 0x36521000, 0x24150012, 0x24130040, 0x8f8c0128, 0x8f820128, +0x24420020, 0xaf820128, 0x9182001b, 0x8f830128, 0x2443fffe, 0x2c620012, +0x10400293, 0x31080, 0x3c010001, 0x220821, 0x8c224aa8, 0x400008, +0x0, 0x8f420218, 0x30420100, 0x10400007, 0x0, 0x95830016, +0x95820018, 0x621823, 0x31402, 0x431021, 0xa5820016, 0x8d82001c, +0x3c038000, 0x3044ffff, 0x436824, 0x3c030800, 0x431824, 0x11a00004, +0xad84001c, 0x41140, 0x8003d2a, 0x24425238, 0x41140, 0x24420e10, +0x2e25821, 0x9562000e, 0x3042fffc, 0x10600004, 0xa562000e, 0x95840016, +0x8003e12, 0x0, 0x8d690018, 0x4021, 0x952a0000, 0x25290002, +0x95270000, 0x25290002, 0x95260000, 0x25290002, 0x95250000, 0x25290002, +0x95240000, 0x25290002, 0x95230000, 0x25290002, 0x95220000, 0x25290002, +0x1475021, 0x1465021, 0x1455021, 0x1445021, 0x1435021, 0x1425021, +0xa1c02, 0x3142ffff, 0x625021, 0xa1c02, 0x3142ffff, 0x625021, +0x96e2046a, 0x314effff, 0x30420002, 0x10400044, 0x5021, 0x25220014, +0x222102b, 0x10400014, 0x1201821, 0x2405000a, 0x2021, 0x223102b, +0x54400001, 0x721821, 0x94620000, 0x24630002, 0x24a5ffff, 0x14a0fff9, +0x822021, 0x41c02, 0x3082ffff, 0x622021, 0x41402, 0x3083ffff, +0x431021, 0x3042ffff, 0x8003d85, 0x1425021, 0x952a0000, 0x25290002, +0x95280000, 0x25290002, 0x95270000, 0x25290002, 0x95260000, 0x25290002, +0x95250000, 0x25290002, 0x95230000, 0x25290002, 0x95220000, 0x25290002, +0x95240000, 0x25290002, 0x1485021, 0x1475021, 0x1465021, 0x1455021, +0x1435021, 0x1425021, 0x95220000, 0x95230002, 0x1445021, 0x1425021, +0x1435021, 0xa1c02, 0x3142ffff, 0x625021, 0xa1c02, 0x3142ffff, +0x625021, 0x3148ffff, 0x51000001, 0x3408ffff, 0x8d620018, 0x9443000c, +0x24020800, 0x54620005, 0xa5680010, 0x9562000e, 0x34420002, 0xa562000e, +0xa5680010, 0x96e2046a, 0x2821, 0x30420008, 0x14400056, 0x3021, +0x8d630018, 0x24620024, 0x222102b, 0x10400034, 0x24690010, 0x229102b, +0x54400001, 0x1324821, 0x95250000, 0x24690014, 0x229102b, 0x10400002, +0x24a5ffec, 0x1324821, 0x95220000, 0x30420fff, 0x14400003, 0x25290002, +0x8003db2, 0x24140001, 0xa021, 0xa03021, 0x229102b, 0x54400001, +0x1324821, 0x91220001, 0x25290002, 0xa22821, 0x229102b, 0x54400001, +0x1324821, 0x25290002, 0x229102b, 0x54400001, 0x1324821, 0x95220000, +0x25290002, 0xa22821, 0x229102b, 0x54400001, 0x1324821, 0x95220000, +0x25290002, 0xa22821, 0x229102b, 0x54400001, 0x1324821, 0x95220000, +0x25290002, 0xa22821, 0x229102b, 0x54400001, 0x1324821, 0x95220000, +0x8003deb, 0xa22821, 0x94650010, 0x94620014, 0x24690016, 0x30420fff, +0x14400003, 0x24a5ffec, 0x8003dde, 0x24140001, 0xa021, 0xa03021, +0x91230001, 0x25290004, 0x95220000, 0x25290002, 0x95240000, 0x25290002, +0xa32821, 0xa22821, 0x95220000, 0x95230002, 0xa42821, 0xa22821, +0xa32821, 0x51c02, 0x30a2ffff, 0x622821, 0x51c02, 0x30a2ffff, +0x622821, 0x96e2046a, 0x30420001, 0x1040001e, 0x2021, 0x95820016, +0x4e2023, 0x41402, 0x822021, 0x328200ff, 0x50400002, 0x862021, +0x852021, 0x41402, 0x822021, 0x3084ffff, 0x50800001, 0x3404ffff, +0x8d620018, 0x24430017, 0x223102b, 0x54400001, 0x721821, 0x90620000, +0x38430011, 0x2c630001, 0x38420006, 0x2c420001, 0x621825, 0x10600004, +0x0, 0x9562000e, 0x34420001, 0xa562000e, 0x9562000e, 0x240a0002, +0x30420004, 0x10400002, 0xa5640012, 0x240a0004, 0x8f880120, 0x27623800, +0x25090020, 0x122102b, 0x50400001, 0x27693000, 0x8f820128, 0x15220007, +0x24040020, 0x8ee201a0, 0x8021, 0x24420001, 0xaee201a0, 0x8003e9e, +0x8ee201a0, 0x8ee5723c, 0x8ee60480, 0x8ee70484, 0xad0b0008, 0xa504000e, +0xad0a0018, 0x52940, 0xa01821, 0x1021, 0xe33821, 0xe3202b, +0xc23021, 0xc43021, 0xad060000, 0xad070004, 0x8ee2723c, 0x4d1025, +0xad02001c, 0x8ee204b4, 0xad020010, 0xaf890120, 0x92e24e10, 0x14400060, +0x24100001, 0x2543ffee, 0x2c630002, 0x39420011, 0x2c420001, 0x621825, +0x10600024, 0x0, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, +0x8c820000, 0x1455000f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062000b, +0x0, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, +0x24420001, 0x1053002b, 0x0, 0x8003e7d, 0x0, 0x8ee24e20, +0x24420001, 0x50530003, 0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, +0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x24020001, 0x8003e9d, +0xac950000, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c830000, +0x24020007, 0x1462001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, +0x0, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, +0x24420001, 0x10530007, 0x0, 0x8ee24e24, 0x24420001, 0x10620005, +0x0, 0x8003e89, 0x0, 0x14600005, 0x0, 0x8f820128, +0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400012, +0xac800000, 0x8003e9e, 0x0, 0x8ee24e20, 0x24420001, 0x50530003, +0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, +0x24425028, 0x2e22021, 0x24020007, 0xac820000, 0x24020001, 0xac820004, +0x1600000d, 0x0, 0x8f820120, 0x3c040001, 0x24844a98, 0xafa00014, +0xafa20010, 0x8d86001c, 0x8f870124, 0x3c050008, 0xc0023a7, 0x34a50001, +0x8003fa0, 0x0, 0x8ee2723c, 0x24420001, 0x304203ff, 0x11a00006, +0xaee2723c, 0x8ee201c8, 0x2442ffff, 0xaee201c8, 0x8003eba, 0x8ee201c8, +0x8ee201c4, 0x2442ffff, 0xaee201c4, 0x8ee201c4, 0x8ee201cc, 0x2442ffff, +0xaee201cc, 0x8003fa0, 0x8ee201cc, 0x8f420240, 0x104000df, 0x0, +0x8ee20e0c, 0x24420001, 0x8003fa0, 0xaee20e0c, 0x9582001e, 0xad82001c, +0x8f420240, 0x1040006f, 0x0, 0x8ee20e0c, 0x24420001, 0xaee20e0c, +0x8f430240, 0x43102b, 0x144000cf, 0x0, 0x8f830120, 0x27623800, +0x24660020, 0xc2102b, 0x50400001, 0x27663000, 0x8f820128, 0x14c20007, +0x0, 0x8ee201a0, 0x8021, 0x24420001, 0xaee201a0, 0x8003f26, +0x8ee201a0, 0x8ee2723c, 0xac62001c, 0x8ee40498, 0x8ee5049c, 0x2462001c, +0xac620008, 0x24020008, 0xa462000e, 0x24020011, 0xac620018, 0xac640000, +0xac650004, 0x8ee204b4, 0xac620010, 0xaf860120, 0x92e24e10, 0x14400034, +0x24100001, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0x8c820000, +0x1455001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x0, +0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, 0x24420001, +0x10530007, 0x0, 0x8ee24e24, 0x24420001, 0x10620005, 0x0, +0x8003f12, 0x0, 0x14600005, 0x0, 0x8f820128, 0x24420020, +0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400011, 0xac800000, +0x8003f26, 0x0, 0x8ee24e20, 0x24420001, 0x50530003, 0x1021, +0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, +0x2e22021, 0x24020001, 0xac950000, 0xac820004, 0x5600000b, 0x24100001, +0x8ee2723c, 0x3c040001, 0x24844a08, 0xafa00014, 0xafa20010, 0x8ee6723c, +0x8f470280, 0x3c050009, 0xc0023a7, 0x34a5f008, 0x56000001, 0xaee00e0c, +0x8ee20184, 0x24420001, 0xaee20184, 0x8003f99, 0x8ee20184, 0x8f830120, +0x27623800, 0x24660020, 0xc2102b, 0x50400001, 0x27663000, 0x8f820128, +0x14c20007, 0x0, 0x8ee201a0, 0x8021, 0x24420001, 0xaee201a0, +0x8003f8d, 0x8ee201a0, 0x8ee2723c, 0xac62001c, 0x8ee40498, 0x8ee5049c, +0x2462001c, 0xac620008, 0x24020008, 0xa462000e, 0x24020011, 0xac620018, +0xac640000, 0xac650004, 0x8ee204b4, 0xac620010, 0xaf860120, 0x92e24e10, +0x14400034, 0x24100001, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, +0x8c820000, 0x1455001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, +0x0, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, +0x24420001, 0x10530007, 0x0, 0x8ee24e24, 0x24420001, 0x10620005, +0x0, 0x8003f79, 0x0, 0x14600005, 0x0, 0x8f820128, +0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400011, +0xac800000, 0x8003f8d, 0x0, 0x8ee24e20, 0x24420001, 0x50530003, +0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, +0x24425028, 0x2e22021, 0x24020001, 0xac950000, 0xac820004, 0x1600000b, +0x0, 0x8ee2723c, 0x3c040001, 0x24844a08, 0xafa00014, 0xafa20010, +0x8ee6723c, 0x8f470280, 0x3c050009, 0xc0023a7, 0x34a5f008, 0x8ee20170, +0x24420001, 0xaee20170, 0x8003fa0, 0x8ee20170, 0x24020001, 0xaee24e14, +0x8f830128, 0x8f820124, 0x1462fd61, 0x0, 0x8fbf0030, 0x8fb5002c, +0x8fb40028, 0x8fb30024, 0x8fb20020, 0x8fb1001c, 0x8fb00018, 0x3e00008, +0x27bd0038, 0x0, 0x0, 0x0, 0x27bdffe8, 0x27840208, +0x27450200, 0x24060008, 0xafbf0014, 0xc00243e, 0xafb00010, 0x24040001, +0x24100001, 0x2402241f, 0xaf900210, 0xaf900200, 0xaf800204, 0xaf820214, +0x8f460248, 0x24030004, 0x3c020040, 0x3c010001, 0xac234de8, 0x3c010001, +0xac234dec, 0x3c010001, 0xac204e8c, 0x3c010001, 0xac224de4, 0x3c010001, +0xac234dec, 0xc004e2c, 0x24050004, 0xc0046b4, 0x0, 0x8ee20000, +0x3c03feff, 0x3463fffd, 0x431024, 0xaee20000, 0x3c023c00, 0xaf82021c, +0x3c010001, 0x370821, 0xac30839c, 0x8fbf0014, 0x8fb00010, 0x3e00008, +0x27bd0018, 0x27bdffe0, 0x3c050008, 0x34a50400, 0xafbf0018, 0xafa00010, +0xafa00014, 0x8f860200, 0x3c040001, 0x24844b50, 0xc0023a7, 0x3821, +0x8ee20270, 0x24420001, 0xaee20270, 0x8ee20270, 0x8f830200, 0x3c023f00, +0x621824, 0x8fbf0018, 0x3c020400, 0x3e00008, 0x27bd0020, 0x27bdffd8, +0xafbf0020, 0xafb1001c, 0xafb00018, 0x8f900220, 0x8ee20204, 0x3821, +0x24420001, 0xaee20204, 0x8ee20204, 0x3c020300, 0x2021024, 0x10400027, +0x3c110400, 0xc0041e7, 0x0, 0x3c020100, 0x2021024, 0x10400007, +0x0, 0x8ee20208, 0x24420001, 0xaee20208, 0x8ee20208, 0x8004012, +0x3c03fdff, 0x8ee2020c, 0x24420001, 0xaee2020c, 0x8ee2020c, 0x3c03fdff, +0x3463ffff, 0x3c0808ff, 0x3508ffff, 0x8ee20000, 0x3c040001, 0x24844b5c, +0x3c050008, 0x2003021, 0x431024, 0xaee20000, 0x8f820220, 0x3821, +0x3c030300, 0x481024, 0x431025, 0xaf820220, 0xafa00010, 0xc0023a7, +0xafa00014, 0x80041e2, 0x0, 0x2111024, 0x1040001f, 0x3c024000, +0x8f830224, 0x24021402, 0x1462000b, 0x3c03fdff, 0x3c040001, 0x24844b68, +0x3c050008, 0xafa00010, 0xafa00014, 0x8f860224, 0x34a5ffff, 0xc0023a7, +0x3821, 0x3c03fdff, 0x8ee20000, 0x3463ffff, 0x2002021, 0x431024, +0xc004b88, 0xaee20000, 0x8ee20210, 0x24420001, 0xaee20210, 0x8ee20210, +0x8f820220, 0x3c0308ff, 0x3463ffff, 0x431024, 0x80041e1, 0x511025, +0x2021024, 0x10400142, 0x0, 0x8ee2021c, 0x24420001, 0xaee2021c, +0x8ee2021c, 0x8f820220, 0x3c0308ff, 0x3463ffff, 0x431024, 0x34420004, +0xaf820220, 0x8f830054, 0x8f820054, 0x800405a, 0x24630002, 0x8f820054, +0x621023, 0x2c420003, 0x1440fffc, 0x0, 0x8f8600e0, 0x8f8400e4, +0x30c20007, 0x10400012, 0x0, 0x8f8300e4, 0x2402fff8, 0xc21024, +0x1043000d, 0x0, 0x8f820054, 0x8f8300e0, 0x14c30009, 0x24440050, +0x8f820054, 0x821023, 0x2c420051, 0x10400004, 0x0, 0x8f8200e0, +0x10c2fff9, 0x0, 0x8f820220, 0x3c0308ff, 0x3463fffd, 0x431024, +0xaf820220, 0x8f8600e0, 0x30c20007, 0x10400003, 0x2402fff8, 0xc23024, +0xaf8600e0, 0x8f8300c4, 0x3c02001f, 0x3442ffff, 0x24680008, 0x48102b, +0x10400003, 0x3c02fff5, 0x34421000, 0x1024021, 0x8f8b00c8, 0x8f850120, +0x8f840124, 0x8004091, 0x6021, 0x27623800, 0x82102b, 0x50400001, +0x27643000, 0x10a40010, 0x318200ff, 0x8c820018, 0x38430007, 0x2c630001, +0x3842000b, 0x2c420001, 0x621825, 0x5060fff3, 0x24840020, 0x8ee20230, +0x240c0001, 0x24420001, 0xaee20230, 0x8ee20230, 0x8c8b0008, 0x318200ff, +0x14400065, 0x0, 0x3c020001, 0x571021, 0x904283b0, 0x14400060, +0x0, 0x8f8400e4, 0xc41023, 0x218c3, 0x4620001, 0x24630200, +0x8f8900c4, 0x10600005, 0x24020001, 0x10620009, 0x0, 0x80040d3, +0x0, 0x8ee20220, 0x1205821, 0x24420001, 0xaee20220, 0x8004108, +0x8ee20220, 0x8ee20224, 0x3c05000a, 0x24420001, 0xaee20224, 0x8c8b0000, +0x34a5f000, 0x8ee20224, 0x12b1823, 0xa3102b, 0x54400001, 0x651821, +0x2c62233f, 0x14400040, 0x0, 0x8f8200e8, 0x24420008, 0xaf8200e8, +0x8f8200e8, 0x8f8200e4, 0x1205821, 0x24420008, 0xaf8200e4, 0x8004108, +0x8f8200e4, 0x8ee20228, 0x3c03000a, 0x24420001, 0xaee20228, 0x8c840000, +0x3463f000, 0x8ee20228, 0x883823, 0x67102b, 0x54400001, 0xe33821, +0x3c020003, 0x34420d40, 0x47102b, 0x10400003, 0x0, 0x8004108, +0x805821, 0x8f8200e4, 0x24440008, 0xaf8400e4, 0x8f8400e4, 0x10860018, +0x3c05000a, 0x34a5f000, 0x3c0a0003, 0x354a0d40, 0x8ee2007c, 0x24420001, +0xaee2007c, 0x8c830000, 0x8ee2007c, 0x683823, 0xa7102b, 0x54400001, +0xe53821, 0x147102b, 0x54400007, 0x605821, 0x8f8200e4, 0x24440008, +0xaf8400e4, 0x8f8400e4, 0x1486ffef, 0x0, 0x14860005, 0x0, +0x1205821, 0xaf8600e4, 0x8004108, 0xaf8600e8, 0xaf8400e4, 0xaf8400e8, +0x8f8200c8, 0x3c03000a, 0x3463f000, 0x483823, 0x67102b, 0x54400001, +0xe33821, 0x3c020003, 0x34420d3f, 0x47102b, 0x54400007, 0x6021, +0x1683823, 0x67102b, 0x54400003, 0xe33821, 0x800411b, 0x3c020003, +0x3c020003, 0x34420d3f, 0x47102b, 0x14400016, 0x318200ff, 0x14400006, +0x0, 0x3c020001, 0x571021, 0x904283b0, 0x1040000f, 0x0, +0x8ee2022c, 0x3c04fdff, 0x8ee30000, 0x3484ffff, 0x24420001, 0xaee2022c, +0x8ee2022c, 0x24020001, 0x641824, 0x3c010001, 0x370821, 0xa02283a8, +0x8004178, 0xaee30000, 0xaf8b00c8, 0x8f8300c8, 0x8f8200c4, 0x3c04000a, +0x3484f000, 0x623823, 0x87102b, 0x54400001, 0xe43821, 0x3c020003, +0x34420d40, 0x47102b, 0x2ce30001, 0x431025, 0x10400008, 0x0, +0x8f820220, 0x3c0308ff, 0x3463ffff, 0x431024, 0x3c034000, 0x431025, +0xaf820220, 0x8f8600e0, 0x8f8400e4, 0x10c4002a, 0x0, 0x8ee2007c, +0x24420001, 0xaee2007c, 0x8ee2007c, 0x24c2fff8, 0xaf8200e0, 0x3c020001, +0x8c426f30, 0x3c030008, 0x8f8600e0, 0x431024, 0x1040001d, 0x0, +0x10c4001b, 0x240dfff8, 0x3c0a000a, 0x354af000, 0x3c0c0080, 0x24850008, +0x27622800, 0x50a20001, 0x27651800, 0x8c880004, 0x8c820000, 0x8ca90000, +0x3103ffff, 0x431021, 0x4d1024, 0x24430010, 0x6b102b, 0x54400001, +0x6a1821, 0x12b102b, 0x54400001, 0x12a4821, 0x10690002, 0x10c1025, +0xac820004, 0xa02021, 0x14c4ffeb, 0x24850008, 0x8f820220, 0x3c0308ff, +0x3463ffff, 0x431024, 0x34420002, 0xaf820220, 0x8f830054, 0x8f820054, +0x8004183, 0x24630001, 0x8f820054, 0x621023, 0x2c420002, 0x1440fffc, +0x0, 0x8f820220, 0x3c0308ff, 0x3463fffb, 0x431024, 0xaf820220, +0x6010055, 0x0, 0x8ee20218, 0x24420001, 0xaee20218, 0x8ee20218, +0x8f820220, 0x3c0308ff, 0x3463ffff, 0x431024, 0x34420004, 0xaf820220, +0x8f830054, 0x8f820054, 0x800419d, 0x24630002, 0x8f820054, 0x621023, +0x2c420003, 0x1440fffc, 0x0, 0x8f8600e0, 0x30c20007, 0x10400012, +0x0, 0x8f8300e4, 0x2402fff8, 0xc21024, 0x1043000d, 0x0, +0x8f820054, 0x8f8300e0, 0x14c30009, 0x24440032, 0x8f820054, 0x821023, +0x2c420033, 0x10400004, 0x0, 0x8f8200e0, 0x10c2fff9, 0x0, +0x8f820220, 0x3c0308ff, 0x3463fffd, 0x431024, 0xaf820220, 0x8f8600e0, +0x30c20007, 0x10400003, 0x2402fff8, 0xc23024, 0xaf8600e0, 0x240301f5, +0x8f8200e8, 0x673823, 0x718c0, 0x431021, 0xaf8200e8, 0x8f8200e8, +0xaf8200e4, 0x8ee2007c, 0x3c0408ff, 0x3484ffff, 0x471021, 0xaee2007c, +0x8f820220, 0x3c038000, 0x34630002, 0x441024, 0x431025, 0xaf820220, +0x8f830054, 0x8f820054, 0x80041d9, 0x24630001, 0x8f820054, 0x621023, +0x2c420002, 0x1440fffc, 0x0, 0x8f820220, 0x3c0308ff, 0x3463fffb, +0x431024, 0xaf820220, 0x8fbf0020, 0x8fb1001c, 0x8fb00018, 0x3e00008, +0x27bd0028, 0x3c020001, 0x8c424dfc, 0x27bdffd8, 0x10400012, 0xafbf0020, +0x3c040001, 0x24844b74, 0x3c050008, 0x24020001, 0x3c010001, 0x370821, +0xac22839c, 0xafa00010, 0xafa00014, 0x8f860220, 0x34a50498, 0x3c010001, +0xac204dfc, 0x3c010001, 0xac224df0, 0xc0023a7, 0x3821, 0x8f420268, +0x3c037fff, 0x3463ffff, 0x431024, 0xaf420268, 0x8ee204c0, 0x8ee404c4, +0x2403fffe, 0x431024, 0x30840002, 0x10800118, 0xaee204c0, 0x8ee204c4, +0x2403fffd, 0x431024, 0xaee204c4, 0x8f820044, 0x3c030600, 0x34632000, +0x34420020, 0xaf820044, 0xafa30018, 0x8ee205f8, 0x8f430228, 0x24420001, +0x304a00ff, 0x514300f8, 0xafa00010, 0x8ee205f8, 0x210c0, 0x571021, +0x8fa30018, 0x8fa4001c, 0xac4305fc, 0xac440600, 0x8f830054, 0x8f820054, +0x24690032, 0x1221023, 0x2c420033, 0x10400067, 0x5821, 0x24180008, +0x240f000d, 0x240d0007, 0x240c0040, 0x240e0001, 0x8f870120, 0x27623800, +0x24e80020, 0x102102b, 0x50400001, 0x27683000, 0x8f820128, 0x15020007, +0x1021, 0x8ee201a0, 0x2821, 0x24420001, 0xaee201a0, 0x8004286, +0x8ee201a0, 0x8ee405f8, 0x420c0, 0x801821, 0x8ee40430, 0x8ee50434, +0xa32821, 0xa3302b, 0x822021, 0x862021, 0xace40000, 0xace50004, +0x8ee205f8, 0xa4f8000e, 0xacef0018, 0xacea001c, 0x210c0, 0x244205fc, +0x2e21021, 0xace20008, 0x8ee204b4, 0xace20010, 0xaf880120, 0x92e24e10, +0x14400033, 0x24050001, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, +0x8c820000, 0x144d001f, 0x0, 0x8ee34e20, 0x8ee24e24, 0x1062001b, +0x0, 0x8c820004, 0x24420001, 0xac820004, 0x8ee24e24, 0x8ee34e20, +0x24420001, 0x104c0007, 0x0, 0x8ee24e24, 0x24420001, 0x10620005, +0x0, 0x8004273, 0x0, 0x14600005, 0x0, 0x8f820128, +0x24420020, 0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400010, +0xac800000, 0x8004286, 0x0, 0x8ee24e20, 0x24420001, 0x504c0003, +0x1021, 0x8ee24e20, 0x24420001, 0xaee24e20, 0x8ee24e20, 0x210c0, +0x24425028, 0x2e22021, 0xac8d0000, 0xac8e0004, 0x54a00006, 0x240b0001, +0x8f820054, 0x1221023, 0x2c420033, 0x1440ffa0, 0x0, 0x316300ff, +0x24020001, 0x54620076, 0xafa00010, 0xaeea05f8, 0x8f830054, 0x8f820054, +0x24690032, 0x1221023, 0x2c420033, 0x1040005e, 0x5821, 0x240d0008, +0x240c0011, 0x24080012, 0x24070040, 0x240a0001, 0x8f830120, 0x27623800, +0x24660020, 0xc2102b, 0x50400001, 0x27663000, 0x8f820128, 0x14c20007, +0x0, 0x8ee201a0, 0x2821, 0x24420001, 0xaee201a0, 0x80042ef, +0x8ee201a0, 0x8ee205f8, 0xac62001c, 0x8ee40490, 0x8ee50494, 0x2462001c, +0xac620008, 0xa46d000e, 0xac6c0018, 0xac640000, 0xac650004, 0x8ee204b4, +0xac620010, 0xaf860120, 0x92e24e10, 0x14400033, 0x24050001, 0x8ee24e20, +0x210c0, 0x24425028, 0x2e22021, 0x8c820000, 0x1448001f, 0x0, +0x8ee34e20, 0x8ee24e24, 0x1062001b, 0x0, 0x8c820004, 0x24420001, +0xac820004, 0x8ee24e24, 0x8ee34e20, 0x24420001, 0x10470007, 0x0, +0x8ee24e24, 0x24420001, 0x10620005, 0x0, 0x80042dc, 0x0, +0x14600005, 0x0, 0x8f820128, 0x24420020, 0xaf820128, 0x8f820128, +0x8c820004, 0x2c420011, 0x50400010, 0xac800000, 0x80042ef, 0x0, +0x8ee24e20, 0x24420001, 0x50470003, 0x1021, 0x8ee24e20, 0x24420001, +0xaee24e20, 0x8ee24e20, 0x210c0, 0x24425028, 0x2e22021, 0xac880000, +0xac8a0004, 0x54a00006, 0x240b0001, 0x8f820054, 0x1221023, 0x2c420033, +0x1440ffa9, 0x0, 0x316300ff, 0x24020001, 0x54620003, 0xafa00010, +0x800431c, 0x0, 0x3c040001, 0x24844b80, 0xafa00014, 0x8f860120, +0x8f870124, 0x3c050009, 0xc0023a7, 0x34a5f011, 0x800431c, 0x0, +0x3c040001, 0x24844b8c, 0xafa00014, 0x8f860120, 0x8f870124, 0x3c050009, +0xc0023a7, 0x34a5f010, 0x800431c, 0x0, 0x3c040001, 0x24844b98, +0xafa00014, 0x8ee605f8, 0x8f470228, 0x3c050009, 0xc0023a7, 0x34a5f00f, +0x8ee201a8, 0x24420001, 0xaee201a8, 0x8ee201a8, 0x8ee20158, 0x24420001, +0xaee20158, 0x8ee20158, 0x8fbf0020, 0x3e00008, 0x27bd0028, 0x3c020001, +0x8c424dfc, 0x27bdffe0, 0x1440000d, 0xafbf0018, 0x3c040001, 0x24844ba4, +0x3c050008, 0xafa00010, 0xafa00014, 0x8f860220, 0x34a50499, 0x24020001, +0x3c010001, 0xac224dfc, 0xc0023a7, 0x3821, 0x8ee204c0, 0x3c030001, +0x771821, 0x946383a2, 0x34420001, 0x10600007, 0xaee204c0, 0x8f820220, +0x3c0308ff, 0x3463ffff, 0x431024, 0x34420008, 0xaf820220, 0x24040001, +0xc004f33, 0x24050004, 0xaf420268, 0x8fbf0018, 0x3e00008, 0x27bd0020, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x3c120001, 0x26520f00, 0x3c140001, 0x8e944d70, +0x3c100001, 0x26100e20, 0x3c15c000, 0x36b50060, 0x8e8a0000, 0x8eb30000, +0x26a400b, 0x248000a, 0x200f821, 0x0, 0xd, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x80014c4, 0x0, 0x80014c6, 0x3c0a0001, 0x80014c6, 0x3c0a0002, +0x80014c6, 0x0, 0x800244a, 0x0, 0x80014c6, 0x3c0a0003, +0x80014c6, 0x3c0a0004, 0x8002ef8, 0x0, 0x80014c6, 0x3c0a0005, +0x8003c3d, 0x0, 0x8003bbe, 0x0, 0x80014c6, 0x3c0a0006, +0x80014c6, 0x3c0a0007, 0x80014c6, 0x0, 0x80014c6, 0x0, +0x80014c6, 0x0, 0x80029f8, 0x0, 0x80014c6, 0x3c0a000b, +0x80014c6, 0x3c0a000c, 0x80014c6, 0x3c0a000d, 0x800231c, 0x0, +0x80022d9, 0x0, 0x80014c6, 0x3c0a000e, 0x8001b08, 0x0, +0x8002448, 0x0, 0x80014c6, 0x3c0a000f, 0x8003ff3, 0x0, +0x8003fdd, 0x0, 0x80014c6, 0x3c0a0010, 0x80014da, 0x0, +0x80014c6, 0x3c0a0011, 0x80014c6, 0x3c0a0012, 0x80014c6, 0x3c0a0013, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x3c030001, 0x34633800, 0x24050080, 0x2404001f, +0x2406ffff, 0x24020001, 0xaf80021c, 0xaf820200, 0xaf820220, 0x3631021, +0xaf8200c0, 0x3631021, 0xaf8200c4, 0x3631021, 0xaf8200c8, 0x27623800, +0xaf8200d0, 0x27623800, 0xaf8200d4, 0x27623800, 0xaf8200d8, 0x27621800, +0xaf8200e0, 0x27621800, 0xaf8200e4, 0x27621800, 0xaf8200e8, 0x27621000, +0xaf8200f0, 0x27621000, 0xaf8200f4, 0x27621000, 0xaf8200f8, 0xaca00000, +0x2484ffff, 0x1486fffd, 0x24a50004, 0x8f830040, 0x3c02f000, 0x621824, +0x3c025000, 0x1062000c, 0x43102b, 0x14400006, 0x3c026000, 0x3c024000, +0x10620008, 0x24020800, 0x8004479, 0x0, 0x10620004, 0x24020800, +0x8004479, 0x0, 0x24020700, 0x3c010001, 0xac224e00, 0x3e00008, +0x0, 0x27bdffd0, 0xafbf0028, 0x3c010001, 0xc004b65, 0xac204de8, +0x24040001, 0x2821, 0x27a60020, 0x34028000, 0xc004782, 0xa7a20020, +0x8f830054, 0x8f820054, 0x800448b, 0x24630064, 0x8f820054, 0x621023, +0x2c420065, 0x1440fffc, 0x24040001, 0x24050001, 0xc004740, 0x27a60020, +0x8f830054, 0x8f820054, 0x8004497, 0x24630064, 0x8f820054, 0x621023, +0x2c420065, 0x1440fffc, 0x24040001, 0x24050001, 0xc004740, 0x27a60020, +0x8f830054, 0x8f820054, 0x80044a3, 0x24630064, 0x8f820054, 0x621023, +0x2c420065, 0x1440fffc, 0x24040001, 0x24050002, 0xc004740, 0x27a60018, +0x8f830054, 0x8f820054, 0x80044af, 0x24630064, 0x8f820054, 0x621023, +0x2c420065, 0x1440fffc, 0x24040001, 0x24050003, 0xc004740, 0x27a6001a, +0x97a20020, 0x10400022, 0x24030001, 0x3c020001, 0x8c424de8, 0x97a30018, +0x34420001, 0x3c010001, 0xac224de8, 0x24020015, 0x14620008, 0x3402f423, +0x97a3001a, 0x14620005, 0x24020003, 0x3c010001, 0xac224e9c, 0x80044e2, +0x3c08fff0, 0x97a30018, 0x24027810, 0x1462000a, 0x24020002, 0x97a3001a, +0x24020001, 0x14620006, 0x24020002, 0x24020004, 0x3c010001, 0xac224e9c, +0x80044e2, 0x3c08fff0, 0x3c010001, 0xac224e9c, 0x80044e2, 0x3c08fff0, +0x3c020001, 0x8c424de8, 0x3c010001, 0xac234e9c, 0x34420004, 0x3c010001, +0xac224de8, 0x3c08fff0, 0x3508bdc0, 0x8f830054, 0x97a60018, 0x3c070001, +0x8ce74e9c, 0x3c040001, 0x24844c10, 0x24020001, 0x3c010001, 0xac224df0, +0xafa60010, 0x3c060001, 0x8cc64de8, 0x97a2001a, 0x3c05000d, 0x34a50100, +0x3c010001, 0xac204dec, 0x681821, 0x3c010001, 0xac234e94, 0xc0023a7, +0xafa20014, 0x8fbf0028, 0x3e00008, 0x27bd0030, 0x27bdffe8, 0x24070004, +0x3c040001, 0x8c844dec, 0x3021, 0x24020001, 0x1482000a, 0xafbf0010, +0x3c020001, 0x8c426f3c, 0x3c050004, 0x30428000, 0x1040000c, 0x34a593e0, +0x3c05000f, 0x8004515, 0x34a54240, 0x3c020001, 0x8c426f3c, 0x3c05000f, +0x30428000, 0x10400003, 0x34a54240, 0x3c05001e, 0x34a58480, 0x3c020001, +0x8c424e94, 0x8f830054, 0x451021, 0x431023, 0x45102b, 0x1440002e, +0x0, 0x3c020001, 0x8c424df4, 0x1440002a, 0x2cc20001, 0x7182b, +0x431024, 0x1040001d, 0x0, 0x3c090001, 0x8d294de8, 0x240b0001, +0x3c054000, 0x3c080001, 0x25086f3c, 0x250afffc, 0x42042, 0x14800002, +0x24e7ffff, 0x24040008, 0x891024, 0x5040000b, 0x2cc20001, 0x148b0004, +0x0, 0x8d020000, 0x800453a, 0x451024, 0x8d420000, 0x451024, +0x54400001, 0x24060001, 0x2cc20001, 0x7182b, 0x431024, 0x5440ffed, +0x42042, 0x3c010001, 0x10c00024, 0xac244dec, 0x8f830054, 0x24020001, +0x3c010001, 0xac224df0, 0x3c010001, 0xac234e94, 0x3c020001, 0x8c424df0, +0x10400006, 0x24020001, 0x3c010001, 0xac204df0, 0x3c010001, 0x370821, +0xac22839c, 0x3c030001, 0x771821, 0x8c63839c, 0x24020008, 0x10620005, +0x24020001, 0xc00456a, 0x0, 0x8004567, 0x0, 0x3c030001, +0x8c634dec, 0x10620007, 0x2402000e, 0x3c030001, 0x8c636eb0, 0x10620003, +0x0, 0xc004b88, 0x8f840220, 0x8fbf0010, 0x3e00008, 0x27bd0018, +0x27bdffe0, 0x3c02fdff, 0xafbf0018, 0x8ee30000, 0x3c050001, 0x8ca54dec, +0x3c040001, 0x8c844e04, 0x3442ffff, 0x621824, 0x14a40008, 0xaee30000, +0x3c030001, 0x771821, 0x8c63839c, 0x3c020001, 0x8c424e08, 0x10620008, +0x0, 0x3c020001, 0x571021, 0x8c42839c, 0x3c010001, 0xac254e04, +0x3c010001, 0xac224e08, 0x3c030001, 0x8c634dec, 0x24020002, 0x10620126, +0x2c620003, 0x10400005, 0x24020001, 0x10620008, 0x0, 0x80046ae, +0x0, 0x24020004, 0x1062007c, 0x24020001, 0x80046af, 0x0, +0x3c020001, 0x571021, 0x8c42839c, 0x2443ffff, 0x2c620008, 0x10400117, +0x31080, 0x3c010001, 0x220821, 0x8c224c28, 0x400008, 0x0, +0xc0046b4, 0x0, 0x3c020001, 0x8c424df8, 0x3c010001, 0xac204d80, +0x104000c5, 0x24020002, 0x3c010001, 0x370821, 0xac22839c, 0x3c010001, +0x80046b1, 0xac204df8, 0xc0047c3, 0x0, 0x3c030001, 0x8c634e10, +0x24020011, 0x146200fd, 0x24020003, 0x8004631, 0x0, 0x3c050001, +0x8ca54dec, 0x3c060001, 0x8cc66f3c, 0xc004e2c, 0x24040001, 0x24020005, +0x3c010001, 0xac204df8, 0x3c010001, 0x370821, 0x80046b1, 0xac22839c, +0x3c040001, 0x24844c1c, 0x3c05000f, 0x34a50100, 0x3021, 0x3821, +0xafa00010, 0xc0023a7, 0xafa00014, 0x80046b1, 0x0, 0x8f820220, +0x3c03f700, 0x431025, 0x8004658, 0xaf820220, 0x8f820220, 0x3c030004, +0x431024, 0x14400095, 0x24020007, 0x8f830054, 0x3c020001, 0x8c424e90, +0x2463d8f0, 0x431023, 0x2c422710, 0x144000d1, 0x24020001, 0x80046af, +0x0, 0x3c050001, 0x8ca54dec, 0xc004f33, 0x24040001, 0xc004ff8, +0x24040001, 0x3c030001, 0x8c636f34, 0x46100c3, 0x24020001, 0x3c020008, +0x621024, 0x10400006, 0x0, 0x8f820214, 0x3c03ffff, 0x431024, +0x80045fa, 0x3442251f, 0x8f820214, 0x3c03ffff, 0x431024, 0x3442241f, +0xaf820214, 0x8ee20000, 0x3c030200, 0x431025, 0xaee20000, 0x8f820220, +0x2403fffb, 0x431024, 0xaf820220, 0x8f820220, 0x34420002, 0xaf820220, +0x24020008, 0x3c010001, 0x370821, 0xc004323, 0xac22839c, 0x80046b1, +0x0, 0x3c020001, 0x571021, 0x8c42839c, 0x2443ffff, 0x2c620008, +0x1040009e, 0x31080, 0x3c010001, 0x220821, 0x8c224c48, 0x400008, +0x0, 0xc0041e7, 0x0, 0x3c010001, 0xac204df0, 0xaf800204, +0x3c010001, 0xc0046b4, 0xac206f00, 0x8f820044, 0x34428080, 0xaf820044, +0x8f830054, 0x3c010001, 0xac204d80, 0x800465a, 0x24020002, 0x8f830054, +0x3c020001, 0x8c424e90, 0x2463d8f0, 0x431023, 0x2c422710, 0x14400081, +0x24020003, 0x3c010001, 0x370821, 0x80046b1, 0xac22839c, 0x3c020001, +0x8c426f38, 0x30424000, 0x10400005, 0x0, 0x8f820044, 0x3c03ffff, +0x8004640, 0x34637fff, 0x8f820044, 0x2403ff7f, 0x431024, 0xaf820044, +0x8f830054, 0x800465a, 0x24020004, 0x8f830054, 0x3c020001, 0x8c424e90, +0x2463d8f0, 0x431023, 0x2c422710, 0x14400065, 0x24020005, 0x3c010001, +0x370821, 0x80046b1, 0xac22839c, 0x8f820220, 0x3c03f700, 0x431025, +0xaf820220, 0xaf800204, 0x3c010001, 0xac206f00, 0x8f830054, 0x24020006, +0x3c010001, 0x370821, 0xac22839c, 0x3c010001, 0x80046b1, 0xac234e90, +0x3c05fffe, 0x34a57960, 0x3c040001, 0x8f820054, 0x3c030001, 0x8c634e90, +0x3484869f, 0x451021, 0x621823, 0x83202b, 0x10800046, 0x0, +0x24020007, 0x3c010001, 0x370821, 0x80046b1, 0xac22839c, 0x8f820220, +0x3c04f700, 0x441025, 0xaf820220, 0x8f820220, 0x3c030300, 0x431024, +0x14400005, 0x1821, 0x8f820220, 0x24030001, 0x441025, 0xaf820220, +0x10600030, 0x24020001, 0x8f820214, 0x3c03ffff, 0x3c040001, 0x8c844e88, +0x431024, 0x3442251f, 0xaf820214, 0x24020008, 0x3c010001, 0x370821, +0xac22839c, 0x10800007, 0x24020001, 0x3c010001, 0xac226eb0, 0xc004b88, +0x8f840220, 0x80046b1, 0x0, 0x8f820220, 0x3c030008, 0x431024, +0x1440001a, 0x2402000e, 0x3c010001, 0xac226eb0, 0x8ee20000, 0x24040001, +0x3c030200, 0x431025, 0xc004ff8, 0xaee20000, 0x8f820220, 0x2403fffb, +0x431024, 0xaf820220, 0x8f820220, 0x34420002, 0xc004323, 0xaf820220, +0x3c050001, 0x8ca54dec, 0xc004f33, 0x24040001, 0x80046b1, 0x0, +0x24020001, 0x3c010001, 0xac224df0, 0x8fbf0018, 0x3e00008, 0x27bd0020, +0x8f820200, 0x8f820220, 0x8f820220, 0x34420004, 0xaf820220, 0x8f820200, +0x3c060001, 0x8cc64dec, 0x34420004, 0xaf820200, 0x24020002, 0x10c20048, +0x2cc20003, 0x10400005, 0x24020001, 0x10c20008, 0x0, 0x8004708, +0x0, 0x24020004, 0x10c20013, 0x24020001, 0x8004708, 0x0, +0x3c030001, 0x8c634dd8, 0x3c020001, 0x8c424de4, 0x3c040001, 0x8c844e00, +0x3c050001, 0x8ca54ddc, 0xaf860200, 0xaf860220, 0x34630022, 0x441025, +0x451025, 0x34420002, 0x8004707, 0xaf830200, 0xaf820200, 0xaf820220, +0x8f820044, 0x3c030001, 0x8c634e88, 0x34428080, 0xaf820044, 0x10600005, +0x3c033f00, 0x3c020001, 0x8c424dd0, 0x80046fb, 0x346300e0, 0x8f8400f0, +0x276217f8, 0x14820002, 0x24850008, 0x27651000, 0x8f8200f4, 0x10a20007, +0x3c038000, 0x34630040, 0x3c020001, 0x24424d90, 0xac820000, 0xac830004, +0xaf8500f0, 0x3c020001, 0x8c424dd0, 0x3c033f00, 0x346300e2, 0x431025, +0xaf820200, 0x3c030001, 0x8c634dd4, 0x3c04f700, 0x3c020001, 0x8c424de4, +0x3c050001, 0x8ca54e00, 0x641825, 0x431025, 0x451025, 0xaf820220, +0x3e00008, 0x0, 0x8f820220, 0x3c030001, 0x8c634dec, 0x34420004, +0xaf820220, 0x24020001, 0x1062000f, 0x0, 0x8f830054, 0x8f820054, +0x24630002, 0x621023, 0x2c420003, 0x10400011, 0x0, 0x8f820054, +0x621023, 0x2c420003, 0x1040000c, 0x0, 0x8004719, 0x0, +0x8f830054, 0x8f820054, 0x8004725, 0x24630007, 0x8f820054, 0x621023, +0x2c420008, 0x1440fffc, 0x0, 0x8f8400e0, 0x30820007, 0x1040000d, +0x0, 0x8f820054, 0x8f8300e0, 0x14830009, 0x24450032, 0x8f820054, +0xa21023, 0x2c420033, 0x10400004, 0x0, 0x8f8200e0, 0x1082fff9, +0x0, 0x8f820220, 0x2403fffd, 0x431024, 0xaf820220, 0x3e00008, +0x0, 0x0, 0x27bdffd8, 0xafb20018, 0x809021, 0xafb3001c, +0xa09821, 0xafb10014, 0xc08821, 0xafb00010, 0x8021, 0xafbf0020, +0xa6200000, 0xc004b3f, 0x24040001, 0x26100001, 0x2e020020, 0x1440fffb, +0x0, 0xc004b3f, 0x2021, 0xc004b3f, 0x24040001, 0xc004b3f, +0x24040001, 0xc004b3f, 0x2021, 0x24100010, 0x2501024, 0x10400002, +0x2021, 0x24040001, 0xc004b3f, 0x108042, 0x1600fffa, 0x2501024, +0x24100010, 0x2701024, 0x10400002, 0x2021, 0x24040001, 0xc004b3f, +0x108042, 0x1600fffa, 0x2701024, 0xc004b65, 0x34108000, 0xc004b65, +0x0, 0xc004b1f, 0x0, 0x50400005, 0x108042, 0x96220000, +0x501025, 0xa6220000, 0x108042, 0x1600fff7, 0x0, 0xc004b65, +0x0, 0x8fbf0020, 0x8fb3001c, 0x8fb20018, 0x8fb10014, 0x8fb00010, +0x3e00008, 0x27bd0028, 0x27bdffd8, 0xafb10014, 0x808821, 0xafb20018, +0xa09021, 0xafb3001c, 0xc09821, 0xafb00010, 0x8021, 0xafbf0020, +0xc004b3f, 0x24040001, 0x26100001, 0x2e020020, 0x1440fffb, 0x0, +0xc004b3f, 0x2021, 0xc004b3f, 0x24040001, 0xc004b3f, 0x2021, +0xc004b3f, 0x24040001, 0x24100010, 0x2301024, 0x10400002, 0x2021, +0x24040001, 0xc004b3f, 0x108042, 0x1600fffa, 0x2301024, 0x24100010, +0x2501024, 0x10400002, 0x2021, 0x24040001, 0xc004b3f, 0x108042, +0x1600fffa, 0x2501024, 0xc004b3f, 0x24040001, 0xc004b3f, 0x2021, +0x34108000, 0x96620000, 0x501024, 0x10400002, 0x2021, 0x24040001, +0xc004b3f, 0x108042, 0x1600fff8, 0x0, 0xc004b65, 0x0, +0x8fbf0020, 0x8fb3001c, 0x8fb20018, 0x8fb10014, 0x8fb00010, 0x3e00008, +0x27bd0028, 0x3c030001, 0x8c634e10, 0x3c020001, 0x8c424e54, 0x27bdffd8, +0xafbf0020, 0xafb1001c, 0x10620003, 0xafb00018, 0x3c010001, 0xac234e54, +0x2463ffff, 0x2c620013, 0x10400349, 0x31080, 0x3c010001, 0x220821, +0x8c224c70, 0x400008, 0x0, 0xc004b65, 0x8021, 0x34028000, +0xa7a20010, 0x27b10010, 0xc004b3f, 0x24040001, 0x26100001, 0x2e020020, +0x1440fffb, 0x0, 0xc004b3f, 0x2021, 0xc004b3f, 0x24040001, +0xc004b3f, 0x2021, 0xc004b3f, 0x24040001, 0x24100010, 0x32020001, +0x10400002, 0x2021, 0x24040001, 0xc004b3f, 0x108042, 0x1600fffa, +0x32020001, 0x24100010, 0xc004b3f, 0x2021, 0x108042, 0x1600fffc, +0x0, 0xc004b3f, 0x24040001, 0xc004b3f, 0x2021, 0x34108000, +0x96220000, 0x501024, 0x10400002, 0x2021, 0x24040001, 0xc004b3f, +0x108042, 0x1600fff8, 0x0, 0xc004b65, 0x0, 0x8004b18, +0x24020002, 0x27b10010, 0xa7a00010, 0x8021, 0xc004b3f, 0x24040001, +0x26100001, 0x2e020020, 0x1440fffb, 0x0, 0xc004b3f, 0x2021, +0xc004b3f, 0x24040001, 0xc004b3f, 0x24040001, 0xc004b3f, 0x2021, +0x24100010, 0x32020001, 0x10400002, 0x2021, 0x24040001, 0xc004b3f, +0x108042, 0x1600fffa, 0x32020001, 0x24100010, 0xc004b3f, 0x2021, +0x108042, 0x1600fffc, 0x0, 0xc004b65, 0x34108000, 0xc004b65, +0x0, 0xc004b1f, 0x0, 0x50400005, 0x108042, 0x96220000, +0x501025, 0xa6220000, 0x108042, 0x1600fff7, 0x0, 0xc004b65, +0x0, 0x97a20010, 0x30428000, 0x144002dc, 0x24020003, 0x8004b18, +0x0, 0x24021200, 0xa7a20010, 0x27b10010, 0x8021, 0xc004b3f, +0x24040001, 0x26100001, 0x2e020020, 0x1440fffb, 0x0, 0xc004b3f, +0x2021, 0xc004b3f, 0x24040001, 0xc004b3f, 0x2021, 0xc004b3f, +0x24040001, 0x24100010, 0x32020001, 0x10400002, 0x2021, 0x24040001, +0xc004b3f, 0x108042, 0x1600fffa, 0x32020001, 0x24100010, 0xc004b3f, +0x2021, 0x108042, 0x1600fffc, 0x0, 0xc004b3f, 0x24040001, +0xc004b3f, 0x2021, 0x34108000, 0x96220000, 0x501024, 0x10400002, +0x2021, 0x24040001, 0xc004b3f, 0x108042, 0x1600fff8, 0x0, +0xc004b65, 0x0, 0x8f830054, 0x8004b0a, 0x24020004, 0x8f830054, +0x3c020001, 0x8c424e98, 0x2463ff9c, 0x431023, 0x2c420064, 0x1440029e, +0x24020002, 0x3c030001, 0x8c634e9c, 0x10620297, 0x2c620003, 0x14400296, +0x24020011, 0x24020003, 0x10620005, 0x24020004, 0x10620291, 0x2402000f, +0x8004b18, 0x24020011, 0x8004b18, 0x24020005, 0x24020014, 0xa7a20010, +0x27b10010, 0x8021, 0xc004b3f, 0x24040001, 0x26100001, 0x2e020020, +0x1440fffb, 0x0, 0xc004b3f, 0x2021, 0xc004b3f, 0x24040001, +0xc004b3f, 0x2021, 0xc004b3f, 0x24040001, 0x24100010, 0x32020001, +0x10400002, 0x2021, 0x24040001, 0xc004b3f, 0x108042, 0x1600fffa, +0x32020001, 0x24100010, 0x32020012, 0x10400002, 0x2021, 0x24040001, +0xc004b3f, 0x108042, 0x1600fffa, 0x32020012, 0xc004b3f, 0x24040001, +0xc004b3f, 0x2021, 0x34108000, 0x96220000, 0x501024, 0x10400002, +0x2021, 0x24040001, 0xc004b3f, 0x108042, 0x1600fff8, 0x0, +0xc004b65, 0x0, 0x8f830054, 0x8004b0a, 0x24020006, 0x8f830054, +0x3c020001, 0x8c424e98, 0x2463ff9c, 0x431023, 0x2c420064, 0x14400250, +0x24020007, 0x8004b18, 0x0, 0x24020006, 0xa7a20010, 0x27b10010, +0x8021, 0xc004b3f, 0x24040001, 0x26100001, 0x2e020020, 0x1440fffb, +0x0, 0xc004b3f, 0x2021, 0xc004b3f, 0x24040001, 0xc004b3f, +0x2021, 0xc004b3f, 0x24040001, 0x24100010, 0x32020001, 0x10400002, +0x2021, 0x24040001, 0xc004b3f, 0x108042, 0x1600fffa, 0x32020001, +0x24100010, 0x32020013, 0x10400002, 0x2021, 0x24040001, 0xc004b3f, +0x108042, 0x1600fffa, 0x32020013, 0xc004b3f, 0x24040001, 0xc004b3f, +0x2021, 0x34108000, 0x96220000, 0x501024, 0x10400002, 0x2021, +0x24040001, 0xc004b3f, 0x108042, 0x1600fff8, 0x0, 0xc004b65, +0x0, 0x8f830054, 0x8004b0a, 0x24020008, 0x8f830054, 0x3c020001, +0x8c424e98, 0x2463ff9c, 0x431023, 0x2c420064, 0x1440020f, 0x24020009, +0x8004b18, 0x0, 0x27b10010, 0xa7a00010, 0x8021, 0xc004b3f, +0x24040001, 0x26100001, 0x2e020020, 0x1440fffb, 0x0, 0xc004b3f, +0x2021, 0xc004b3f, 0x24040001, 0xc004b3f, 0x24040001, 0xc004b3f, +0x2021, 0x24100010, 0x32020001, 0x10400002, 0x2021, 0x24040001, +0xc004b3f, 0x108042, 0x1600fffa, 0x32020001, 0x24100010, 0x32020018, +0x10400002, 0x2021, 0x24040001, 0xc004b3f, 0x108042, 0x1600fffa, +0x32020018, 0xc004b65, 0x34108000, 0xc004b65, 0x0, 0xc004b1f, +0x0, 0x50400005, 0x108042, 0x96220000, 0x501025, 0xa6220000, +0x108042, 0x1600fff7, 0x0, 0xc004b65, 0x8021, 0x97a20010, +0x27b10010, 0x34420001, 0xa7a20010, 0xc004b3f, 0x24040001, 0x26100001, +0x2e020020, 0x1440fffb, 0x0, 0xc004b3f, 0x2021, 0xc004b3f, +0x24040001, 0xc004b3f, 0x2021, 0xc004b3f, 0x24040001, 0x24100010, +0x32020001, 0x10400002, 0x2021, 0x24040001, 0xc004b3f, 0x108042, +0x1600fffa, 0x32020001, 0x24100010, 0x32020018, 0x10400002, 0x2021, +0x24040001, 0xc004b3f, 0x108042, 0x1600fffa, 0x32020018, 0xc004b3f, +0x24040001, 0xc004b3f, 0x2021, 0x34108000, 0x96220000, 0x501024, +0x10400002, 0x2021, 0x24040001, 0xc004b3f, 0x108042, 0x1600fff8, +0x0, 0xc004b65, 0x0, 0x8f830054, 0x8004b0a, 0x2402000a, +0x8f830054, 0x3c020001, 0x8c424e98, 0x2463ff9c, 0x431023, 0x2c420064, +0x1440019b, 0x2402000b, 0x8004b18, 0x0, 0x27b10010, 0xa7a00010, +0x8021, 0xc004b3f, 0x24040001, 0x26100001, 0x2e020020, 0x1440fffb, +0x0, 0xc004b3f, 0x2021, 0xc004b3f, 0x24040001, 0xc004b3f, +0x24040001, 0xc004b3f, 0x2021, 0x24100010, 0x32020001, 0x10400002, +0x2021, 0x24040001, 0xc004b3f, 0x108042, 0x1600fffa, 0x32020001, +0x24100010, 0x32020017, 0x10400002, 0x2021, 0x24040001, 0xc004b3f, +0x108042, 0x1600fffa, 0x32020017, 0xc004b65, 0x34108000, 0xc004b65, +0x0, 0xc004b1f, 0x0, 0x50400005, 0x108042, 0x96220000, +0x501025, 0xa6220000, 0x108042, 0x1600fff7, 0x0, 0xc004b65, +0x8021, 0x97a20010, 0x27b10010, 0x34420700, 0xa7a20010, 0xc004b3f, +0x24040001, 0x26100001, 0x2e020020, 0x1440fffb, 0x0, 0xc004b3f, +0x2021, 0xc004b3f, 0x24040001, 0xc004b3f, 0x2021, 0xc004b3f, +0x24040001, 0x24100010, 0x32020001, 0x10400002, 0x2021, 0x24040001, +0xc004b3f, 0x108042, 0x1600fffa, 0x32020001, 0x24100010, 0x32020017, +0x10400002, 0x2021, 0x24040001, 0xc004b3f, 0x108042, 0x1600fffa, +0x32020017, 0xc004b3f, 0x24040001, 0xc004b3f, 0x2021, 0x34108000, +0x96220000, 0x501024, 0x10400002, 0x2021, 0x24040001, 0xc004b3f, +0x108042, 0x1600fff8, 0x0, 0xc004b65, 0x0, 0x8f830054, +0x8004b0a, 0x2402000c, 0x8f830054, 0x3c020001, 0x8c424e98, 0x2463ff9c, +0x431023, 0x2c420064, 0x14400127, 0x24020012, 0x8004b18, 0x0, +0x27b10010, 0xa7a00010, 0x8021, 0xc004b3f, 0x24040001, 0x26100001, +0x2e020020, 0x1440fffb, 0x0, 0xc004b3f, 0x2021, 0xc004b3f, +0x24040001, 0xc004b3f, 0x24040001, 0xc004b3f, 0x2021, 0x24100010, +0x32020001, 0x10400002, 0x2021, 0x24040001, 0xc004b3f, 0x108042, +0x1600fffa, 0x32020001, 0x24100010, 0x32020014, 0x10400002, 0x2021, +0x24040001, 0xc004b3f, 0x108042, 0x1600fffa, 0x32020014, 0xc004b65, +0x34108000, 0xc004b65, 0x0, 0xc004b1f, 0x0, 0x50400005, +0x108042, 0x96220000, 0x501025, 0xa6220000, 0x108042, 0x1600fff7, +0x0, 0xc004b65, 0x8021, 0x97a20010, 0x27b10010, 0x34420010, +0xa7a20010, 0xc004b3f, 0x24040001, 0x26100001, 0x2e020020, 0x1440fffb, +0x0, 0xc004b3f, 0x2021, 0xc004b3f, 0x24040001, 0xc004b3f, +0x2021, 0xc004b3f, 0x24040001, 0x24100010, 0x32020001, 0x10400002, +0x2021, 0x24040001, 0xc004b3f, 0x108042, 0x1600fffa, 0x32020001, +0x24100010, 0x32020014, 0x10400002, 0x2021, 0x24040001, 0xc004b3f, +0x108042, 0x1600fffa, 0x32020014, 0xc004b3f, 0x24040001, 0xc004b3f, +0x2021, 0x34108000, 0x96220000, 0x501024, 0x10400002, 0x2021, +0x24040001, 0xc004b3f, 0x108042, 0x1600fff8, 0x0, 0xc004b65, +0x0, 0x8f830054, 0x8004b0a, 0x24020013, 0x8f830054, 0x3c020001, +0x8c424e98, 0x2463ff9c, 0x431023, 0x2c420064, 0x144000b3, 0x2402000d, +0x8004b18, 0x0, 0x27b10010, 0xa7a00010, 0x8021, 0xc004b3f, +0x24040001, 0x26100001, 0x2e020020, 0x1440fffb, 0x0, 0xc004b3f, +0x2021, 0xc004b3f, 0x24040001, 0xc004b3f, 0x24040001, 0xc004b3f, +0x2021, 0x24100010, 0x32020001, 0x10400002, 0x2021, 0x24040001, +0xc004b3f, 0x108042, 0x1600fffa, 0x32020001, 0x24100010, 0x32020018, +0x10400002, 0x2021, 0x24040001, 0xc004b3f, 0x108042, 0x1600fffa, +0x32020018, 0xc004b65, 0x34108000, 0xc004b65, 0x0, 0xc004b1f, +0x0, 0x50400005, 0x108042, 0x96220000, 0x501025, 0xa6220000, +0x108042, 0x1600fff7, 0x0, 0xc004b65, 0x8021, 0x97a20010, +0x27b10010, 0x3042fffe, 0xa7a20010, 0xc004b3f, 0x24040001, 0x26100001, +0x2e020020, 0x1440fffb, 0x0, 0xc004b3f, 0x2021, 0xc004b3f, +0x24040001, 0xc004b3f, 0x2021, 0xc004b3f, 0x24040001, 0x24100010, +0x32020001, 0x10400002, 0x2021, 0x24040001, 0xc004b3f, 0x108042, +0x1600fffa, 0x32020001, 0x24100010, 0x32020018, 0x10400002, 0x2021, +0x24040001, 0xc004b3f, 0x108042, 0x1600fffa, 0x32020018, 0xc004b3f, +0x24040001, 0xc004b3f, 0x2021, 0x34108000, 0x96220000, 0x501024, +0x10400002, 0x2021, 0x24040001, 0xc004b3f, 0x108042, 0x1600fff8, +0x0, 0xc004b65, 0x0, 0x8f830054, 0x8004b0a, 0x2402000e, +0x24020840, 0xa7a20010, 0x27b10010, 0x8021, 0xc004b3f, 0x24040001, +0x26100001, 0x2e020020, 0x1440fffb, 0x0, 0xc004b3f, 0x2021, +0xc004b3f, 0x24040001, 0xc004b3f, 0x2021, 0xc004b3f, 0x24040001, +0x24100010, 0x32020001, 0x10400002, 0x2021, 0x24040001, 0xc004b3f, +0x108042, 0x1600fffa, 0x32020001, 0x24100010, 0x32020013, 0x10400002, +0x2021, 0x24040001, 0xc004b3f, 0x108042, 0x1600fffa, 0x32020013, +0xc004b3f, 0x24040001, 0xc004b3f, 0x2021, 0x34108000, 0x96220000, +0x501024, 0x10400002, 0x2021, 0x24040001, 0xc004b3f, 0x108042, +0x1600fff8, 0x0, 0xc004b65, 0x0, 0x8f830054, 0x24020010, +0x3c010001, 0xac224e10, 0x3c010001, 0x8004b1a, 0xac234e98, 0x8f830054, +0x3c020001, 0x8c424e98, 0x2463ff9c, 0x431023, 0x2c420064, 0x14400004, +0x0, 0x24020011, 0x3c010001, 0xac224e10, 0x8fbf0020, 0x8fb1001c, +0x8fb00018, 0x3e00008, 0x27bd0028, 0x8f850044, 0x8f820044, 0x3c030001, +0x431025, 0x3c030008, 0xaf820044, 0x8f840054, 0x8f820054, 0xa32824, +0x8004b2b, 0x24840001, 0x8f820054, 0x821023, 0x2c420002, 0x1440fffc, +0x0, 0x8f820044, 0x3c03fffe, 0x3463ffff, 0x431024, 0xaf820044, +0x8f830054, 0x8f820054, 0x8004b39, 0x24630001, 0x8f820054, 0x621023, +0x2c420002, 0x1440fffc, 0x0, 0x3e00008, 0xa01021, 0x8f830044, +0x3c02fff0, 0x3442ffff, 0x42480, 0x621824, 0x3c020002, 0x822025, +0x641825, 0xaf830044, 0x8f820044, 0x3c030001, 0x431025, 0xaf820044, +0x8f830054, 0x8f820054, 0x8004b51, 0x24630001, 0x8f820054, 0x621023, +0x2c420002, 0x1440fffc, 0x0, 0x8f820044, 0x3c03fffe, 0x3463ffff, +0x431024, 0xaf820044, 0x8f830054, 0x8f820054, 0x8004b5f, 0x24630001, +0x8f820054, 0x621023, 0x2c420002, 0x1440fffc, 0x0, 0x3e00008, +0x0, 0x8f820044, 0x3c03fff0, 0x3463ffff, 0x431024, 0xaf820044, +0x8f820044, 0x3c030001, 0x431025, 0xaf820044, 0x8f830054, 0x8f820054, +0x8004b73, 0x24630001, 0x8f820054, 0x621023, 0x2c420002, 0x1440fffc, +0x0, 0x8f820044, 0x3c03fffe, 0x3463ffff, 0x431024, 0xaf820044, +0x8f830054, 0x8f820054, 0x8004b81, 0x24630001, 0x8f820054, 0x621023, +0x2c420002, 0x1440fffc, 0x0, 0x3e00008, 0x0, 0x0, +0x27bdffe8, 0xafbf0010, 0x3c030001, 0x771821, 0x8c63839c, 0x24020008, +0x1462021c, 0x803021, 0x3c020001, 0x8c424e88, 0x14400033, 0x0, +0x8f850224, 0x38a30020, 0x2c630001, 0x38a20010, 0x2c420001, 0x621825, +0x1460000d, 0x38a30030, 0x2c630001, 0x38a20400, 0x2c420001, 0x621825, +0x14600007, 0x38a30402, 0x2c630001, 0x38a20404, 0x2c420001, 0x621825, +0x10600005, 0x0, 0xc0041e7, 0x0, 0x8004bc1, 0x2402000e, +0xc004323, 0x0, 0x3c050001, 0x8ca54dec, 0xc004f33, 0x24040001, +0x3c030001, 0x8c634dec, 0x24020004, 0x14620005, 0x2403fffb, 0x3c020001, +0x8c424de8, 0x8004bbd, 0x2403fff7, 0x3c020001, 0x8c424de8, 0x431024, +0x3c010001, 0xac224de8, 0x2402000e, 0x3c010001, 0xc0041e7, 0xac226eb0, +0x8004dab, 0x0, 0x8f820220, 0x3c030400, 0x431024, 0x10400027, +0x2403ffbf, 0x8f850224, 0x3c020001, 0x8c426ebc, 0xa32024, 0x431024, +0x1482000c, 0x0, 0x3c020001, 0x8c426ec0, 0x24420001, 0x3c010001, +0xac226ec0, 0x2c420002, 0x14400008, 0x24020001, 0x3c010001, 0x8004be1, +0xac226ee0, 0x3c010001, 0xac206ec0, 0x3c010001, 0xac206ee0, 0x3c020001, +0x8c426ee0, 0x10400006, 0x30a20040, 0x10400004, 0x24020001, 0x3c010001, +0x8004bec, 0xac226ee4, 0x3c010001, 0xac206ee4, 0x3c010001, 0xac256ebc, +0x3c010001, 0x8004bfc, 0xac206ef0, 0x24020001, 0x3c010001, 0xac226ef0, +0x3c010001, 0xac206ee0, 0x3c010001, 0xac206ec0, 0x3c010001, 0xac206ee4, +0x3c010001, 0xac206ebc, 0x3c030001, 0x8c636eb0, 0x3c020001, 0x8c426eb4, +0x10620003, 0x3c020200, 0x3c010001, 0xac236eb4, 0xc21024, 0x10400007, +0x2463ffff, 0x8f820220, 0x24030001, 0x3c010001, 0xac234df0, 0x8004da9, +0x3c03f700, 0x2c62000e, 0x10400198, 0x31080, 0x3c010001, 0x220821, +0x8c224cc0, 0x400008, 0x0, 0x8ee20000, 0x3c03fdff, 0x3463ffff, +0x431024, 0xaee20000, 0x3c010001, 0xac206ee0, 0x3c010001, 0xac206ec0, +0x3c010001, 0xac206ef0, 0x3c010001, 0xac206ebc, 0x3c010001, 0xac206ee4, +0x3c010001, 0xac206ed8, 0x3c010001, 0xac206ed0, 0xc00470a, 0xaf800224, +0x24020002, 0x3c010001, 0xac226eb0, 0xc0041e7, 0x0, 0xaf800204, +0x8f820200, 0x2403fffd, 0x431024, 0xaf820200, 0x3c010001, 0xac206f00, +0x8f830054, 0x3c020001, 0x8c426ed8, 0x24040001, 0x3c010001, 0xac246eec, +0x24420001, 0x3c010001, 0xac226ed8, 0x2c420004, 0x3c010001, 0xac236ed4, +0x14400006, 0x24020003, 0x3c010001, 0xac244df0, 0x3c010001, 0x8004da7, +0xac206ed8, 0x3c010001, 0x8004da7, 0xac226eb0, 0x8f830054, 0x3c020001, +0x8c426ed4, 0x2463d8f0, 0x431023, 0x2c422710, 0x14400154, 0x24020004, +0x3c010001, 0x8004da7, 0xac226eb0, 0x3c040001, 0x8c844e8c, 0x3c010001, +0xc004dae, 0xac206ec8, 0x3c020001, 0x8c426efc, 0xaf820204, 0x8f820204, +0x30420030, 0x1440013c, 0x24020002, 0x3c030001, 0x8c636efc, 0x24020005, +0x3c010001, 0xac226eb0, 0x3c010001, 0x8004da7, 0xac236f00, 0x3c020001, +0x8c426ee0, 0x10400139, 0x0, 0x3c020001, 0x8c426ebc, 0x10400135, +0x0, 0x3c010001, 0xac226ee8, 0x24020003, 0x3c010001, 0xac226ec0, +0x8004d3a, 0x24020006, 0x3c010001, 0xac206ec8, 0x8f820204, 0x34420040, +0xaf820204, 0x3c020001, 0x8c426f00, 0x24030007, 0x3c010001, 0xac236eb0, +0x34420040, 0x3c010001, 0xac226f00, 0x3c020001, 0x8c426ee0, 0x10400005, +0x0, 0x3c020001, 0x8c426ebc, 0x10400110, 0x24020002, 0x3c050001, +0x24a56ec0, 0x8ca20000, 0x2c424e21, 0x1040010a, 0x24020002, 0x3c020001, +0x8c426ee4, 0x1040010f, 0x2404ffbf, 0x3c020001, 0x8c426ebc, 0x3c030001, +0x8c636ee8, 0x441024, 0x641824, 0x14430007, 0x24020001, 0x24020003, +0xaca20000, 0x24020008, 0x3c010001, 0x8004da7, 0xac226eb0, 0x3c010001, +0x8004da7, 0xac226eb0, 0x3c020001, 0x8c426eec, 0x1040000c, 0x24020001, +0x3c040001, 0xc004dbb, 0x8c846ebc, 0x3c020001, 0x8c426f08, 0x14400005, +0x24020001, 0x3c020001, 0x8c426f04, 0x10400006, 0x24020001, 0x3c010001, +0xac224df0, 0x3c010001, 0x8004da7, 0xac206ed8, 0x8f820204, 0x34420040, +0xaf820204, 0x3c020001, 0x8c426f00, 0x3c030001, 0x8c636ed0, 0x34420040, +0x3c010001, 0xac226f00, 0x3c020001, 0x8c426ebc, 0x2c630001, 0x318c0, +0x3c010001, 0xac236ed0, 0x30420008, 0x3c010001, 0xac226ecc, 0x8f830054, +0x24020009, 0x3c010001, 0xac226eb0, 0x3c010001, 0x8004da7, 0xac236ed4, +0x8f830054, 0x3c020001, 0x8c426ed4, 0x2463d8f0, 0x431023, 0x2c422710, +0x144000b6, 0x0, 0x3c020001, 0x8c426ee0, 0x10400005, 0x0, +0x3c020001, 0x8c426ebc, 0x104000b7, 0x24020002, 0x3c030001, 0x24636ec0, +0x8c620000, 0x2c424e21, 0x104000b1, 0x24020002, 0x3c020001, 0x8c426eec, +0x1040000e, 0x0, 0x3c020001, 0x8c426ebc, 0x3c010001, 0xac206eec, +0x30420080, 0x1040002f, 0x2402000c, 0x8f820204, 0x30420080, 0x1440000c, +0x24020003, 0x8004d27, 0x2402000c, 0x3c020001, 0x8c426ebc, 0x30420080, +0x14400005, 0x24020003, 0x8f820204, 0x30420080, 0x1040001f, 0x24020003, +0xac620000, 0x2402000a, 0x3c010001, 0xac226eb0, 0x3c040001, 0x24846ef8, +0x8c820000, 0x3c030001, 0x8c636ed0, 0x431025, 0xaf820204, 0x8c830000, +0x3c040001, 0x8c846ed0, 0x2402000b, 0x3c010001, 0xac226eb0, 0x641825, +0x3c010001, 0xac236f00, 0x3c050001, 0x24a56ec0, 0x8ca20000, 0x2c424e21, +0x1040007d, 0x24020002, 0x3c020001, 0x8c426ef0, 0x10400005, 0x0, +0x2402000c, 0x3c010001, 0x8004da7, 0xac226eb0, 0x3c020001, 0x8c426ee0, +0x1040007a, 0x0, 0x3c040001, 0x8c846ebc, 0x1080006c, 0x30820008, +0x3c030001, 0x8c636ecc, 0x10620072, 0x24020003, 0x3c010001, 0xac246ee8, +0xaca20000, 0x24020006, 0x3c010001, 0x8004da7, 0xac226eb0, 0x8f8400f0, +0x276217f8, 0x14820002, 0x24850008, 0x27651000, 0x8f8200f4, 0x10a20007, +0x3c038000, 0x34630040, 0x3c020001, 0x24424d90, 0xac820000, 0xac830004, +0xaf8500f0, 0x8f820200, 0x34420002, 0xaf820200, 0x8f830054, 0x2402000d, +0x3c010001, 0xac226eb0, 0x3c010001, 0xac236ed4, 0x8f830054, 0x3c020001, +0x8c426ed4, 0x2463d8f0, 0x431023, 0x2c422710, 0x1440003a, 0x0, +0x3c020001, 0x8c426ef0, 0x10400029, 0x2402000e, 0x3c030001, 0x8c636f04, +0x3c010001, 0x14600015, 0xac226eb0, 0xc004323, 0x0, 0x3c050001, +0x8ca54dec, 0xc004f33, 0x24040001, 0x3c030001, 0x8c634dec, 0x24020004, +0x14620005, 0x2403fffb, 0x3c020001, 0x8c424de8, 0x8004d76, 0x2403fff7, +0x3c020001, 0x8c424de8, 0x431024, 0x3c010001, 0xac224de8, 0x8ee20000, +0x3c030200, 0x431025, 0xaee20000, 0x8f820224, 0x3c010001, 0xac226f0c, +0x8f820220, 0x2403fffb, 0x431024, 0xaf820220, 0x8f820220, 0x34420002, +0x8004da7, 0xaf820220, 0x3c020001, 0x8c426ee0, 0x10400005, 0x0, +0x3c020001, 0x8c426ebc, 0x1040000f, 0x24020002, 0x3c020001, 0x8c426ec0, +0x2c424e21, 0x1040000a, 0x24020002, 0x3c020001, 0x8c426ee0, 0x1040000f, +0x0, 0x3c020001, 0x8c426ebc, 0x1440000b, 0x0, 0x24020002, +0x3c010001, 0x8004da7, 0xac226eb0, 0x3c020001, 0x8c426ee0, 0x10400003, +0x0, 0xc0041e7, 0x0, 0x8f820220, 0x3c03f700, 0x431025, +0xaf820220, 0x8fbf0010, 0x3e00008, 0x27bd0018, 0x3c030001, 0x24636f08, +0x8c620000, 0x10400005, 0x34422000, 0x3c010001, 0xac226efc, 0x8004db9, +0xac600000, 0x3c010001, 0xac246efc, 0x3e00008, 0x0, 0x27bdffe0, +0x30820030, 0xafbf0018, 0x3c010001, 0xac226f04, 0x14400067, 0x3c02ffff, +0x34421f0e, 0x821024, 0x14400061, 0x24020030, 0x30822000, 0x1040005d, +0x30838000, 0x31a02, 0x30820001, 0x21200, 0x3c040001, 0x8c844e8c, +0x621825, 0x331c2, 0x3c030001, 0x24634e6c, 0x30828000, 0x21202, +0x30840001, 0x42200, 0x441025, 0x239c2, 0x61080, 0x431021, +0x471021, 0x90430000, 0x24020001, 0x10620025, 0x0, 0x10600007, +0x24020002, 0x10620013, 0x24020003, 0x1062002c, 0x3c05000f, 0x8004e1d, +0x0, 0x8f820200, 0x2403feff, 0x431024, 0xaf820200, 0x8f820220, +0x3c03fffe, 0x3463ffff, 0x431024, 0xaf820220, 0x3c010001, 0xac206f44, +0x3c010001, 0x8004e28, 0xac206f4c, 0x8f820200, 0x34420100, 0xaf820200, +0x8f820220, 0x3c03fffe, 0x3463ffff, 0x431024, 0xaf820220, 0x24020100, +0x3c010001, 0xac226f44, 0x3c010001, 0x8004e28, 0xac206f4c, 0x8f820200, +0x2403feff, 0x431024, 0xaf820200, 0x8f820220, 0x3c030001, 0x431025, +0xaf820220, 0x3c010001, 0xac206f44, 0x3c010001, 0x8004e28, 0xac236f4c, +0x8f820200, 0x34420100, 0xaf820200, 0x8f820220, 0x3c030001, 0x431025, +0xaf820220, 0x24020100, 0x3c010001, 0xac226f44, 0x3c010001, 0x8004e28, +0xac236f4c, 0x34a5ffff, 0x3c040001, 0x24844cf8, 0xafa30010, 0xc0023a7, +0xafa00014, 0x8004e28, 0x0, 0x24020030, 0x3c010001, 0xac226f08, +0x8fbf0018, 0x3e00008, 0x27bd0020, 0x0, 0x27bdffc8, 0xafb10024, +0x808821, 0xafb3002c, 0xa09821, 0xafb00020, 0xc08021, 0x3c040001, +0x24844d10, 0x3c050009, 0x3c020001, 0x8c424dec, 0x34a59001, 0x2203021, +0x2603821, 0xafbf0030, 0xafb20028, 0xa7a0001a, 0xafb00014, 0xc0023a7, +0xafa20010, 0x24020002, 0x126200e9, 0x2e620003, 0x10400005, 0x24020001, +0x1262000a, 0x3c02fffb, 0x8004f2c, 0x0, 0x24020004, 0x1262006d, +0x24020008, 0x1262006c, 0x3c02ffec, 0x8004f2c, 0x0, 0x3442ffff, +0x2028024, 0x119140, 0x3c010001, 0x320821, 0xac306f1c, 0x3c024000, +0x2021024, 0x10400046, 0x1023c2, 0x30840030, 0x101382, 0x3042000c, +0x3c030001, 0x24634e14, 0x431021, 0x823821, 0x3c020020, 0x2021024, +0x10400006, 0x24020100, 0x3c010001, 0x320821, 0xac226f20, 0x8004e6f, +0x3c020080, 0x3c010001, 0x320821, 0xac206f20, 0x3c020080, 0x2021024, +0x10400006, 0x111940, 0x3c020001, 0x3c010001, 0x230821, 0x8004e7b, +0xac226f28, 0x111140, 0x3c010001, 0x220821, 0xac206f28, 0x94e30000, +0x32024000, 0x10400003, 0xa7a30018, 0x34624000, 0xa7a20018, 0x24040001, +0x94e20002, 0x24050004, 0x24e60002, 0x34420001, 0xc004782, 0xa4e20002, +0x24040001, 0x2821, 0xc004782, 0x27a60018, 0x3c020001, 0x8c424dec, +0x24110001, 0x3c010001, 0xac314df8, 0x14530004, 0x32028000, 0xc0041e7, +0x0, 0x32028000, 0x10400095, 0x0, 0xc0041e7, 0x0, +0x24020002, 0x3c010001, 0xac314df0, 0x3c010001, 0x8004f2c, 0xac224dec, +0x24040001, 0x24050004, 0x27b0001a, 0xc004782, 0x2003021, 0x24040001, +0x2821, 0xc004782, 0x2003021, 0x3c020001, 0x521021, 0x8c426f14, +0x3c040001, 0x8c844dec, 0x3c03bfff, 0x3463ffff, 0x3c010001, 0xac334df8, +0x431024, 0x3c010001, 0x320821, 0x10930074, 0xac226f14, 0x8004f2c, +0x0, 0x3c02ffec, 0x3442ffff, 0x2028024, 0x3c020008, 0x2028025, +0x111140, 0x3c010001, 0x220821, 0xac306f18, 0x3c022000, 0x2021024, +0x10400005, 0x24020001, 0x3c010001, 0xac224e88, 0x8004ecd, 0x3c024000, +0x3c010001, 0xac204e88, 0x3c024000, 0x2021024, 0x1440001c, 0x0, +0x3c020001, 0x8c424e88, 0x10400007, 0x24022020, 0x3c010001, 0xac224e8c, +0x24020001, 0x3c010001, 0x370821, 0xac22839c, 0x3c04bfff, 0x111940, +0x3c020001, 0x431021, 0x8c426f10, 0x3c050001, 0x8ca54dec, 0x3484ffff, +0x441024, 0x3c010001, 0x230821, 0xac226f10, 0x24020001, 0x10a20044, +0x0, 0x8004f2a, 0x0, 0x3c020001, 0x8c424e88, 0x1040001c, +0x24022000, 0x3c010001, 0xac224e8c, 0x3c0300a0, 0x2031024, 0x14430005, +0x111140, 0x3402a000, 0x3c010001, 0x8004f25, 0xac224e8c, 0x3c030001, +0x621821, 0x8c636f18, 0x3c020020, 0x621024, 0x10400004, 0x24022001, +0x3c010001, 0x8004f25, 0xac224e8c, 0x3c020080, 0x621024, 0x1040001f, +0x3402a001, 0x3c010001, 0x8004f25, 0xac224e8c, 0x3c020020, 0x2021024, +0x10400007, 0x111940, 0x24020100, 0x3c010001, 0x230821, 0xac226f24, +0x8004f19, 0x3c020080, 0x111140, 0x3c010001, 0x220821, 0xac206f24, +0x3c020080, 0x2021024, 0x10400006, 0x111940, 0x3c020001, 0x3c010001, +0x230821, 0x8004f25, 0xac226f2c, 0x111140, 0x3c010001, 0x220821, +0xac206f2c, 0x3c030001, 0x8c634dec, 0x24020001, 0x10620003, 0x0, +0xc0041e7, 0x0, 0x8fbf0030, 0x8fb3002c, 0x8fb20028, 0x8fb10024, +0x8fb00020, 0x3e00008, 0x27bd0038, 0x27bdffd0, 0xafb40028, 0x80a021, +0xafb20020, 0x9021, 0xafb30024, 0x9821, 0xafb1001c, 0x8821, +0x24020002, 0xafbf002c, 0xafb00018, 0xa7a00012, 0x10a20068, 0xa7a00010, +0x2ca20003, 0x10400005, 0x24020001, 0x10a2000a, 0x148140, 0x8004ff0, +0x2201021, 0x24020004, 0x10a2005e, 0x24020008, 0x10a2005d, 0x142140, +0x8004ff0, 0x2201021, 0x3c030001, 0x701821, 0x8c636f1c, 0x3c024000, +0x621024, 0x14400009, 0x24040001, 0x3c027fff, 0x3442ffff, 0x628824, +0x3c010001, 0x300821, 0xac316f14, 0x8004ff0, 0x2201021, 0x24050001, +0xc004740, 0x27a60010, 0x24040001, 0x24050001, 0xc004740, 0x27a60010, +0x97a20010, 0x30420004, 0x10400034, 0x3c114000, 0x3c030001, 0x8c634e9c, +0x24020003, 0x10620008, 0x2c620004, 0x14400029, 0x3c028000, 0x24020004, +0x10620014, 0x24040001, 0x8004f99, 0x3c028000, 0x24040001, 0x24050011, +0x27b00012, 0xc004740, 0x2003021, 0x24040001, 0x24050011, 0xc004740, +0x2003021, 0x97a30012, 0x30624000, 0x10400002, 0x3c130010, 0x3c130008, +0x3c120001, 0x8004f96, 0x30628000, 0x24050014, 0x27b00012, 0xc004740, +0x2003021, 0x24040001, 0x24050014, 0xc004740, 0x2003021, 0x97a30012, +0x30621000, 0x10400002, 0x3c130010, 0x3c130008, 0x3c120001, 0x30620800, +0x54400001, 0x3c120002, 0x3c028000, 0x2221025, 0x2531825, 0x8004fa3, +0x438825, 0x3c110001, 0x2308821, 0x8e316f1c, 0x3c027fff, 0x3442ffff, +0x2228824, 0x141140, 0x3c010001, 0x220821, 0xac316f14, 0x8004ff0, +0x2201021, 0x142140, 0x3c030001, 0x641821, 0x8c636f18, 0x3c024000, +0x621024, 0x14400008, 0x3c027fff, 0x3442ffff, 0x628824, 0x3c010001, +0x240821, 0xac316f10, 0x8004ff0, 0x2201021, 0x3c020001, 0x8c424dfc, +0x1040002d, 0x3c11c00c, 0x3c020001, 0x8c424e88, 0x3c03e00c, 0x3c010001, +0x240821, 0x8c246f24, 0x2102b, 0x21023, 0x431024, 0x10800004, +0x518825, 0x3c020020, 0x8004fcd, 0x2228825, 0x3c02ffdf, 0x3442ffff, +0x2228824, 0x141140, 0x3c010001, 0x220821, 0x8c226f2c, 0x10400003, +0x3c020080, 0x8004fd8, 0x2228825, 0x3c02ff7f, 0x3442ffff, 0x2228824, +0x3c020001, 0x8c424e60, 0x10400002, 0x3c020800, 0x2228825, 0x3c020001, +0x8c424e64, 0x10400002, 0x3c020400, 0x2228825, 0x3c020001, 0x8c424e68, +0x10400006, 0x3c020100, 0x8004feb, 0x2228825, 0x3c027fff, 0x3442ffff, +0x628824, 0x141140, 0x3c010001, 0x220821, 0xac316f10, 0x2201021, +0x8fbf002c, 0x8fb40028, 0x8fb30024, 0x8fb20020, 0x8fb1001c, 0x8fb00018, +0x3e00008, 0x27bd0030, 0x27bdffd8, 0xafb40020, 0x80a021, 0xafbf0024, +0xafb3001c, 0xafb20018, 0xafb10014, 0xafb00010, 0x8f900200, 0x3c030001, +0x8c634dec, 0x8f930220, 0x24020002, 0x106200b1, 0x2c620003, 0x10400005, +0x24020001, 0x1062000a, 0x141940, 0x80050b7, 0x0, 0x24020004, +0x1062005a, 0x24020008, 0x10620059, 0x149140, 0x80050b7, 0x0, +0x3c040001, 0x832021, 0x8c846f1c, 0x3c110001, 0x2238821, 0x8e316f14, +0x3c024000, 0x821024, 0x1040003e, 0x3c020008, 0x2221024, 0x10400020, +0x36100002, 0x3c020001, 0x431021, 0x8c426f20, 0x10400005, 0x36100020, +0x36100100, 0x3c020020, 0x800502f, 0x2228825, 0x2402feff, 0x2028024, +0x3c02ffdf, 0x3442ffff, 0x2228824, 0x141140, 0x3c010001, 0x220821, +0x8c226f28, 0x10400005, 0x3c020001, 0x2629825, 0x3c020080, 0x800504e, +0x2228825, 0x3c02fffe, 0x3442ffff, 0x2629824, 0x3c02ff7f, 0x3442ffff, +0x800504e, 0x2228824, 0x2402fedf, 0x2028024, 0x3c02fffe, 0x3442ffff, +0x2629824, 0x3c02ff5f, 0x3442ffff, 0x2228824, 0x3c010001, 0x230821, +0xac206f20, 0x3c010001, 0x230821, 0xac206f28, 0xc00470a, 0x0, +0xaf900200, 0xaf930220, 0x8f820220, 0x2403fffb, 0x431024, 0xaf820220, +0x8f820220, 0x34420002, 0xaf820220, 0x8005065, 0x141140, 0x8f820200, +0x2403fffd, 0x431024, 0xc00470a, 0xaf820200, 0x3c02bfff, 0x3442ffff, +0xc0041e7, 0x2228824, 0x141140, 0x3c010001, 0x220821, 0x80050b7, +0xac316f14, 0x149140, 0x3c040001, 0x922021, 0x8c846f18, 0x3c110001, +0x2328821, 0x8e316f10, 0x3c024000, 0x821024, 0x14400011, 0x0, +0x3c020001, 0x8c424e88, 0x14400006, 0x3c02bfff, 0x8f820200, 0x34420002, +0xc00470a, 0xaf820200, 0x3c02bfff, 0x3442ffff, 0xc0041e7, 0x2228824, +0x3c010001, 0x320821, 0x80050b7, 0xac316f10, 0x3c020001, 0x8c424e88, +0x1440002d, 0x141140, 0x3c020020, 0x821024, 0x10400007, 0x36100020, +0x24020100, 0x3c010001, 0x320821, 0xac226f24, 0x8005097, 0x36100100, +0x3c010001, 0x320821, 0xac206f24, 0x2402feff, 0x2028024, 0x3c020080, +0x821024, 0x10400007, 0x141940, 0x3c020001, 0x3c010001, 0x230821, +0xac226f2c, 0x80050a8, 0x2629825, 0x141140, 0x3c010001, 0x220821, +0xac206f2c, 0x3c02fffe, 0x3442ffff, 0x2629824, 0xc00470a, 0x0, +0xaf900200, 0xaf930220, 0x8f820220, 0x2403fffb, 0x431024, 0xaf820220, +0x8f820220, 0x34420002, 0xaf820220, 0x141140, 0x3c010001, 0x220821, +0xac316f10, 0x8fbf0024, 0x8fb40020, 0x8fb3001c, 0x8fb20018, 0x8fb10014, +0x8fb00010, 0x3e00008, 0x27bd0028, 0x0, 0x0 }; +u32 tigonFwData[(MAX_DATA_LEN/4) + 1] = { +0x416c7465, 0x6f6e2041, 0x63654e49, 0x43205600, 0x416c7465, 0x6f6e2041, +0x63654e49, 0x43205600, 0x42424242, 0x0, 0x0, 0x0, +0x135430, 0x13e7fc, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x60cf00, 0x60, 0xcf000000, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x3, 0x0, 0x1, 0x0, +0x0, 0x0, 0x0, 0x0, 0x1, 0x0, +0x0, 0x0, 0x0, 0x0, 0x1000000, 0x21000000, +0x12000140, 0x0, 0x0, 0x20000000, 0x120000a0, 0x0, +0x12000060, 0x12000180, 0x120001e0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x30001, 0x1, +0x30201, 0x0, 0x0 }; +u32 tigonFwRodata[(MAX_RODATA_LEN/4) + 1] = { +0x24486561, 0x6465723a, 0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, +0x772f6765, 0x2f6e6963, 0x2f66772f, 0x636f6d6d, 0x6f6e2f66, 0x776d6169, +0x6e2e632c, 0x7620312e, 0x312e322e, 0x31312031, 0x3939382f, 0x30342f32, +0x37203232, 0x3a31333a, 0x34322073, 0x6875616e, 0x67204578, 0x70202400, +0x7468655f, 0x4441574e, 0x0, 0x53544143, 0x4b5f3120, 0x0, +0x42616453, 0x6e64526e, 0x67000000, 0x3f456e71, 0x45767400, 0x3f6e6f51, +0x64457650, 0x0, 0x6576526e, 0x6746756c, 0x6c000000, 0x496c6c43, +0x6f6e6652, 0x78000000, 0x53656e64, 0x436b5375, 0x6d000000, 0x52656376, +0x566c616e, 0x0, 0x0, 0x0, 0x24486561, 0x6465723a, +0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, 0x772f6765, 0x2f6e6963, +0x2f66772f, 0x636f6d6d, 0x6f6e2f74, 0x696d6572, 0x2e632c76, 0x20312e31, +0x2e322e37, 0x20313939, 0x382f3034, 0x2f323720, 0x32323a31, 0x333a3439, +0x20736875, 0x616e6720, 0x45787020, 0x24000000, 0x542d446d, 0x61526431, +0x0, 0x542d446d, 0x61424200, 0x542d446d, 0x61320000, 0x3f6e6f51, +0x64547845, 0x0, 0x3f6e6f51, 0x64527845, 0x0, 0x656e714d, +0x45765046, 0x61696c00, 0x656e714d, 0x45764661, 0x696c0000, 0x6661696c, +0x456e454d, 0x0, 0x3f456e71, 0x45767400, 0x3f6e6f51, 0x64457650, +0x0, 0x6576526e, 0x6746756c, 0x6c000000, 0x0, 0x0, +0x24486561, 0x6465723a, 0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, +0x772f6765, 0x2f6e6963, 0x2f66772f, 0x636f6d6d, 0x6f6e2f63, 0x6f6d6d61, +0x6e642e63, 0x2c762031, 0x2e312e32, 0x2e382031, 0x3939382f, 0x30342f32, +0x37203232, 0x3a31333a, 0x33392073, 0x6875616e, 0x67204578, 0x70202400, +0x4e4f636f, 0x6d616e64, 0x0, 0x68737465, 0x5f455252, 0x0, +0x412d4572, 0x72427563, 0x0, 0x4552524f, 0x522d4164, 0x64000000, +0x656e714d, 0x45765046, 0x61696c00, 0x656e714d, 0x45764661, 0x696c0000, +0x6661696c, 0x456e454d, 0x0, 0x442d4572, 0x724c6173, 0x74000000, +0x442d4572, 0x72320000, 0x6d437374, 0x4d644552, 0x52000000, 0x70726f6d, +0x4d644552, 0x52000000, 0x46696c74, 0x4d644552, 0x52000000, 0x636d645f, +0x45525200, 0x3f456e71, 0x45767400, 0x3f6e6f51, 0x64457650, 0x0, +0x6576526e, 0x6746756c, 0x6c000000, 0x0, 0x6da4, 0x7e7c, +0x6d3c, 0x85c8, 0x815c, 0x8614, 0x8614, 0x6e58, +0x7578, 0x7dcc, 0x7f68, 0x7f34, 0x8614, 0x7d30, +0x7f8c, 0x6d68, 0x808c, 0x0, 0x24486561, 0x6465723a, +0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, 0x772f6765, 0x2f6e6963, +0x2f66772f, 0x636f6d6d, 0x6f6e2f64, 0x6d612e63, 0x2c762031, 0x2e312e32, +0x2e332031, 0x3939382f, 0x30342f32, 0x37203232, 0x3a31333a, 0x34312073, +0x6875616e, 0x67204578, 0x70202400, 0x646d6172, 0x6441544e, 0x0, +0x646d6177, 0x7241544e, 0x0, 0x0, 0x0, 0x0, +0x24486561, 0x6465723a, 0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, +0x772f6765, 0x2f6e6963, 0x2f66772f, 0x636f6d6d, 0x6f6e2f74, 0x72616365, +0x2e632c76, 0x20312e31, 0x2e322e32, 0x20313939, 0x382f3034, 0x2f323720, +0x32323a31, 0x333a3530, 0x20736875, 0x616e6720, 0x45787020, 0x24000000, +0x24486561, 0x6465723a, 0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, +0x772f6765, 0x2f6e6963, 0x2f66772f, 0x636f6d6d, 0x6f6e2f64, 0x6174612e, +0x632c7620, 0x312e312e, 0x322e3220, 0x31393938, 0x2f30342f, 0x32372032, +0x323a3133, 0x3a343020, 0x73687561, 0x6e672045, 0x78702024, 0x0, +0x46575f56, 0x45525349, 0x4f4e3a20, 0x23312046, 0x7269204f, 0x63742031, +0x36203130, 0x3a31333a, 0x30352050, 0x44542031, 0x39393800, 0x46575f43, +0x4f4d5049, 0x4c455f54, 0x494d453a, 0x2031303a, 0x31333a30, 0x35000000, +0x46575f43, 0x4f4d5049, 0x4c455f42, 0x593a2064, 0x65767263, 0x73000000, +0x46575f43, 0x4f4d5049, 0x4c455f48, 0x4f53543a, 0x20636f6d, 0x70757465, +0x0, 0x46575f43, 0x4f4d5049, 0x4c455f44, 0x4f4d4149, 0x4e3a2065, +0x6e672e61, 0x6374656f, 0x6e2e636f, 0x6d000000, 0x46575f43, 0x4f4d5049, +0x4c45523a, 0x20676363, 0x20766572, 0x73696f6e, 0x20322e37, 0x2e320000, +0x0, 0x0, 0x0, 0x0, 0x24486561, 0x6465723a, +0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, 0x772f6765, 0x2f6e6963, +0x2f66772f, 0x636f6d6d, 0x6f6e2f6d, 0x656d2e63, 0x2c762031, 0x2e312e32, +0x2e322031, 0x3939382f, 0x30342f32, 0x37203232, 0x3a31333a, 0x34342073, +0x6875616e, 0x67204578, 0x70202400, 0x0, 0x24486561, 0x6465723a, +0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, 0x772f6765, 0x2f6e6963, +0x2f66772f, 0x636f6d6d, 0x6f6e2f73, 0x656e642e, 0x632c7620, 0x312e312e, +0x322e3820, 0x31393938, 0x2f30342f, 0x32372032, 0x323a3133, 0x3a343820, +0x73687561, 0x6e672045, 0x78702024, 0x0, 0x736e6464, 0x654e6f51, +0x20000000, 0x6e6f454e, 0x515f5458, 0x0, 0x736e6464, 0x744e6f51, +0x20000000, 0x3f6e6f51, 0x64547845, 0x0, 0x756e6b72, 0x64747970, +0x65000000, 0x0, 0xba70, 0xba70, 0xbb18, 0xac2c, +0xae2c, 0xbb18, 0xbb18, 0xbb18, 0xbb18, 0xbb18, +0xbb18, 0xbb18, 0xbb18, 0xbb18, 0xbb18, 0xbb18, +0xbb18, 0xbb18, 0xbb18, 0xae14, 0x24486561, 0x6465723a, +0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, 0x772f6765, 0x2f6e6963, +0x2f66772f, 0x636f6d6d, 0x6f6e2f72, 0x6563762e, 0x632c7620, 0x312e312e, +0x322e3139, 0x20313939, 0x382f3037, 0x2f323420, 0x32313a33, 0x303a3035, +0x20736875, 0x616e6720, 0x45787020, 0x24000000, 0x706b5278, 0x45525200, +0x66726d32, 0x4c617267, 0x65000000, 0x72784e6f, 0x52784264, 0x0, +0x72785144, 0x6d614446, 0x0, 0x72785144, 0x6d614246, 0x0, +0x3f6e6f51, 0x64527845, 0x0, 0x706b5278, 0x45525273, 0x0, +0x66726d32, 0x4c726753, 0x0, 0x72784e6f, 0x42645300, 0x3f724264, +0x446d6146, 0x0, 0x3f724a42, 0x64446d46, 0x0, 0x0, +0xf3c0, 0xf3c0, 0xf3c0, 0xf3c0, 0xf3c0, 0xf3c0, +0xf3c0, 0xf3c0, 0xf3c0, 0xf3c0, 0xf3c0, 0xf3c0, +0xf3c0, 0xf3c0, 0xf3c0, 0xf3b8, 0xf3b8, 0xf3b8, +0x572d444d, 0x41456e46, 0x0, 0x0, 0xfafc, 0xfe80, +0xfb18, 0xfe80, 0xfe80, 0xfe80, 0xfe80, 0xfe80, +0xfe80, 0xf44c, 0xfe80, 0xfe80, 0xfe80, 0xfe80, +0xfe80, 0xfe78, 0xfe78, 0xfe78, 0x24486561, 0x6465723a, +0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, 0x772f6765, 0x2f6e6963, +0x2f66772f, 0x636f6d6d, 0x6f6e2f6d, 0x61632e63, 0x2c762031, 0x2e312e32, +0x2e313220, 0x31393938, 0x2f30342f, 0x32372032, 0x323a3133, 0x3a343220, +0x73687561, 0x6e672045, 0x78702024, 0x0, 0x6d616374, 0x7841544e, +0x0, 0x4e745379, 0x6e264c6b, 0x0, 0x72656d61, 0x73737274, +0x0, 0x6c696e6b, 0x444f574e, 0x0, 0x656e714d, 0x45765046, +0x61696c00, 0x656e714d, 0x45764661, 0x696c0000, 0x6661696c, 0x456e454d, +0x0, 0x6c696e6b, 0x55500000, 0x0, 0x24486561, 0x6465723a, +0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, 0x772f6765, 0x2f6e6963, +0x2f66772f, 0x636f6d6d, 0x6f6e2f63, 0x6b73756d, 0x2e632c76, 0x20312e31, +0x2e322e32, 0x20313939, 0x382f3034, 0x2f323720, 0x32323a31, 0x333a3339, +0x20736875, 0x616e6720, 0x45787020, 0x24000000, 0x50726f62, 0x65506879, +0x0, 0x6c6e6b41, 0x53535254, 0x0, 0x11680, 0x116b8, +0x116dc, 0x11710, 0x1173c, 0x11750, 0x1178c, 0x11ac4, +0x11864, 0x118a4, 0x118d4, 0x11914, 0x11944, 0x11980, +0x119c4, 0x11ac4, 0x0, 0x0, 0x11f5c, 0x1202c, +0x12104, 0x121d4, 0x12230, 0x1230c, 0x12334, 0x12410, +0x12438, 0x125e0, 0x12608, 0x127b0, 0x129a8, 0x12c3c, +0x12b50, 0x12c3c, 0x12c68, 0x127d8, 0x12980, 0x0, +0x13054, 0x130b4, 0x13130, 0x1315c, 0x131ac, 0x131e8, +0x1321c, 0x132a8, 0x13360, 0x13430, 0x13470, 0x134f4, +0x13550, 0x13684, 0x646f4261, 0x73655067, 0x0, 0x0, +0x0, 0x0, 0x73746d61, 0x634c4e4b, 0x0, 0x0, +0x0 }; +/* Generated by genfw.c */ +int tigon2FwReleaseMajor = 0xc; +int tigon2FwReleaseMinor = 0x1; +int tigon2FwReleaseFix = 0x4; +u32 tigon2FwStartAddr = 0x4000; +u32 tigon2FwTextAddr = 0x4000; +int tigon2FwTextLen = 0xe480; +u32 tigon2FwDataAddr = 0x131d0; +int tigon2FwDataLen = 0x170; +u32 tigon2FwRodataAddr = 0x12480; +int tigon2FwRodataLen = 0xd30; +u32 tigon2FwBssAddr = 0x133f0; +int tigon2FwBssLen = 0x20c0; +u32 tigon2FwSbssAddr = 0x13340; +int tigon2FwSbssLen = 0xa8; +u32 tigon2FwText[(MAX_TEXT_LEN/4) + 1] = { +0x0, 0x10000003, 0x0, 0xd, 0xd, 0x3c1d0001, +0x8fbd3220, 0x3a0f021, 0x3c100000, 0x26104000, 0xc0010c0, 0x0, +0xd, 0x3c1d0001, 0x8fbd3224, 0x3a0f021, 0x3c100000, 0x26104000, +0xc0016fe, 0x0, 0xd, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x2000008, 0x0, +0x8001671, 0x3c0a0001, 0x8001671, 0x3c0a0002, 0x8001671, 0x0, +0x8002994, 0x0, 0x8001671, 0x3c0a0003, 0x8001671, 0x3c0a0004, +0x8003110, 0x0, 0x80019ba, 0x0, 0x8003608, 0x0, +0x8003597, 0x0, 0x8001671, 0x3c0a0006, 0x8001671, 0x3c0a0007, +0x8001671, 0x3c0a0008, 0x8001671, 0x3c0a0009, 0x8003679, 0x0, +0x8002bd5, 0x0, 0x8001671, 0x3c0a000b, 0x8001671, 0x3c0a000c, +0x8001671, 0x3c0a000d, 0x80026e0, 0x0, 0x80026b3, 0x0, +0x8001671, 0x3c0a000e, 0x8001f40, 0x0, 0x80018c9, 0x0, +0x800196b, 0x0, 0x80038f7, 0x0, 0x80038e1, 0x0, +0x8001671, 0x0, 0x800184d, 0x0, 0x8001893, 0x0, +0x8001671, 0x3c0a0013, 0x8001671, 0x3c0a0014, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x27bdffe0, 0x3c1cc000, 0xafbf0018, 0xc0028d0, 0xd021, 0x8f820040, +0x3c03f000, 0x431824, 0x3c025000, 0x10620005, 0x3c026000, 0x1062001a, +0x24020003, 0x10000030, 0x0, 0x8f820050, 0x3c030010, 0x431024, +0x50400013, 0x24020003, 0x3c030001, 0x2463c2d0, 0x3c020001, 0x2442c354, +0x431023, 0x3c010001, 0xac2333b8, 0x8f830140, 0x3c040001, 0x2484c35c, +0x3c010001, 0xac2233a4, 0x3c020001, 0x2442c3c4, 0x3c010001, 0xac2031d8, +0x10000013, 0x441023, 0x3c030001, 0x2463c3cc, 0xaf8200ec, 0x3c020001, +0x2442c408, 0x431023, 0x3c010001, 0xac2333b8, 0x8f830140, 0x3c040001, +0x2484c410, 0x3c010001, 0xac2233a4, 0x3c020001, 0x2442c438, 0x441023, +0x3c0100c0, 0xac203ffc, 0x3c010001, 0xac2433b0, 0x3c010001, 0xac2233ac, +0x34630004, 0xaf830140, 0xc00169c, 0x0, 0x402821, 0x3c010001, +0xac253350, 0x3c020008, 0x10a2002c, 0x45102b, 0x14400006, 0x3c020010, +0x3c020004, 0x10a20007, 0x3c02ffff, 0x1000005b, 0x0, 0x10a20045, +0x3c030003, 0x10000057, 0x0, 0x34422e10, 0x3c030001, 0x246354b0, +0x3c040001, 0x8c8431d4, 0xa31823, 0x14800002, 0x622821, 0x24a5faa8, +0x2403f000, 0xa32824, 0x51082, 0x431024, 0x3c010001, 0xac223340, +0xa21023, 0x3c010001, 0xac223348, 0x3402a000, 0x3c010001, 0xac223358, +0x24020008, 0x3c010001, 0xac223360, 0x2402001f, 0x3c010001, 0xac223368, +0x24020016, 0x3c010001, 0xac22334c, 0x10000041, 0x3c08ffff, 0x3c02ffff, +0x34422e10, 0x3c030001, 0x246354b0, 0x3c040001, 0x8c8431d4, 0xa31823, +0x14800002, 0x622821, 0x24a5faa8, 0x2403f000, 0xa32824, 0x3c040003, +0x34842000, 0x510c2, 0x431024, 0x3c010001, 0xac223340, 0xa21023, +0x3c010001, 0xac223348, 0x24020008, 0x3c010001, 0xac223360, 0x2402001f, +0x3c010001, 0xac223368, 0x24020016, 0x3c010001, 0xac243358, 0x3c010001, +0xac22334c, 0x1000001f, 0x3c08ffff, 0x34632000, 0x3c020001, 0x3c010001, +0xac223340, 0x3c020007, 0x3c010001, 0xac223348, 0x24020008, 0x3c010001, +0xac223360, 0x2402001f, 0x3c010001, 0xac223368, 0x24020016, 0x3c010001, +0xac233358, 0x3c010001, 0xac22334c, 0x1000000b, 0x3c08ffff, 0x3c040001, +0x24842540, 0x3c050001, 0x8ca53350, 0x3021, 0x3821, 0xafa00010, +0xc0028eb, 0xafa00014, 0x3c08ffff, 0x35087e10, 0x3c0500bf, 0x34a5f000, +0x3c0600bf, 0x34c6e000, 0x3c070001, 0x8ce73340, 0x3c040001, 0x8c843348, +0x3c030020, 0x3c090001, 0x8d2931d0, 0x671023, 0x441023, 0x245bb000, +0x641823, 0x3c010001, 0xac233354, 0x671823, 0x27620ffc, 0x3c010001, +0xac223220, 0x27621ffc, 0xbb2823, 0xdb3023, 0x3c010001, 0xac233344, +0x3c010001, 0xac223224, 0xaf850150, 0xaf860250, 0x1120001b, 0x368b821, +0x33620fff, 0x10400008, 0x24050019, 0x3c040001, 0x2484254c, 0x3603021, +0x3821, 0xafa00010, 0xc0028eb, 0xafa00014, 0x3c1d0001, 0x8fbd31dc, +0x3a0f021, 0xc001684, 0x0, 0x3c020001, 0x8c4231e0, 0x3c030001, +0x8c6331e4, 0x2442fe00, 0x24630200, 0x3c010001, 0xac2231e0, 0x3c010001, +0x10000004, 0xac2331e4, 0x3c1d0001, 0x8fbd3220, 0x3a0f021, 0x3c020001, +0x8c4231d4, 0x1040000d, 0x26f6faa8, 0x3c020001, 0x8c4231e0, 0x3c030001, +0x8c6331e4, 0x3c160001, 0x8ed631e4, 0x2442faa8, 0x24630558, 0x3c010001, +0xac2231e0, 0x3c010001, 0xac2331e4, 0x3c020001, 0x8c4231d8, 0x14400003, +0x0, 0x3c010001, 0xac2031e0, 0xc0011ca, 0x0, 0x8fbf0018, +0x3e00008, 0x27bd0020, 0x27bdff98, 0xafbf0060, 0xafbe005c, 0xafb50058, +0xafb30054, 0xafb10050, 0x8f820240, 0x3c030001, 0x431025, 0xaf820240, +0x3c020001, 0x8c4231e0, 0x3c030001, 0x8c6331e4, 0xaf800048, 0x8f840048, +0x3c120000, 0x26524100, 0xa3a00047, 0xafa20034, 0x14800005, 0xafa30030, +0xaf800048, 0x8f820048, 0x10400004, 0x0, 0xaf800048, 0x10000003, +0x2e02021, 0xaf80004c, 0x2e02021, 0xc00296c, 0x340581f0, 0x2c02021, +0xc00296c, 0x24050558, 0x3c020001, 0x8c423344, 0x3c030001, 0x8c633340, +0x3c040001, 0x8c843348, 0x3c050001, 0x8ca53358, 0x3c060001, 0x8cc63360, +0x3c070001, 0x8ce73368, 0x3c080001, 0x8d08334c, 0xaec20534, 0x3c020001, +0x8c423354, 0x8ec90534, 0xaec50544, 0x3c050001, 0x8ca53350, 0xaec00000, +0xaec3053c, 0xaec40540, 0xaec60548, 0xaec7054c, 0xaec80550, 0xaec20538, +0xafa90010, 0x8ec20538, 0xafa20014, 0x8ec6053c, 0x8ec70540, 0x3c040001, +0xc0028eb, 0x24842558, 0xafb70010, 0xafb60014, 0x8ec60544, 0x8ec70548, +0x3c040001, 0x24842560, 0xc0028eb, 0x24050001, 0x3c040001, 0x24842568, +0x24050001, 0x24060001, 0x24070001, 0xafa00010, 0xc0028eb, 0xafa00014, +0x3c020001, 0x8c423350, 0x3603821, 0x3c060001, 0x24c654b0, 0x2448ffff, +0x1061824, 0xe81024, 0x43102b, 0x10400006, 0x24050002, 0x3c040001, +0x24842570, 0xafa80010, 0xc0028eb, 0xafa00014, 0x24020001, 0xa2c20529, +0xaf800054, 0xaf80011c, 0x8f420218, 0x30420002, 0x10400009, 0x0, +0x8f420220, 0x3c030002, 0x34630004, 0x431025, 0xaec20008, 0x8f42021c, +0x10000008, 0x34420004, 0x8f420220, 0x3c030002, 0x34630006, 0x431025, +0xaec20008, 0x8f42021c, 0x34420006, 0xaec20010, 0x8f420218, 0x30420010, +0x1040000a, 0x0, 0x8f42021c, 0x34420004, 0xaec2000c, 0x8f420220, +0x3c03000a, 0x34630004, 0x431025, 0x10000009, 0xaec20004, 0x8f420220, +0x3c03000a, 0x34630006, 0x431025, 0xaec20004, 0x8f42021c, 0x34420006, +0xaec2000c, 0x8f420218, 0x30420200, 0x10400003, 0x24020001, 0x10000002, +0xa2c20064, 0xa2c00064, 0x24020001, 0xaf8200a0, 0xaf8200b0, 0x8f830054, +0x8f820054, 0x10000002, 0x24630064, 0x8f820054, 0x621023, 0x2c420065, +0x1440fffc, 0x0, 0x8f440208, 0x8f45020c, 0x26e20028, 0xaee20020, +0x24020480, 0xaee20010, 0xaee40008, 0xaee5000c, 0x26e40008, 0x8c820000, +0x8c830004, 0x3802821, 0xaf820090, 0xaf830094, 0x8c820018, 0xaca200b4, +0x9482000a, 0xaca2009c, 0x8ca200b0, 0x8ec30010, 0x431025, 0xaca200b0, +0x8f8200b0, 0x30420004, 0x1440fffd, 0x0, 0x8ee20448, 0x8ee3044c, +0xaee304bc, 0x8ee204bc, 0x2442e000, 0x2c422001, 0x1440000d, 0x26c40128, +0x8ee20448, 0x8ee3044c, 0x3c040001, 0x2484257c, 0x3c050001, 0xafa00010, +0xafa00014, 0x8ee704bc, 0x34a5f000, 0xc0028eb, 0x603021, 0x26c40128, +0xc00296c, 0x24050400, 0x27440080, 0xc00296c, 0x24050080, 0x8f42025c, +0x26c4018c, 0xaec20158, 0x8f420260, 0x27450200, 0x24060008, 0xc00297e, +0xaec20160, 0x3c043b9a, 0x3484ca00, 0x2821, 0x24020006, 0x24030002, +0xaec2015c, 0x240203e8, 0xaec3016c, 0xaec30168, 0xaec40164, 0xaec201fc, +0x24020001, 0xaec301f8, 0xaec20204, 0x3c030001, 0x651821, 0x906331e8, +0x2c51021, 0x24a50001, 0xa0430194, 0x2ca2000f, 0x1440fff8, 0x2c51821, +0x8f820040, 0x24a50001, 0x21702, 0x24420030, 0xa0620194, 0x2c51021, +0xa0400194, 0xafa00010, 0x8fa20034, 0x3c040001, 0x24842588, 0xafa20014, +0x8fa60030, 0x3821, 0xc0028eb, 0x2821, 0x3c040000, 0x24845990, +0x24050010, 0x27b30030, 0x2603021, 0x27b10034, 0xc0016be, 0x2203821, +0x3c030001, 0x8c6331d8, 0x3c15f000, 0x1060000a, 0xafa2003c, 0x8fa30030, +0x2405ff00, 0x8fa20034, 0x246400ff, 0x852024, 0x831823, 0x431023, +0xafa20034, 0xafa40030, 0x3c040000, 0x24844100, 0x24050108, 0x2603021, +0xc0016be, 0x2203821, 0x96e30452, 0x30630003, 0x1060005f, 0x409021, +0x8f820050, 0x3c030010, 0x431024, 0x10400021, 0x0, 0x8f820040, +0x3c035000, 0x551024, 0x14430009, 0x0, 0x96e60452, 0x8f820050, +0xafa00014, 0xafa20010, 0x8f870040, 0x3c040001, 0x1000000d, 0x24842594, +0x8f420218, 0x30420040, 0x1040000d, 0x24020001, 0x8f820050, 0x96e60452, +0xafa20010, 0x8f420218, 0xafa20014, 0x8f870040, 0x3c040001, 0x2484259c, +0xc0028eb, 0x2821, 0x10000004, 0x0, 0x3c010001, 0x370821, +0xa02281ec, 0x3c040001, 0x24849a48, 0x3c050001, 0x24a59ac4, 0xa42823, +0x27b30030, 0x2603021, 0x8ec3000c, 0x27b10034, 0x2203821, 0x24020001, +0xa2c20020, 0xa2c20021, 0x34630a00, 0xc0016be, 0xaec3000c, 0x3c040001, +0x2484ab64, 0x3c050001, 0x24a5af4c, 0xa42823, 0x2603021, 0x2203821, +0xc0016be, 0xaec200a4, 0x3c040001, 0x2484b418, 0x3c050001, 0x24a5c2c8, +0xa42823, 0x2603021, 0x3c010001, 0xac22339c, 0xc0016be, 0x2203821, +0x3c040001, 0x2484dacc, 0x3c050001, 0x24a5e290, 0xa42823, 0x2603021, +0x3c010001, 0xac2233a0, 0xc0016be, 0x2203821, 0x3c040001, 0x248425a4, +0x96e60452, 0x24050011, 0x3821, 0x3c010001, 0xac2233bc, 0xafa00010, +0xc0028eb, 0xafa00014, 0x10000028, 0x0, 0x3c040001, 0x2484989c, +0x3c050001, 0x24a59a40, 0xa42823, 0x2603021, 0xc0016be, 0x2203821, +0x3c040001, 0x2484a650, 0x3c050001, 0x24a5ab5c, 0xa42823, 0x2603021, +0x2203821, 0xc0016be, 0xaec200a4, 0x3c040001, 0x2484af54, 0x3c050001, +0x24a5b410, 0xa42823, 0x2603021, 0x3c010001, 0xac22339c, 0xc0016be, +0x2203821, 0x3c040001, 0x2484d9e4, 0x3c050001, 0x24a5dac4, 0xa42823, +0x2603021, 0x3c010001, 0xac2233a0, 0xc0016be, 0x2203821, 0x3c010001, +0xac2233bc, 0x3c020001, 0x8c42339c, 0x3c050fff, 0x34a5ffff, 0x3c030001, +0x8c6333a0, 0x3c040800, 0x451024, 0x21082, 0x441025, 0x651824, +0xae420020, 0x3c020001, 0x8c4233bc, 0x31882, 0x641825, 0xae430080, +0x451024, 0x21082, 0x441025, 0xae420078, 0x96e20462, 0x30420003, +0x14400009, 0x0, 0x96e20472, 0x30420003, 0x1040007f, 0x27b30030, +0x96e20462, 0x30420003, 0x1040006d, 0x3c020700, 0x96e20472, 0x30420003, +0x10400069, 0x3c020700, 0x96e30472, 0x96e20462, 0x14620065, 0x3c020700, +0x8f82005c, 0x3c030080, 0x431024, 0x1040000b, 0x0, 0x8f820050, +0x96e60462, 0xafa20010, 0x8f82005c, 0xafa20014, 0x8f870040, 0x3c040001, +0x248425b0, 0xc0028eb, 0x24051977, 0x8f820050, 0x3c030010, 0x431024, +0x10400022, 0x0, 0x8f820040, 0x3c03f000, 0x431024, 0x3c035000, +0x14430009, 0x0, 0x96e60462, 0x8f820050, 0xafa00014, 0xafa20010, +0x8f870040, 0x3c040001, 0x1000000d, 0x24842594, 0x8f420218, 0x30420040, +0x1040000d, 0x24020001, 0x8f820050, 0x96e60462, 0xafa20010, 0x8f420218, +0xafa20014, 0x8f870040, 0x3c040001, 0x2484259c, 0xc0028eb, 0x24050001, +0x10000004, 0x0, 0x3c010001, 0x370821, 0xa02281ec, 0x3c040001, +0x2484981c, 0x3c050001, 0x24a59894, 0xa42823, 0x27b30030, 0x2603021, +0x8ec30004, 0x27b10034, 0x2203821, 0x24020001, 0xa2c2004c, 0x34630e00, +0xc0016be, 0xaec30004, 0x3c040001, 0x2484cf2c, 0x3c050001, 0x24a5d654, +0xa42823, 0x2603021, 0x2203821, 0xc0016be, 0xaec200a8, 0x3c040001, +0x2484dacc, 0x3c050001, 0x24a5e290, 0xa42823, 0x2603021, 0x3c010001, +0xac2233b4, 0xc0016be, 0x2203821, 0x3c040001, 0x248425bc, 0x21900, +0x31982, 0x3c050800, 0x651825, 0xae430078, 0x96e60462, 0x24050012, +0x3c010001, 0xac2233bc, 0x1000000a, 0x3821, 0x34423000, 0x240a0001, +0x3c040001, 0x248425c8, 0x3405f001, 0x3021, 0x3821, 0xa3aa0047, +0xafa20020, 0xafa00010, 0xc0028eb, 0xafa00014, 0x10000015, 0x0, +0x3c040001, 0x2484960c, 0x3c050001, 0x24a59814, 0xa42823, 0x2603021, +0x27b10034, 0xc0016be, 0x2203821, 0x3c040001, 0x2484c4ec, 0x3c050001, +0x24a5cf24, 0xa42823, 0x2603021, 0x2203821, 0xc0016be, 0xaec200a8, +0x3c010001, 0xac2233b4, 0x3c020001, 0x8c4233b4, 0x3c030800, 0x21100, +0x21182, 0x431025, 0xae420038, 0x8f420218, 0x30420040, 0x14400004, +0x24020001, 0x3c010001, 0x370821, 0xa02281ec, 0x96e20462, 0x30420010, +0x14400009, 0x0, 0x96e20472, 0x30420010, 0x10400021, 0x0, +0x96e20462, 0x30420010, 0x10400005, 0x3c020700, 0x96e20472, 0x30420010, +0x14400011, 0x3c020700, 0x34423000, 0x240a0001, 0xa3aa0047, 0xafa20020, +0x8ee20154, 0x96e60462, 0x96e70472, 0x24420001, 0xaee20154, 0x8ee20154, +0x3c040001, 0x248425d4, 0x3405f002, 0xafa00010, 0xc0028eb, 0xafa00014, +0x96e60472, 0x96e70462, 0x3c040001, 0x248425dc, 0x24050012, 0xafa00010, +0xc0028eb, 0xafa00014, 0x3c040001, 0x2484d65c, 0x3c050001, 0x24a5d818, +0xa42823, 0x27b30030, 0x2603021, 0x27b10034, 0xc0016be, 0x2203821, +0x3c1e0fff, 0x37deffff, 0x3c040001, 0x2484d820, 0x3c050001, 0x24a5d9dc, +0xa42823, 0x2603021, 0x2203821, 0x3c010001, 0xac2233a8, 0x5e1024, +0x21082, 0x3c150800, 0x551025, 0xc0016be, 0xae420050, 0x3c040000, +0x24847d00, 0x3c050000, 0x24a57f50, 0xa42823, 0x2603021, 0x2203821, +0x3c010001, 0xac2233c0, 0x5e1024, 0x21082, 0x551025, 0xc0016be, +0xae420048, 0x3c040000, 0x24846134, 0x3c050000, 0x24a56244, 0xa42823, +0x2603021, 0x2203821, 0x3c010001, 0xac223388, 0x5e1024, 0x21082, +0x551025, 0xc0016be, 0xae4200b8, 0x3c040000, 0x2484624c, 0x3c050000, +0x24a5631c, 0xa42823, 0x2603021, 0x2203821, 0x3c010001, 0xac22337c, +0x5e1024, 0x21082, 0x551025, 0xc0016be, 0xae4200e8, 0x3c040000, +0x24846324, 0x3c050000, 0x24a565a4, 0xa42823, 0x2603021, 0x2203821, +0x3c010001, 0xac22336c, 0x5e1024, 0x21082, 0x551025, 0xc0016be, +0xae4200f0, 0x3c040000, 0x248465ac, 0x3c050000, 0x24a566e0, 0xa42823, +0x2603021, 0x2203821, 0x3c010001, 0xac223374, 0x5e1024, 0x21082, +0x551025, 0xc0016be, 0xae4200c0, 0x3c040001, 0x2484e3dc, 0x3c050001, +0x24a5e98c, 0xa42823, 0x2603021, 0x2203821, 0x3c010001, 0xac223380, +0x5e1024, 0x21082, 0x551025, 0xc0016be, 0xae4200c8, 0x3c040001, +0x2484ed00, 0x3c050001, 0x24a5edd8, 0xa42823, 0x2603021, 0x2203821, +0x3c010001, 0xac2233c4, 0x5e1024, 0x21082, 0x551025, 0xc0016be, +0xae4200d0, 0x3c040001, 0x8c8433b8, 0x3c050001, 0x8ca533a4, 0x2603021, +0x2203821, 0xc0016be, 0xaec200ac, 0x3c040001, 0x8c8433b0, 0x3c050001, +0x8ca533ac, 0x2603021, 0x3c010001, 0xac2233b8, 0xc0016be, 0x2203821, +0x3c010001, 0xac2233b0, 0x3c070001, 0xf73821, 0x90e781ec, 0xafa00010, +0x8fa20034, 0xafa20014, 0x8fa60030, 0x3c040001, 0x248425e8, 0xc0028eb, +0x2821, 0x8faa003c, 0xc003beb, 0x1408021, 0xc0038a8, 0x0, +0xc002548, 0x0, 0xaec0002c, 0xaf400228, 0xaf40022c, 0xaee004a8, +0xaec00014, 0xaec00018, 0xaec00024, 0x96e20450, 0x2442ffff, 0xaec20028, +0x3c010001, 0x370821, 0xac2081d4, 0xaec00038, 0xaec00044, 0xaec0003c, +0xaec00040, 0xaec00048, 0x96e20480, 0x2442ffff, 0xaec2006c, 0x3c010001, +0x370821, 0xac2081e0, 0x8ec20534, 0x8ec30534, 0x8ec40534, 0x8ec50538, +0xaec00068, 0xaec00060, 0xaec0005c, 0xaec00058, 0xa2c000ed, 0xaec00078, +0xaec00084, 0xaec20074, 0xaec3007c, 0xaec40080, 0xaec5008c, 0xc002298, +0xa2c00115, 0x3c1433d8, 0x3694c348, 0x3c020800, 0x34420080, 0x3c040000, +0x248459dc, 0x3c050000, 0x24a55a08, 0xa42823, 0x2603021, 0x2203821, +0xaf820060, 0x2402ffff, 0xaec00030, 0xaec00034, 0xc0016be, 0xaf820064, +0x3c010001, 0xac223364, 0x5e1024, 0x21082, 0x551025, 0xc00181c, +0xae420000, 0x8f820240, 0x3c030001, 0x431025, 0xaf820240, 0x3c020000, +0x24424034, 0xaf820244, 0xaf800240, 0x8f820060, 0x551024, 0x14400005, +0x3c030800, 0x8f820060, 0x431024, 0x1040fffd, 0x0, 0xc0038b5, +0x0, 0x3c020100, 0xafa20028, 0x8ec3002c, 0x240200ff, 0x10620003, +0x8821, 0x8ec2002c, 0x24510001, 0x8f420228, 0x1622000f, 0x24070008, +0x3c040001, 0x248424fc, 0xafa00010, 0xafa00014, 0x8ec6002c, 0x8f470228, +0x3c050009, 0xc0028eb, 0x34a5f005, 0x8ec202a0, 0x24420001, 0xaec202a0, +0x10000046, 0x8ec202a0, 0x8ec2002c, 0x210c0, 0x571021, 0x8fa30028, +0x8fa4002c, 0xac4304c0, 0xac4404c4, 0x8ec3002c, 0x8ee40428, 0x8ee5042c, +0x8ec6002c, 0x2402000d, 0xafa20010, 0xafb10014, 0x8ec20008, 0x318c0, +0x604821, 0x4021, 0xa92821, 0xa9182b, 0x882021, 0x832021, +0x630c0, 0xafa20018, 0x8ec200a8, 0x24c604c0, 0x40f809, 0x2e63021, +0x5440000c, 0xaed1002c, 0x3c040001, 0x24842508, 0xafa00010, 0xafa00014, +0x8ec6002c, 0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f000, 0x1000001d, +0x0, 0x8ee40488, 0x8ee5048c, 0x8ec3002c, 0x8ec80008, 0x8f860120, +0x24020011, 0xafa20010, 0xafa30014, 0xafa80018, 0x8ec200a8, 0x24070008, +0x40f809, 0x24c6001c, 0x1440000e, 0x0, 0x3c040001, 0x24842510, +0xafa00010, 0xafa00014, 0x8ec6002c, 0x8f470228, 0x3c050009, 0xc0028eb, +0x34a5f001, 0x8ec202a4, 0x24420001, 0xaec202a4, 0x8ec202a4, 0x8ec20248, +0x24420001, 0xaec20248, 0x8ec20248, 0x93a20047, 0x10400070, 0x240200ff, +0x8ec3002c, 0x10620004, 0x27a70020, 0x8ec2002c, 0x10000002, 0x24510001, +0x8821, 0x8f420228, 0x1622000f, 0x4021, 0x3c040001, 0x248424fc, +0xafa00010, 0xafa00014, 0x8ec6002c, 0x8f470228, 0x3c050009, 0xc0028eb, +0x34a5f005, 0x8ec202a0, 0x24420001, 0xaec202a0, 0x10000046, 0x8ec202a0, +0x8ec2002c, 0x210c0, 0x571021, 0x8ce30000, 0x8ce40004, 0xac4304c0, +0xac4404c4, 0x8ec3002c, 0x8ee40428, 0x8ee5042c, 0x8ec6002c, 0x24070008, +0x2402000d, 0xafa20010, 0xafb10014, 0x8ec20008, 0x318c0, 0x604821, +0xa92821, 0xa9182b, 0x882021, 0x832021, 0x630c0, 0xafa20018, +0x8ec200a8, 0x24c604c0, 0x40f809, 0x2e63021, 0x5440000c, 0xaed1002c, +0x3c040001, 0x24842508, 0xafa00010, 0xafa00014, 0x8ec6002c, 0x8f470228, +0x3c050009, 0xc0028eb, 0x34a5f000, 0x1000001d, 0x0, 0x8ee40488, +0x8ee5048c, 0x8ec3002c, 0x8ec80008, 0x8f860120, 0x24020011, 0xafa20010, +0xafa30014, 0xafa80018, 0x8ec200a8, 0x24070008, 0x40f809, 0x24c6001c, +0x1440000e, 0x0, 0x3c040001, 0x24842510, 0xafa00010, 0xafa00014, +0x8ec6002c, 0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f001, 0x8ec202a4, +0x24420001, 0xaec202a4, 0x8ec202a4, 0x3c040001, 0x248425f4, 0x8ec20254, +0x3c050009, 0x34a59999, 0x24420001, 0xaec20254, 0x8ec20254, 0x3021, +0x3821, 0xafa00010, 0xc0028eb, 0xafa00014, 0x10000004, 0x0, +0x8f420264, 0x10400005, 0x0, 0x8f8200a0, 0x30420004, 0x1440fffa, +0x0, 0x8f820044, 0x34420004, 0xaf820044, 0x8ec2026c, 0x24420001, +0xaec2026c, 0x8ec2026c, 0x8f8200d8, 0x8f8300d4, 0x431023, 0x2442fff8, +0xaec20088, 0x8ec20088, 0x4410006, 0x24020001, 0x8ec20088, 0x8ec3053c, +0x431021, 0xaec20088, 0x24020001, 0xaec20070, 0x96e20452, 0x30420010, +0x10400005, 0x0, 0x8f820214, 0x3c038100, 0x431025, 0xaf820214, +0x3c020001, 0x8c4232a8, 0x30420001, 0x10400007, 0x0, 0x3c040000, +0x24846bb4, 0x3c050000, 0x24a570e8, 0x10000006, 0xa42823, 0x3c040000, +0x248466e8, 0x3c050000, 0x24a56bac, 0xa42823, 0x27a60030, 0xc0016be, +0x27a70034, 0x3c010001, 0xac223378, 0x3c020001, 0x8c423378, 0x3c030800, +0x21100, 0x21182, 0x431025, 0xae420040, 0x8f830060, 0x74100b, +0x242000a, 0x200f821, 0x0, 0xd, 0x8fbf0060, 0x8fbe005c, +0x8fb50058, 0x8fb30054, 0x8fb10050, 0x3e00008, 0x27bd0068, 0x3e00008, +0x0, 0x3e00008, 0x0, 0x3e00008, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x3e00008, 0x0, 0x3e00008, 0x0, +0x27bdfde0, 0x27a70018, 0x3c02dead, 0x3442beef, 0xafbf0218, 0x8f830150, +0x3c04001f, 0x3484ffff, 0xafa20018, 0xe33823, 0xe43824, 0x8ce30000, +0x10620008, 0x0, 0xafa30010, 0xafa00014, 0x8f860150, 0x3c040001, +0x24842600, 0xc0028eb, 0x24050020, 0x8fbf0218, 0x3e00008, 0x27bd0220, +0x27bdffe0, 0x3c06abba, 0x34c6babe, 0xafb10018, 0x3c110004, 0x3c07007f, +0x34e7ffff, 0xafbf001c, 0x112840, 0x8e240000, 0x8ca30000, 0xaca00000, +0xae260000, 0x8ca20000, 0xaca30000, 0x10460005, 0xae240000, 0xa08821, +0xf1102b, 0x1040fff5, 0x112840, 0x3c040001, 0x2484260c, 0x2202821, +0x3021, 0x3821, 0xafa00010, 0xc0028eb, 0xafa00014, 0x2201021, +0x8fbf001c, 0x8fb10018, 0x3e00008, 0x27bd0020, 0x27bdffc8, 0xafb30024, +0x809821, 0xafbe002c, 0xafb50028, 0xe0a821, 0x24a50003, 0xafbf0030, +0xafb10020, 0x8ea20000, 0x2403fffc, 0xa38824, 0x51102b, 0x14400020, +0xc0f021, 0x8fc80000, 0xafa00010, 0xafa8001c, 0x8ea20000, 0x3c040001, +0x24842618, 0xafa20014, 0x8fc60000, 0x2602821, 0xc0028eb, 0x2203821, +0x8fc60000, 0x111882, 0x2463ffff, 0x2402ffff, 0x10620008, 0x2602021, +0x2405ffff, 0x8c820000, 0x24840004, 0x2463ffff, 0xacc20000, 0x1465fffb, +0x24c60004, 0x8ea20000, 0x511023, 0xaea20000, 0x8fc20000, 0x511021, +0x1000000b, 0xafc20000, 0xafa00010, 0x8ea20000, 0x3c040001, 0x24842620, +0xafa20014, 0x8fc60000, 0x2602821, 0x2203821, 0xc0028eb, 0xafa5001c, +0x8fa2001c, 0x8fbf0030, 0x8fbe002c, 0x8fb50028, 0x8fb30024, 0x8fb10020, +0x3e00008, 0x27bd0038, 0x27bdffe8, 0x3c1cc000, 0xd021, 0x3c05ffff, +0x3c030001, 0x8c633340, 0x3c040001, 0x8c843348, 0x34a57e10, 0x24021ffc, +0x3c010001, 0xac2231e0, 0x3c0200c0, 0x3c010001, 0xac2231e4, 0x3c020020, +0xafbf0010, 0x3c0100c0, 0xac201ffc, 0x431023, 0x441023, 0x245bb000, +0x365b821, 0x3c1d0001, 0x8fbd31dc, 0x3a0f021, 0x3c0400c0, 0x34840200, +0x3c1600c0, 0x3c0300c0, 0x34630758, 0x24021dfc, 0x3c010001, 0xac2231e0, +0x240218a4, 0x3c010001, 0xac2431e4, 0x3c010001, 0xac2231e0, 0x3c010001, +0xac2331e4, 0xc00172c, 0x36d60200, 0x8fbf0010, 0x3e00008, 0x27bd0018, +0x27bdffc8, 0x3c040001, 0x24842628, 0x2821, 0x3c020001, 0x8c4231e0, +0x3c030001, 0x8c6331e4, 0x3021, 0x3603821, 0xafbf0030, 0xafbe002c, +0xafb50028, 0xafb30024, 0xafb10020, 0xafa2001c, 0xafa30018, 0xafb70010, +0xc0028eb, 0xafb60014, 0xc001849, 0x0, 0x8f820240, 0x34420004, +0xaf820240, 0x24020001, 0xaec20000, 0x3c020001, 0x571021, 0x904281ec, +0x10400090, 0x2402fffc, 0x3c110001, 0x2631a33b, 0x3c150001, 0x26b59ee8, +0x2351823, 0x8fa6001c, 0x628824, 0xd1102b, 0x1440001e, 0x27be0018, +0x8fb30018, 0x3c040001, 0x24842618, 0x2a02821, 0x2203821, 0xafa00010, +0xafa60014, 0xc0028eb, 0x2603021, 0x8fa40018, 0x111882, 0x2463ffff, +0x2402ffff, 0x10620008, 0x2a02821, 0x2406ffff, 0x8ca20000, 0x24a50004, +0x2463ffff, 0xac820000, 0x1466fffb, 0x24840004, 0x8fa2001c, 0x511023, +0xafa2001c, 0x8fc20000, 0x511021, 0x1000000a, 0xafc20000, 0x3c040001, +0x24842620, 0x2a02821, 0xafa00010, 0xafa60014, 0x8fa60018, 0x2203821, +0xc0028eb, 0xa09821, 0x8fa3001c, 0x24150020, 0x3c010001, 0xac33335c, +0x2c620020, 0x1440001d, 0x27b30018, 0x8fb10018, 0x3c040001, 0x24842618, +0x3c050001, 0x24a533f0, 0x24070020, 0xafa00010, 0xafa30014, 0xc0028eb, +0x2203021, 0x3c050001, 0x24a533f0, 0x8fa40018, 0x24030007, 0x2406ffff, +0x8ca20000, 0x24a50004, 0x2463ffff, 0xac820000, 0x1466fffb, 0x24840004, +0x8fa2001c, 0x551023, 0xafa2001c, 0x8e620000, 0x551021, 0x1000000c, +0xae620000, 0x3c040001, 0x24842620, 0x3c050001, 0x24a533f0, 0xafa00010, +0xafa30014, 0x8fa60018, 0x3c110001, 0x263133f0, 0xc0028eb, 0x24070020, +0x8fa3001c, 0x24150020, 0x3c010001, 0xac313390, 0x2c620020, 0x1440001d, +0x27b30018, 0x8fb10018, 0x3c040001, 0x24842618, 0x3c050001, 0x24a53410, +0x24070020, 0xafa00010, 0xafa30014, 0xc0028eb, 0x2203021, 0x3c050001, +0x24a53410, 0x8fa40018, 0x24030007, 0x2406ffff, 0x8ca20000, 0x24a50004, +0x2463ffff, 0xac820000, 0x1466fffb, 0x24840004, 0x8fa2001c, 0x551023, +0xafa2001c, 0x8e620000, 0x551021, 0x1000000c, 0xae620000, 0x3c040001, +0x24842620, 0x3c050001, 0x24a53410, 0xafa00010, 0xafa30014, 0x8fa60018, +0x3c110001, 0x26313410, 0xc0028eb, 0x24070020, 0x3c010001, 0x10000033, +0xac31338c, 0x3c110000, 0x26317cef, 0x3c150000, 0x26b57b3c, 0x2351823, +0x8fa6001c, 0x628824, 0xd1102b, 0x1440001e, 0x27be0018, 0x8fb30018, +0x3c040001, 0x24842618, 0x2a02821, 0x2203821, 0xafa00010, 0xafa60014, +0xc0028eb, 0x2603021, 0x8fa40018, 0x111882, 0x2463ffff, 0x2402ffff, +0x10620008, 0x2a02821, 0x2406ffff, 0x8ca20000, 0x24a50004, 0x2463ffff, +0xac820000, 0x1466fffb, 0x24840004, 0x8fa2001c, 0x511023, 0xafa2001c, +0x8fc20000, 0x511021, 0x1000000a, 0xafc20000, 0x3c040001, 0x24842620, +0x2a02821, 0xafa00010, 0xafa60014, 0x8fa60018, 0x2203821, 0xc0028eb, +0xa09821, 0x3c010001, 0xac33335c, 0x3c030001, 0x8c63335c, 0x24020400, +0x60f809, 0xaf820070, 0x8fbf0030, 0x8fbe002c, 0x8fb50028, 0x8fb30024, +0x8fb10020, 0x3e00008, 0x27bd0038, 0x0, 0x0, 0x0, +0x8f820040, 0x3c03f000, 0x431824, 0x3c025000, 0x10620005, 0x3c026000, +0x10620012, 0x0, 0x10000015, 0x0, 0x8f820050, 0x3c030010, +0x431024, 0x10400006, 0x0, 0x8f820050, 0x2403ff80, 0x431024, +0x1000000a, 0x34420063, 0x8f820050, 0x2403ff80, 0x431024, 0x10000005, +0x3442004f, 0x8f820050, 0x2403ff80, 0x431024, 0x34420055, 0xaf820050, +0x8f820054, 0x244203e8, 0xaf820058, 0x240201f4, 0xaec200c8, 0x24020004, +0xaec200d0, 0x24020002, 0xaec000a0, 0xaec000cc, 0xaec200c4, 0xaec000c0, +0xaec000bc, 0x3e00008, 0xaec000b8, 0x8f820054, 0x24420005, 0x3e00008, +0xaf820078, 0x27bdffe8, 0xafbf0010, 0x8f820054, 0x3c030001, 0x8c6332bc, +0x244203e8, 0x1060001d, 0xaf820058, 0x3c020001, 0x8c4232a8, 0x30420001, +0x1440000c, 0x0, 0x3c020001, 0x8c4233c8, 0x10400008, 0x0, +0x8f830224, 0x3c020001, 0x8c42548c, 0x10620003, 0x0, 0xc003a65, +0x0, 0x92c200ec, 0x10400003, 0x3c0208ff, 0x1000000a, 0xa2c000ec, +0x3442fffb, 0x8f830220, 0x3c040200, 0x284a025, 0x621824, 0x10000003, +0xaf830220, 0xc003d6d, 0x0, 0x8f420238, 0x1040000a, 0x0, +0x8ec200a0, 0x244203e8, 0xaec200a0, 0x8f430238, 0x43102b, 0x14400003, +0x0, 0xc001c3c, 0x0, 0x8f420218, 0x30420100, 0x10400003, +0x0, 0xc001e07, 0x0, 0x8ec200c0, 0x8ec300c4, 0x24420001, +0xaec200c0, 0x43102b, 0x14400003, 0x0, 0xaec000c0, 0x36940080, +0x8fbf0010, 0x3e00008, 0x27bd0018, 0x3e00008, 0x0, 0x8f820040, +0x30420001, 0x14400008, 0x2021, 0x8f430104, 0x24020001, 0x50620005, +0x24040001, 0x8f420264, 0x10400003, 0x801021, 0x24040001, 0x801021, +0x10400006, 0x0, 0x8ec20270, 0x24420001, 0xaec20270, 0x10000008, +0x8ec20270, 0x8f820044, 0x34420004, 0xaf820044, 0x8ec2026c, 0x24420001, +0xaec2026c, 0x8ec2026c, 0x8ec20000, 0x3c03dfff, 0x10400007, 0x3463ffff, +0xaf80004c, 0x8f82004c, 0x1040fffd, 0x0, 0x10000005, 0x0, +0xaf800048, 0x8f820048, 0x1040fffd, 0x0, 0x8f820060, 0x431024, +0xaf820060, 0x8ec20000, 0x10400003, 0x0, 0x10000002, 0xaf80004c, +0xaf800048, 0x3e00008, 0x0, 0x3e00008, 0x0, 0x27bdffd8, +0xafbf0024, 0xafb10020, 0x8ec30018, 0x8ec20028, 0x10620056, 0x0, +0x3c020001, 0x571021, 0x8c4281d4, 0x10400023, 0x24070008, 0x8ed10018, +0x8ee40498, 0x8ee5049c, 0x8ec30008, 0x8f860120, 0x24020012, 0xafa20010, +0xafb10014, 0xafa30018, 0x8ec200a8, 0x40f809, 0x24c6001c, 0x1440000b, +0x24020001, 0x3c040001, 0x24842690, 0xafb10010, 0xafa00014, 0x8ec6002c, +0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f006, 0x1021, 0x14400005, +0x24020001, 0x3c010001, 0x370821, 0x1000005c, 0xac2281d4, 0x3c010001, +0x370821, 0x10000022, 0xac2081d0, 0x8ed10018, 0x8ee40498, 0x8ee5049c, +0x8ec30008, 0x8f860120, 0x24020019, 0xafa20010, 0xafb10014, 0xafa30018, +0x8ec200a8, 0x40f809, 0x24c6001c, 0x1440000b, 0x24020001, 0x3c040001, +0x24842690, 0xafb10010, 0xafa00014, 0x8ec6002c, 0x8f470228, 0x3c050009, +0xc0028eb, 0x34a5f006, 0x1021, 0x14400005, 0x24020001, 0x3c010001, +0x370821, 0x1000003a, 0xac2281d8, 0x3c010001, 0x370821, 0xac2281d0, +0x3c010001, 0x370821, 0xac2081d8, 0x3c010001, 0x370821, 0xac2081d4, +0x8ec20264, 0xaec00024, 0xaed10028, 0x24420001, 0xaec20264, 0x1000002a, +0x8ec20264, 0x3c020001, 0x571021, 0x8c4281d0, 0x1040001f, 0x0, +0x8f820040, 0x30420001, 0x14400008, 0x2021, 0x8f430104, 0x24020001, +0x50620005, 0x24040001, 0x8f420264, 0x10400003, 0x801021, 0x24040001, +0x801021, 0x10400006, 0x0, 0x8ec20270, 0x24420001, 0xaec20270, +0x10000008, 0x8ec20270, 0x8f820044, 0x34420004, 0xaf820044, 0x8ec2026c, +0x24420001, 0xaec2026c, 0x8ec2026c, 0x3c010001, 0x370821, 0xac2081d0, +0x3c010001, 0x370821, 0xac2081d4, 0x3c010001, 0x370821, 0xac2081d8, +0x8ec20000, 0x3c03ff7f, 0x10400007, 0x3463ffff, 0xaf80004c, 0x8f82004c, +0x1040fffd, 0x0, 0x10000005, 0x0, 0xaf800048, 0x8f820048, +0x1040fffd, 0x0, 0x8f820060, 0x431024, 0xaf820060, 0x8ec20000, +0x10400003, 0x0, 0x10000002, 0xaf80004c, 0xaf800048, 0x8fbf0024, +0x8fb10020, 0x3e00008, 0x27bd0028, 0x3e00008, 0x0, 0x27bdffd8, +0xafbf0024, 0xafb10020, 0x8ec30068, 0x8ec2006c, 0x10620029, 0x24070008, +0x8ed10068, 0x8ee40490, 0x8ee50494, 0x8ec30008, 0x8f860120, 0x24020013, +0xafa20010, 0xafb10014, 0xafa30018, 0x8ec200a8, 0x40f809, 0x24c6001c, +0x1440000b, 0x24020001, 0x3c040001, 0x2484269c, 0xafb10010, 0xafa00014, +0x8ec60068, 0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f008, 0x1021, +0x14400005, 0x24020001, 0x3c010001, 0x370821, 0x1000000e, 0xac2281e0, +0x3c010001, 0x370821, 0xac2081e0, 0x8ec20268, 0xaec00048, 0xaed1006c, +0x24420001, 0xaec20268, 0x10000004, 0x8ec20268, 0x3c010001, 0x370821, +0xac2081e0, 0x8ec20000, 0x3c03feff, 0x10400007, 0x3463ffff, 0xaf80004c, +0x8f82004c, 0x1040fffd, 0x0, 0x10000005, 0x0, 0xaf800048, +0x8f820048, 0x1040fffd, 0x0, 0x8f820060, 0x431024, 0xaf820060, +0x8ec20000, 0x10400003, 0x0, 0x10000002, 0xaf80004c, 0xaf800048, +0x8fbf0024, 0x8fb10020, 0x3e00008, 0x27bd0028, 0x3e00008, 0x0, +0x3c020001, 0x8c4232bc, 0x27bdffc0, 0xafbf0038, 0xafbe0034, 0xafb50030, +0xafb3002c, 0x104000fe, 0xafb10028, 0x8ec200b8, 0x24430001, 0x2842000b, +0x1440011b, 0xaec300b8, 0xaec000b8, 0x8ee204a8, 0x30420002, 0x14400096, +0x0, 0x8ee204a8, 0x3c030001, 0x8c6332ac, 0x34420002, 0xaee204a8, +0x24020001, 0x14620003, 0x3c020600, 0x10000002, 0x34423000, 0x34421000, +0xafa20020, 0x8ec3002c, 0x240200ff, 0x10620004, 0x27a70020, 0x8ec2002c, +0x10000002, 0x24530001, 0x9821, 0x8f420228, 0x1662000f, 0x0, +0x3c040001, 0x248426c8, 0xafa00010, 0xafa00014, 0x8ec6002c, 0x8f470228, +0x3c050009, 0xc0028eb, 0x34a5f00f, 0x8ec202a0, 0x24420001, 0xaec202a0, +0x1000006d, 0x8ec202a0, 0x8ec2002c, 0x210c0, 0x571021, 0x8ce30000, +0x8ce40004, 0xac4304c0, 0xac4404c4, 0x8f830054, 0x8f820054, 0x247103e8, +0x2221023, 0x2c4203e9, 0x1040001e, 0xa821, 0x241e000c, 0x8ec8002c, +0x8ee40428, 0x8ee5042c, 0x8ec6002c, 0x24070008, 0xafbe0010, 0xafb30014, +0x840c0, 0x1001821, 0x1021, 0x8ec80008, 0xa32821, 0xa3482b, +0x822021, 0x892021, 0x630c0, 0xafa80018, 0x8ec200a8, 0x24c604c0, +0x40f809, 0x2e63021, 0x54400006, 0x24150001, 0x8f820054, 0x2221023, +0x2c4203e9, 0x1440ffe5, 0x0, 0x32a200ff, 0x54400011, 0xaed3002c, +0x3c040001, 0x248426d4, 0xafa00010, 0xafa00014, 0x8f860120, 0x8f870124, +0x3c050009, 0x10000030, 0x34a5f010, 0x8ec2026c, 0x24150001, 0x24420001, +0xaec2026c, 0x8ec2026c, 0x1000001f, 0x32a200ff, 0x8f830054, 0x8f820054, +0x247103e8, 0x2221023, 0x2c4203e9, 0x10400017, 0xa821, 0x3c1e0020, +0x24130011, 0x8ec20008, 0x8ee40488, 0x8ee5048c, 0x8ec3002c, 0x8f860120, +0xafb30010, 0x5e1025, 0xafa30014, 0xafa20018, 0x8ec200a8, 0x24070008, +0x40f809, 0x24c6001c, 0x1440ffe2, 0x0, 0x8f820054, 0x2221023, +0x2c4203e9, 0x1440ffed, 0x0, 0x32a200ff, 0x1440000f, 0x0, +0x3c040001, 0x248426e0, 0xafa00010, 0xafa00014, 0x8f860120, 0x8f870124, +0x3c050009, 0x34a5f011, 0xc0028eb, 0x0, 0x8ec202d0, 0x24420001, +0xaec202d0, 0x8ec202d0, 0x8ec20250, 0x24420001, 0xaec20250, 0x8ec20250, +0x8ee204a8, 0x30420001, 0x10400054, 0x0, 0x8f420218, 0x30420080, +0x1040002b, 0x0, 0x8f820044, 0x34420040, 0xaf820044, 0x8ec200b0, +0x402821, 0x8ec201b8, 0x8ec301bc, 0x24060000, 0x2407ffff, 0x2021, +0x461024, 0x1444000d, 0x671824, 0x1465000b, 0x0, 0x8ec200b4, +0x402821, 0x8ec201d8, 0x8ec301dc, 0x2021, 0x461024, 0x14440003, +0x671824, 0x1065000c, 0x0, 0x8ec201b8, 0x8ec301bc, 0x8ec401d8, +0x8ec501dc, 0xaec300b0, 0xaec500b4, 0x8f820044, 0x38420020, 0xaf820044, +0x10000056, 0x2402ff7f, 0x8f820044, 0x2403ffdf, 0x431024, 0xaf820044, +0x10000050, 0x2402ff7f, 0x8f820044, 0x2403ffdf, 0x431024, 0xaf820044, +0x8ec200b0, 0x402821, 0x8ec201b8, 0x8ec301bc, 0x24060000, 0x2407ffff, +0x2021, 0x461024, 0x1444000d, 0x671824, 0x1465000b, 0x0, +0x8ec200b4, 0x402821, 0x8ec201d8, 0x8ec301dc, 0x2021, 0x461024, +0x14440003, 0x671824, 0x1065001f, 0x0, 0x8ec201b8, 0x8ec301bc, +0x8ec401d8, 0x8ec501dc, 0xaec300b0, 0xaec500b4, 0x8f820044, 0x38420040, +0xaf820044, 0x1000002b, 0x2402ff7f, 0x8f820044, 0x34420040, 0xaf820044, +0x8ec200bc, 0x24430001, 0x1000001d, 0x28420033, 0x8ee204a8, 0x30420001, +0x10400013, 0x0, 0x8f420218, 0x30420080, 0x1040000a, 0x0, +0x8f820044, 0x2403ffdf, 0x431024, 0xaf820044, 0x8f820044, 0x34420040, +0xaf820044, 0x10000013, 0x2402ff7f, 0x8f820044, 0x34420060, 0xaf820044, +0x1000000e, 0x2402ff7f, 0x8f820044, 0x34420040, 0xaf820044, 0x8ec200bc, +0x24430001, 0x284201f5, 0x14400005, 0xaec300bc, 0x8f820044, 0x38420020, +0xaf820044, 0xaec000bc, 0x2402ff7f, 0x282a024, 0x8fbf0038, 0x8fbe0034, +0x8fb50030, 0x8fb3002c, 0x8fb10028, 0x3e00008, 0x27bd0040, 0x3e00008, +0x0, 0x3c020001, 0x8c4232bc, 0x27bdffc0, 0xafbf0038, 0xafbe0034, +0xafb50030, 0xafb3002c, 0x10400100, 0xafb10028, 0x8ec200b8, 0x3c040001, +0x8c8432ac, 0x24430001, 0x2842000b, 0xaec400d0, 0x14400127, 0xaec300b8, +0xaec000b8, 0x8ee204a8, 0x30420002, 0x14400094, 0x0, 0x8ee204a8, +0x34420002, 0xaee204a8, 0x24020001, 0x14820003, 0x3c020600, 0x10000002, +0x34423000, 0x34421000, 0xafa20020, 0x8ec3002c, 0x240200ff, 0x10620004, +0x27a70020, 0x8ec2002c, 0x10000002, 0x24530001, 0x9821, 0x8f420228, +0x1662000f, 0x0, 0x3c040001, 0x248426c8, 0xafa00010, 0xafa00014, +0x8ec6002c, 0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f00f, 0x8ec202a0, +0x24420001, 0xaec202a0, 0x1000006d, 0x8ec202a0, 0x8ec2002c, 0x210c0, +0x571021, 0x8ce30000, 0x8ce40004, 0xac4304c0, 0xac4404c4, 0x8f830054, +0x8f820054, 0x247103e8, 0x2221023, 0x2c4203e9, 0x1040001e, 0xa821, +0x241e000c, 0x8ec8002c, 0x8ee40428, 0x8ee5042c, 0x8ec6002c, 0x24070008, +0xafbe0010, 0xafb30014, 0x840c0, 0x1001821, 0x1021, 0x8ec80008, +0xa32821, 0xa3482b, 0x822021, 0x892021, 0x630c0, 0xafa80018, +0x8ec200a8, 0x24c604c0, 0x40f809, 0x2e63021, 0x54400006, 0x24150001, +0x8f820054, 0x2221023, 0x2c4203e9, 0x1440ffe5, 0x0, 0x32a200ff, +0x54400011, 0xaed3002c, 0x3c040001, 0x248426d4, 0xafa00010, 0xafa00014, +0x8f860120, 0x8f870124, 0x3c050009, 0x10000030, 0x34a5f010, 0x8ec2026c, +0x24150001, 0x24420001, 0xaec2026c, 0x8ec2026c, 0x1000001f, 0x32a200ff, +0x8f830054, 0x8f820054, 0x247103e8, 0x2221023, 0x2c4203e9, 0x10400017, +0xa821, 0x3c1e0020, 0x24130011, 0x8ec20008, 0x8ee40488, 0x8ee5048c, +0x8ec3002c, 0x8f860120, 0xafb30010, 0x5e1025, 0xafa30014, 0xafa20018, +0x8ec200a8, 0x24070008, 0x40f809, 0x24c6001c, 0x1440ffe2, 0x0, +0x8f820054, 0x2221023, 0x2c4203e9, 0x1440ffed, 0x0, 0x32a200ff, +0x1440000f, 0x0, 0x3c040001, 0x248426e0, 0xafa00010, 0xafa00014, +0x8f860120, 0x8f870124, 0x3c050009, 0x34a5f011, 0xc0028eb, 0x0, +0x8ec202d0, 0x24420001, 0xaec202d0, 0x8ec202d0, 0x8ec20250, 0x24420001, +0xaec20250, 0x8ec20250, 0x8ee204a8, 0x30420001, 0x10400055, 0x0, +0x8f420218, 0x30420080, 0x10400027, 0x0, 0x8ec200b0, 0x3c040001, +0x90843370, 0x24080000, 0x2409ffff, 0x403821, 0x8ec201b8, 0x8ec301bc, +0x3021, 0x34840020, 0x3c010001, 0xa0243370, 0x481024, 0x1446000d, +0x691824, 0x1467000b, 0x0, 0x8ec200b4, 0x403821, 0x8ec201d8, +0x8ec301dc, 0x3021, 0x481024, 0x14460003, 0x691824, 0x10670009, +0x308200bf, 0x8ec201b8, 0x8ec301bc, 0x3c040001, 0x90843370, 0x8ec601d8, +0x8ec701dc, 0x10000026, 0x38840040, 0x3c010001, 0x10000061, 0xa0223370, +0x8ec200b0, 0x3c040001, 0x90843370, 0x24080000, 0x2409ffff, 0x403821, +0x8ec201b8, 0x8ec301bc, 0x3021, 0x308400bf, 0x3c010001, 0xa0243370, +0x481024, 0x1446000d, 0x691824, 0x1467000b, 0x0, 0x8ec200b4, +0x403821, 0x8ec201d8, 0x8ec301dc, 0x3021, 0x481024, 0x14460003, +0x691824, 0x1067000d, 0x34820020, 0x8ec201b8, 0x8ec301bc, 0x3c040001, +0x90843370, 0x8ec601d8, 0x8ec701dc, 0x38840020, 0xaec300b0, 0xaec700b4, +0x3c010001, 0x1000003a, 0xa0243370, 0x3c010001, 0x10000037, 0xa0223370, +0x3c020001, 0x90423370, 0x8ec300bc, 0x34440020, 0x24620001, 0x10000028, +0x28630033, 0x8ec200cc, 0x8ec300c8, 0x24420001, 0xaec200cc, 0x43102a, +0x14400006, 0x24030001, 0x8ec200d0, 0x14430002, 0xaec000cc, 0x24030004, +0xaec300d0, 0x8ee204a8, 0x30420001, 0x10400012, 0x0, 0x8f420218, +0x30420080, 0x10400008, 0x0, 0x3c020001, 0x90423370, 0x34420040, +0x304200df, 0x3c010001, 0x10000015, 0xa0223370, 0x3c020001, 0x90423370, +0x34420060, 0x3c010001, 0x1000000f, 0xa0223370, 0x3c020001, 0x90423370, +0x8ec300bc, 0x34440020, 0x24620001, 0x286300fb, 0x3c010001, 0xa0243370, +0x14600005, 0xaec200bc, 0x38820040, 0x3c010001, 0xa0223370, 0xaec000bc, +0x3c020001, 0x90423370, 0x8ec300d0, 0x3044007f, 0x24020001, 0x3c010001, +0xa0243370, 0x54620003, 0x3484000f, 0x42102, 0x348400f0, 0xc004904, +0x0, 0x2402ff7f, 0x282a024, 0x8fbf0038, 0x8fbe0034, 0x8fb50030, +0x8fb3002c, 0x8fb10028, 0x3e00008, 0x27bd0040, 0x3e00008, 0x0, +0x27bdffc0, 0xafbf0038, 0xafbe0034, 0xafb50030, 0xafb3002c, 0xafb10028, +0x92c20528, 0x144001bc, 0x26c50128, 0x26e40028, 0x240300ff, 0x2406ffff, +0x8ca20000, 0x24a50004, 0x2463ffff, 0xac820000, 0x1466fffb, 0x24840004, +0x8f420080, 0xaee20044, 0x8f4200c0, 0xaee20040, 0x8f420084, 0xaee20030, +0x8f420084, 0xaee2022c, 0x8f420088, 0xaee20230, 0x8f42008c, 0xaee20234, +0x8f420090, 0xaee20238, 0x8f420094, 0xaee2023c, 0x8f420098, 0xaee20240, +0x8f42009c, 0xaee20244, 0x8f4200a0, 0xaee20248, 0x8f4200a4, 0xaee2024c, +0x8f4200a8, 0xaee20250, 0x8f4200ac, 0xaee20254, 0x8f4200b0, 0xaee20258, +0x8f4200b4, 0xaee2025c, 0x8f4200b8, 0xaee20260, 0x8f4200bc, 0x24040001, +0xaee20264, 0xaee00034, 0x41080, 0x571021, 0x8ee30034, 0x8c42022c, +0x24840001, 0x621821, 0x2c82000f, 0xaee30034, 0x1440fff8, 0x41080, +0x8f4200cc, 0xaee20048, 0x8f4200d0, 0xaee2004c, 0x8f4200e0, 0xaee201e8, +0x8f4200e4, 0xaee201ec, 0x8f4200e8, 0xaee201f0, 0x8f4200ec, 0xaee201f4, +0x8f4200f0, 0xaee201f8, 0x8f4200fc, 0x402821, 0x8ee200c0, 0x2021, +0x82102b, 0x1440000a, 0x0, 0x8ee200c0, 0x14440011, 0x0, +0x8ee200c4, 0xa2102b, 0x14400003, 0x0, 0x1000000b, 0x8ee200c4, +0x8ee200c0, 0x8ee300c4, 0x24040001, 0x24050000, 0x651821, 0x65302b, +0x441021, 0x461021, 0xaee200c0, 0xaee300c4, 0x8f4200fc, 0x8ee400c0, +0x8ee500c4, 0x2406ffff, 0x24070000, 0x401821, 0x1021, 0x862024, +0xa72824, 0x822025, 0xa32825, 0xaee400c0, 0xaee500c4, 0x8f4200f4, +0x402821, 0x8ee200d0, 0x2021, 0x82102b, 0x1440000a, 0x0, +0x8ee200d0, 0x14440011, 0x0, 0x8ee200d4, 0xa2102b, 0x14400003, +0x0, 0x1000000b, 0x8ee200d4, 0x8ee200d0, 0x8ee300d4, 0x24040001, +0x24050000, 0x651821, 0x65302b, 0x441021, 0x461021, 0xaee200d0, +0xaee300d4, 0x8f4200f4, 0x8ee400d0, 0x8ee500d4, 0x2406ffff, 0x24070000, +0x401821, 0x1021, 0x862024, 0xa72824, 0x822025, 0xa32825, +0xaee400d0, 0xaee500d4, 0x8f4200f8, 0x402821, 0x8ee200c8, 0x2021, +0x82102b, 0x1440000a, 0x0, 0x8ee200c8, 0x14440011, 0x0, +0x8ee200cc, 0xa2102b, 0x14400003, 0x0, 0x1000000b, 0x8ee200cc, +0x8ee200c8, 0x8ee300cc, 0x24040001, 0x24050000, 0x651821, 0x65302b, +0x441021, 0x461021, 0xaee200c8, 0xaee300cc, 0x8f4200f8, 0x8ee400c8, +0x8ee500cc, 0x2406ffff, 0x24070000, 0x401821, 0x1021, 0x862024, +0xa72824, 0x822025, 0xa32825, 0xaee400c8, 0xaee500cc, 0x8f440208, +0x8f45020c, 0x2402000f, 0xafa20010, 0xafa00014, 0x8ec20008, 0xafa20018, +0x8ec200a8, 0x26e60028, 0x40f809, 0x24070400, 0x104000f1, 0x3c020400, +0xafa20020, 0x92c20115, 0x10400080, 0x240200ff, 0x8ec3002c, 0x10620004, +0x27a70020, 0x8ec2002c, 0x10000002, 0x24530001, 0x9821, 0x8f420228, +0x1662000a, 0x0, 0x3c040001, 0x248426c8, 0xafa00010, 0xafa00014, +0x8ec6002c, 0x8f470228, 0x3c050009, 0x1000007f, 0x34a5f00f, 0x8ec2002c, +0x210c0, 0x571021, 0x8ce30000, 0x8ce40004, 0xac4304c0, 0xac4404c4, +0x8f830054, 0x8f820054, 0x247103e8, 0x2221023, 0x2c4203e9, 0x1040001e, +0xa821, 0x241e000d, 0x8ec8002c, 0x8ee40428, 0x8ee5042c, 0x8ec6002c, +0x24070008, 0xafbe0010, 0xafb30014, 0x840c0, 0x1001821, 0x1021, +0x8ec80008, 0xa32821, 0xa3482b, 0x822021, 0x892021, 0x630c0, +0xafa80018, 0x8ec200a8, 0x24c604c0, 0x40f809, 0x2e63021, 0x54400006, +0x24150001, 0x8f820054, 0x2221023, 0x2c4203e9, 0x1440ffe5, 0x0, +0x32a200ff, 0x54400018, 0xaed3002c, 0x3c040001, 0x248426d4, 0xafa00010, +0xafa00014, 0x8f860120, 0x8f870124, 0x3c050009, 0x34a5f010, 0xc0028eb, +0x0, 0x8ec202d0, 0x1821, 0x24420001, 0xaec202d0, 0x1000008f, +0x8ec202d0, 0x8ec2026c, 0x24150001, 0x24420001, 0xaec2026c, 0x8ec2026c, +0x1000001d, 0x32a200ff, 0x8f830054, 0x8f820054, 0x247103e8, 0x2221023, +0x2c4203e9, 0x10400015, 0xa821, 0x24130011, 0x8ec30008, 0x8ee40488, +0x8ee5048c, 0x8ec2002c, 0x8f860120, 0xafb30010, 0xafa20014, 0xafa30018, +0x8ec200a8, 0x24070008, 0x40f809, 0x24c6001c, 0x1440ffe4, 0x0, +0x8f820054, 0x2221023, 0x2c4203e9, 0x1440ffee, 0x0, 0x32a200ff, +0x1440006a, 0x24030001, 0x3c040001, 0x248426e0, 0xafa00010, 0xafa00014, +0x8f860120, 0x8f870124, 0x3c050009, 0x1000ffcb, 0x34a5f011, 0x8ec3002c, +0x10620004, 0x27a70020, 0x8ec2002c, 0x10000002, 0x24510001, 0x8821, +0x8f420228, 0x16220011, 0x4021, 0x3c040001, 0x248426a8, 0xafa00010, +0xafa00014, 0x8ec6002c, 0x8f470228, 0x3c050009, 0x34a5f005, 0xc0028eb, +0x0, 0x8ec202a0, 0x1821, 0x24420001, 0xaec202a0, 0x10000047, +0x8ec202a0, 0x8ec2002c, 0x210c0, 0x571021, 0x8ce30000, 0x8ce40004, +0xac4304c0, 0xac4404c4, 0x8ec3002c, 0x8ee40428, 0x8ee5042c, 0x8ec6002c, +0x24070008, 0x2402000d, 0xafa20010, 0xafb10014, 0x8ec20008, 0x318c0, +0x604821, 0xa92821, 0xa9182b, 0x882021, 0x832021, 0x630c0, +0xafa20018, 0x8ec200a8, 0x24c604c0, 0x40f809, 0x2e63021, 0x5440000c, +0xaed1002c, 0x3c040001, 0x248426b4, 0xafa00010, 0xafa00014, 0x8ec6002c, +0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f000, 0x1000001e, 0x1821, +0x8ee40488, 0x8ee5048c, 0x8ec3002c, 0x8ec80008, 0x8f860120, 0x24020011, +0xafa20010, 0xafa30014, 0xafa80018, 0x8ec200a8, 0x24070008, 0x40f809, +0x24c6001c, 0x1440000f, 0x24030001, 0x3c040001, 0x248426bc, 0xafa00010, +0xafa00014, 0x8ec6002c, 0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f001, +0x8ec202a4, 0x1821, 0x24420001, 0xaec202a4, 0x8ec202a4, 0x1060000d, +0x24020001, 0x8ec2024c, 0xa2c00115, 0xaec000a0, 0x24420001, 0xaec2024c, +0x8ec2024c, 0x8ee2014c, 0x24420001, 0xaee2014c, 0x10000003, 0x8ee2014c, +0x24020001, 0xa2c20115, 0x8fbf0038, 0x8fbe0034, 0x8fb50030, 0x8fb3002c, +0x8fb10028, 0x3e00008, 0x27bd0040, 0x27bdffd8, 0xafbf0020, 0x8f8200b0, +0x30420004, 0x1040005e, 0x0, 0x8ec30104, 0x8f820104, 0x14620005, +0x0, 0x8ec3010c, 0x8f8200b4, 0x10620006, 0x0, 0x8f820104, +0xaec20104, 0x8f8200b4, 0x10000051, 0xaec2010c, 0x8f8200b0, 0x3c030080, +0x431024, 0x1040000d, 0x0, 0x8f82011c, 0x34420002, 0xaf82011c, +0x8f8200b0, 0x2403fffb, 0x431024, 0xaf8200b0, 0x8f82011c, 0x2403fffd, +0x431024, 0x10000040, 0xaf82011c, 0x8ec30104, 0x8f820104, 0x14620005, +0x0, 0x8ec3010c, 0x8f8200b4, 0x5062000a, 0x3c050005, 0x8f820104, +0xaec20104, 0x8f8200b4, 0xaec2010c, 0x8ec2010c, 0x3c040001, 0x248426ec, +0x10000029, 0xafa00014, 0x8ec2010c, 0x3c040001, 0x248426f8, 0xafa00014, +0xafa20010, 0x8f8600b0, 0x8ec70104, 0xc0028eb, 0x34a50900, 0x8f82011c, +0x34420002, 0xaf82011c, 0x8f830104, 0x8f8200b0, 0x34420001, 0xaf8200b0, +0xaf830104, 0x8f440208, 0x8f45020c, 0x2402000f, 0xafa20010, 0xafa00014, +0x8ec20008, 0xafa20018, 0x8ec200a8, 0x26e60028, 0x40f809, 0x24070400, +0x8f82011c, 0x2403fffd, 0x431024, 0xaf82011c, 0x8ee201cc, 0x24420001, +0xaee201cc, 0x8ee201cc, 0x8ec2010c, 0x3c040001, 0x24842704, 0xafa00014, +0xafa20010, 0x8f8600b0, 0x8ec70104, 0x3c050005, 0xc0028eb, 0x34a50900, +0x8f8200a0, 0x30420004, 0x1040005f, 0x0, 0x8ec30108, 0x8f820124, +0x14620005, 0x0, 0x8ec30110, 0x8f8200a4, 0x10620006, 0x0, +0x8f820124, 0xaec20108, 0x8f8200a4, 0x10000052, 0xaec20110, 0x8f8200a0, +0x3c030080, 0x431024, 0x1040000d, 0x0, 0x8f82011c, 0x34420002, +0xaf82011c, 0x8f8200a0, 0x2403fffb, 0x431024, 0xaf8200a0, 0x8f82011c, +0x2403fffd, 0x431024, 0x10000041, 0xaf82011c, 0x8ec30108, 0x8f820124, +0x14620005, 0x0, 0x8ec30110, 0x8f8200a4, 0x5062000a, 0x3c050005, +0x8f820124, 0xaec20108, 0x8f8200a4, 0xaec20110, 0x8ec20110, 0x3c040001, +0x24842710, 0x1000002a, 0xafa00014, 0x8ec20110, 0x3c040001, 0x2484271c, +0xafa00014, 0xafa20010, 0x8f8600a0, 0x8ec70108, 0xc0028eb, 0x34a50900, +0x8f82011c, 0x34420002, 0xaf82011c, 0x8f830124, 0x8f8200a0, 0x34420001, +0xaf8200a0, 0xaf830124, 0x8f440208, 0x8f45020c, 0x24020010, 0xafa20010, +0xafa00014, 0x8ec20010, 0xafa20018, 0x8ec200a4, 0x3c060001, 0x24c63384, +0x40f809, 0x24070004, 0x8f82011c, 0x2403fffd, 0x431024, 0xaf82011c, +0x8ee201cc, 0x24420001, 0xaee201cc, 0x8ee201cc, 0x8ec20110, 0x3c040001, +0x24842728, 0xafa00014, 0xafa20010, 0x8f8600a0, 0x8ec70108, 0x3c050005, +0xc0028eb, 0x34a50900, 0x8fbf0020, 0x3e00008, 0x27bd0028, 0x3c091000, +0x24080001, 0x3c070080, 0x3c050100, 0x3c062000, 0x8f820070, 0x491024, +0x1040fffd, 0x0, 0x8f820054, 0x24420005, 0xaf820078, 0x8f420234, +0x10400017, 0x2021, 0x3c020001, 0x571021, 0x8c4281dc, 0x24420005, +0x3c010001, 0x370821, 0xac2281dc, 0x3c020001, 0x571021, 0x8c4281dc, +0x8f430234, 0x43102b, 0x14400009, 0x0, 0x3c040080, 0x3c010001, +0x370821, 0xac2881d4, 0x3c010001, 0x370821, 0x1000000b, 0xac2081dc, +0x3c020001, 0x571021, 0x8c4281d4, 0x54400006, 0x872025, 0x3c020001, +0x571021, 0x8c4281d8, 0x54400001, 0x872025, 0x8f420230, 0x10400014, +0x0, 0x3c020001, 0x571021, 0x8c4281e4, 0x24420005, 0x3c010001, +0x370821, 0xac2281e4, 0x3c020001, 0x571021, 0x8c4281e4, 0x8f430230, +0x43102b, 0x14400006, 0x0, 0x3c010001, 0x370821, 0xac2081e4, +0x10000006, 0x852025, 0x3c020001, 0x571021, 0x8c4281e0, 0x54400001, +0x852025, 0x3c020001, 0x571021, 0x8c4281e8, 0x10400005, 0x0, +0x862025, 0x3c010001, 0x370821, 0xac2081e8, 0x1080ffb1, 0x0, +0x8ec20000, 0x10400007, 0x0, 0xaf80004c, 0x8f82004c, 0x1040fffd, +0x0, 0x10000005, 0x0, 0xaf800048, 0x8f820048, 0x1040fffd, +0x0, 0x8f820060, 0x441025, 0xaf820060, 0x8ec20000, 0x10400003, +0x0, 0x1000ff9c, 0xaf80004c, 0x1000ff9a, 0xaf800048, 0x3e00008, +0x0, 0x0, 0x0, 0x0, 0x27bdffe0, 0xafbf0018, +0x8f860064, 0x30c20004, 0x1040001e, 0x24020004, 0xaf820064, 0x8f420114, +0x8ec30000, 0x10600007, 0xaec20014, 0xaf80004c, 0x8f82004c, 0x1040fffd, +0x0, 0x10000005, 0x0, 0xaf800048, 0x8f820048, 0x1040fffd, +0x0, 0x8f820060, 0x34420008, 0xaf820060, 0x8ec20000, 0x10400003, +0x0, 0x10000002, 0xaf80004c, 0xaf800048, 0x8ec20260, 0x24420001, +0xaec20260, 0x1000006f, 0x8ec20260, 0x30c20001, 0x10400004, 0x24020001, +0xaf820064, 0x10000069, 0x0, 0x30c20002, 0x1440000b, 0x3c050003, +0x3c040001, 0x24842800, 0x34a50001, 0x3821, 0xafa00010, 0xc0028eb, +0xafa00014, 0x2402fff8, 0x1000005c, 0xaf820064, 0x8f43022c, 0x8f42010c, +0x1062004c, 0x0, 0x8f42022c, 0x21080, 0x5a1021, 0x8c440300, +0x8f42022c, 0x24420001, 0x3042003f, 0x41e02, 0xaf42022c, 0x24020003, +0x10620005, 0x24020010, 0x1062001f, 0x30830fff, 0x1000003a, 0x0, +0x8ec30000, 0x30820fff, 0x10600007, 0xaec20038, 0xaf80004c, 0x8f82004c, +0x1040fffd, 0x0, 0x10000005, 0x0, 0xaf800048, 0x8f820048, +0x1040fffd, 0x0, 0x8f820060, 0x34420200, 0xaf820060, 0x8ec20000, +0x10400003, 0x0, 0x10000002, 0xaf80004c, 0xaf800048, 0x8ec20210, +0x24420001, 0xaec20210, 0x10000020, 0x8ec20210, 0x8ec20000, 0xaec30054, +0x24030001, 0x10400007, 0xa2c30065, 0xaf80004c, 0x8f82004c, 0x1040fffd, +0x0, 0x10000005, 0x0, 0xaf800048, 0x8f820048, 0x1040fffd, +0x0, 0x8f820060, 0x34420100, 0xaf820060, 0x8ec20000, 0x10400003, +0x0, 0x10000002, 0xaf80004c, 0xaf800048, 0x8ec2023c, 0x24420001, +0xaec2023c, 0x10000003, 0x8ec2023c, 0xc001fd6, 0x0, 0x8f43022c, +0x8f42010c, 0x14620002, 0x24020002, 0xaf820064, 0x8f820064, 0x14400005, +0x0, 0x8f43022c, 0x8f42010c, 0x1462ffa6, 0x0, 0x8fbf0018, +0x3e00008, 0x27bd0020, 0x3e00008, 0x0, 0x27bdffc0, 0xafb10028, +0x808821, 0x111602, 0x2442ffff, 0x304300ff, 0x2c620011, 0xafbf0038, +0xafbe0034, 0xafb50030, 0x104001ab, 0xafb3002c, 0x31080, 0x3c010001, +0x220821, 0x8c222848, 0x400008, 0x0, 0x111302, 0x30440fff, +0x24020001, 0x10820006, 0x3c030800, 0x24020002, 0x1082000c, 0x3c050003, +0x10000022, 0x0, 0x3c020001, 0x8c4233b4, 0x21100, 0x21182, +0x431025, 0xae420038, 0x8ee204a8, 0x1000000a, 0x34420001, 0x3c020001, +0x2442c440, 0x21100, 0x21182, 0x431025, 0xae420038, 0x8ee204a8, +0x2403fffe, 0x431024, 0xaee204a8, 0xaec40168, 0xaec4016c, 0x8f840054, +0x41442, 0x41c82, 0x431021, 0x41cc2, 0x431023, 0x41d02, +0x431021, 0x41d42, 0x431023, 0x10000009, 0xaec20170, 0x3c040001, +0x2484280c, 0x34a50004, 0x2203021, 0x3821, 0xafa00010, 0xc0028eb, +0xafa00014, 0x8ec20208, 0x24420001, 0xaec20208, 0x100001e1, 0x8ec20208, +0xc0022fe, 0x0, 0x100001dd, 0x0, 0xc002419, 0x0, +0x100001d9, 0x0, 0x111302, 0x30430fff, 0x24020001, 0x10620005, +0x24020002, 0x10620016, 0x3c050003, 0x10000021, 0x0, 0x92c2011c, +0x1440000f, 0x24020001, 0x8f820228, 0xaee204ac, 0x8f82022c, 0xaee204b0, +0x8f820230, 0xaee204b4, 0x8f820234, 0xaee204b8, 0x2402ffff, 0xaf820228, +0xaf82022c, 0xaf820230, 0xaf820234, 0x24020001, 0x10000016, 0xa2c2011c, +0x92c2011c, 0x50400013, 0xa2c0011c, 0x8ee204ac, 0xaf820228, 0x8ee204b0, +0xaf82022c, 0x8ee204b4, 0xaf820230, 0x8ee204b8, 0xaf820234, 0x10000009, +0xa2c0011c, 0x3c040001, 0x24842818, 0x34a5f009, 0x2203021, 0x3821, +0xafa00010, 0xc0028eb, 0xafa00014, 0x8ec20234, 0x24420001, 0xaec20234, +0x100001a3, 0x8ec20234, 0x111302, 0x30440fff, 0x24020001, 0x10820005, +0x24020002, 0x1082000d, 0x3c050003, 0x10000013, 0x0, 0x8f820220, +0x3c0308ff, 0x3463ffff, 0x431024, 0x34420008, 0xaf820220, 0x24020001, +0xa2c2011d, 0x10000011, 0xaec40200, 0x8f820220, 0x3c0308ff, 0x3463fff7, +0x431024, 0xaf820220, 0xa2c0011d, 0x10000009, 0xaec40200, 0x3c040001, +0x24842824, 0x34a5f00a, 0x2203021, 0x3821, 0xafa00010, 0xc0028eb, +0xafa00014, 0x8ec20224, 0x24420001, 0xaec20224, 0x1000017b, 0x8ec20224, +0x27840208, 0x27450200, 0xc00297e, 0x24060008, 0x26c4018c, 0x27450200, +0xc00297e, 0x24060008, 0x8ec2022c, 0x24420001, 0xaec2022c, 0x1000016e, +0x8ec2022c, 0x111302, 0x30430fff, 0x24020001, 0x10620011, 0x28620002, +0x50400005, 0x24020002, 0x10600007, 0x0, 0x10000017, 0x0, +0x1062000f, 0x0, 0x10000013, 0x0, 0x8f460248, 0x24040001, +0xc004680, 0x24050004, 0x10000007, 0x0, 0x8f460248, 0x24040001, +0xc004680, 0x24050004, 0x10000010, 0x0, 0x8f46024c, 0x24040001, +0xc004680, 0x24050001, 0x1000000a, 0x0, 0x3c040001, 0x24842830, +0x3c050003, 0x34a50005, 0x2203021, 0x3821, 0xafa00010, 0xc0028eb, +0xafa00014, 0x8ec20228, 0x24420001, 0xaec20228, 0x1000013f, 0x8ec20228, +0xc002221, 0x0, 0x1000013b, 0x0, 0x24020001, 0xa2c20528, +0x24110014, 0x8ee404a0, 0x8ee504a4, 0xafb10010, 0xafa00014, 0x8ec20010, +0xafa20018, 0x8ec200a4, 0x26e60028, 0x40f809, 0x24070400, 0x1040fff5, +0x0, 0x1000012a, 0x0, 0x3c020900, 0xaec00054, 0xaec00058, +0xaec0005c, 0xaec00060, 0xaec002c0, 0xa2c00065, 0xafa20020, 0x8ec3002c, +0x240200ff, 0x10620004, 0x27a70020, 0x8ec2002c, 0x10000002, 0x24530001, +0x9821, 0x8f420228, 0x1662000f, 0x0, 0x3c040001, 0x248427dc, +0xafa00010, 0xafa00014, 0x8ec6002c, 0x8f470228, 0x3c050009, 0xc0028eb, +0x34a5f00f, 0x8ec202a0, 0x24420001, 0xaec202a0, 0x1000006b, 0x8ec202a0, +0x8ec2002c, 0x210c0, 0x571021, 0x8ce30000, 0x8ce40004, 0xac4304c0, +0xac4404c4, 0x8f830054, 0x8f820054, 0x247103e8, 0x2221023, 0x2c4203e9, +0x1040001e, 0xa821, 0x241e000d, 0x8ec8002c, 0x8ee40428, 0x8ee5042c, +0x8ec6002c, 0x24070008, 0xafbe0010, 0xafb30014, 0x840c0, 0x1001821, +0x1021, 0x8ec80008, 0xa32821, 0xa3482b, 0x822021, 0x892021, +0x630c0, 0xafa80018, 0x8ec200a8, 0x24c604c0, 0x40f809, 0x2e63021, +0x54400006, 0x24150001, 0x8f820054, 0x2221023, 0x2c4203e9, 0x1440ffe5, +0x0, 0x32a200ff, 0x54400011, 0xaed3002c, 0x3c040001, 0x248427e8, +0xafa00010, 0xafa00014, 0x8f860120, 0x8f870124, 0x3c050009, 0x1000002e, +0x34a5f010, 0x8ec2026c, 0x24150001, 0x24420001, 0xaec2026c, 0x8ec2026c, +0x1000001d, 0x32a200ff, 0x8f830054, 0x8f820054, 0x247103e8, 0x2221023, +0x2c4203e9, 0x10400015, 0xa821, 0x24130011, 0x8ec30008, 0x8ee40488, +0x8ee5048c, 0x8ec2002c, 0x8f860120, 0xafb30010, 0xafa20014, 0xafa30018, +0x8ec200a8, 0x24070008, 0x40f809, 0x24c6001c, 0x1440ffe4, 0x0, +0x8f820054, 0x2221023, 0x2c4203e9, 0x1440ffee, 0x0, 0x32a200ff, +0x1440000f, 0x0, 0x3c040001, 0x248427f4, 0xafa00010, 0xafa00014, +0x8f860120, 0x8f870124, 0x3c050009, 0x34a5f011, 0xc0028eb, 0x0, +0x8ec202d0, 0x24420001, 0xaec202d0, 0x8ec202d0, 0x8ec20218, 0x24420001, +0xaec20218, 0x8ec20218, 0x8ec2025c, 0x24420001, 0xaec2025c, 0x10000096, +0x8ec2025c, 0x8f42025c, 0x26c4018c, 0xaec20158, 0x8f420260, 0x27450200, +0x24060008, 0xc00297e, 0xaec20160, 0x8f820220, 0x30420008, 0x14400002, +0x24020001, 0x24020002, 0xaec20200, 0x8ec20214, 0x24420001, 0xaec20214, +0x10000083, 0x8ec20214, 0x3c0200ff, 0x96e30462, 0x3442ffff, 0x2222024, +0x3402fffb, 0x44102b, 0x38420001, 0x30630003, 0x2c630001, 0x621824, +0x10600003, 0x0, 0x10000075, 0xaec40050, 0x3c040001, 0x2484283c, +0x3c050003, 0x34a5f00f, 0x2203021, 0x3821, 0xafa00010, 0xc0028eb, +0xafa00014, 0x3c030700, 0x34631000, 0x111602, 0x431025, 0xafa20020, +0x8ec3002c, 0x240200ff, 0x10620004, 0x27a70020, 0x8ec2002c, 0x10000002, +0x24510001, 0x8821, 0x8f420228, 0x1622000f, 0x4021, 0x3c040001, +0x248427bc, 0xafa00010, 0xafa00014, 0x8ec6002c, 0x8f470228, 0x3c050009, +0xc0028eb, 0x34a5f005, 0x8ec202a0, 0x24420001, 0xaec202a0, 0x10000046, +0x8ec202a0, 0x8ec2002c, 0x210c0, 0x571021, 0x8ce30000, 0x8ce40004, +0xac4304c0, 0xac4404c4, 0x8ec3002c, 0x8ee40428, 0x8ee5042c, 0x8ec6002c, +0x24070008, 0x2402000d, 0xafa20010, 0xafb10014, 0x8ec20008, 0x318c0, +0x604821, 0xa92821, 0xa9182b, 0x882021, 0x832021, 0x630c0, +0xafa20018, 0x8ec200a8, 0x24c604c0, 0x40f809, 0x2e63021, 0x5440000c, +0xaed1002c, 0x3c040001, 0x248427c8, 0xafa00010, 0xafa00014, 0x8ec6002c, +0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f000, 0x1000001d, 0x0, +0x8ee40488, 0x8ee5048c, 0x8ec3002c, 0x8ec80008, 0x8f860120, 0x24020011, +0xafa20010, 0xafa30014, 0xafa80018, 0x8ec200a8, 0x24070008, 0x40f809, +0x24c6001c, 0x1440000e, 0x0, 0x3c040001, 0x248427d0, 0xafa00010, +0xafa00014, 0x8ec6002c, 0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f001, +0x8ec202a4, 0x24420001, 0xaec202a4, 0x8ec202a4, 0x8ec20244, 0x24420001, +0xaec20244, 0x8ec20244, 0x8ec20254, 0x24420001, 0xaec20254, 0x8ec20254, +0x8fbf0038, 0x8fbe0034, 0x8fb50030, 0x8fb3002c, 0x8fb10028, 0x3e00008, +0x27bd0040, 0x27bdfff8, 0x2408ffff, 0x10a00014, 0x4821, 0x3c0aedb8, +0x354a8320, 0x90870000, 0x24840001, 0x3021, 0x1071026, 0x30420001, +0x10400002, 0x81842, 0x6a1826, 0x604021, 0x24c60001, 0x2cc20008, +0x1440fff7, 0x73842, 0x25290001, 0x125102b, 0x1440fff0, 0x0, +0x1001021, 0x3e00008, 0x27bd0008, 0x27bdffb8, 0xafbf0040, 0xafbe003c, +0xafb50038, 0xafb30034, 0xafb10030, 0x8f870220, 0xafa70024, 0x8f870200, +0xafa7002c, 0x8f820220, 0x3c0308ff, 0x3463ffff, 0x431024, 0x34420004, +0xaf820220, 0x8f820200, 0x3c03c0ff, 0x3463ffff, 0x431024, 0x34420004, +0xaf820200, 0x8ede02bc, 0x8ec702c0, 0xafa70014, 0x8ec702c4, 0xafa7001c, +0x8ec20238, 0x26c40128, 0x24420001, 0xaec20238, 0x8ed10238, 0x8ed3016c, +0x8ed50168, 0xc00296c, 0x24050400, 0xaede02bc, 0x8fa70014, 0xaec702c0, +0x8fa7001c, 0xaec702c4, 0xaed10238, 0xaed3016c, 0xaed50168, 0x8f42025c, +0x26c4018c, 0xaec20158, 0x8f420260, 0x27450200, 0x24060008, 0xaec20160, +0x24020006, 0xc00297e, 0xaec2015c, 0x3c023b9a, 0x3442ca00, 0xaec20164, +0x240203e8, 0x24040002, 0x24030001, 0xaec201fc, 0xaec401f8, 0xaec30204, +0x8f820220, 0x30420008, 0x10400004, 0x0, 0xaec30200, 0x10000003, +0x3021, 0xaec40200, 0x3021, 0x3c030001, 0x661821, 0x90633200, +0x2c61021, 0x24c60001, 0xa0430194, 0x2cc2000f, 0x1440fff8, 0x2c61821, +0x24c60001, 0x8f820040, 0x27440080, 0x24050080, 0x21702, 0x24420030, +0xa0620194, 0x2c61021, 0xc00296c, 0xa0400194, 0x8fa70024, 0x30e20004, +0x14400006, 0x0, 0x8f820220, 0x3c0308ff, 0x3463fffb, 0x431024, +0xaf820220, 0x8fa7002c, 0x30e20004, 0x14400006, 0x0, 0x8f820200, +0x3c03c0ff, 0x3463fffb, 0x431024, 0xaf820200, 0x8fbf0040, 0x8fbe003c, +0x8fb50038, 0x8fb30034, 0x8fb10030, 0x3e00008, 0x27bd0048, 0x0, +0x0, 0x0, 0x24040001, 0xa2c0011d, 0xa2c0011c, 0xaec00120, +0x410c0, 0x2e21821, 0x24820001, 0xa46275c0, 0x402021, 0x2c820080, +0x1440fffa, 0x410c0, 0x24020001, 0xa6e079c0, 0xaec20124, 0xaf800228, +0xaf80022c, 0xaf800230, 0xaf800234, 0x3e00008, 0x0, 0x27bdffe0, +0xafbf001c, 0xafb10018, 0x8ec20120, 0x28420005, 0x10400021, 0x808821, +0x8ec20120, 0x3021, 0x18400015, 0x26e371c0, 0x96270000, 0x24640006, +0x9482fffc, 0x14470009, 0x2821, 0x9483fffe, 0x96220002, 0x14620006, +0xa01021, 0x94820000, 0x96230004, 0x431026, 0x2c450001, 0xa01021, +0x1440000b, 0x24c60001, 0x8ec20120, 0xc2102a, 0x1440ffef, 0x24840008, +0x1021, 0x304200ff, 0x14400029, 0x24020001, 0x10000027, 0x1021, +0x1000fffa, 0x24020001, 0x2202021, 0xc002207, 0x24050006, 0x3042007f, +0x218c0, 0x2e31021, 0x944271c0, 0x1040fff4, 0x2e31021, 0x944671c0, +0x10c00019, 0x1021, 0x96270000, 0x610c0, 0x572021, 0x248475c2, +0x94820000, 0x14470009, 0x2821, 0x94830002, 0x96220002, 0x14620006, +0xa01021, 0x94820004, 0x96230004, 0x431026, 0x2c450001, 0xa01021, +0x14400005, 0x610c0, 0x2e21021, 0x944675c0, 0x14c0ffed, 0x610c0, +0x10c0ffd9, 0x24020001, 0x8fbf001c, 0x8fb10018, 0x3e00008, 0x27bd0020, +0x3e00008, 0x0, 0x27bdffc0, 0x27440212, 0x24050006, 0xafbf0038, +0xafbe0034, 0xafb50030, 0xafb3002c, 0xc002207, 0xafb10028, 0x3048007f, +0x810c0, 0x2e21021, 0x944571c0, 0x10a00017, 0x27470212, 0x94e90000, +0x510c0, 0x572021, 0x248475c2, 0x94820000, 0x14490009, 0x3021, +0x94830002, 0x94e20002, 0x14620006, 0xc01021, 0x94820004, 0x94e30004, +0x431026, 0x2c460001, 0xc01021, 0x14400005, 0x510c0, 0x2e21021, +0x944575c0, 0x14a0ffed, 0x510c0, 0xa03021, 0x10c00010, 0x610c0, +0x571821, 0x8c6375c0, 0x571021, 0xafa30010, 0x8c4275c4, 0x3c040001, +0x2484294c, 0xafa20014, 0x8f460210, 0x8f470214, 0x3c050003, 0xc0028eb, +0x34a5f012, 0x10000051, 0x3c020800, 0x8ec50124, 0x10a00004, 0x510c0, +0x2e21021, 0x944275c0, 0xaec20124, 0xa03021, 0x14c0000f, 0x27440212, +0x810c0, 0x2e21021, 0xafa80010, 0x944271c0, 0x3c040001, 0x24842958, +0xafa20014, 0x8f460210, 0x8f470214, 0x3c050003, 0xc0028eb, 0x34a5f013, +0x1000003a, 0x3c020800, 0x628c0, 0x94830000, 0xb71021, 0x244275c2, +0xa4430000, 0x8c830002, 0x820c0, 0xac430002, 0x2e41021, 0x944371c0, +0x2e51021, 0xa44375c0, 0x2e41021, 0xa44671c0, 0x8ec20120, 0x24420001, +0x28420080, 0x1040000c, 0x27440212, 0x8ec20120, 0x94830000, 0x210c0, +0x571021, 0x244271c2, 0xa4430000, 0x8c830002, 0xac430002, 0x8ec20120, +0x24420001, 0xaec20120, 0x92c2011c, 0x1040000d, 0x81942, 0x24020003, +0x431023, 0x21080, 0x572821, 0x571021, 0x3104001f, 0x8c4304ac, +0x24020001, 0x821004, 0x621825, 0x1000000c, 0xaca304ac, 0x24020003, +0x431023, 0x21080, 0x5c2821, 0x5c1021, 0x3104001f, 0x8c430228, +0x24020001, 0x821004, 0x621825, 0xaca30228, 0x3c020800, 0x34421000, +0xafa20020, 0x8ec3002c, 0x240200ff, 0x10620004, 0x27a70020, 0x8ec2002c, +0x10000002, 0x24530001, 0x9821, 0x8f420228, 0x1662000f, 0x0, +0x3c040001, 0x24842928, 0xafa00010, 0xafa00014, 0x8ec6002c, 0x8f470228, +0x3c050009, 0xc0028eb, 0x34a5f00f, 0x8ec202a0, 0x24420001, 0xaec202a0, +0x1000006b, 0x8ec202a0, 0x8ec2002c, 0x210c0, 0x571021, 0x8ce30000, +0x8ce40004, 0xac4304c0, 0xac4404c4, 0x8f830054, 0x8f820054, 0x247103e8, +0x2221023, 0x2c4203e9, 0x1040001e, 0xa821, 0x241e000d, 0x8ec8002c, +0x8ee40428, 0x8ee5042c, 0x8ec6002c, 0x24070008, 0xafbe0010, 0xafb30014, +0x840c0, 0x1001821, 0x1021, 0x8ec80008, 0xa32821, 0xa3482b, +0x822021, 0x892021, 0x630c0, 0xafa80018, 0x8ec200a8, 0x24c604c0, +0x40f809, 0x2e63021, 0x54400006, 0x24150001, 0x8f820054, 0x2221023, +0x2c4203e9, 0x1440ffe5, 0x0, 0x32a200ff, 0x54400011, 0xaed3002c, +0x3c040001, 0x24842934, 0xafa00010, 0xafa00014, 0x8f860120, 0x8f870124, +0x3c050009, 0x1000002e, 0x34a5f010, 0x8ec2026c, 0x24150001, 0x24420001, +0xaec2026c, 0x8ec2026c, 0x1000001d, 0x32a200ff, 0x8f830054, 0x8f820054, +0x247103e8, 0x2221023, 0x2c4203e9, 0x10400015, 0xa821, 0x24130011, +0x8ec30008, 0x8ee40488, 0x8ee5048c, 0x8ec2002c, 0x8f860120, 0xafb30010, +0xafa20014, 0xafa30018, 0x8ec200a8, 0x24070008, 0x40f809, 0x24c6001c, +0x1440ffe4, 0x0, 0x8f820054, 0x2221023, 0x2c4203e9, 0x1440ffee, +0x0, 0x32a200ff, 0x1440000f, 0x0, 0x3c040001, 0x24842940, +0xafa00010, 0xafa00014, 0x8f860120, 0x8f870124, 0x3c050009, 0x34a5f011, +0xc0028eb, 0x0, 0x8ec202d0, 0x24420001, 0xaec202d0, 0x8ec202d0, +0x8ec2021c, 0x24420001, 0xaec2021c, 0x8ec2021c, 0x8ec20258, 0x24420001, +0xaec20258, 0x8ec20258, 0x8fbf0038, 0x8fbe0034, 0x8fb50030, 0x8fb3002c, +0x8fb10028, 0x3e00008, 0x27bd0040, 0x27bdffb0, 0x27440212, 0x24050006, +0xafbf0048, 0xafbe0044, 0xafb50040, 0xafb3003c, 0xc002207, 0xafb10038, +0x3044007f, 0x410c0, 0x2e21021, 0x944771c0, 0x4021, 0x10e00018, +0x27490212, 0x952a0000, 0x710c0, 0x572821, 0x24a575c2, 0x94a20000, +0x144a0009, 0x3021, 0x94a30002, 0x95220002, 0x14620006, 0xc01021, +0x94a20004, 0x95230004, 0x431026, 0x2c460001, 0xc01021, 0x14400006, +0x710c0, 0xe04021, 0x2e21021, 0x944775c0, 0x14e0ffec, 0x710c0, +0xe02821, 0x14a0000f, 0xafa80028, 0x410c0, 0x2e21021, 0xafa40010, +0x944271c0, 0x3c040001, 0x24842964, 0xafa20014, 0x8f460210, 0x8f470214, +0x3c050003, 0xc0028eb, 0x34a5f01c, 0x10000062, 0x3c020800, 0x11000007, +0x510c0, 0x2e21021, 0x944375c0, 0x810c0, 0x2e21021, 0x10000006, +0xa44375c0, 0x2e21021, 0x944375c0, 0x410c0, 0x2e21021, 0xa44371c0, +0x8ec30124, 0x510c0, 0x2e21021, 0x26e871c0, 0xa44375c0, 0x8ec20120, +0x3021, 0x27490212, 0x18400029, 0xaec50124, 0x25070006, 0x94e3fffc, +0x95220000, 0x14620009, 0x2821, 0x94e3fffe, 0x95220002, 0x14620006, +0xa01021, 0x94e20000, 0x95230004, 0x431026, 0x2c450001, 0xa01021, +0x50400014, 0x24c60001, 0x8ec20120, 0x2442ffff, 0xc2102a, 0x1040000b, +0x25050004, 0x94a20006, 0x8ca30008, 0xa4a2fffe, 0xaca30000, 0x8ec20120, +0x24c60001, 0x2442ffff, 0xc2102a, 0x1440fff7, 0x24a50008, 0x8ec20120, +0x2442ffff, 0x10000006, 0xaec20120, 0x8ec20120, 0x24e70008, 0xc2102a, +0x1440ffda, 0x25080008, 0x410c0, 0x2e21021, 0x944271c0, 0x1440001e, +0x3c020800, 0x92c2011c, 0x1040000e, 0x41942, 0x24020003, 0x431023, +0x21080, 0x572821, 0x571021, 0x3084001f, 0x24030001, 0x8c4204ac, +0x831804, 0x31827, 0x431024, 0x1000000d, 0xaca204ac, 0x24020003, +0x431023, 0x21080, 0x5c2821, 0x5c1021, 0x3084001f, 0x24030001, +0x8c420228, 0x831804, 0x31827, 0x431024, 0xaca20228, 0x3c020800, +0x34422000, 0xafa20020, 0x8ec3002c, 0x240200ff, 0x10620004, 0x27a70020, +0x8ec2002c, 0x10000002, 0x24530001, 0x9821, 0x8f420228, 0x1662000f, +0x0, 0x3c040001, 0x24842928, 0xafa00010, 0xafa00014, 0x8ec6002c, +0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f00f, 0x8ec202a0, 0x24420001, +0xaec202a0, 0x1000006b, 0x8ec202a0, 0x8ec2002c, 0x210c0, 0x571021, +0x8ce30000, 0x8ce40004, 0xac4304c0, 0xac4404c4, 0x8f830054, 0x8f820054, +0x247103e8, 0x2221023, 0x2c4203e9, 0x1040001e, 0xa821, 0x241e000d, +0x8ec8002c, 0x8ee40428, 0x8ee5042c, 0x8ec6002c, 0x24070008, 0xafbe0010, +0xafb30014, 0x840c0, 0x1001821, 0x1021, 0x8ec80008, 0xa32821, +0xa3482b, 0x822021, 0x892021, 0x630c0, 0xafa80018, 0x8ec200a8, +0x24c604c0, 0x40f809, 0x2e63021, 0x54400006, 0x24150001, 0x8f820054, +0x2221023, 0x2c4203e9, 0x1440ffe5, 0x0, 0x32a200ff, 0x54400011, +0xaed3002c, 0x3c040001, 0x24842934, 0xafa00010, 0xafa00014, 0x8f860120, +0x8f870124, 0x3c050009, 0x1000002e, 0x34a5f010, 0x8ec2026c, 0x24150001, +0x24420001, 0xaec2026c, 0x8ec2026c, 0x1000001d, 0x32a200ff, 0x8f830054, +0x8f820054, 0x247103e8, 0x2221023, 0x2c4203e9, 0x10400015, 0xa821, +0x24130011, 0x8ec30008, 0x8ee40488, 0x8ee5048c, 0x8ec2002c, 0x8f860120, +0xafb30010, 0xafa20014, 0xafa30018, 0x8ec200a8, 0x24070008, 0x40f809, +0x24c6001c, 0x1440ffe4, 0x0, 0x8f820054, 0x2221023, 0x2c4203e9, +0x1440ffee, 0x0, 0x32a200ff, 0x1440000f, 0x0, 0x3c040001, +0x24842940, 0xafa00010, 0xafa00014, 0x8f860120, 0x8f870124, 0x3c050009, +0x34a5f011, 0xc0028eb, 0x0, 0x8ec202d0, 0x24420001, 0xaec202d0, +0x8ec202d0, 0x8ec20220, 0x24420001, 0xaec20220, 0x8ec20220, 0x8ec20258, +0x24420001, 0xaec20258, 0x8ec20258, 0x8fbf0048, 0x8fbe0044, 0x8fb50040, +0x8fb3003c, 0x8fb10038, 0x3e00008, 0x27bd0050, 0x0, 0x0, +0x27bdffe8, 0x27644000, 0xafbf0010, 0xc00296c, 0x24051000, 0x24020020, +0xaf82011c, 0xaf800100, 0xaf800104, 0xaf800108, 0xaf800110, 0xaf800114, +0xaf800118, 0xaf800120, 0xaf800124, 0xaf800128, 0xaf800130, 0xaf800134, +0xaf800138, 0xaec000dc, 0xaec000e0, 0xaec000e4, 0xaec000e8, 0x3c020001, +0x571021, 0x904281ec, 0x1440001d, 0x0, 0x8f82011c, 0x34420001, +0xaf82011c, 0x8f830040, 0x3c02f000, 0x621824, 0x3c025000, 0x10620005, +0x3c026000, 0x1062000b, 0x0, 0x10000010, 0x0, 0x8f420218, +0x30420040, 0x14400009, 0x0, 0x8f820050, 0x3c030010, 0x10000003, +0x431024, 0x8f420218, 0x30420040, 0x10400004, 0x0, 0x8f82011c, +0x34420004, 0xaf82011c, 0x8fbf0010, 0x3e00008, 0x27bd0018, 0x8faa0010, +0x8f83012c, 0x8fab0014, 0x1060000c, 0x8fac0018, 0x8ec20534, 0x8f890128, +0x24680020, 0x51020005, 0x27624800, 0x11280005, 0x24620020, 0x10000009, +0x0, 0x15220007, 0x24620020, 0x8ec30298, 0x1021, 0x24630001, +0xaec30298, 0x1000006b, 0x8ec30298, 0xac640000, 0xac650004, 0xac660008, +0xa467000e, 0xac6a0018, 0xac6b001c, 0xac6c0010, 0x2543ffee, 0x2c630002, +0xaf820120, 0x39420011, 0x2c420001, 0x621825, 0x10600025, 0x0, +0x8ec200e4, 0x210c0, 0x24426fc0, 0x2e22021, 0x8c830000, 0x24020012, +0x1462000f, 0x0, 0x8ec300e4, 0x8ec200e8, 0x1062000b, 0x24030040, +0x8c820004, 0x24420001, 0xac820004, 0x8ec200e8, 0x8ec500e4, 0x24420001, +0x1043002b, 0x0, 0x10000023, 0x0, 0x8ec200e4, 0x24030040, +0x24420001, 0x50430003, 0x1021, 0x8ec200e4, 0x24420001, 0xaec200e4, +0x8ec200e4, 0x210c0, 0x24426fc0, 0x2e22021, 0x10000034, 0x24020012, +0x8ec200e4, 0x210c0, 0x24426fc0, 0x2e22021, 0x8c830000, 0x24020007, +0x1462001f, 0x0, 0x8ec300e4, 0x8ec200e8, 0x1062001b, 0x24030040, +0x8c820004, 0x24420001, 0xac820004, 0x8ec200e8, 0x8ec500e4, 0x24420001, +0x10430007, 0x0, 0x8ec200e8, 0x24420001, 0x10a20005, 0x0, +0x10000007, 0x0, 0x14a00005, 0x0, 0x8f820128, 0x24420020, +0xaf820128, 0x8f820128, 0x8c820004, 0x2c420011, 0x50400013, 0xac800000, +0x10000012, 0x24020001, 0x8ec200e4, 0x24030040, 0x24420001, 0x50430003, +0x1021, 0x8ec200e4, 0x24420001, 0xaec200e4, 0x8ec200e4, 0x210c0, +0x24426fc0, 0x2e22021, 0x24020007, 0xac820000, 0x24020001, 0xac820004, +0x24020001, 0x3e00008, 0x0, 0x3e00008, 0x0, 0x8faa0010, +0x8fab0014, 0x8f880120, 0x8ec20534, 0x8fac0018, 0x25030020, 0x14620002, +0x604821, 0x27694800, 0x8f820128, 0x1122000c, 0x25030016, 0xad040000, +0xad050004, 0xad060008, 0xa507000e, 0xad0a0018, 0xad0b001c, 0xad030014, +0xad0c0010, 0xaf890120, 0x10000006, 0x24020001, 0x8ec30298, 0x1021, +0x24630001, 0xaec30298, 0x8ec30298, 0x3e00008, 0x0, 0x3e00008, +0x0, 0x8faa0010, 0x8f83010c, 0x8fab0014, 0x1060000c, 0x8fac0018, +0x8f890108, 0x24680020, 0x27624800, 0x51020005, 0x27624000, 0x11280005, +0x24620020, 0x10000009, 0x0, 0x15220007, 0x24620020, 0x8ec3029c, +0x1021, 0x24630001, 0xaec3029c, 0x10000052, 0x8ec3029c, 0xac640000, +0xac650004, 0xac660008, 0xa467000e, 0xac6a0018, 0xac6b001c, 0xac6c0010, +0xaf820100, 0x2542fffb, 0x2c420002, 0x10400037, 0x24030040, 0x8ec200dc, +0x210c0, 0x24426dc0, 0x2e22021, 0x8c830000, 0x24020005, 0x1462001f, +0x0, 0x8ec300dc, 0x8ec200e0, 0x1062001b, 0x24030040, 0x8c820004, +0x24420001, 0xac820004, 0x8ec200e0, 0x8ec500dc, 0x24420001, 0x10430007, +0x0, 0x8ec200e0, 0x24420001, 0x10a20005, 0x0, 0x10000007, +0x0, 0x14a00005, 0x0, 0x8f820108, 0x24420020, 0xaf820108, +0x8f820108, 0x8c820004, 0x2c420011, 0x50400021, 0xac800000, 0x10000020, +0x24020001, 0x8ec200dc, 0x24030040, 0x24420001, 0x50430003, 0x1021, +0x8ec200dc, 0x24420001, 0xaec200dc, 0x8ec200dc, 0x210c0, 0x24426dc0, +0x2e22021, 0x24020005, 0xac820000, 0x1000000e, 0x24020001, 0x8ec200dc, +0x24420001, 0x50430003, 0x1021, 0x8ec200dc, 0x24420001, 0xaec200dc, +0x8ec200dc, 0x210c0, 0x24426dc0, 0x2e22021, 0x24020001, 0xac8a0000, +0xac820004, 0x24020001, 0x3e00008, 0x0, 0x3e00008, 0x0, +0x8f880100, 0x8fa30010, 0x8faa0014, 0x8fab0018, 0x27624800, 0x25090020, +0x122102b, 0x50400001, 0x27694000, 0x8f820108, 0x1122000d, 0x0, +0xad030018, 0x25030016, 0xad040000, 0xad050004, 0xad060008, 0xa507000e, +0xad0a001c, 0xad030014, 0xad0b0010, 0xaf890100, 0x10000006, 0x24020001, +0x8ec3029c, 0x1021, 0x24630001, 0xaec3029c, 0x8ec3029c, 0x3e00008, +0x0, 0x3e00008, 0x0, 0x27bdffe0, 0xafbf0018, 0x8f820104, +0xafa20010, 0x8f820100, 0x3c050002, 0xafa20014, 0x8f8600b0, 0x8f87011c, +0x3c040001, 0x24842a2c, 0xc0028eb, 0x34a5f000, 0x8f420218, 0x30420100, +0x10400017, 0x0, 0x8f8200b0, 0x3c030200, 0x431024, 0x10400012, +0x0, 0x8f82011c, 0x34420002, 0xaf82011c, 0x8f830104, 0x8f8200b0, +0x34420001, 0xaf8200b0, 0xaf830104, 0x8f82011c, 0x2403fffd, 0x431024, +0xaf82011c, 0x8ec20294, 0x24420001, 0xaec20294, 0x10000004, 0x8ec20294, +0x8f8200b0, 0x34420001, 0xaf8200b0, 0x8fbf0018, 0x3e00008, 0x27bd0020, +0x27bdffe0, 0xafbf0018, 0x8f820120, 0xafa20010, 0x8f820124, 0x3c050001, +0xafa20014, 0x8f8600a0, 0x8f87011c, 0x3c040001, 0x24842a38, 0xc0028eb, +0x34a5f000, 0x8f420218, 0x30420100, 0x10400017, 0x0, 0x8f8200a0, +0x3c030200, 0x431024, 0x10400012, 0x0, 0x8f82011c, 0x34420002, +0xaf82011c, 0x8f830124, 0x8f8200a0, 0x34420001, 0xaf8200a0, 0xaf830124, +0x8f82011c, 0x2403fffd, 0x431024, 0xaf82011c, 0x8ec20290, 0x24420001, +0xaec20290, 0x10000004, 0x8ec20290, 0x8f8200a0, 0x34420001, 0xaf8200a0, +0x8fbf0018, 0x3e00008, 0x27bd0020, 0x6021, 0x5021, 0x3021, +0x2821, 0x6821, 0x4821, 0x7821, 0x7021, 0x8f880124, +0x8f870104, 0x1580002e, 0x8f8b011c, 0x11a00014, 0x31620800, 0x8f820120, +0x10460029, 0x0, 0x3c040001, 0x8c843390, 0x8cc20000, 0x8cc30004, +0xac820000, 0xac830004, 0x8cc20008, 0xac820008, 0x94c2000e, 0xa482000e, +0x8cc20010, 0x240c0001, 0xac820010, 0x8cc20014, 0x10000012, 0x24c60020, +0x10400017, 0x0, 0x3c040001, 0x8c843390, 0x8d020000, 0x8d030004, +0xac820000, 0xac830004, 0x8d020008, 0xac820008, 0x9502000e, 0xa482000e, +0x8d020010, 0x25060020, 0xac820010, 0x8d020014, 0x240c0001, 0xc01821, +0xac820014, 0x27624fe0, 0x43102b, 0x54400001, 0x27634800, 0x603021, +0x1540002f, 0x31620100, 0x11200014, 0x31628000, 0x8f820100, 0x1045002a, +0x31620100, 0x3c040001, 0x8c84338c, 0x8ca20000, 0x8ca30004, 0xac820000, +0xac830004, 0x8ca20008, 0xac820008, 0x94a2000e, 0xa482000e, 0x8ca20010, +0x240a0001, 0xac820010, 0x8ca20014, 0x10000012, 0x24a50020, 0x10400018, +0x31620100, 0x3c040001, 0x8c84338c, 0x8ce20000, 0x8ce30004, 0xac820000, +0xac830004, 0x8ce20008, 0xac820008, 0x94e2000e, 0xa482000e, 0x8ce20010, +0x24e50020, 0xac820010, 0x8ce20014, 0x240a0001, 0xa01821, 0xac820014, +0x276247e0, 0x43102b, 0x54400001, 0x27634000, 0x602821, 0x31620100, +0x5440001d, 0x31621000, 0x11a00009, 0x31a20800, 0x10400004, 0x25020020, +0x8f8200a8, 0xa5e20000, 0x25020020, 0xaf820124, 0x8f880124, 0x6821, +0x11800011, 0x31621000, 0x3c040001, 0x8c843390, 0x8c820000, 0x8c830004, +0xaf820080, 0xaf830084, 0x8c820008, 0xaf8200a4, 0x9482000e, 0xaf8200ac, +0x8c820010, 0x6021, 0xaf8200a0, 0x8c8d0010, 0x8c8f0014, 0x31621000, +0x1440ff82, 0x0, 0x1120000f, 0x31220800, 0x10400004, 0x3c020002, +0x8f8200b8, 0xa5c20000, 0x3c020002, 0x1221024, 0x10400004, 0x24e20020, +0x8f8200b4, 0xaf8200d4, 0x24e20020, 0xaf820104, 0x8f870104, 0x4821, +0x1140ff70, 0x0, 0x3c040001, 0x8c84338c, 0x8c820000, 0x8c830004, +0xaf820090, 0xaf830094, 0x8c820008, 0xaf8200b4, 0x9482000e, 0xaf82009c, +0x8c820010, 0x5021, 0xaf8200b0, 0x8c890010, 0x1000ff60, 0x8c8e0014, +0x3e00008, 0x0, 0x6021, 0x5821, 0x3021, 0x2821, +0x6821, 0x5021, 0x7821, 0x7021, 0x8f880124, 0x8f870104, +0x3c180100, 0x1580002e, 0x8f89011c, 0x11a00014, 0x31220800, 0x8f820120, +0x10460029, 0x0, 0x3c040001, 0x8c843390, 0x8cc20000, 0x8cc30004, +0xac820000, 0xac830004, 0x8cc20008, 0xac820008, 0x94c2000e, 0xa482000e, +0x8cc20010, 0x240c0001, 0xac820010, 0x8cc20014, 0x10000012, 0x24c60020, +0x10400017, 0x0, 0x3c040001, 0x8c843390, 0x8d020000, 0x8d030004, +0xac820000, 0xac830004, 0x8d020008, 0xac820008, 0x9502000e, 0xa482000e, +0x8d020010, 0x25060020, 0xac820010, 0x8d020014, 0x240c0001, 0xc01821, +0xac820014, 0x27624fe0, 0x43102b, 0x54400001, 0x27634800, 0x603021, +0x1560002f, 0x31220100, 0x11400014, 0x31228000, 0x8f820100, 0x1045002a, +0x31220100, 0x3c040001, 0x8c84338c, 0x8ca20000, 0x8ca30004, 0xac820000, +0xac830004, 0x8ca20008, 0xac820008, 0x94a2000e, 0xa482000e, 0x8ca20010, +0x240b0001, 0xac820010, 0x8ca20014, 0x10000012, 0x24a50020, 0x10400018, +0x31220100, 0x3c040001, 0x8c84338c, 0x8ce20000, 0x8ce30004, 0xac820000, +0xac830004, 0x8ce20008, 0xac820008, 0x94e2000e, 0xa482000e, 0x8ce20010, +0x24e50020, 0xac820010, 0x8ce20014, 0x240b0001, 0xa01821, 0xac820014, +0x276247e0, 0x43102b, 0x54400001, 0x27634000, 0x602821, 0x31220100, +0x5440001d, 0x31221000, 0x11a00009, 0x31a20800, 0x10400004, 0x25020020, +0x8f8200a8, 0xa5e20000, 0x25020020, 0xaf820124, 0x8f880124, 0x6821, +0x11800011, 0x31221000, 0x3c040001, 0x8c843390, 0x8c820000, 0x8c830004, +0xaf820080, 0xaf830084, 0x8c820008, 0xaf8200a4, 0x9482000e, 0xaf8200ac, +0x8c820010, 0x6021, 0xaf8200a0, 0x8c8d0010, 0x8c8f0014, 0x31221000, +0x14400022, 0x0, 0x1140000f, 0x31420800, 0x10400004, 0x3c020002, +0x8f8200b8, 0xa5c20000, 0x3c020002, 0x1421024, 0x10400004, 0x24e20020, +0x8f8200b4, 0xaf8200d4, 0x24e20020, 0xaf820104, 0x8f870104, 0x5021, +0x11600010, 0x0, 0x3c040001, 0x8c84338c, 0x8c820000, 0x8c830004, +0xaf820090, 0xaf830094, 0x8c820008, 0xaf8200b4, 0x9482000e, 0xaf82009c, +0x8c820010, 0x5821, 0xaf8200b0, 0x8c8a0010, 0x8c8e0014, 0x8f820070, +0x3c031000, 0x431024, 0x1040ff5c, 0x0, 0x8f820054, 0x24420005, +0xaf820078, 0x8f420234, 0x10400017, 0x2021, 0x3c020001, 0x571021, +0x8c4281dc, 0x24420005, 0x3c010001, 0x370821, 0xac2281dc, 0x3c020001, +0x571021, 0x8c4281dc, 0x8f430234, 0x43102b, 0x14400009, 0x24020001, +0x3c040080, 0x3c010001, 0x370821, 0xac2281d4, 0x3c010001, 0x370821, +0x1000000c, 0xac2081dc, 0x3c020001, 0x571021, 0x8c4281d4, 0x14400006, +0x3c020080, 0x3c020001, 0x571021, 0x8c4281d8, 0x10400002, 0x3c020080, +0x822025, 0x8f420230, 0x10400014, 0x0, 0x3c020001, 0x571021, +0x8c4281e4, 0x24420005, 0x3c010001, 0x370821, 0xac2281e4, 0x3c020001, +0x571021, 0x8c4281e4, 0x8f430230, 0x43102b, 0x14400006, 0x0, +0x3c010001, 0x370821, 0xac2081e4, 0x10000006, 0x982025, 0x3c020001, +0x571021, 0x8c4281e0, 0x54400001, 0x982025, 0x3c020001, 0x571021, +0x8c4281e8, 0x10400005, 0x3c022000, 0x822025, 0x3c010001, 0x370821, +0xac2081e8, 0x1080ff0f, 0x0, 0x8ec20000, 0x10400007, 0x0, +0xaf80004c, 0x8f82004c, 0x1040fffd, 0x0, 0x10000005, 0x0, +0xaf800048, 0x8f820048, 0x1040fffd, 0x0, 0x8f820060, 0x441025, +0xaf820060, 0x8ec20000, 0x10400003, 0x0, 0x1000fefa, 0xaf80004c, +0x1000fef8, 0xaf800048, 0x3e00008, 0x0, 0x3c020001, 0x8c423228, +0x27bdffe8, 0xafbf0014, 0x14400012, 0xafb10010, 0x3c110001, 0x26313430, +0x2202021, 0xc00296c, 0x24052000, 0x26221fe0, 0x3c010001, 0xac223398, +0x3c010001, 0xac223394, 0xaf420250, 0x24022000, 0xaf510254, 0xaf420258, +0x24020001, 0x3c010001, 0xac223228, 0x8fbf0014, 0x8fb10010, 0x3e00008, +0x27bd0018, 0x3c030001, 0x8c633398, 0x8c820000, 0x8fa80010, 0x8fa90014, +0xac620000, 0x3c020001, 0x8c423398, 0x8c830004, 0xac430004, 0xac450008, +0x8f840054, 0x2443ffe0, 0xac460010, 0xac470014, 0xac480018, 0xac49001c, +0x3c010001, 0xac233398, 0xac44000c, 0x3c020001, 0x24423430, 0x62182b, +0x10600005, 0x0, 0x3c020001, 0x8c423394, 0x3c010001, 0xac223398, +0x3c030001, 0x8c633398, 0x3c020001, 0x8c423210, 0xac620000, 0x3c030001, +0x8c633398, 0x3c020001, 0x8c423210, 0xac620004, 0x3e00008, 0xaf430250, +0x27bdffd8, 0xafb10010, 0x808821, 0x3c030001, 0x8c633398, 0x3c020001, +0x8c423210, 0x8fa40040, 0xafb30014, 0xa09821, 0xafbf0020, 0xafbe001c, +0xafb50018, 0xac620000, 0x3c050001, 0x8ca53398, 0x3c020001, 0x8c423210, +0xc0a821, 0xe0f021, 0x10800006, 0xaca20004, 0x24a50008, 0xc002974, +0x24060018, 0x10000004, 0x0, 0x24a40008, 0xc00296c, 0x24050018, +0x3c020001, 0x8c423398, 0x3c050001, 0x24a53430, 0x2442ffe0, 0x3c010001, +0xac223398, 0x45102b, 0x10400005, 0x0, 0x3c020001, 0x8c423394, +0x3c010001, 0xac223398, 0x3c030001, 0x8c633398, 0x8e220000, 0xac620000, +0x3c030001, 0x8c633398, 0x8e220004, 0xac620004, 0xac730008, 0x8f840054, +0xac750010, 0xac7e0014, 0x8fa80038, 0xac680018, 0x8fa8003c, 0x2462ffe0, +0x3c010001, 0xac223398, 0x45102b, 0xac68001c, 0x10400005, 0xac64000c, +0x3c020001, 0x8c423394, 0x3c010001, 0xac223398, 0x3c030001, 0x8c633398, +0x3c020001, 0x8c423210, 0xac620000, 0x3c030001, 0x8c633398, 0x3c020001, +0x8c423210, 0xac620004, 0xaf430250, 0x8fbf0020, 0x8fbe001c, 0x8fb50018, +0x8fb30014, 0x8fb10010, 0x3e00008, 0x27bd0028, 0x10a00005, 0x0, +0xac800000, 0x24a5fffc, 0x14a0fffd, 0x24840004, 0x3e00008, 0x0, +0x10c00007, 0x0, 0x8c820000, 0x24840004, 0x24c6fffc, 0xaca20000, +0x14c0fffb, 0x24a50004, 0x3e00008, 0x0, 0x10c00007, 0x0, +0x8ca20000, 0x24a50004, 0x24c6fffc, 0xac820000, 0x14c0fffb, 0x24840004, +0x3e00008, 0x0, 0x63080, 0x861821, 0x83102b, 0x10400006, +0x0, 0xac850000, 0x24840004, 0x83102b, 0x5440fffd, 0xac850000, +0x3e00008, 0x0, 0x27bdffc0, 0xafbf0038, 0xafb30034, 0xafb10030, +0x8ec3001c, 0x8ec20014, 0x10620137, 0x0, 0x8ec2001c, 0x8ee304bc, +0x21100, 0x622021, 0x9493000a, 0x8c880000, 0x8c890004, 0x1312c2, +0x30460001, 0xafa80028, 0xafa9002c, 0x94910008, 0x8ec20078, 0x8ec30088, +0x3225ffff, 0x451021, 0x62182b, 0x10600017, 0x0, 0x8f8200d8, +0x8ec30074, 0x431023, 0x2442fff8, 0xaec20088, 0x8ec20088, 0x4410004, +0x0, 0x8ec3053c, 0x431021, 0xaec20088, 0x8ec20078, 0x8ec30088, +0x451021, 0x62182b, 0x10600006, 0x0, 0x8ec202ac, 0x24420001, +0xaec202ac, 0x1000010e, 0x8ec202ac, 0x8f8200fc, 0x14400006, 0x0, +0x8ec202a8, 0x24420001, 0xaec202a8, 0x10000106, 0x8ec202a8, 0x92c20529, +0x1040000b, 0x32620200, 0x1040000a, 0x32620004, 0x96e20452, 0x30420010, +0x10400005, 0x3c028000, 0xaec2052c, 0x9482000e, 0x21400, 0xaec20530, +0x32620004, 0x104000a8, 0x30c200ff, 0x10400003, 0x3227ffff, 0x10000002, +0x24020017, 0x24020006, 0xafa20010, 0x8ec2001c, 0xafa20014, 0x8ec2000c, +0x8fa40028, 0x8fa5002c, 0x3c030002, 0x431025, 0xafa20018, 0x8ec60080, +0x8ec200a4, 0x40f809, 0x0, 0x5440000b, 0x3225ffff, 0x8fa9002c, +0xafa90010, 0x8ec20080, 0x3c040001, 0x24842cfc, 0x3c050004, 0xafa20014, +0x8ec6001c, 0x100000a5, 0x34a5f004, 0x8ec20078, 0x451021, 0xaec20078, +0x8ec2001c, 0x8ee304bc, 0x8ec40074, 0x21100, 0x431021, 0xac44000c, +0x8ec30074, 0xafa30020, 0x8ec40078, 0xafa40024, 0x8ec2052c, 0x10400006, +0x3c024000, 0x621025, 0xafa20020, 0x8ec20530, 0x821025, 0xafa20024, +0x8ec20080, 0x8ec30078, 0x2406fff8, 0x451021, 0x24420007, 0x461024, +0x24630007, 0xaec20074, 0x8ec20088, 0x8ec40074, 0x8ec50538, 0x661824, +0x431023, 0x85202b, 0x14800005, 0xaec20088, 0x8ec20074, 0x8ec3053c, +0x431023, 0xaec20074, 0x8ec20074, 0xaec20080, 0x8f8600fc, 0x14c00007, +0x0, 0x8ec202a8, 0x1821, 0x24420001, 0xaec202a8, 0x10000008, +0x8ec202a8, 0x8fa20020, 0x8fa30024, 0xacc20000, 0xacc30004, 0x24c20008, +0xaf8200f0, 0x24030001, 0x14600012, 0x131142, 0x8f8200f0, 0xafa20010, +0x8f8200f4, 0x3c040001, 0x24842d08, 0xafa20014, 0x8fa60020, 0x8fa70024, +0x3c050004, 0xc0028eb, 0x34a5f005, 0x8ec20180, 0x24420001, 0xaec20180, +0x8ec20180, 0x10000039, 0x24020001, 0x30430003, 0x24020002, 0x10620016, +0x28620003, 0x10400005, 0x24020001, 0x10620008, 0x0, 0x10000023, +0x0, 0x24020003, 0x10620017, 0x0, 0x1000001e, 0x0, +0x8ec201e0, 0x8ec301e4, 0x24630001, 0x2c640001, 0x441021, 0xaec201e0, +0xaec301e4, 0x8ec201e0, 0x10000014, 0x8ec301e4, 0x8ec201e8, 0x8ec301ec, +0x24630001, 0x2c640001, 0x441021, 0xaec201e8, 0xaec301ec, 0x8ec201e8, +0x1000000a, 0x8ec301ec, 0x8ec201f0, 0x8ec301f4, 0x24630001, 0x2c640001, +0x441021, 0xaec201f0, 0xaec301f4, 0x8ec201f0, 0x8ec301f4, 0x8ec20078, +0x8ec401d8, 0x8ec501dc, 0x401821, 0x1021, 0xa32821, 0xa3302b, +0x822021, 0x862021, 0xaec401d8, 0xaec501dc, 0x24020001, 0xaec00078, +0x1000002f, 0xa2c20529, 0x3227ffff, 0x10e0002c, 0x0, 0x14400002, +0x24020016, 0x24020005, 0xafa20010, 0x8ec2001c, 0x8fa40028, 0x8fa5002c, +0xafa20014, 0x8ec2000c, 0xafa20018, 0x8ec60080, 0x8ec200a4, 0x40f809, +0x0, 0x1440000d, 0x3225ffff, 0x3c040001, 0x24842d14, 0x8fa8002c, +0x3c050004, 0xafa00014, 0xafa80010, 0x8ec6001c, 0x34a5f007, 0xc0028eb, +0x2203821, 0x10000030, 0x0, 0x8ec20080, 0x8ec40538, 0x451021, +0xaec20080, 0x8ec20078, 0x8ec30080, 0x451021, 0x64182b, 0x14600005, +0xaec20078, 0x8ec20080, 0x8ec3053c, 0x431023, 0xaec20080, 0xa2c00529, +0x8ec3001c, 0x96e20450, 0x24630001, 0x2442ffff, 0x621824, 0xaec3001c, +0x8ec3001c, 0x8ec20014, 0x14620017, 0x0, 0x8ec20000, 0x10400007, +0x2403fff7, 0xaf80004c, 0x8f82004c, 0x1040fffd, 0x0, 0x10000005, +0x0, 0xaf800048, 0x8f820048, 0x1040fffd, 0x0, 0x8f820060, +0x431024, 0xaf820060, 0x8ec20000, 0x10400003, 0x0, 0x10000002, +0xaf80004c, 0xaf800048, 0x8fbf0038, 0x8fb30034, 0x8fb10030, 0x3e00008, +0x27bd0040, 0x3e00008, 0x0, 0x27bdffd0, 0xafbf002c, 0xafb10028, +0x8ec3001c, 0x8ec20014, 0x106200f0, 0x0, 0x8ec2001c, 0x8ee304bc, +0x21100, 0x622821, 0x8caa0000, 0x8cab0004, 0x94a7000a, 0xafaa0020, +0xafab0024, 0x94b10008, 0x71ac2, 0x8ec20088, 0x3224ffff, 0x44102a, +0x10400017, 0x30680001, 0x8f8200d8, 0x8ec30080, 0x431023, 0x2442fff8, +0xaec20088, 0x8ec20088, 0x2842fff9, 0x10400005, 0x0, 0x8ec20088, +0x8ec3053c, 0x431021, 0xaec20088, 0x8ec20088, 0x44102a, 0x10400006, +0x0, 0x8ec202ac, 0x24420001, 0xaec202ac, 0x100000ca, 0x8ec202ac, +0x8f8400fc, 0x1080000c, 0x0, 0x8f8200f4, 0x2403fff8, 0x431024, +0x441023, 0x218c3, 0x50600001, 0x24030100, 0x8ec20070, 0x43102b, +0x14400006, 0x0, 0x8ec202a8, 0x24420001, 0xaec202a8, 0x100000b7, +0x8ec202a8, 0x92c20021, 0x1040000f, 0x0, 0x8ec2000c, 0x34460400, +0x30e20200, 0x1040000b, 0x0, 0x96e20452, 0x30420010, 0x10400007, +0x3c028000, 0xaec2052c, 0x94a2000e, 0x21400, 0x10000002, 0xaec20530, +0x8ec6000c, 0x8ec2001c, 0x8ee304bc, 0x8ec40074, 0x21100, 0x431021, +0xac44000c, 0x30e20004, 0x50400050, 0x3227ffff, 0x8ec2052c, 0x10400013, +0x0, 0x11000003, 0x3227ffff, 0x10000002, 0x24020018, 0x24020015, +0xafa20010, 0x8ec3001c, 0x8ec40530, 0x3c020002, 0xc21025, 0xafa20018, +0x641825, 0xafa30014, 0x8ec60080, 0x8ec200a4, 0x8fa40020, 0x10000010, +0x8fa50024, 0x11000003, 0x3227ffff, 0x10000002, 0x24020017, 0x24020006, +0xafa20010, 0x8ec2001c, 0x8fa40020, 0x8fa50024, 0x3c030002, 0xc31825, +0xafa30018, 0xafa20014, 0x8ec60080, 0x8ec200a4, 0x40f809, 0x0, +0x1440000b, 0x24030001, 0x8fab0024, 0xafab0010, 0x8ec20080, 0x3c040001, +0x24842cfc, 0x3c050004, 0xafa20014, 0x8ec60018, 0x10000037, 0x34a5f004, +0x8ec40070, 0x8ec20080, 0x8ec50538, 0x2406fff8, 0xa2c30021, 0xaec0052c, +0xaec00530, 0x24840001, 0xaec40070, 0x3224ffff, 0x441021, 0x24420007, +0x461024, 0x24840007, 0xaec20074, 0x8ec20088, 0x8ec30074, 0x862024, +0x441023, 0x65182b, 0x14600005, 0xaec20088, 0x8ec20074, 0x8ec3053c, +0x431023, 0xaec20074, 0x8ec20074, 0x1000002d, 0xaec20080, 0x10e0002b, +0x0, 0x15000002, 0x24020016, 0x24020005, 0xafa20010, 0x8ec2001c, +0x8fa40020, 0x8fa50024, 0xafa60018, 0xafa20014, 0x8ec60080, 0x8ec200a4, +0x40f809, 0x0, 0x1440000d, 0x3225ffff, 0x3c040001, 0x24842d14, +0x8faa0024, 0x3c050004, 0xafa00014, 0xafaa0010, 0x8ec60018, 0x34a5f007, +0xc0028eb, 0x2203821, 0x10000030, 0x0, 0x8ec20080, 0x8ec40538, +0x451021, 0xaec20080, 0x8ec20088, 0x8ec30080, 0xa2c00021, 0x451023, +0x64182b, 0x14600005, 0xaec20088, 0x8ec20080, 0x8ec3053c, 0x431023, +0xaec20080, 0x8ec3001c, 0x96e20450, 0x24630001, 0x2442ffff, 0x621824, +0xaec3001c, 0x8ec3001c, 0x8ec20014, 0x14620017, 0x0, 0x8ec20000, +0x10400007, 0x2403fff7, 0xaf80004c, 0x8f82004c, 0x1040fffd, 0x0, +0x10000005, 0x0, 0xaf800048, 0x8f820048, 0x1040fffd, 0x0, +0x8f820060, 0x431024, 0xaf820060, 0x8ec20000, 0x10400003, 0x0, +0x10000002, 0xaf80004c, 0xaf800048, 0x8fbf002c, 0x8fb10028, 0x3e00008, +0x27bd0030, 0x3e00008, 0x0, 0x27bdffd8, 0xafbf0024, 0xafb10020, +0x8f820100, 0x8ec300e0, 0x8f820104, 0x8f850108, 0x24020040, 0x24630001, +0x50620003, 0x1021, 0x8ec200e0, 0x24420001, 0xaec200e0, 0x8ec200e0, +0x8ec300e0, 0x210c0, 0x24426dc0, 0x2e22021, 0x8ec200dc, 0x8c870004, +0x14620007, 0xa03021, 0x8f820108, 0x24420020, 0xaf820108, 0x8f820108, +0x10000011, 0xac800000, 0x8ec200e0, 0x24030040, 0x24420001, 0x50430003, +0x1021, 0x8ec200e0, 0x24420001, 0x210c0, 0x24426dc0, 0x2e22021, +0x8c820004, 0x8f830108, 0x21140, 0x621821, 0xaf830108, 0xac800000, +0x8cc50018, 0x24a2fffb, 0x2c420002, 0x1040004c, 0x24a2ffea, 0x8cc2001c, +0x96e30450, 0x8ec40024, 0x24420001, 0x2463ffff, 0x431024, 0x872021, +0xaec20018, 0xaec40024, 0x8ec20024, 0x8f43023c, 0x43102b, 0x144000ec, +0x0, 0x96e20452, 0x8ed10018, 0x30420020, 0x1040001e, 0x24070008, +0x8ee40498, 0x8ee5049c, 0x8ec30008, 0x8f860120, 0x24020019, 0xafa20010, +0xafb10014, 0xafa30018, 0x8ec200a8, 0x40f809, 0x24c6001c, 0x1440000b, +0x24020001, 0x3c040001, 0x24842ca0, 0xafb10010, 0xafa00014, 0x8ec6002c, +0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f006, 0x1021, 0x1040004a, +0x24020001, 0x3c010001, 0x370821, 0x1000006f, 0xac2281d0, 0x8ee40498, +0x8ee5049c, 0x8ec30008, 0x8f860120, 0x24020012, 0xafa20010, 0xafb10014, +0xafa30018, 0x8ec200a8, 0x40f809, 0x24c6001c, 0x1440000b, 0x24020001, +0x3c040001, 0x24842ca0, 0xafb10010, 0xafa00014, 0x8ec6002c, 0x8f470228, +0x3c050009, 0xc0028eb, 0x34a5f006, 0x1021, 0x1040004f, 0x24020001, +0x10000051, 0x0, 0x2c420002, 0x10400062, 0x24a2fffe, 0x8cc2001c, +0x96e30450, 0x8ec40024, 0x24420001, 0x2463ffff, 0x431024, 0x872021, +0xaec20018, 0xaec40024, 0x96e20452, 0x8ed10018, 0x30420020, 0x10400023, +0x24070008, 0x8ee40498, 0x8ee5049c, 0x8ec30008, 0x8f860120, 0x24020019, +0xafa20010, 0xafb10014, 0xafa30018, 0x8ec200a8, 0x40f809, 0x24c6001c, +0x1440000b, 0x24020001, 0x3c040001, 0x24842ca0, 0xafb10010, 0xafa00014, +0x8ec6002c, 0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f006, 0x1021, +0x14400006, 0x24020001, 0x24020001, 0x3c010001, 0x370821, 0x10000031, +0xac2281d8, 0x3c010001, 0x370821, 0x10000021, 0xac2281d0, 0x8ee40498, +0x8ee5049c, 0x8ec30008, 0x8f860120, 0x24020012, 0xafa20010, 0xafb10014, +0xafa30018, 0x8ec200a8, 0x40f809, 0x24c6001c, 0x1440000b, 0x24020001, +0x3c040001, 0x24842ca0, 0xafb10010, 0xafa00014, 0x8ec6002c, 0x8f470228, +0x3c050009, 0xc0028eb, 0x34a5f006, 0x1021, 0x14400005, 0x24020001, +0x3c010001, 0x370821, 0x10000010, 0xac2281d4, 0x3c010001, 0x370821, +0xac2081d0, 0x3c010001, 0x370821, 0xac2081d8, 0x3c010001, 0x370821, +0xac2081d4, 0x8ec20264, 0xaec00024, 0xaed10028, 0x24420001, 0xaec20264, +0x8ec20264, 0x8ec20278, 0x24420001, 0xaec20278, 0x1000004b, 0x8ec20278, +0x2c420002, 0x10400027, 0x24030040, 0x8ec20034, 0x24420001, 0x50430003, +0x1021, 0x8ec20034, 0x24420001, 0xaec20034, 0x8ec20034, 0x21080, +0x571021, 0x8c440cc0, 0x24020003, 0x14a2000d, 0x0, 0x92c20065, +0x50400037, 0x36940040, 0x8ec202c0, 0x8ec3005c, 0x441021, 0xaec202c0, +0x8ec202c4, 0x641821, 0x306300ff, 0x10000009, 0xaec3005c, 0x8ec202bc, +0x8ec3003c, 0x441021, 0xaec202bc, 0x8ec202c4, 0x641821, 0x306301ff, +0xaec3003c, 0x441021, 0xaec202c4, 0x10000022, 0x36940040, 0x24020014, +0x14a20014, 0x24020010, 0x3c020001, 0x8c4231d4, 0x1040000a, 0x26e50028, +0x26c40128, 0x240300ff, 0x2406ffff, 0x8ca20000, 0x24a50004, 0x2463ffff, +0xac820000, 0x1466fffb, 0x24840004, 0x8ec20240, 0xa2c00528, 0x24420001, +0xaec20240, 0x1000000c, 0x8ec20240, 0x10a2000a, 0x3c050008, 0x94c7000e, +0x8cc2001c, 0x3c040001, 0x24842d20, 0xafa60014, 0xafa20010, 0x8cc60018, +0xc0028eb, 0x34a50910, 0x8fbf0024, 0x8fb10020, 0x3e00008, 0x27bd0028, +0x3e00008, 0x0, 0x27bdff80, 0xafbf0078, 0xafbe0074, 0xafb50070, +0xafb3006c, 0xafb10068, 0x8f820104, 0x8f950108, 0xafa00034, 0x12a2039b, +0xafa0003c, 0x8f820108, 0x24420020, 0xaf820108, 0x8ead0018, 0xafad0044, +0x8f820108, 0x39a30015, 0x2c630001, 0x39a20018, 0x2c420001, 0x621825, +0x10600009, 0x3c0d8000, 0x8ea2001c, 0x3c03ffff, 0xafad0034, 0x431824, +0x3042ffff, 0xafa3003c, 0x10000009, 0xaea2001c, 0x8fad0044, 0x39a30006, +0x2c630001, 0x39a20017, 0x2c420001, 0x621825, 0x1060028d, 0x24020005, +0x96a20016, 0x8ead001c, 0xaea20014, 0xafad0054, 0x8ee204bc, 0xd1900, +0x8ee404bc, 0x621021, 0x9442000a, 0xafa2004c, 0x92c20090, 0x641821, +0x14400003, 0x8c71000c, 0xaed1009c, 0xaecd0094, 0x8ec20538, 0x2625000c, +0xa2102b, 0x14400003, 0x0, 0x8ec2053c, 0xa22823, 0x94a30000, +0x24020800, 0x1462014c, 0x0, 0x8fad004c, 0x31a20002, 0x10400045, +0x9821, 0x96e20452, 0x30420002, 0x10400041, 0x2629000e, 0x8ec60538, +0x8ec7053c, 0x126102b, 0x50400001, 0x1274823, 0x25220014, 0x46102b, +0x10400027, 0x24030005, 0x91220000, 0x3042000f, 0x14430024, 0x1202021, +0x952a0000, 0x25290002, 0x95280000, 0x25290002, 0x95270000, 0x25290002, +0x95260000, 0x25290002, 0x95250000, 0x25290002, 0x95230000, 0x25290002, +0x95220000, 0x25290002, 0x95240000, 0x25290002, 0x1485021, 0x1475021, +0x1465021, 0x1455021, 0x1435021, 0x1425021, 0x95220000, 0x95230002, +0x1445021, 0x1425021, 0x1435021, 0xa1c02, 0x3142ffff, 0x625021, +0xa1c02, 0x3142ffff, 0x10000008, 0x625021, 0x1202021, 0x90850000, +0x8ec200ac, 0x30a5000f, 0x40f809, 0x52840, 0x304affff, 0x8ec20538, +0x26250018, 0xa2102b, 0x14400003, 0x3153ffff, 0x8ec2053c, 0xa22823, +0x131027, 0xa4a20000, 0x8fad004c, 0x31a20001, 0x10400101, 0x0, +0x96e20452, 0x30420001, 0x104000fd, 0x31a20080, 0x10400008, 0x0, +0x92c20090, 0x14400005, 0x24020001, 0xa2c20090, 0x8fad0054, 0xaed1009c, +0xaecd0094, 0x8ec3009c, 0x8ec20538, 0x24650017, 0xa2102b, 0x14400003, +0x0, 0x8ec2053c, 0xa22823, 0x90a50000, 0xa3a5005f, 0x93a6005f, +0x38c30006, 0x3182b, 0x38c20011, 0x2102b, 0x621824, 0x1060000c, +0x3c050008, 0x8fad0054, 0xafad0010, 0x8ec2009c, 0x3c040001, 0x24842d2c, +0xafa20014, 0x8ec70094, 0xc0028eb, 0x34a5f055, 0x100000d7, 0x0, +0x96e20452, 0x30420008, 0x1040000c, 0x2625000e, 0x8ec20538, 0xa2102b, +0x14400003, 0xf021, 0x8ec2053c, 0xa22823, 0x90a20000, 0x3042000f, +0x21080, 0x10000068, 0xafa20028, 0x8ec20094, 0x8fad0054, 0x11a20013, +0x26240010, 0x8ec30538, 0x8ec5053c, 0x83102b, 0x14400002, 0x2626000e, +0x852023, 0x94870000, 0xc02021, 0x83102b, 0x50400001, 0x852023, +0x90820000, 0x3042000f, 0x21080, 0xe21823, 0x307effff, 0x10000052, +0xafa20028, 0x8ec30538, 0x2625000e, 0x8ec4053c, 0xa3102b, 0x50400001, +0xa42823, 0x24a20014, 0x43102b, 0x10400015, 0xa03821, 0x90a20000, +0x94a30002, 0x3042000f, 0x21080, 0x623023, 0xafa20028, 0x90a30009, +0x24a5000c, 0x94a20000, 0x24a50002, 0x94a40000, 0x24a50002, 0xc33021, +0xc23021, 0x94a20000, 0x94a30002, 0xc43021, 0xc23021, 0x1000002d, +0xc33021, 0x24a50002, 0xa3102b, 0x50400001, 0xa42823, 0x94a60000, +0xe02821, 0xa3102b, 0x50400001, 0xa42823, 0x90a20000, 0x24e50009, +0x3042000f, 0x21080, 0xc23023, 0xafa20028, 0xa3102b, 0x50400001, +0xa42823, 0x90a20000, 0x24e5000c, 0xc23021, 0xa3102b, 0x50400001, +0xa42823, 0x94a20000, 0x24a50002, 0xc23021, 0xa3102b, 0x50400001, +0xa42823, 0x94a20000, 0x24a50002, 0xc23021, 0xa3102b, 0x50400001, +0xa42823, 0x94a20000, 0x24a50002, 0xc23021, 0xa3102b, 0x50400001, +0xa42823, 0x94a20000, 0xc23021, 0x61c02, 0x30c2ffff, 0x623021, +0x61402, 0x30c3ffff, 0x431021, 0x305effff, 0x8ec60538, 0x8ec7053c, +0x226102b, 0x14400002, 0x2204021, 0x2274023, 0x2502000e, 0x46102b, +0x1040001a, 0x1002021, 0x95060000, 0x25080002, 0x95050000, 0x25080002, +0x95030000, 0x25080002, 0x95020000, 0x25080002, 0x95040000, 0x25080002, +0xc53021, 0xc33021, 0xc23021, 0x95020000, 0x95030002, 0xc43021, +0xc23021, 0xc33021, 0x61c02, 0x30c2ffff, 0x623021, 0x61c02, +0x30c2ffff, 0x10000005, 0x623021, 0x8ec200ac, 0x40f809, 0x24050007, +0x3046ffff, 0x30c2ffff, 0x2629821, 0x131c02, 0x3262ffff, 0x629821, +0x131c02, 0x8ea40014, 0x3262ffff, 0x629821, 0x9e2021, 0x41c02, +0x3082ffff, 0x622021, 0x932023, 0x41402, 0x822021, 0x3084ffff, +0x50800001, 0x3404ffff, 0x93a3005f, 0x24020006, 0x14620006, 0x0, +0x8fa20028, 0x8ec3009c, 0x431021, 0x10000005, 0x2445001e, 0x8fa20028, +0x8ec3009c, 0x431021, 0x24450014, 0x8ec20538, 0xa2102b, 0x14400003, +0x0, 0x8ec2053c, 0xa22823, 0x8ec20094, 0x8fad0054, 0x11a20006, +0x0, 0x94a20000, 0x822021, 0x41c02, 0x3082ffff, 0x622021, +0x8fad004c, 0x31a20100, 0x14400005, 0x41027, 0x92c20090, 0x54400004, +0xa4a40000, 0x41027, 0x3044ffff, 0xa4a40000, 0x96a3000e, 0x8ec20078, +0x431021, 0xaec20078, 0xafb10020, 0x8ec30078, 0x8fad0034, 0x11a00007, +0xafa30024, 0x8fad003c, 0x3c024000, 0x2221025, 0xafa20020, 0x6d1025, +0xafa20024, 0x8fad004c, 0x31a20080, 0x1040000c, 0x31a20100, 0x8ee279cc, +0x24430001, 0x210c0, 0x571021, 0xaee379cc, 0x8fa30020, 0x8fa40024, +0xac4379d0, 0xac4479d4, 0x100000ba, 0xaec00078, 0x1040006b, 0x0, +0x8ee279cc, 0x24430001, 0x210c0, 0x571021, 0xaee379cc, 0x8fa30020, +0x8fa40024, 0xac4379d0, 0xac4479d4, 0x8ee279cc, 0x10400058, 0x4821, +0x3c0a001f, 0x354affff, 0x240cffff, 0x340bffff, 0x4021, 0x8f8700fc, +0x1173021, 0x14e00007, 0x24c679d0, 0x8ec202a8, 0x1821, 0x24420001, +0xaec202a8, 0x10000008, 0x8ec202a8, 0x8cc20000, 0x8cc30004, 0xace20000, +0xace30004, 0x24e20008, 0xaf8200f0, 0x24030001, 0x14600006, 0x2e81021, +0x8ec20180, 0x24420001, 0xaec20180, 0x10000036, 0x8ec20180, 0x944279d6, +0x8ec401d8, 0x8ec501dc, 0x401821, 0x1021, 0xa32821, 0xa3302b, +0x822021, 0x862021, 0x2e81021, 0xaec401d8, 0xaec501dc, 0x8c4279d0, +0x4a1824, 0x90620000, 0x30420001, 0x1040001b, 0x0, 0x8c620000, +0x144c000e, 0x0, 0x94620004, 0x144b000b, 0x0, 0x8ec201f0, +0x8ec301f4, 0x24630001, 0x2c640001, 0x441021, 0xaec201f0, 0xaec301f4, +0x8ec201f0, 0x10000014, 0x8ec301f4, 0x8ec201e8, 0x8ec301ec, 0x24630001, +0x2c640001, 0x441021, 0xaec201e8, 0xaec301ec, 0x8ec201e8, 0x1000000a, +0x8ec301ec, 0x8ec201e0, 0x8ec301e4, 0x24630001, 0x2c640001, 0x441021, +0xaec201e0, 0xaec301e4, 0x8ec201e0, 0x8ec301e4, 0x8ee279cc, 0x25290001, +0x122102b, 0x1440ffaf, 0x25080008, 0x8ec20070, 0xa2c00090, 0x8ee379cc, +0x431023, 0xaec20070, 0x1000004d, 0xaee079cc, 0x8f8600fc, 0x14c00007, +0x0, 0x8ec202a8, 0x1821, 0x24420001, 0xaec202a8, 0x10000008, +0x8ec202a8, 0x8fa20020, 0x8fa30024, 0xacc20000, 0xacc30004, 0x24c20008, +0xaf8200f0, 0x24030001, 0x14600006, 0x0, 0x8ec20180, 0x24420001, +0xaec20180, 0x10000033, 0x8ec20180, 0x8ec20078, 0x8ec401d8, 0x8ec501dc, +0x401821, 0x1021, 0xa32821, 0xa3302b, 0x822021, 0x862021, +0xaec401d8, 0xaec501dc, 0x92220000, 0x30420001, 0x1040001b, 0x2402ffff, +0x8e230000, 0x1462000e, 0x3402ffff, 0x96230004, 0x1462000b, 0x0, +0x8ec201f0, 0x8ec301f4, 0x24630001, 0x2c640001, 0x441021, 0xaec201f0, +0xaec301f4, 0x8ec201f0, 0x10000014, 0x8ec301f4, 0x8ec201e8, 0x8ec301ec, +0x24630001, 0x2c640001, 0x441021, 0xaec201e8, 0xaec301ec, 0x8ec201e8, +0x1000000a, 0x8ec301ec, 0x8ec201e0, 0x8ec301e4, 0x24630001, 0x2c640001, +0x441021, 0xaec201e0, 0xaec301e4, 0x8ec201e0, 0x8ec301e4, 0x8ec20070, +0x2442ffff, 0xaec20070, 0xaec00078, 0x8ea2001c, 0x96e30450, 0x8ec40024, +0x24420001, 0x2463ffff, 0x431024, 0x24840001, 0xaec20018, 0xaec40024, +0x8f42023c, 0x82202b, 0x10800006, 0x0, 0x8fad0044, 0x25a2ffe9, +0x2c420002, 0x1040012f, 0x0, 0x96e20452, 0x8ed10018, 0x30420020, +0x1040001e, 0x24070008, 0x8ee40498, 0x8ee5049c, 0x8ec30008, 0x8f860120, +0x24020019, 0xafa20010, 0xafb10014, 0xafa30018, 0x8ec200a8, 0x40f809, +0x24c6001c, 0x1440000b, 0x24020001, 0x3c040001, 0x24842ca0, 0xafb10010, +0xafa00014, 0x8ec6002c, 0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f006, +0x1021, 0x1040008f, 0x24020001, 0x3c010001, 0x370821, 0x100000b4, +0xac2281d0, 0x8ee40498, 0x8ee5049c, 0x8ec30008, 0x8f860120, 0x24020012, +0xafa20010, 0xafb10014, 0xafa30018, 0x8ec200a8, 0x40f809, 0x24c6001c, +0x1440000b, 0x24020001, 0x3c040001, 0x24842ca0, 0xafb10010, 0xafa00014, +0x8ec6002c, 0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f006, 0x1021, +0x10400094, 0x24020001, 0x10000096, 0x0, 0x15a20043, 0x24020016, +0x96a3000e, 0x8ec20078, 0x8ec40024, 0x431021, 0xaec20078, 0x8ea3001c, +0x96e20450, 0x24840001, 0xaec40024, 0x24630001, 0x2442ffff, 0x621824, +0xaec30018, 0x8f42023c, 0x82202b, 0x148000df, 0x0, 0x96e20452, +0x8ed10018, 0x30420020, 0x1040001e, 0x24070008, 0x8ee40498, 0x8ee5049c, +0x8ec30008, 0x8f860120, 0x24020019, 0xafa20010, 0xafb10014, 0xafa30018, +0x8ec200a8, 0x40f809, 0x24c6001c, 0x1440000b, 0x24020001, 0x3c040001, +0x24842ca0, 0xafb10010, 0xafa00014, 0x8ec6002c, 0x8f470228, 0x3c050009, +0xc0028eb, 0x34a5f006, 0x1021, 0x1040003f, 0x24020001, 0x3c010001, +0x370821, 0x10000064, 0xac2281d0, 0x8ee40498, 0x8ee5049c, 0x8ec30008, +0x8f860120, 0x24020012, 0xafa20010, 0xafb10014, 0xafa30018, 0x8ec200a8, +0x40f809, 0x24c6001c, 0x1040ffb1, 0x0, 0x1000ffb9, 0x24020001, +0x8fad0044, 0x15a20063, 0x25a2fffe, 0x96a3000e, 0x8ec20078, 0x431021, +0xaec20078, 0x8ea3001c, 0x96e20450, 0x24630001, 0x2442ffff, 0x621824, +0xaec30018, 0x96e20452, 0x8ed10018, 0x30420020, 0x10400023, 0x24070008, +0x8ee40498, 0x8ee5049c, 0x8ec30008, 0x8f860120, 0x24020019, 0xafa20010, +0xafb10014, 0xafa30018, 0x8ec200a8, 0x40f809, 0x24c6001c, 0x1440000b, +0x24020001, 0x3c040001, 0x24842ca0, 0xafb10010, 0xafa00014, 0x8ec6002c, +0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f006, 0x1021, 0x14400006, +0x24020001, 0x24020001, 0x3c010001, 0x370821, 0x10000031, 0xac2281d8, +0x3c010001, 0x370821, 0x10000021, 0xac2281d0, 0x8ee40498, 0x8ee5049c, +0x8ec30008, 0x8f860120, 0x24020012, 0xafa20010, 0xafb10014, 0xafa30018, +0x8ec200a8, 0x40f809, 0x24c6001c, 0x1440000b, 0x24020001, 0x3c040001, +0x24842ca0, 0xafb10010, 0xafa00014, 0x8ec6002c, 0x8f470228, 0x3c050009, +0xc0028eb, 0x34a5f006, 0x1021, 0x14400005, 0x24020001, 0x3c010001, +0x370821, 0x10000010, 0xac2281d4, 0x3c010001, 0x370821, 0xac2081d0, +0x3c010001, 0x370821, 0xac2081d8, 0x3c010001, 0x370821, 0xac2081d4, +0x8ec20264, 0xaec00024, 0xaed10028, 0x24420001, 0xaec20264, 0x8ec20264, +0x8ec20278, 0x24420001, 0xaec20278, 0x10000049, 0x8ec20278, 0x2c420002, +0x10400028, 0x24030040, 0x8ec20034, 0x24420001, 0x50430003, 0x1021, +0x8ec20034, 0x24420001, 0xaec20034, 0x8ec20034, 0x8ea30018, 0x21080, +0x571021, 0x8c440cc0, 0x24020003, 0x1462000d, 0x0, 0x92c20065, +0x50400034, 0x36940040, 0x8ec202c0, 0x8ec3005c, 0x441021, 0xaec202c0, +0x8ec202c4, 0x641821, 0x306300ff, 0x10000009, 0xaec3005c, 0x8ec202bc, +0x8ec3003c, 0x441021, 0xaec202bc, 0x8ec202c4, 0x641821, 0x306301ff, +0xaec3003c, 0x441021, 0xaec202c4, 0x1000001f, 0x36940040, 0x8fad0044, +0x24020014, 0x15a20010, 0x24020010, 0x3c020001, 0x8c4231d4, 0x10400017, +0x26e50028, 0x26c40128, 0x240300ff, 0x2406ffff, 0x8ca20000, 0x24a50004, +0x2463ffff, 0xac820000, 0x1466fffb, 0x24840004, 0x1000000c, 0x0, +0x11a2000a, 0x3c050008, 0x96a7000e, 0x8ea2001c, 0x3c040001, 0x24842d20, +0xafb50014, 0xafa20010, 0x8ea60018, 0xc0028eb, 0x34a50910, 0x8fbf0078, +0x8fbe0074, 0x8fb50070, 0x8fb3006c, 0x8fb10068, 0x3e00008, 0x27bd0080, +0x3e00008, 0x0, 0x803821, 0x8f8600e4, 0x8f8400e0, 0x2402fff8, +0x8cc30004, 0x822024, 0x10c4000d, 0x3c020100, 0x3c050100, 0x651024, +0x1040000c, 0x27623ff8, 0x14c20002, 0x24c20008, 0x27623000, 0x403021, +0x8cc30004, 0x14c4fff8, 0x651024, 0x3c020100, 0x621024, 0x14400007, +0x0, 0x8cc20000, 0x8cc30004, 0xace20000, 0xace30004, 0x10000003, +0x24020001, 0xaf8600e8, 0x1021, 0x3e00008, 0x0, 0x3e00008, +0x0, 0x8f8300e4, 0x8f8500e0, 0x2402fff8, 0x8c640004, 0xa22824, +0x1065000d, 0x3c020100, 0x3c060100, 0x861024, 0x10400008, 0x27623ff8, +0x14620002, 0x24620008, 0x27623000, 0x401821, 0x8c640004, 0x1465fff8, +0x861024, 0x3c020100, 0xac620004, 0xaf8300e8, 0x54650001, 0x24630008, +0xaf8300e4, 0x3e00008, 0x0, 0x3e00008, 0x0, 0x8f8600e4, +0x8f8200e0, 0x2403fff8, 0x431024, 0x14c20003, 0x803821, 0x10000006, +0x1021, 0x8cc20000, 0x8cc30004, 0xace20000, 0xace30004, 0x24020001, +0x3e00008, 0x0, 0x3e00008, 0x0, 0x8f8300e4, 0x27623ff8, +0x14620002, 0x24620008, 0x27623000, 0x401821, 0xaf8300e8, 0xaf8300e4, +0x3e00008, 0x0, 0x3e00008, 0x0, 0x8f8400e0, 0x8f8800c4, +0x8f8300e8, 0x2402fff8, 0x823824, 0xe32023, 0x2c821000, 0x50400001, +0x24841000, 0x420c2, 0x801821, 0x8ec401c0, 0x8ec501c4, 0x1021, +0xa32821, 0xa3302b, 0x822021, 0x862021, 0xaec401c0, 0xaec501c4, +0x8f8300c8, 0x8ec20540, 0x1032023, 0x82102b, 0x14400004, 0x801821, +0x8ec20540, 0x822021, 0x801821, 0x8ec401b8, 0x8ec501bc, 0x1021, +0xa32821, 0xa3302b, 0x822021, 0x862021, 0xaec401b8, 0xaec501bc, +0xaf8800c8, 0xaf8700e4, 0xaf8700e8, 0x3e00008, 0x0, 0x27bdff70, +0xafbf0088, 0xafbe0084, 0xafb50080, 0xafb3007c, 0xafb10078, 0x92c200ed, +0xa3a0004f, 0x1040000b, 0xa3a00067, 0x8ecd00f0, 0xafad0034, 0x8ece00f4, +0xafae002c, 0x8ecd00fc, 0x8ed500f8, 0xafad006c, 0x8ece0100, 0x100000d9, +0xafae003c, 0x3c020001, 0x8c4233b8, 0x40f809, 0x27a40020, 0x1040026e, +0x0, 0x8fa30024, 0x8fb50020, 0x306dffff, 0x25adfffc, 0xafad0034, +0x92a20000, 0xafb5002c, 0x30420001, 0x10400017, 0xafa3006c, 0x8ec2011c, +0x3c03ffff, 0x431024, 0x14400012, 0x2402ffff, 0x8ea30000, 0x14620004, +0x3402ffff, 0x96a30004, 0x1062000c, 0x0, 0xc0022ad, 0x2a02021, +0x304200ff, 0x14400007, 0x0, 0x3c020001, 0x8c4233b0, 0x40f809, +0x0, 0x1000024e, 0x0, 0x8fa20024, 0x3c03ffbf, 0x3463ffff, +0x431024, 0x3c03ffff, 0x432824, 0x14a00003, 0xafa20024, 0x10000053, +0x1821, 0x3c020080, 0xa21024, 0x50400007, 0x3c040040, 0x8ec202e4, +0x24420001, 0xaec202e4, 0x8ec202e4, 0x10000049, 0x24030001, 0x3c070004, +0x3c0c0001, 0x3c0b0002, 0x3c060010, 0x3c0a0008, 0x8ec20178, 0x3c090020, +0x34088000, 0x24420001, 0xaec20178, 0x8ec20178, 0x851824, 0x10670021, +0xe3102b, 0x14400007, 0x0, 0x106c0011, 0x0, 0x106b0015, +0x0, 0x10000030, 0x42042, 0x10660023, 0xc3102b, 0x14400005, +0x0, 0x106a0019, 0x0, 0x10000028, 0x42042, 0x10690021, +0x0, 0x10000024, 0x42042, 0x8ec2012c, 0x24420001, 0xaec2012c, +0x8ec2012c, 0x1000001e, 0x42042, 0x8ec202d4, 0x24420001, 0xaec202d4, +0x8ec202d4, 0x10000018, 0x42042, 0x8ec202d8, 0x24420001, 0xaec202d8, +0x8ec202d8, 0x10000012, 0x42042, 0x8ec202dc, 0x24420001, 0xaec202dc, +0x8ec202dc, 0x1000000c, 0x42042, 0x8ec20128, 0x24420001, 0xaec20128, +0x8ec20128, 0x10000006, 0x42042, 0x8ec202e0, 0x24420001, 0xaec202e0, +0x8ec202e0, 0x42042, 0x1488ffc6, 0x851824, 0x24030001, 0x8f420260, +0x8fae0034, 0x4e102b, 0x10400015, 0x306400ff, 0x8f8200e0, 0xafa20010, +0x8f8200e4, 0x3c040001, 0x24842dfc, 0xafa20014, 0x8fa60020, 0x8fa70024, +0x3c050006, 0xc0028eb, 0x34a5f003, 0x8ec30150, 0x8fad006c, 0x3c020100, +0x24040001, 0x1a26825, 0x24630001, 0xafad006c, 0xaec30150, 0x8ec20150, +0x1080000f, 0x0, 0x8f420218, 0x30420800, 0x1440000b, 0x3c020180, +0x8fae006c, 0x1c21024, 0x10400005, 0x0, 0x8ec20174, 0x24420001, +0xaec20174, 0x8ec20174, 0x100001bd, 0x8fa30034, 0x8f420218, 0x30420400, +0x10400004, 0x0, 0x8fad0034, 0x25ad0004, 0xafad0034, 0x8ec20050, +0x5040001d, 0xafa0003c, 0x8fae0034, 0x4e102b, 0x50400019, 0xafa0003c, +0x8ec20050, 0x1c21023, 0xafa2003c, 0x8ecd0050, 0x10000013, 0xafad0034, +0x8ec2005c, 0xafa20010, 0x8ec20060, 0x3c040001, 0x24842e08, 0xafa20014, +0x8ec6003c, 0x8ec70044, 0x3c050006, 0xc0028eb, 0x34a5f002, 0x8ec202b4, +0x2403ffbf, 0x283a024, 0x24420001, 0xaec202b4, 0x10000172, 0x8ec202b4, +0x96e20460, 0x8fae0034, 0x4e102b, 0x10400004, 0x0, 0x240d0001, +0xa3ad004f, 0x8fae0034, 0x11c00189, 0x3c02ffff, 0x8fad006c, 0x1a21024, +0xafa20074, 0x8ec20068, 0x8f430280, 0x24420001, 0x304203ff, 0x1062015f, +0x0, 0x93a2004f, 0x10400015, 0x0, 0x8ec3005c, 0x8ec20060, +0x1062000a, 0x26ce0060, 0x8ec60060, 0xafae0054, 0x8ec30060, 0x21140, +0x24424dc0, 0x2e28821, 0x24630001, 0x10000014, 0x306300ff, 0x92c20064, +0x1440ffc9, 0x0, 0x8ec202c8, 0x24420001, 0xaec202c8, 0x8ec202c8, +0x8ec3003c, 0x8ec20044, 0x1062ffc1, 0x26cd0044, 0x8ec60044, 0xafad0054, +0x8ec30044, 0x21140, 0x24420dc0, 0x2e28821, 0x24630001, 0x306301ff, +0xafa3005c, 0x96e20462, 0x30420010, 0x1040001a, 0x340e8100, 0x96a2000c, +0x144e0017, 0x0, 0x92c200ed, 0x14400014, 0x0, 0x96a2000e, +0xa6220016, 0x8ea20008, 0x8ea30004, 0x8fad0034, 0x8ea40000, 0x25adfffc, +0xafad0034, 0xaea2000c, 0xaea30008, 0xaea40004, 0x9622000e, 0x8fae002c, +0x240d0001, 0xa3ad0067, 0x25ce0004, 0x34420200, 0xafae002c, 0xa622000e, +0x9627000a, 0x8fae0034, 0xee102b, 0x14400002, 0x30f3fff8, 0x8fb30034, +0x8e240000, 0x8e250004, 0x8fad002c, 0x24020007, 0xae2d0018, 0xafa20010, +0xafa60014, 0x8ec20004, 0x8fa6002c, 0xafa20018, 0x8ec200a8, 0x40f809, +0x2603821, 0x1440001a, 0x3c050006, 0x3c040001, 0x24842e14, 0x8e220018, +0x34a5f009, 0xafa20010, 0x8e220000, 0x8e230004, 0x2203021, 0x2603821, +0xc0028eb, 0xafa30014, 0x93a20067, 0x104000fb, 0x0, 0x8ea20004, +0x8ea30008, 0x8ea4000c, 0x340e8100, 0xa6ae000c, 0xaea20000, 0xaea30004, +0xaea40008, 0x96220016, 0x100000f0, 0xa6a2000e, 0x8fad0034, 0x166d0089, +0x0, 0x962e000a, 0xafae0044, 0x8fae003c, 0x9623000e, 0x1ae1021, +0xa622000a, 0x34620004, 0xa622000e, 0x8fad0074, 0x11a00006, 0x307effff, +0x34620404, 0xa622000e, 0x8fae006c, 0xe1402, 0xa6220014, 0x8ec30068, +0x8ee40478, 0x8ee5047c, 0x24020004, 0xafa20010, 0x8ec20068, 0x2203021, +0x24070020, 0xafa20014, 0x8ec20008, 0x31940, 0x604821, 0xafa20018, +0x8ec200a8, 0x4021, 0xa92821, 0xa9182b, 0x882021, 0x40f809, +0x832021, 0x54400018, 0xa2c000ed, 0x97ad0046, 0xa63e000e, 0xa62d000a, +0x8f820100, 0xafa20010, 0x8f820104, 0x3c040001, 0x24842e20, 0x3c050006, +0xafa20014, 0x8ec60068, 0x34a5f00b, 0xc0028eb, 0x2203821, 0x93a20067, +0x104000b6, 0x0, 0x8ea20004, 0x8ea30008, 0x8ea4000c, 0x340e8100, +0x10000083, 0xa6ae000c, 0x8fae005c, 0x8fad0054, 0xadae0000, 0x8ec202c4, +0x8ec30068, 0x2442ffff, 0xaec202c4, 0x8ec202c4, 0x24630001, 0x306303ff, +0x26c20060, 0x15a20006, 0xaec30068, 0x8ec202c0, 0x2442ffff, 0xaec202c0, +0x10000005, 0x8ec202c0, 0x8ec202bc, 0x2442ffff, 0xaec202bc, 0x8ec202bc, +0x8ec20048, 0x24420001, 0xaec20048, 0x8f430240, 0x43102b, 0x54400090, +0xafa00034, 0x8ed10068, 0x8ee40490, 0x8ee50494, 0x8ec30008, 0x8f860120, +0x24020013, 0xafa20010, 0xafb10014, 0xafa30018, 0x8ec200a8, 0x24070008, +0x40f809, 0x24c6001c, 0x1440000b, 0x24020001, 0x3c040001, 0x24842dac, +0xafb10010, 0xafa00014, 0x8ec60068, 0x8f470228, 0x3c050009, 0xc0028eb, +0x34a5f008, 0x1021, 0x14400005, 0x24020001, 0x3c010001, 0x370821, +0x1000000a, 0xac2281e0, 0x3c010001, 0x370821, 0xac2081e0, 0x8ec20268, +0xaec00048, 0xaed1006c, 0x24420001, 0xaec20268, 0x8ec20268, 0x8ec2027c, +0x24420001, 0xaec2027c, 0x8ec2027c, 0x10000062, 0xafa00034, 0x962d000a, +0xafad0044, 0x9622000e, 0xa633000a, 0x8fae0074, 0x11c00006, 0x305effff, +0x34420400, 0xa622000e, 0x8fad006c, 0xd1402, 0xa6220014, 0x8ec30068, +0x8ee40478, 0x8ee5047c, 0x24020004, 0xafa20010, 0x8ec20068, 0x2203021, +0x24070020, 0xafa20014, 0x8ec20008, 0x31940, 0x604821, 0xafa20018, +0x8ec200a8, 0x4021, 0xa92821, 0xa9182b, 0x882021, 0x40f809, +0x832021, 0x1440001f, 0x3c04001f, 0x97ae0046, 0xa63e000e, 0xa62e000a, +0x8f820100, 0xafa20010, 0x8f820104, 0x3c040001, 0x24842e20, 0x3c050006, +0xafa20014, 0x8ec60068, 0x34a5f00d, 0xc0028eb, 0x2203821, 0x93a20067, +0x10400032, 0x340d8100, 0x8ea20004, 0x8ea30008, 0x8ea4000c, 0xa6ad000c, +0xaea20000, 0xaea30004, 0xaea40008, 0x96220016, 0xa6a2000e, 0x9622000e, +0x3042fdff, 0x10000025, 0xa622000e, 0x8ec202c4, 0x8fae002c, 0x3484ffff, +0x1d37021, 0x2442ffff, 0xafae002c, 0xaec202c4, 0x8ec202c4, 0x8ec302bc, +0x24020001, 0x8e202b, 0xa2c200ed, 0x2463ffff, 0xaec302bc, 0x10800004, +0x8ec202bc, 0x8ec20540, 0x1c27023, 0xafae002c, 0x8fad0034, 0x8fae0054, +0x1b36823, 0xafad0034, 0x8fad005c, 0xadcd0000, 0x8ec20068, 0xa3a0004f, +0x8ec30048, 0x24420001, 0x304203ff, 0x24630001, 0xaec20068, 0xaec30048, +0x8fae0034, 0x15c0fe9d, 0x0, 0x8fad0034, 0x11a0001f, 0x0, +0xaecd00f0, 0x8fae002c, 0xaece00f4, 0xaed500f8, 0x93a20067, 0x10400004, +0x0, 0x8ec200f8, 0x24420004, 0xaec200f8, 0x8fad006c, 0x8ec20068, +0xaecd00fc, 0x8fae003c, 0xaece0100, 0x8f430280, 0x24420001, 0x304203ff, +0x14620006, 0x0, 0x8ec202b8, 0x24420001, 0xaec202b8, 0x10000016, +0x8ec202b8, 0x8ec202b0, 0x24420001, 0xaec202b0, 0x10000011, 0x8ec202b0, +0x8fad006c, 0x31a4ffff, 0x2484fffc, 0x801821, 0x8ec401b8, 0x8ec501bc, +0x3c060001, 0x8cc633b0, 0x1021, 0xa32821, 0xa3382b, 0x822021, +0x872021, 0xaec401b8, 0xc0f809, 0xaec501bc, 0x8fbf0088, 0x8fbe0084, +0x8fb50080, 0x8fb3007c, 0x8fb10078, 0x3e00008, 0x27bd0090, 0x3e00008, +0x0, 0x27bdff90, 0xafbf0068, 0xafbe0064, 0xafb50060, 0xafb3005c, +0xafb10058, 0x92c200ed, 0xafa0002c, 0x10400007, 0xa3a00037, 0x8ecf00fc, +0x8ec800f0, 0x8ec900f4, 0x8ed500f8, 0x100000d1, 0xafaf003c, 0x3c020001, +0x8c4233b8, 0x40f809, 0x27a40020, 0x104001ae, 0x0, 0x8fa30024, +0x8fb50020, 0x3068ffff, 0x92a20000, 0x2508fffc, 0x2a04821, 0x30420001, +0x1040001a, 0xafa3003c, 0x8ec2011c, 0x3c03ffff, 0x431024, 0x14400015, +0x2402ffff, 0x8ea30000, 0x14620005, 0x2a02021, 0x96a30004, 0x3402ffff, +0x1062000e, 0x0, 0xafa80048, 0xc0022ad, 0xafa9004c, 0x304200ff, +0x8fa80048, 0x14400007, 0x8fa9004c, 0x3c020001, 0x8c4233b0, 0x40f809, +0x0, 0x1000018c, 0x0, 0x8fa20024, 0x3c03ffbf, 0x3463ffff, +0x431024, 0x3c03ffff, 0x432824, 0x14a00003, 0xafa20024, 0x10000053, +0x1821, 0x3c020080, 0xa21024, 0x50400007, 0x3c040040, 0x8ec202e4, +0x24420001, 0xaec202e4, 0x8ec202e4, 0x10000049, 0x24030001, 0x3c070004, +0x3c0e0001, 0x3c0d0002, 0x3c060010, 0x3c0c0008, 0x8ec20178, 0x3c0b0020, +0x340a8000, 0x24420001, 0xaec20178, 0x8ec20178, 0x851824, 0x10670021, +0xe3102b, 0x14400007, 0x0, 0x106e0011, 0x0, 0x106d0015, +0x0, 0x10000030, 0x42042, 0x10660023, 0xc3102b, 0x14400005, +0x0, 0x106c0019, 0x0, 0x10000028, 0x42042, 0x106b0021, +0x0, 0x10000024, 0x42042, 0x8ec2012c, 0x24420001, 0xaec2012c, +0x8ec2012c, 0x1000001e, 0x42042, 0x8ec202d4, 0x24420001, 0xaec202d4, +0x8ec202d4, 0x10000018, 0x42042, 0x8ec202d8, 0x24420001, 0xaec202d8, +0x8ec202d8, 0x10000012, 0x42042, 0x8ec202dc, 0x24420001, 0xaec202dc, +0x8ec202dc, 0x1000000c, 0x42042, 0x8ec20128, 0x24420001, 0xaec20128, +0x8ec20128, 0x10000006, 0x42042, 0x8ec202e0, 0x24420001, 0xaec202e0, +0x8ec202e0, 0x42042, 0x148affc6, 0x851824, 0x24030001, 0x8f420260, +0x48102b, 0x10400019, 0x306400ff, 0x8f8200e0, 0xafa20010, 0x8f8200e4, +0x3c040001, 0x24842dfc, 0xafa20014, 0x8fa60020, 0x8fa70024, 0x3c050006, +0x34a5f003, 0xafa80048, 0xc0028eb, 0xafa9004c, 0x8ec30150, 0x8faf003c, +0x3c020100, 0x24040001, 0x1e27825, 0x24630001, 0xafaf003c, 0xaec30150, +0x8ec20150, 0x8fa9004c, 0x8fa80048, 0x10800025, 0x0, 0x8f420218, +0x30420800, 0x14400021, 0x3c020180, 0x8faf003c, 0x1e21024, 0x104000fe, +0x1001821, 0x8ec20174, 0x24420001, 0xaec20174, 0x8ec20174, 0x100000f8, +0x1001821, 0x8ec2005c, 0xafa20010, 0x8ec20060, 0x3c040001, 0x24842e08, +0xafa20014, 0x8ec6003c, 0x8ec70044, 0x3c050006, 0x34a5f002, 0xafa80048, +0xc0028eb, 0xafa9004c, 0x8ec202b4, 0x2403ffbf, 0x283a024, 0x24420001, +0xaec202b4, 0x8ec202b4, 0x8fa80048, 0x100000c2, 0x8fa9004c, 0x8f420218, +0x30420400, 0x54400001, 0x25080004, 0x96e20460, 0x48102b, 0x10400003, +0x0, 0x3c0f8000, 0xafaf002c, 0x110000d2, 0x3c02ffff, 0x8faf003c, +0x1e21024, 0xafa20044, 0x8ec20068, 0x8f430280, 0x24420001, 0x304203ff, +0x106200ad, 0x0, 0x8faf002c, 0x11e00014, 0x0, 0x8ec3005c, +0x8ec20060, 0x10620009, 0x26cb0060, 0x8ec60060, 0x8ec30060, 0x21140, +0x24424dc0, 0x2e28821, 0x24630001, 0x10000014, 0x306a00ff, 0x92c20064, +0x1440ffc4, 0x0, 0x8ec202c8, 0x24420001, 0xaec202c8, 0x8ec202c8, +0x8ec3003c, 0x8ec20044, 0x1062ffbc, 0x26cb0044, 0x8ec60044, 0xafa0002c, +0x8ec30044, 0x21140, 0x24420dc0, 0x2e28821, 0x24630001, 0x306a01ff, +0x96e20462, 0x30420010, 0x10400017, 0x0, 0x96a2000c, 0x340f8100, +0x144f0013, 0x0, 0x92c200ed, 0x14400010, 0x0, 0x96a2000e, +0xa6220016, 0x8ea20008, 0x8ea30004, 0x8ea40000, 0x2508fffc, 0xaea2000c, +0xaea30008, 0xaea40004, 0x9622000e, 0x25290004, 0x240f0001, 0xa3af0037, +0x34420200, 0xa622000e, 0x9623000a, 0x68102b, 0x14400002, 0x3073fff8, +0x1009821, 0x92c300ed, 0x2e62003d, 0x2c630001, 0x621824, 0x1060000f, +0x260f021, 0x9523000c, 0x24020800, 0x5462000c, 0xae290018, 0x91220017, +0x38430006, 0x2c630001, 0x38420011, 0x2c420001, 0x621825, 0x50600004, +0xae290018, 0x95220010, 0x245e000e, 0xae290018, 0x92c300ed, 0x8e240000, +0x8e250004, 0x8faf002c, 0x2402000b, 0xafa20010, 0x3182b, 0x31ec0, +0xcf1025, 0x431025, 0xafa20014, 0x8ec20004, 0xafa20018, 0x8ec200a8, +0x3c03821, 0x1203021, 0xafa80048, 0xafa9004c, 0xafaa0050, 0x40f809, +0xafab0054, 0x8fa80048, 0x8fa9004c, 0x8faa0050, 0x8fab0054, 0x1440001d, +0x3c050006, 0x3c040001, 0x24842e14, 0x8e220018, 0x34a5f009, 0xafa20010, +0x8e220000, 0x8e230004, 0x2203021, 0x3c03821, 0xafa80048, 0xafa9004c, +0xc0028eb, 0xafa30014, 0x93a20037, 0x8fa80048, 0x8fa9004c, 0x1040002a, +0x340f8100, 0x8ea20004, 0x8ea30008, 0x8ea4000c, 0xa6af000c, 0xaea20000, +0xaea30004, 0xaea40008, 0x96220016, 0x10000020, 0xa6a2000e, 0x8faf0044, +0x11e00007, 0x0, 0x8faf003c, 0x9623000e, 0xf1402, 0x34630400, +0xa6220014, 0xa623000e, 0x56680008, 0x1334821, 0x9622000e, 0xa628000a, +0x4021, 0x34420004, 0xa622000e, 0x1000000c, 0xa2c000ed, 0x3c03001f, +0x3463ffff, 0x24020001, 0x69182b, 0xa633000a, 0x10600003, 0xa2c200ed, +0x8ec20540, 0x1224823, 0x1134023, 0xafa0002c, 0x1500ff4f, 0xad6a0000, +0x1100001b, 0x0, 0xaec800f0, 0xaec900f4, 0xaed500f8, 0x93a20037, +0x10400004, 0x0, 0x8ec200f8, 0x24420004, 0xaec200f8, 0x8faf003c, +0x8ec20068, 0xaecf00fc, 0x8f430280, 0x24420001, 0x14620006, 0x0, +0x8ec202b8, 0x24420001, 0xaec202b8, 0x10000016, 0x8ec202b8, 0x8ec202b0, +0x24420001, 0xaec202b0, 0x10000011, 0x8ec202b0, 0x8faf003c, 0x31e4ffff, +0x2484fffc, 0x801821, 0x8ec401b8, 0x8ec501bc, 0x3c060001, 0x8cc633b0, +0x1021, 0xa32821, 0xa3382b, 0x822021, 0x872021, 0xaec401b8, +0xc0f809, 0xaec501bc, 0x8fbf0068, 0x8fbe0064, 0x8fb50060, 0x8fb3005c, +0x8fb10058, 0x3e00008, 0x27bd0070, 0x3e00008, 0x0, 0x27bdffd8, +0xafbf0024, 0xafb10020, 0x8ec30040, 0x8ec20038, 0x1062004d, 0x0, +0x8ec30038, 0x8ec20040, 0x623823, 0x4e20001, 0x24e70200, 0x8ec30044, +0x8ec20040, 0x43102b, 0x14400004, 0x24020200, 0x8ec30040, 0x10000005, +0x431823, 0x8ec20044, 0x8ec30040, 0x431023, 0x2443ffff, 0xe08821, +0x71102a, 0x54400001, 0x608821, 0x8ec90040, 0x8ee40458, 0x8ee5045c, +0x8ec60040, 0x113940, 0x24080002, 0xafa80010, 0x8ec80040, 0x94940, +0x1201821, 0x1021, 0xafa80014, 0x8ec80010, 0xa32821, 0xa3482b, +0x822021, 0x892021, 0x63140, 0xafa80018, 0x8ec200a4, 0x24c60dc0, +0x40f809, 0x2e63021, 0x1440000e, 0x24030040, 0x8ec20040, 0xafa20010, +0x8ec20044, 0x3c040001, 0x24842e2c, 0xafa20014, 0x8ec60038, 0x8ec7003c, +0x3c050007, 0xc0028eb, 0x34a5f001, 0x10000010, 0x0, 0x8ec20030, +0x24420001, 0x50430003, 0x1021, 0x8ec20030, 0x24420001, 0xaec20030, +0x8ec20030, 0x21080, 0x571021, 0xac510cc0, 0x8ec20040, 0x511021, +0x304201ff, 0xaec20040, 0x8ec30040, 0x8ec20038, 0x14620017, 0x0, +0x8ec20000, 0x10400007, 0x2403fdff, 0xaf80004c, 0x8f82004c, 0x1040fffd, +0x0, 0x10000005, 0x0, 0xaf800048, 0x8f820048, 0x1040fffd, +0x0, 0x8f820060, 0x431024, 0xaf820060, 0x8ec20000, 0x10400003, +0x0, 0x10000002, 0xaf80004c, 0xaf800048, 0x8fbf0024, 0x8fb10020, +0x3e00008, 0x27bd0028, 0x3e00008, 0x0, 0x27bdffd8, 0xafbf0024, +0xafb10020, 0x8ec30058, 0x8ec20054, 0x1062004d, 0x0, 0x8ec30054, +0x8ec20058, 0x623823, 0x4e20001, 0x24e70100, 0x8ec30060, 0x8ec20058, +0x43102b, 0x14400004, 0x24020100, 0x8ec30058, 0x10000005, 0x431823, +0x8ec20060, 0x8ec30058, 0x431023, 0x2443ffff, 0xe08821, 0x71102a, +0x54400001, 0x608821, 0x8ec90058, 0x8ee40468, 0x8ee5046c, 0x8ec60058, +0x113940, 0x24080003, 0xafa80010, 0x8ec80058, 0x94940, 0x1201821, +0x1021, 0xafa80014, 0x8ec80010, 0xa32821, 0xa3482b, 0x822021, +0x892021, 0x63140, 0xafa80018, 0x8ec200a4, 0x24c64dc0, 0x40f809, +0x2e63021, 0x1440000e, 0x24030040, 0x8ec20058, 0xafa20010, 0x8ec20060, +0x3c040001, 0x24842e38, 0xafa20014, 0x8ec60054, 0x8ec7005c, 0x3c050007, +0xc0028eb, 0x34a5f010, 0x10000010, 0x0, 0x8ec20030, 0x24420001, +0x50430003, 0x1021, 0x8ec20030, 0x24420001, 0xaec20030, 0x8ec20030, +0x21080, 0x571021, 0xac510cc0, 0x8ec20058, 0x511021, 0x304200ff, +0xaec20058, 0x8ec30058, 0x8ec20054, 0x14620017, 0x0, 0x8ec20000, +0x10400007, 0x2403feff, 0xaf80004c, 0x8f82004c, 0x1040fffd, 0x0, +0x10000005, 0x0, 0xaf800048, 0x8f820048, 0x1040fffd, 0x0, +0x8f820060, 0x431024, 0xaf820060, 0x8ec20000, 0x10400003, 0x0, +0x10000002, 0xaf80004c, 0xaf800048, 0x8fbf0024, 0x8fb10020, 0x3e00008, +0x27bd0028, 0x3e00008, 0x0, 0x8f820120, 0x8ec300e8, 0x8f820124, +0x8f860128, 0x24020040, 0x24630001, 0x50620003, 0x1021, 0x8ec200e8, +0x24420001, 0xaec200e8, 0x8ec200e8, 0x8ec400e8, 0x8ec300e4, 0x210c0, +0x24426fc0, 0x14830007, 0x2e22821, 0x8f820128, 0x24420020, 0xaf820128, +0x8f820128, 0x10000011, 0xaca00000, 0x8ec200e8, 0x24030040, 0x24420001, +0x50430003, 0x1021, 0x8ec200e8, 0x24420001, 0x220c0, 0x2e41021, +0x8c426fc4, 0x8f830128, 0x21140, 0x621821, 0x2e41021, 0xaf830128, +0xac406fc0, 0x8cc20018, 0x2443fffe, 0x2c620018, 0x1040000a, 0x31080, +0x3c010001, 0x220821, 0x8c222e48, 0x400008, 0x0, 0x24020001, +0x3c010001, 0x370821, 0xac2281e8, 0x3e00008, 0x0, 0x3e00008, +0x0, 0x27bdffa8, 0xafbf0050, 0xafbe004c, 0xafb50048, 0xafb30044, +0xafb10040, 0x8f830128, 0x8f820124, 0x106201e1, 0x0, 0x8f9e0128, +0x8f820128, 0x24420020, 0xaf820128, 0x8fc40018, 0x8f820128, 0x2402000b, +0x1482018f, 0x24020002, 0x8fc3001c, 0x97c20016, 0x3064ffff, 0xafc20014, +0x3c028000, 0x621024, 0xafc4001c, 0xafa2002c, 0x8fab002c, 0x3c020800, +0x11600004, 0x622824, 0x41140, 0x10000003, 0x24424dc0, 0x41140, +0x24420dc0, 0x2e2a821, 0x96a2000e, 0x3043fffc, 0x30420400, 0x10400003, +0xa6a3000e, 0x10000137, 0x8821, 0x10a00004, 0x8821, 0x97d10016, +0x10000132, 0x0, 0x8eab0018, 0xafab0034, 0x9563000c, 0x96eb0462, +0x24020800, 0x1462012b, 0xafab003c, 0x8fab0034, 0x2573000e, 0x8fab003c, +0x31620002, 0x1040003f, 0x3c030020, 0x8ec70540, 0x263102b, 0x14400002, +0x2604821, 0x2674823, 0x25220014, 0x43102b, 0x10400027, 0x24030005, +0x91220000, 0x3042000f, 0x14430024, 0x1202021, 0x952a0000, 0x25290002, +0x95280000, 0x25290002, 0x95270000, 0x25290002, 0x95260000, 0x25290002, +0x95250000, 0x25290002, 0x95230000, 0x25290002, 0x95220000, 0x25290002, +0x95240000, 0x25290002, 0x1485021, 0x1475021, 0x1465021, 0x1455021, +0x1435021, 0x1425021, 0x95220000, 0x95230002, 0x1445021, 0x1425021, +0x1435021, 0xa1c02, 0x3142ffff, 0x625021, 0xa1c02, 0x3142ffff, +0x10000009, 0x625021, 0x1202021, 0x90850000, 0x3c060020, 0x8ec200ac, +0x30a5000f, 0x40f809, 0x52840, 0x304affff, 0x3143ffff, 0x50600001, +0x3403ffff, 0x96a2000e, 0x34420002, 0x10000002, 0xa6a2000e, 0x1821, +0xa6a30010, 0x8fab003c, 0x31620001, 0x104000e1, 0x0, 0x92620009, +0x38430006, 0x2c630001, 0x38420011, 0x2c420001, 0x621825, 0x106000d9, +0x3c030020, 0x8fa60034, 0x8ec70540, 0xc3102b, 0x50400001, 0xc73023, +0x24c2000e, 0x43102b, 0x1040001a, 0xc02021, 0x94c70000, 0x24c60002, +0x94c50000, 0x24c60002, 0x94c30000, 0x24c60002, 0x94c20000, 0x24c60002, +0x94c40000, 0x24c60002, 0xe53821, 0xe33821, 0xe23821, 0x94c20000, +0x94c30002, 0xe43821, 0xe23821, 0xe33821, 0x71c02, 0x30e2ffff, +0x623821, 0x71c02, 0x30e2ffff, 0x10000006, 0x623821, 0x8ec200ac, +0x24050007, 0x40f809, 0x3c060020, 0x3047ffff, 0x8fab003c, 0x31620008, +0x10400003, 0x30e8ffff, 0x1000005b, 0x4821, 0x96620006, 0x30421fff, +0x10400007, 0x2602821, 0x92620000, 0x96630002, 0x3042000f, 0x21080, +0x10000051, 0x624823, 0x3c070020, 0x8ec30540, 0xa7102b, 0x50400001, +0xa32823, 0x24a20014, 0x47102b, 0x10400015, 0xa02021, 0x90a20000, +0x94a30002, 0x3042000f, 0x21080, 0x623023, 0xafa20020, 0x90a30009, +0x24a5000c, 0x94a20000, 0x24a50002, 0x94a40000, 0x24a50002, 0xc33021, +0xc23021, 0x94a20000, 0x94a30002, 0xc43021, 0xc23021, 0x1000002d, +0xc33021, 0x24a50002, 0xa7102b, 0x50400001, 0xa32823, 0x94a60000, +0x802821, 0xa7102b, 0x50400001, 0xa32823, 0x90a20000, 0x24850009, +0x3042000f, 0x21080, 0xc23023, 0xafa20020, 0xa7102b, 0x50400001, +0xa32823, 0x90a20000, 0x2485000c, 0xc23021, 0xa7102b, 0x50400001, +0xa32823, 0x94a20000, 0x24a50002, 0xc23021, 0xa7102b, 0x50400001, +0xa32823, 0x94a20000, 0x24a50002, 0xc23021, 0xa7102b, 0x50400001, +0xa32823, 0x94a20000, 0x24a50002, 0xc23021, 0xa7102b, 0x50400001, +0xa32823, 0x94a20000, 0xc23021, 0x61c02, 0x30c2ffff, 0x623021, +0x61402, 0x30c3ffff, 0x431021, 0x3049ffff, 0x96a2000e, 0x30420004, +0x10400041, 0x0, 0x8f420218, 0x30420400, 0x1040003d, 0x3c070020, +0x97c2000e, 0x8fc30008, 0x8ec60540, 0x621821, 0x2463fffc, 0x67102b, +0x50400001, 0x661823, 0x602821, 0x24a20004, 0x47102b, 0x5040000a, +0xa7102b, 0x90a20000, 0x90a40001, 0x90a30002, 0x21200, 0x441021, +0x90a40003, 0x31a00, 0x10000017, 0x431021, 0x50400001, 0xa62823, +0x90a20000, 0x24a50001, 0x22200, 0xa7102b, 0x50400001, 0xa62823, +0x90a20000, 0x24a50001, 0x822021, 0xa7102b, 0x50400001, 0xa62823, +0x90a20000, 0x24a50001, 0x21200, 0x822021, 0xa7102b, 0x50400001, +0xa62823, 0x90a20000, 0x822021, 0x41c02, 0x3082ffff, 0x622021, +0x41402, 0x3083ffff, 0x431021, 0x3042ffff, 0x1024021, 0x81c02, +0x3102ffff, 0x624021, 0x81c02, 0x3102ffff, 0x624021, 0x3108ffff, +0x8fc20014, 0x488823, 0x111402, 0x2228821, 0x2298821, 0x111402, +0x2228821, 0x3231ffff, 0x52200001, 0x3411ffff, 0x96a2000e, 0x34420001, +0xa6a2000e, 0x96a2000e, 0x24080002, 0x30420004, 0x10400002, 0xa6b10012, +0x24080004, 0x8ec90068, 0x8ee40478, 0x8ee5047c, 0xafa80010, 0x8ec80068, +0x8fab002c, 0x2a03021, 0x24070020, 0x10b4025, 0xafa80014, 0x8ec80008, +0x94940, 0x1201821, 0xafa80018, 0x8ec800a8, 0x1021, 0xa32821, +0xa3482b, 0x822021, 0x100f809, 0x892021, 0x1440000e, 0x0, +0x8f820120, 0xafa20010, 0x8f820128, 0x3c040001, 0x24842ea8, 0xafa20014, +0x8fc6001c, 0x8f870124, 0x3c050008, 0xc0028eb, 0x34a50001, 0x1000005f, +0x0, 0x8ec20068, 0x24420001, 0x304203ff, 0xaec20068, 0x8fab002c, +0x11600006, 0x0, 0x8ec202c0, 0x2442ffff, 0xaec202c0, 0x10000005, +0x8ec202c0, 0x8ec202bc, 0x2442ffff, 0xaec202bc, 0x8ec202bc, 0x8ec202c4, +0x2442ffff, 0xaec202c4, 0x1000004a, 0x8ec202c4, 0x14820005, 0x24020004, +0x8ec20048, 0x24420001, 0x10000044, 0xaec20048, 0x14820036, 0x38830011, +0x97c2001e, 0xafc2001c, 0x8ec20048, 0x24420001, 0xaec20048, 0x8f430240, +0x43102b, 0x14400039, 0x24070008, 0x8ed10068, 0x8ee40490, 0x8ee50494, +0x8ec30008, 0x8f860120, 0x24020013, 0xafa20010, 0xafb10014, 0xafa30018, +0x8ec200a8, 0x40f809, 0x24c6001c, 0x1440000b, 0x24020001, 0x3c040001, +0x24842dac, 0xafb10010, 0xafa00014, 0x8ec60068, 0x8f470228, 0x3c050009, +0xc0028eb, 0x34a5f008, 0x1021, 0x14400005, 0x24020001, 0x3c010001, +0x370821, 0x1000000a, 0xac2281e0, 0x3c010001, 0x370821, 0xac2081e0, +0x8ec20268, 0xaec00048, 0xaed1006c, 0x24420001, 0xaec20268, 0x8ec20268, +0x8ec2027c, 0x24420001, 0xaec2027c, 0x1000000d, 0x8ec2027c, 0x2c630001, +0x38820013, 0x2c420001, 0x621825, 0x14600004, 0x24020001, 0x24020012, +0x14820004, 0x24020001, 0x3c010001, 0x370821, 0xac2281e8, 0x8fbf0050, +0x8fbe004c, 0x8fb50048, 0x8fb30044, 0x8fb10040, 0x3e00008, 0x27bd0058, +0x3e00008, 0x0, 0x0, 0x0, 0x8ec20538, 0xaf8200c0, +0x8ec20538, 0xaf8200c4, 0x8ec20538, 0xaf8200c8, 0x8ec20534, 0xaf8200d0, +0x8ec20534, 0xaf8200d4, 0x8ec20534, 0x3e00008, 0xaf8200d8, 0x27bdffe8, +0x27840208, 0x27450200, 0xafbf0010, 0xc00297e, 0x24060008, 0x8f420204, +0xc003c3a, 0xaf820210, 0x24040001, 0x8f460248, 0x24020004, 0x3c010001, +0xac2232ac, 0xc004680, 0x24050004, 0x3c020001, 0x8c4232a8, 0x30420001, +0x10400007, 0x24020001, 0x3c010001, 0xac2232ac, 0x24040001, 0x24050001, +0xc004680, 0x3c06601b, 0x8ec20548, 0x8ec4054c, 0x8ec30550, 0x3c010001, +0xac2032a4, 0x3c010001, 0xac2032bc, 0x21640, 0x42140, 0x34840403, +0x441025, 0x31bc0, 0x431025, 0xaf82021c, 0x8fbf0010, 0x3e00008, +0x27bd0018, 0x27bdffe0, 0x3c050008, 0x34a50400, 0xafbf0018, 0xafa00010, +0xafa00014, 0x8f860200, 0x3c040001, 0x24842f7c, 0xc0028eb, 0x3821, +0x8ec20368, 0x24420001, 0xaec20368, 0x8ec20368, 0x8f830200, 0x3c023f00, +0x621824, 0x8fbf0018, 0x3c020400, 0x3e00008, 0x27bd0020, 0x27bdffd8, +0xafbf0020, 0xafb3001c, 0xafb10018, 0x8f910220, 0x8ec202fc, 0x24420001, +0xaec202fc, 0x8ec202fc, 0x8ec30310, 0x3c020001, 0x8c4232bc, 0x3c040001, +0x24842f88, 0xafa20014, 0xafa30010, 0x8ec70314, 0x3c050008, 0xc0028eb, +0x2203021, 0x3c024000, 0x2221024, 0x104000e5, 0x3c040100, 0x8ec20314, +0x24420001, 0xaec20314, 0x8ec20314, 0x8f820220, 0x3c0308ff, 0x3463ffff, +0x431024, 0x34420004, 0xaf820220, 0x8f8200e0, 0x8f8300c4, 0x3c02001f, +0x3442ffff, 0x24690008, 0x49102b, 0x10400003, 0x0, 0x8ec20540, +0x1224823, 0x8f8700c8, 0x8f850120, 0x8f840124, 0x10000005, 0x5821, +0x8ec20534, 0x82102b, 0x50400001, 0x27644800, 0x10a40010, 0x316200ff, +0x8c820018, 0x38430007, 0x2c630001, 0x3842000b, 0x2c420001, 0x621825, +0x5060fff3, 0x24840020, 0x8ec20328, 0x240b0001, 0x24420001, 0xaec20328, +0x8ec20328, 0x8c870008, 0x316200ff, 0x14400078, 0x0, 0x92c200ed, +0x14400075, 0x0, 0x8f8500e4, 0x8f8200e0, 0x2403fff8, 0x433024, +0xc51023, 0x218c3, 0x4620001, 0x24630100, 0x8f8a00c4, 0x10600005, +0x24020001, 0x10620009, 0x0, 0x10000021, 0x0, 0x8ec20318, +0x1403821, 0x24420001, 0xaec20318, 0x10000060, 0x8ec20318, 0x8ec2031c, +0x24420001, 0xaec2031c, 0x8ca70000, 0x8ec20540, 0x8ec3031c, 0x1471823, +0x43102b, 0x10400004, 0x2c62233f, 0x8ec20540, 0x621821, 0x2c62233f, +0x14400051, 0x3c020100, 0xaca20004, 0x8f8200e8, 0x24420008, 0xaf8200e8, +0x8f8200e8, 0x8f8200e4, 0x1403821, 0x24420008, 0xaf8200e4, 0x10000046, +0x8f8200e4, 0x8ec20320, 0x24420001, 0xaec20320, 0x8ca80000, 0x8ec20540, +0x8ec30320, 0x1092023, 0x44102b, 0x10400003, 0x0, 0x8ec20540, +0x822021, 0x8ec20544, 0x44102b, 0x10400003, 0x3c030100, 0x10000034, +0x1003821, 0x8ca20004, 0x431025, 0xaca20004, 0x8f8200e4, 0x24450008, +0xaf8500e4, 0x8f8500e4, 0x10a60025, 0x3c080100, 0x8ec20174, 0x24420001, +0xaec20174, 0x8ca20004, 0x8ec30174, 0x481024, 0x1440000e, 0x0, +0x8ca30000, 0x8ec20540, 0x692023, 0x44102b, 0x10400003, 0x0, +0x8ec20540, 0x822021, 0x8ec20544, 0x44102b, 0x10400006, 0x0, +0x603821, 0x8ec20544, 0x44102b, 0x1440000a, 0x0, 0x8ca20004, +0x481025, 0xaca20004, 0x8f8200e4, 0x24450008, 0xaf8500e4, 0x8f8500e4, +0x14a6ffdf, 0x0, 0x14a60005, 0x0, 0x1403821, 0xaf8600e4, +0x10000003, 0xaf8600e8, 0xaf8500e4, 0xaf8500e8, 0x8f8300c8, 0x8ec20540, +0x692023, 0x44102b, 0x10400003, 0x0, 0x8ec20540, 0x822021, +0x8ec20544, 0x82102b, 0x50400008, 0x5821, 0x8ec20540, 0xe92023, +0x44102b, 0x10400003, 0x0, 0x8ec20540, 0x822021, 0x8ec20544, +0x82102b, 0x10400006, 0x316200ff, 0x1440001c, 0x3c02fdff, 0x92c200ed, +0x14400019, 0x3c02fdff, 0xaf8700c8, 0x8f8400c8, 0x8f8300c4, 0x8ec20540, +0x832023, 0x44102b, 0x10400003, 0x0, 0x8ec20540, 0x822021, +0x8ec20544, 0x2c830001, 0x44102b, 0x431025, 0x10400009, 0x3c02fdff, +0x8f820220, 0x3c0308ff, 0x3463fffb, 0x431024, 0x3c034000, 0x431025, +0x10000075, 0xaf820220, 0x3442ffff, 0x8ec30324, 0x282a024, 0x24020001, +0xa2c200ec, 0x24630001, 0xaec30324, 0x1000006c, 0x8ec20324, 0x2241024, +0x10400013, 0x3c130200, 0x8ec20300, 0x24420001, 0xaec20300, 0x8ec20300, +0x8f820220, 0x3c0308ff, 0x3463ffff, 0x431024, 0x441025, 0xaf820220, +0x3c020004, 0x2221024, 0x14400005, 0x3c130200, 0xc003a65, 0x0, +0x10000057, 0x0, 0x2331024, 0x50400008, 0x3c130400, 0x8ec20304, +0x24420001, 0xaec20304, 0xc003a65, 0x8ec20304, 0x10000019, 0x0, +0x2331024, 0x1040001d, 0x3c020800, 0x8f830224, 0x24021402, 0x14620009, +0x3c050008, 0x3c040001, 0x24842f94, 0xafa00010, 0xafa00014, 0x8f860224, +0x34a5ffff, 0xc0028eb, 0x3821, 0x8ec20308, 0x24420001, 0xaec20308, +0x8ec20308, 0x8f820220, 0x2202021, 0x34420002, 0xc004430, 0xaf820220, +0x8f820220, 0x3c0308ff, 0x3463ffff, 0x431024, 0x531025, 0x1000002e, +0xaf820220, 0x2221024, 0x10400009, 0x3c050008, 0x3c040001, 0x24842f7c, +0xafa00010, 0xafa00014, 0x8f860220, 0x34a50403, 0xc0028eb, 0x3821, +0x3c021000, 0x2221024, 0x10400009, 0x3c050008, 0x3c040001, 0x24842f7c, +0xafa00010, 0xafa00014, 0x8f860220, 0x34a50401, 0xc0028eb, 0x3821, +0x3c022000, 0x2221024, 0x10400009, 0x3c050008, 0x3c040001, 0x24842f7c, +0xafa00010, 0xafa00014, 0x8f860220, 0x34a50402, 0xc0028eb, 0x3821, +0x6210009, 0x3c050008, 0x3c040001, 0x24842f7c, 0xafa00010, 0xafa00014, +0x8f860220, 0x34a50404, 0xc0028eb, 0x3821, 0x8fbf0020, 0x8fb3001c, +0x8fb10018, 0x3e00008, 0x27bd0028, 0x3e00008, 0x0, 0x3c020001, +0x8c4232bc, 0x27bdffc0, 0xafbf0038, 0xafbe0034, 0xafb50030, 0xafb3002c, +0x1040000f, 0xafb10028, 0x3c040001, 0x24842fa0, 0x3c050008, 0xafa00010, +0xafa00014, 0x8f860220, 0x34a50498, 0x24020001, 0x3c010001, 0xac2032bc, +0x3c010001, 0xac2232b0, 0xc0028eb, 0x3821, 0x3c037fff, 0x8f420268, +0x3463ffff, 0x3c04fdff, 0x431024, 0xaf420268, 0x8ee204a8, 0x3484ffff, +0x30420002, 0x10400091, 0x284a024, 0x3c040600, 0x8ee204a8, 0x34842000, +0x2403fffd, 0x431024, 0xaee204a8, 0xafa40020, 0x8ec3002c, 0x240200ff, +0x10620004, 0x27a70020, 0x8ec2002c, 0x10000002, 0x24530001, 0x9821, +0x8f420228, 0x1662000f, 0x0, 0x3c040001, 0x24842f58, 0xafa00010, +0xafa00014, 0x8ec6002c, 0x8f470228, 0x3c050009, 0xc0028eb, 0x34a5f00f, +0x8ec202a0, 0x24420001, 0xaec202a0, 0x1000006d, 0x8ec202a0, 0x8ec2002c, +0x210c0, 0x571021, 0x8ce30000, 0x8ce40004, 0xac4304c0, 0xac4404c4, +0x8f830054, 0x8f820054, 0x247103e8, 0x2221023, 0x2c4203e9, 0x1040001e, +0xa821, 0x241e000c, 0x8ec8002c, 0x8ee40428, 0x8ee5042c, 0x8ec6002c, +0x24070008, 0xafbe0010, 0xafb30014, 0x840c0, 0x1001821, 0x1021, +0x8ec80008, 0xa32821, 0xa3482b, 0x822021, 0x892021, 0x630c0, +0xafa80018, 0x8ec200a8, 0x24c604c0, 0x40f809, 0x2e63021, 0x54400006, +0x24150001, 0x8f820054, 0x2221023, 0x2c4203e9, 0x1440ffe5, 0x0, +0x32a200ff, 0x54400011, 0xaed3002c, 0x3c040001, 0x24842f64, 0xafa00010, +0xafa00014, 0x8f860120, 0x8f870124, 0x3c050009, 0x10000030, 0x34a5f010, +0x8ec2026c, 0x24150001, 0x24420001, 0xaec2026c, 0x8ec2026c, 0x1000001f, +0x32a200ff, 0x8f830054, 0x8f820054, 0x247103e8, 0x2221023, 0x2c4203e9, +0x10400017, 0xa821, 0x3c1e0020, 0x24130011, 0x8ec20008, 0x8ee40488, +0x8ee5048c, 0x8ec3002c, 0x8f860120, 0xafb30010, 0x5e1025, 0xafa30014, +0xafa20018, 0x8ec200a8, 0x24070008, 0x40f809, 0x24c6001c, 0x1440ffe2, +0x0, 0x8f820054, 0x2221023, 0x2c4203e9, 0x1440ffed, 0x0, +0x32a200ff, 0x1440000f, 0x0, 0x3c040001, 0x24842f70, 0xafa00010, +0xafa00014, 0x8f860120, 0x8f870124, 0x3c050009, 0x34a5f011, 0xc0028eb, +0x0, 0x8ec202d0, 0x24420001, 0xaec202d0, 0x8ec202d0, 0x8ec20250, +0x24420001, 0xaec20250, 0x8ec20250, 0x8fbf0038, 0x8fbe0034, 0x8fb50030, +0x8fb3002c, 0x8fb10028, 0x3e00008, 0x27bd0040, 0x3c020001, 0x8c4232bc, +0x27bdffe0, 0x1440000d, 0xafbf0018, 0x3c040001, 0x24842fac, 0x3c050008, +0xafa00010, 0xafa00014, 0x8f860220, 0x34a50499, 0x24020001, 0x3c010001, +0xac2232bc, 0xc0028eb, 0x3821, 0x92c2011d, 0x10400008, 0x24040001, +0x8f820220, 0x3c0308ff, 0x3463ffff, 0x431024, 0x34420008, 0xaf820220, +0x24040001, 0xc004785, 0x24050004, 0xaf420268, 0x8fbf0018, 0x3e00008, +0x27bd0020, 0x0, 0x86102b, 0x50400001, 0x872023, 0xc41023, +0x24843, 0x125102b, 0x1040001b, 0x91040, 0x824021, 0x88102b, +0x10400007, 0x1821, 0x94820000, 0x24840002, 0x621821, 0x88102b, +0x1440fffb, 0x0, 0x602021, 0xc73023, 0xa91023, 0x21040, +0xc22821, 0xc5102b, 0x10400007, 0x1821, 0x94c20000, 0x24c60002, +0x621821, 0xc5102b, 0x1440fffb, 0x0, 0x1000000d, 0x832021, +0x51040, 0x822821, 0x85102b, 0x10400007, 0x1821, 0x94820000, +0x24840002, 0x621821, 0x85102b, 0x1440fffb, 0x0, 0x602021, +0x41c02, 0x3082ffff, 0x622021, 0x41c02, 0x3082ffff, 0x622021, +0x3e00008, 0x3082ffff, 0x3e00008, 0x0, 0x8f820220, 0x34420002, +0xaf820220, 0x3c020001, 0x8c4254b8, 0x30424000, 0x10400054, 0x24040001, +0x8f820200, 0x24067fff, 0x8f830200, 0x30450002, 0x2402fffd, 0x621824, +0xaf830200, 0xaf840204, 0x8f830054, 0x8f820054, 0x10000002, 0x24630001, +0x8f820054, 0x621023, 0x2c420002, 0x1440fffc, 0x0, 0x8f820224, +0x1444004d, 0x42040, 0xc4102b, 0x1040fff1, 0x0, 0x8f820200, +0x451025, 0xaf820200, 0x8f820220, 0x34428000, 0xaf820220, 0x8f830054, +0x8f820054, 0x10000002, 0x24630001, 0x8f820054, 0x621023, 0x2c420002, +0x1440fffc, 0x0, 0x8f820220, 0x3c030004, 0x431024, 0x1440000f, +0x0, 0x8f820220, 0x3c03ffff, 0x34637fff, 0x431024, 0xaf820220, +0x8f830054, 0x8f820054, 0x10000002, 0x24630001, 0x8f820054, 0x621023, +0x2c420002, 0x1440fffc, 0x0, 0x8f820220, 0x3c030004, 0x431024, +0x1440000d, 0x0, 0x8f820220, 0x34428000, 0xaf820220, 0x8f830054, +0x8f820054, 0x10000002, 0x24630001, 0x8f820054, 0x621023, 0x2c420002, +0x1440fffc, 0x0, 0x8f820220, 0x3c030004, 0x431024, 0x1040001b, +0x1021, 0x8f830220, 0x24020001, 0x10000015, 0x3c04f700, 0x8f820220, +0x3c04f700, 0x441025, 0xaf820220, 0x8f820220, 0x2403fffd, 0x431024, +0xaf820220, 0x8f820220, 0x3c030300, 0x431024, 0x14400003, 0x0, +0x10000008, 0x1021, 0x8f820220, 0x34420002, 0xaf820220, 0x8f830220, +0x24020001, 0x641825, 0xaf830220, 0x3e00008, 0x0, 0x2021, +0x3c050100, 0x24020001, 0xaf80021c, 0xaf820200, 0xaf820220, 0x27625000, +0xaf8200c0, 0x27625000, 0xaf8200c4, 0x27625000, 0xaf8200c8, 0x27625000, +0xaf8200d0, 0x27625000, 0xaf8200d4, 0x27625000, 0xaf8200d8, 0x27623000, +0xaf8200e0, 0x27623000, 0xaf8200e4, 0x27623000, 0xaf8200e8, 0x27622800, +0xaf8200f0, 0x27622800, 0xaf8200f4, 0x27622800, 0xaf8200f8, 0x418c0, +0x24840001, 0x3631021, 0xac453004, 0x3631021, 0xac403000, 0x28820200, +0x1440fff9, 0x418c0, 0x2021, 0x418c0, 0x24840001, 0x3631021, +0xac402804, 0x3631021, 0xac402800, 0x28820100, 0x1440fff9, 0x418c0, +0xaf80023c, 0x24030080, 0x24040100, 0xac600000, 0x24630004, 0x64102b, +0x5440fffd, 0xac600000, 0x8f830040, 0x3c02f000, 0x621824, 0x3c025000, +0x1062000c, 0x43102b, 0x14400006, 0x3c026000, 0x3c024000, 0x10620008, +0x24020800, 0x10000008, 0x0, 0x10620004, 0x24020800, 0x10000004, +0x0, 0x24020700, 0x3c010001, 0xac2232c0, 0x3e00008, 0x0, +0x27bdffc8, 0xafbf0034, 0xafb50030, 0xafb3002c, 0xafb10028, 0x3c010001, +0xc00440d, 0xac2032a8, 0x24040001, 0x2821, 0x27a60020, 0x34028000, +0xc00402a, 0xa7a20020, 0x8f830054, 0x8f820054, 0x10000002, 0x24630064, +0x8f820054, 0x621023, 0x2c420065, 0x1440fffc, 0x24040001, 0x24050001, +0xc003fe8, 0x27a60020, 0x8f830054, 0x8f820054, 0x10000002, 0x24630064, +0x8f820054, 0x621023, 0x2c420065, 0x1440fffc, 0x24040001, 0x24050001, +0xc003fe8, 0x27a60020, 0x8f830054, 0x8f820054, 0x10000002, 0x24630064, +0x8f820054, 0x621023, 0x2c420065, 0x1440fffc, 0x24040001, 0x24050002, +0xc003fe8, 0x27a60018, 0x8f830054, 0x8f820054, 0x10000002, 0x24630064, +0x8f820054, 0x621023, 0x2c420065, 0x1440fffc, 0x24040001, 0x24050003, +0xc003fe8, 0x27a6001a, 0x97a20020, 0x10400024, 0x24020001, 0x3c020001, +0x8c4232a8, 0x97a30018, 0x34420001, 0x3c010001, 0xac2232a8, 0x24020015, +0x14620004, 0x3402f423, 0x97a3001a, 0x10620018, 0x24020003, 0x97a30018, +0x24027810, 0x14620014, 0x24020002, 0x97a3001a, 0x24020001, 0x14620010, +0x24020002, 0x1000000e, 0x24020004, 0x3c020001, 0x8c4232a8, 0x34420008, +0x3c010001, 0xac2232a8, 0x10000058, 0x24020004, 0x3c020001, 0x8c4232a8, +0x34420004, 0x3c010001, 0x100000a8, 0xac2232a8, 0x3c010001, 0xac2233dc, +0x24020e00, 0xaf820238, 0x8f840054, 0x8f820054, 0x24030008, 0x3c010001, +0xac2332ac, 0x10000002, 0x248401f4, 0x8f820054, 0x821023, 0x2c4201f5, +0x1440fffc, 0x3c0200c8, 0x344201fb, 0xaf820238, 0x8f830054, 0x8f820054, +0x10000002, 0x246301f4, 0x8f820054, 0x621023, 0x2c4201f5, 0x1440fffc, +0x8821, 0x3c1300c8, 0x367301f6, 0x2415fffd, 0xc003f2b, 0x0, +0x8f830054, 0x8f820054, 0x10000002, 0x246301f4, 0x8f820054, 0x621023, +0x2c4201f5, 0x1440fffc, 0x0, 0xaf930238, 0x8f830054, 0x8f820054, +0x10000002, 0x2463000a, 0x8f820054, 0x621023, 0x2c42000b, 0x1440fffc, +0x0, 0x8f820220, 0x34420002, 0xaf820220, 0x8f820200, 0x24040001, +0x24057fff, 0x551024, 0xaf820200, 0xaf840204, 0x8f830054, 0x8f820054, +0x10000002, 0x24630001, 0x8f820054, 0x621023, 0x2c420002, 0x1440fffc, +0x0, 0x8f820224, 0x14440005, 0x34028000, 0x42040, 0xa4102b, +0x1040fff0, 0x34028000, 0x1082ffa6, 0x26310001, 0x2e220014, 0x1440ffce, +0x24020004, 0x3c010001, 0xac2232ac, 0x8821, 0x3c13ffff, 0x36733f7f, +0xc003f2b, 0x0, 0x8f830054, 0x8f820054, 0x10000002, 0x24630001, +0x8f820054, 0x621023, 0x2c420002, 0x1440fffc, 0x0, 0x8f820044, +0x531024, 0x34425080, 0xaf820044, 0x8f830054, 0x8f820054, 0x10000002, +0x2463000a, 0x8f820054, 0x621023, 0x2c42000b, 0x1440fffc, 0x0, +0x8f820044, 0x531024, 0x3442f080, 0xaf820044, 0x8f830054, 0x8f820054, +0x10000002, 0x2463000a, 0x8f820054, 0x621023, 0x2c42000b, 0x1440fffc, +0x0, 0x8f820220, 0x3c03f700, 0x431025, 0xaf820220, 0x8f830054, +0x8f820054, 0x10000002, 0x24630064, 0x8f820054, 0x621023, 0x2c420065, +0x1440fffc, 0x0, 0x8f820220, 0x24040001, 0x34420002, 0xaf820220, +0x8f830200, 0x24057fff, 0x2402fffd, 0x621824, 0xaf830200, 0xaf840204, +0x8f830054, 0x8f820054, 0x10000002, 0x24630001, 0x8f820054, 0x621023, +0x2c420002, 0x1440fffc, 0x0, 0x8f820224, 0x14440005, 0x34028000, +0x42040, 0xa4102b, 0x1040fff0, 0x34028000, 0x1082ff57, 0x26310001, +0x2e220064, 0x1440ffb0, 0x0, 0x3c020001, 0x8c4232a8, 0x30420004, +0x14400007, 0x3c08fff0, 0x8f820044, 0x3c03ffff, 0x34633f7f, 0x431024, +0xaf820044, 0x3c08fff0, 0x3508bdc0, 0x8f830054, 0x97a60018, 0x3c070001, +0x8ce733dc, 0x3c040001, 0x24843080, 0x24020001, 0x3c010001, 0xac2232b0, +0xafa60010, 0x3c060001, 0x8cc632a8, 0x97a2001a, 0x3c05000d, 0x34a50100, +0x3c010001, 0xac2032ac, 0x681821, 0x3c010001, 0xac2333d4, 0xc0028eb, +0xafa20014, 0x8fbf0034, 0x8fb50030, 0x8fb3002c, 0x8fb10028, 0x3e00008, +0x27bd0038, 0x27bdffe8, 0x24070004, 0x3c040001, 0x8c8432ac, 0x3021, +0x24020001, 0x1482000a, 0xafbf0010, 0x3c020001, 0x8c4254bc, 0x3c050004, +0x30428000, 0x1040000c, 0x34a593e0, 0x3c05000f, 0x10000009, 0x34a54240, +0x3c020001, 0x8c4254bc, 0x3c05000f, 0x30428000, 0x10400003, 0x34a54240, +0x3c05001e, 0x34a58480, 0x3c020001, 0x8c4233d4, 0x8f830054, 0x451021, +0x431023, 0x45102b, 0x1440002e, 0x0, 0x3c020001, 0x8c4232b4, +0x1440002a, 0x2cc20001, 0x7182b, 0x431024, 0x1040001d, 0x0, +0x3c090001, 0x8d2932a8, 0x240b0001, 0x3c054000, 0x3c080001, 0x250854bc, +0x250afffc, 0x42042, 0x14800002, 0x24e7ffff, 0x24040008, 0x891024, +0x5040000b, 0x2cc20001, 0x148b0004, 0x0, 0x8d020000, 0x10000003, +0x451024, 0x8d420000, 0x451024, 0x54400001, 0x24060001, 0x2cc20001, +0x7182b, 0x431024, 0x5440ffed, 0x42042, 0x3c010001, 0x10c00020, +0xac2432ac, 0x8f830054, 0x24020001, 0x3c010001, 0xac2232b0, 0x3c010001, +0xac2333d4, 0x3c020001, 0x8c4232b0, 0x10400004, 0x24020001, 0x3c010001, +0xac2032b0, 0xaee279c8, 0x8ee379c8, 0x24020008, 0x10620005, 0x24020001, +0xc003dd7, 0x0, 0x1000000b, 0x0, 0x3c030001, 0x8c6332ac, +0x10620007, 0x2402000e, 0x3c030001, 0x8c635430, 0x10620003, 0x0, +0xc004430, 0x8f840220, 0x8fbf0010, 0x3e00008, 0x27bd0018, 0x27bdffe0, +0x3c03fdff, 0x3c040001, 0x8c8432ac, 0x3c020001, 0x8c4232c4, 0x3463ffff, +0x283a024, 0x14820006, 0xafbf0018, 0x8ee379c8, 0x3c020001, 0x8c4232c8, +0x10620006, 0x0, 0x8ee279c8, 0x3c010001, 0xac2432c4, 0x3c010001, +0xac2232c8, 0x3c030001, 0x8c6332ac, 0x24020002, 0x10620139, 0x2c620003, +0x10400005, 0x24020001, 0x1062000a, 0x0, 0x10000131, 0x0, +0x24020004, 0x10620070, 0x24020008, 0x106200ac, 0x24020001, 0x1000012a, +0x0, 0x8ee279c8, 0x2443ffff, 0x2c620008, 0x10400127, 0x31080, +0x3c010001, 0x220821, 0x8c223098, 0x400008, 0x0, 0xc003f2b, +0x0, 0x3c020001, 0x8c4232b8, 0x3c010001, 0xac203240, 0x104000e8, +0x24020002, 0xaee279c8, 0x3c010001, 0x10000116, 0xac2032b8, 0xc00406b, +0x0, 0x3c030001, 0x8c6332d0, 0x24020011, 0x1462010f, 0x24020003, +0x100000aa, 0x0, 0x3c050001, 0x8ca532ac, 0x3c060001, 0x8cc654bc, +0xc004680, 0x24040001, 0x24020005, 0x3c010001, 0xac2032b8, 0x10000102, +0xaee279c8, 0x3c040001, 0x2484308c, 0x3c05000f, 0x34a50100, 0x3021, +0x3821, 0xafa00010, 0xc0028eb, 0xafa00014, 0x100000f7, 0x0, +0x8f820220, 0x3c03f700, 0x431025, 0x100000ae, 0xaf820220, 0x8f820220, +0x3c030004, 0x431024, 0x144000bc, 0x24020007, 0x8f830054, 0x3c020001, +0x8c4233d0, 0x2463d8f0, 0x431023, 0x2c422710, 0x144000e5, 0x24020001, +0x100000e1, 0x0, 0x3c050001, 0x8ca532ac, 0xc004785, 0x24040001, +0xc00484d, 0x24040001, 0x3c030001, 0x8c6354b4, 0x46100d7, 0x24020001, +0x3c020008, 0x621024, 0x10400006, 0x0, 0x8f820214, 0x3c03ffff, +0x431024, 0x10000005, 0x3442251f, 0x8f820214, 0x3c03ffff, 0x431024, +0x3442241f, 0xaf820214, 0x8f820220, 0x3c030200, 0x283a025, 0x34420002, +0xaf820220, 0x24020008, 0xc003b1e, 0xaee279c8, 0x100000c1, 0x0, +0x8ee279c8, 0x2443ffff, 0x2c620008, 0x104000bc, 0x31080, 0x3c010001, +0x220821, 0x8c2230b8, 0x400008, 0x0, 0xc003a65, 0x0, +0x3c010001, 0xac2032b0, 0xaf800204, 0x3c010001, 0xc003f2b, 0xac205480, +0x8f820044, 0x3c03ffff, 0x34633f7f, 0x431024, 0x34425080, 0xaf820044, +0x8f830054, 0x3c010001, 0xac203240, 0x10000062, 0x24020002, 0x3c020001, +0x8c4254b8, 0x30424000, 0x10400004, 0x0, 0x8f820044, 0x10000006, +0x3442f080, 0x8f820044, 0x3c03ffff, 0x34633f7f, 0x431024, 0x3442a080, +0xaf820044, 0x8f830054, 0x10000051, 0x24020004, 0xc003b78, 0x0, +0x1040008d, 0x24020001, 0x8f820214, 0x3c03ffff, 0x3c040001, 0x8c8433c8, +0x431024, 0x3442251f, 0xaf820214, 0x24020008, 0x14800067, 0xaee279c8, +0x1000006c, 0x0, 0x8ee279c8, 0x2443ffff, 0x2c620007, 0x1040007e, +0x31080, 0x3c010001, 0x220821, 0x8c2230d8, 0x400008, 0x0, +0xc003a65, 0x0, 0x3c010001, 0xac2032b0, 0xaf800204, 0x3c010001, +0xc003f2b, 0xac205480, 0x8f830054, 0x3c010001, 0xac203240, 0x1000002a, +0x24020002, 0x8f830054, 0x3c020001, 0x8c4233d0, 0x2463d8f0, 0x431023, +0x2c422710, 0x14400064, 0x24020003, 0x10000062, 0xaee279c8, 0x3c020001, +0x8c4254b8, 0x30424000, 0x10400003, 0x3c0200c8, 0x10000002, 0x344201f6, +0x344201fe, 0xaf820238, 0x8f830054, 0x10000014, 0x24020004, 0x8f830054, +0x3c020001, 0x8c4233d0, 0x2463d8f0, 0x431023, 0x2c422710, 0x1440004e, +0x24020005, 0x1000004c, 0xaee279c8, 0x8f820220, 0x3c03f700, 0x431025, +0xaf820220, 0xaf800204, 0x3c010001, 0xac205480, 0x8f830054, 0x24020006, +0xaee279c8, 0x3c010001, 0x1000003f, 0xac2333d0, 0x3c05fffe, 0x34a57960, +0x3c040001, 0x8f820054, 0x3c030001, 0x8c6333d0, 0x3484869f, 0x451021, +0x621823, 0x83202b, 0x10800033, 0x0, 0x24020007, 0x10000030, +0xaee279c8, 0xc003b78, 0x0, 0x1040002a, 0x24020001, 0x8f820214, +0x3c03ffff, 0x3c040001, 0x8c8433c8, 0x431024, 0x3442251f, 0xaf820214, +0x24020008, 0x1080000b, 0xaee279c8, 0x8f820220, 0x34420002, 0xaf820220, +0x24020001, 0x3c010001, 0xac225430, 0xc004430, 0x8f840220, 0x10000018, +0x0, 0x8f820220, 0x3c030008, 0x431024, 0x14400013, 0x3c020200, +0x282a025, 0x2402000e, 0x3c010001, 0xac225430, 0xc00484d, 0x24040001, +0x8f820220, 0x34420002, 0xc003b1e, 0xaf820220, 0x3c050001, 0x8ca532ac, +0xc004785, 0x24040001, 0x10000003, 0x0, 0x3c010001, 0xac2232b0, +0x8fbf0018, 0x3e00008, 0x27bd0020, 0x8f820200, 0x8f820220, 0x8f820220, +0x34420004, 0xaf820220, 0x8f820200, 0x3c040001, 0x8c8432ac, 0x34420004, +0xaf820200, 0x24020002, 0x1082003a, 0x2c820003, 0x10400005, 0x24020001, +0x1082000a, 0x3c03f0ff, 0x100000a8, 0x0, 0x24020004, 0x10820055, +0x24020008, 0x10820074, 0x3c02f0ff, 0x100000a1, 0x0, 0x8f820050, +0x3463ffff, 0x3c05ffff, 0x34a53f7f, 0x431024, 0x3c030700, 0x431025, +0xaf820050, 0x24020e00, 0xaf840200, 0xaf840220, 0xaf820238, 0x8f820044, +0x3c030001, 0x8c633298, 0x3c040001, 0x8c8433dc, 0x451024, 0x34630022, +0xaf820044, 0x24020004, 0x1082000c, 0xaf830200, 0x3c020001, 0x8c4232c0, +0x3c030001, 0x8c6332a4, 0x3c040001, 0x8c84329c, 0x34428000, 0x621825, +0x641825, 0x1000007e, 0x34620002, 0x3c020001, 0x8c4232a4, 0x3c030001, +0x8c6332c0, 0x3c040001, 0x8c84329c, 0x431025, 0x441025, 0x10000074, +0x34420002, 0x8f830050, 0x3c02f0ff, 0x3442ffff, 0x3c040001, 0x8c8433c8, +0x621824, 0x3c020d00, 0x621825, 0x24020001, 0xaf830050, 0xaf820200, +0xaf820220, 0x24020e00, 0xaf820238, 0x10800005, 0x3c033f00, 0x3c020001, +0x8c423290, 0x10000004, 0x34630070, 0x3c020001, 0x8c423290, 0x34630072, +0x431025, 0xaf820200, 0x3c030001, 0x8c633294, 0x3c04f700, 0x3c020001, +0x8c4232a4, 0x3c050001, 0x8ca532c0, 0x641825, 0x431025, 0x10000050, +0x451025, 0x3c03f0ff, 0x8f820050, 0x3463ffff, 0x3c04ffff, 0x431024, +0x3c030a00, 0x431025, 0xaf820050, 0x24020001, 0xaf820200, 0xaf820220, +0x24020e01, 0xaf820238, 0x8f820044, 0x34843f7f, 0x3c030001, 0x8c6333c8, +0x441024, 0x34420080, 0xaf820044, 0x10600005, 0x3c033f00, 0x3c020001, +0x8c423290, 0x10000004, 0x346300e0, 0x3c020001, 0x8c423290, 0x346300e2, +0x431025, 0xaf820200, 0x10000025, 0x3c05f700, 0x8f830050, 0x3c040001, +0x8c8433c8, 0x3442ffff, 0x621824, 0xaf830050, 0x10800013, 0x3c0500c8, +0x34a501fb, 0x3c063f00, 0x3c030001, 0x8c6332a0, 0x3c040001, 0x8c843290, +0x34c600e0, 0x24020001, 0xaf820200, 0xaf820220, 0xaf850238, 0x24630001, +0x862025, 0x3c010001, 0xac2332a0, 0xaf840200, 0x1000000b, 0x3c05f700, +0x3c0200c8, 0x344201fb, 0x3c030001, 0x8c633290, 0x3c043f00, 0x348400e2, +0xaf820238, 0x641825, 0xaf830200, 0x3c05f700, 0x34a58000, 0x3c030001, +0x8c633294, 0x3c020001, 0x8c4232a4, 0x3c040001, 0x8c8432c0, 0x651825, +0x431025, 0x441025, 0xaf820220, 0x3e00008, 0x0, 0x0, +0x27bdffd8, 0xafb50018, 0x80a821, 0xafbe001c, 0xa0f021, 0xafb30014, +0xc09821, 0xafb10010, 0x8821, 0xafbf0020, 0xa6600000, 0xc0043e7, +0x24040001, 0x26310001, 0x2e220020, 0x1440fffb, 0x0, 0xc0043e7, +0x2021, 0xc0043e7, 0x24040001, 0xc0043e7, 0x24040001, 0xc0043e7, +0x2021, 0x24110010, 0x2b11024, 0x10400002, 0x2021, 0x24040001, +0xc0043e7, 0x118842, 0x1620fffa, 0x2b11024, 0x24110010, 0x3d11024, +0x10400002, 0x2021, 0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, +0x3d11024, 0xc00440d, 0x34118000, 0xc00440d, 0x0, 0xc0043c7, +0x0, 0x50400005, 0x118842, 0x96620000, 0x511025, 0xa6620000, +0x118842, 0x1620fff7, 0x0, 0xc00440d, 0x0, 0x8fbf0020, +0x8fbe001c, 0x8fb50018, 0x8fb30014, 0x8fb10010, 0x3e00008, 0x27bd0028, +0x27bdffd8, 0xafb30014, 0x809821, 0xafb50018, 0xa0a821, 0xafbe001c, +0xc0f021, 0xafb10010, 0x8821, 0xafbf0020, 0xc0043e7, 0x24040001, +0x26310001, 0x2e220020, 0x1440fffb, 0x0, 0xc0043e7, 0x2021, +0xc0043e7, 0x24040001, 0xc0043e7, 0x2021, 0xc0043e7, 0x24040001, +0x24110010, 0x2711024, 0x10400002, 0x2021, 0x24040001, 0xc0043e7, +0x118842, 0x1620fffa, 0x2711024, 0x24110010, 0x2b11024, 0x10400002, +0x2021, 0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, 0x2b11024, +0xc0043e7, 0x24040001, 0xc0043e7, 0x2021, 0x34118000, 0x97c20000, +0x511024, 0x10400002, 0x2021, 0x24040001, 0xc0043e7, 0x118842, +0x1620fff8, 0x0, 0xc00440d, 0x0, 0x8fbf0020, 0x8fbe001c, +0x8fb50018, 0x8fb30014, 0x8fb10010, 0x3e00008, 0x27bd0028, 0x3c030001, +0x8c6332d0, 0x3c020001, 0x8c423314, 0x27bdffd8, 0xafbf0020, 0xafb3001c, +0x10620003, 0xafb10018, 0x3c010001, 0xac233314, 0x2463ffff, 0x2c620013, +0x10400349, 0x31080, 0x3c010001, 0x220821, 0x8c223100, 0x400008, +0x0, 0xc00440d, 0x8821, 0x34028000, 0xa7a20010, 0x27b30010, +0xc0043e7, 0x24040001, 0x26310001, 0x2e220020, 0x1440fffb, 0x0, +0xc0043e7, 0x2021, 0xc0043e7, 0x24040001, 0xc0043e7, 0x2021, +0xc0043e7, 0x24040001, 0x24110010, 0x32220001, 0x10400002, 0x2021, +0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, 0x32220001, 0x24110010, +0xc0043e7, 0x2021, 0x118842, 0x1620fffc, 0x0, 0xc0043e7, +0x24040001, 0xc0043e7, 0x2021, 0x34118000, 0x96620000, 0x511024, +0x10400002, 0x2021, 0x24040001, 0xc0043e7, 0x118842, 0x1620fff8, +0x0, 0xc00440d, 0x0, 0x1000030e, 0x24020002, 0x27b30010, +0xa7a00010, 0x8821, 0xc0043e7, 0x24040001, 0x26310001, 0x2e220020, +0x1440fffb, 0x0, 0xc0043e7, 0x2021, 0xc0043e7, 0x24040001, +0xc0043e7, 0x24040001, 0xc0043e7, 0x2021, 0x24110010, 0x32220001, +0x10400002, 0x2021, 0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, +0x32220001, 0x24110010, 0xc0043e7, 0x2021, 0x118842, 0x1620fffc, +0x0, 0xc00440d, 0x34118000, 0xc00440d, 0x0, 0xc0043c7, +0x0, 0x50400005, 0x118842, 0x96620000, 0x511025, 0xa6620000, +0x118842, 0x1620fff7, 0x0, 0xc00440d, 0x0, 0x97a20010, +0x30428000, 0x144002dc, 0x24020003, 0x100002d8, 0x0, 0x24021200, +0xa7a20010, 0x27b30010, 0x8821, 0xc0043e7, 0x24040001, 0x26310001, +0x2e220020, 0x1440fffb, 0x0, 0xc0043e7, 0x2021, 0xc0043e7, +0x24040001, 0xc0043e7, 0x2021, 0xc0043e7, 0x24040001, 0x24110010, +0x32220001, 0x10400002, 0x2021, 0x24040001, 0xc0043e7, 0x118842, +0x1620fffa, 0x32220001, 0x24110010, 0xc0043e7, 0x2021, 0x118842, +0x1620fffc, 0x0, 0xc0043e7, 0x24040001, 0xc0043e7, 0x2021, +0x34118000, 0x96620000, 0x511024, 0x10400002, 0x2021, 0x24040001, +0xc0043e7, 0x118842, 0x1620fff8, 0x0, 0xc00440d, 0x0, +0x8f830054, 0x10000296, 0x24020004, 0x8f830054, 0x3c020001, 0x8c4233d8, +0x2463ff9c, 0x431023, 0x2c420064, 0x1440029e, 0x24020002, 0x3c030001, +0x8c6333dc, 0x10620297, 0x2c620003, 0x14400296, 0x24020011, 0x24020003, +0x10620005, 0x24020004, 0x10620291, 0x2402000f, 0x1000028f, 0x24020011, +0x1000028d, 0x24020005, 0x24020014, 0xa7a20010, 0x27b30010, 0x8821, +0xc0043e7, 0x24040001, 0x26310001, 0x2e220020, 0x1440fffb, 0x0, +0xc0043e7, 0x2021, 0xc0043e7, 0x24040001, 0xc0043e7, 0x2021, +0xc0043e7, 0x24040001, 0x24110010, 0x32220001, 0x10400002, 0x2021, +0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, 0x32220001, 0x24110010, +0x32220012, 0x10400002, 0x2021, 0x24040001, 0xc0043e7, 0x118842, +0x1620fffa, 0x32220012, 0xc0043e7, 0x24040001, 0xc0043e7, 0x2021, +0x34118000, 0x96620000, 0x511024, 0x10400002, 0x2021, 0x24040001, +0xc0043e7, 0x118842, 0x1620fff8, 0x0, 0xc00440d, 0x0, +0x8f830054, 0x10000248, 0x24020006, 0x8f830054, 0x3c020001, 0x8c4233d8, +0x2463ff9c, 0x431023, 0x2c420064, 0x14400250, 0x24020007, 0x1000024c, +0x0, 0x24020006, 0xa7a20010, 0x27b30010, 0x8821, 0xc0043e7, +0x24040001, 0x26310001, 0x2e220020, 0x1440fffb, 0x0, 0xc0043e7, +0x2021, 0xc0043e7, 0x24040001, 0xc0043e7, 0x2021, 0xc0043e7, +0x24040001, 0x24110010, 0x32220001, 0x10400002, 0x2021, 0x24040001, +0xc0043e7, 0x118842, 0x1620fffa, 0x32220001, 0x24110010, 0x32220013, +0x10400002, 0x2021, 0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, +0x32220013, 0xc0043e7, 0x24040001, 0xc0043e7, 0x2021, 0x34118000, +0x96620000, 0x511024, 0x10400002, 0x2021, 0x24040001, 0xc0043e7, +0x118842, 0x1620fff8, 0x0, 0xc00440d, 0x0, 0x8f830054, +0x10000207, 0x24020008, 0x8f830054, 0x3c020001, 0x8c4233d8, 0x2463ff9c, +0x431023, 0x2c420064, 0x1440020f, 0x24020009, 0x1000020b, 0x0, +0x27b30010, 0xa7a00010, 0x8821, 0xc0043e7, 0x24040001, 0x26310001, +0x2e220020, 0x1440fffb, 0x0, 0xc0043e7, 0x2021, 0xc0043e7, +0x24040001, 0xc0043e7, 0x24040001, 0xc0043e7, 0x2021, 0x24110010, +0x32220001, 0x10400002, 0x2021, 0x24040001, 0xc0043e7, 0x118842, +0x1620fffa, 0x32220001, 0x24110010, 0x32220018, 0x10400002, 0x2021, +0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, 0x32220018, 0xc00440d, +0x34118000, 0xc00440d, 0x0, 0xc0043c7, 0x0, 0x50400005, +0x118842, 0x96620000, 0x511025, 0xa6620000, 0x118842, 0x1620fff7, +0x0, 0xc00440d, 0x8821, 0x97a20010, 0x27b30010, 0x34420001, +0xa7a20010, 0xc0043e7, 0x24040001, 0x26310001, 0x2e220020, 0x1440fffb, +0x0, 0xc0043e7, 0x2021, 0xc0043e7, 0x24040001, 0xc0043e7, +0x2021, 0xc0043e7, 0x24040001, 0x24110010, 0x32220001, 0x10400002, +0x2021, 0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, 0x32220001, +0x24110010, 0x32220018, 0x10400002, 0x2021, 0x24040001, 0xc0043e7, +0x118842, 0x1620fffa, 0x32220018, 0xc0043e7, 0x24040001, 0xc0043e7, +0x2021, 0x34118000, 0x96620000, 0x511024, 0x10400002, 0x2021, +0x24040001, 0xc0043e7, 0x118842, 0x1620fff8, 0x0, 0xc00440d, +0x0, 0x8f830054, 0x10000193, 0x2402000a, 0x8f830054, 0x3c020001, +0x8c4233d8, 0x2463ff9c, 0x431023, 0x2c420064, 0x1440019b, 0x2402000b, +0x10000197, 0x0, 0x27b30010, 0xa7a00010, 0x8821, 0xc0043e7, +0x24040001, 0x26310001, 0x2e220020, 0x1440fffb, 0x0, 0xc0043e7, +0x2021, 0xc0043e7, 0x24040001, 0xc0043e7, 0x24040001, 0xc0043e7, +0x2021, 0x24110010, 0x32220001, 0x10400002, 0x2021, 0x24040001, +0xc0043e7, 0x118842, 0x1620fffa, 0x32220001, 0x24110010, 0x32220017, +0x10400002, 0x2021, 0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, +0x32220017, 0xc00440d, 0x34118000, 0xc00440d, 0x0, 0xc0043c7, +0x0, 0x50400005, 0x118842, 0x96620000, 0x511025, 0xa6620000, +0x118842, 0x1620fff7, 0x0, 0xc00440d, 0x8821, 0x97a20010, +0x27b30010, 0x34420700, 0xa7a20010, 0xc0043e7, 0x24040001, 0x26310001, +0x2e220020, 0x1440fffb, 0x0, 0xc0043e7, 0x2021, 0xc0043e7, +0x24040001, 0xc0043e7, 0x2021, 0xc0043e7, 0x24040001, 0x24110010, +0x32220001, 0x10400002, 0x2021, 0x24040001, 0xc0043e7, 0x118842, +0x1620fffa, 0x32220001, 0x24110010, 0x32220017, 0x10400002, 0x2021, +0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, 0x32220017, 0xc0043e7, +0x24040001, 0xc0043e7, 0x2021, 0x34118000, 0x96620000, 0x511024, +0x10400002, 0x2021, 0x24040001, 0xc0043e7, 0x118842, 0x1620fff8, +0x0, 0xc00440d, 0x0, 0x8f830054, 0x1000011f, 0x2402000c, +0x8f830054, 0x3c020001, 0x8c4233d8, 0x2463ff9c, 0x431023, 0x2c420064, +0x14400127, 0x24020012, 0x10000123, 0x0, 0x27b30010, 0xa7a00010, +0x8821, 0xc0043e7, 0x24040001, 0x26310001, 0x2e220020, 0x1440fffb, +0x0, 0xc0043e7, 0x2021, 0xc0043e7, 0x24040001, 0xc0043e7, +0x24040001, 0xc0043e7, 0x2021, 0x24110010, 0x32220001, 0x10400002, +0x2021, 0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, 0x32220001, +0x24110010, 0x32220014, 0x10400002, 0x2021, 0x24040001, 0xc0043e7, +0x118842, 0x1620fffa, 0x32220014, 0xc00440d, 0x34118000, 0xc00440d, +0x0, 0xc0043c7, 0x0, 0x50400005, 0x118842, 0x96620000, +0x511025, 0xa6620000, 0x118842, 0x1620fff7, 0x0, 0xc00440d, +0x8821, 0x97a20010, 0x27b30010, 0x34420010, 0xa7a20010, 0xc0043e7, +0x24040001, 0x26310001, 0x2e220020, 0x1440fffb, 0x0, 0xc0043e7, +0x2021, 0xc0043e7, 0x24040001, 0xc0043e7, 0x2021, 0xc0043e7, +0x24040001, 0x24110010, 0x32220001, 0x10400002, 0x2021, 0x24040001, +0xc0043e7, 0x118842, 0x1620fffa, 0x32220001, 0x24110010, 0x32220014, +0x10400002, 0x2021, 0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, +0x32220014, 0xc0043e7, 0x24040001, 0xc0043e7, 0x2021, 0x34118000, +0x96620000, 0x511024, 0x10400002, 0x2021, 0x24040001, 0xc0043e7, +0x118842, 0x1620fff8, 0x0, 0xc00440d, 0x0, 0x8f830054, +0x100000ab, 0x24020013, 0x8f830054, 0x3c020001, 0x8c4233d8, 0x2463ff9c, +0x431023, 0x2c420064, 0x144000b3, 0x2402000d, 0x100000af, 0x0, +0x27b30010, 0xa7a00010, 0x8821, 0xc0043e7, 0x24040001, 0x26310001, +0x2e220020, 0x1440fffb, 0x0, 0xc0043e7, 0x2021, 0xc0043e7, +0x24040001, 0xc0043e7, 0x24040001, 0xc0043e7, 0x2021, 0x24110010, +0x32220001, 0x10400002, 0x2021, 0x24040001, 0xc0043e7, 0x118842, +0x1620fffa, 0x32220001, 0x24110010, 0x32220018, 0x10400002, 0x2021, +0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, 0x32220018, 0xc00440d, +0x34118000, 0xc00440d, 0x0, 0xc0043c7, 0x0, 0x50400005, +0x118842, 0x96620000, 0x511025, 0xa6620000, 0x118842, 0x1620fff7, +0x0, 0xc00440d, 0x8821, 0x97a20010, 0x27b30010, 0x3042fffe, +0xa7a20010, 0xc0043e7, 0x24040001, 0x26310001, 0x2e220020, 0x1440fffb, +0x0, 0xc0043e7, 0x2021, 0xc0043e7, 0x24040001, 0xc0043e7, +0x2021, 0xc0043e7, 0x24040001, 0x24110010, 0x32220001, 0x10400002, +0x2021, 0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, 0x32220001, +0x24110010, 0x32220018, 0x10400002, 0x2021, 0x24040001, 0xc0043e7, +0x118842, 0x1620fffa, 0x32220018, 0xc0043e7, 0x24040001, 0xc0043e7, +0x2021, 0x34118000, 0x96620000, 0x511024, 0x10400002, 0x2021, +0x24040001, 0xc0043e7, 0x118842, 0x1620fff8, 0x0, 0xc00440d, +0x0, 0x8f830054, 0x10000037, 0x2402000e, 0x24020840, 0xa7a20010, +0x27b30010, 0x8821, 0xc0043e7, 0x24040001, 0x26310001, 0x2e220020, +0x1440fffb, 0x0, 0xc0043e7, 0x2021, 0xc0043e7, 0x24040001, +0xc0043e7, 0x2021, 0xc0043e7, 0x24040001, 0x24110010, 0x32220001, +0x10400002, 0x2021, 0x24040001, 0xc0043e7, 0x118842, 0x1620fffa, +0x32220001, 0x24110010, 0x32220013, 0x10400002, 0x2021, 0x24040001, +0xc0043e7, 0x118842, 0x1620fffa, 0x32220013, 0xc0043e7, 0x24040001, +0xc0043e7, 0x2021, 0x34118000, 0x96620000, 0x511024, 0x10400002, +0x2021, 0x24040001, 0xc0043e7, 0x118842, 0x1620fff8, 0x0, +0xc00440d, 0x0, 0x8f830054, 0x24020010, 0x3c010001, 0xac2232d0, +0x3c010001, 0x1000000c, 0xac2333d8, 0x8f830054, 0x3c020001, 0x8c4233d8, +0x2463ff9c, 0x431023, 0x2c420064, 0x14400004, 0x0, 0x24020011, +0x3c010001, 0xac2232d0, 0x8fbf0020, 0x8fb3001c, 0x8fb10018, 0x3e00008, +0x27bd0028, 0x8f850044, 0x8f820044, 0x3c030001, 0x431025, 0x3c030008, +0xaf820044, 0x8f840054, 0x8f820054, 0xa32824, 0x10000002, 0x24840001, +0x8f820054, 0x821023, 0x2c420002, 0x1440fffc, 0x0, 0x8f820044, +0x3c03fffe, 0x3463ffff, 0x431024, 0xaf820044, 0x8f830054, 0x8f820054, +0x10000002, 0x24630001, 0x8f820054, 0x621023, 0x2c420002, 0x1440fffc, +0x0, 0x3e00008, 0xa01021, 0x8f830044, 0x3c02fff0, 0x3442ffff, +0x42480, 0x621824, 0x3c020002, 0x822025, 0x641825, 0xaf830044, +0x8f820044, 0x3c030001, 0x431025, 0xaf820044, 0x8f830054, 0x8f820054, +0x10000002, 0x24630001, 0x8f820054, 0x621023, 0x2c420002, 0x1440fffc, +0x0, 0x8f820044, 0x3c03fffe, 0x3463ffff, 0x431024, 0xaf820044, +0x8f830054, 0x8f820054, 0x10000002, 0x24630001, 0x8f820054, 0x621023, +0x2c420002, 0x1440fffc, 0x0, 0x3e00008, 0x0, 0x8f820044, +0x3c03fff0, 0x3463ffff, 0x431024, 0xaf820044, 0x8f820044, 0x3c030001, +0x431025, 0xaf820044, 0x8f830054, 0x8f820054, 0x10000002, 0x24630001, +0x8f820054, 0x621023, 0x2c420002, 0x1440fffc, 0x0, 0x8f820044, +0x3c03fffe, 0x3463ffff, 0x431024, 0xaf820044, 0x8f830054, 0x8f820054, +0x10000002, 0x24630001, 0x8f820054, 0x621023, 0x2c420002, 0x1440fffc, +0x0, 0x3e00008, 0x0, 0x0, 0x27bdffe8, 0xafbf0010, +0x8ee379c8, 0x24020008, 0x146201ca, 0x0, 0x3c020001, 0x8c4233c8, +0x14400005, 0x0, 0xc003a65, 0x8f840224, 0x100001c2, 0x0, +0x8f820220, 0x3c030008, 0x431024, 0x10400026, 0x24020001, 0x8f840224, +0x8f820220, 0x3c030400, 0x431024, 0x10400006, 0x0, 0x3c010001, +0xac205440, 0x3c010001, 0x1000000b, 0xac205460, 0x3c030001, 0x24635440, +0x8c620000, 0x24420001, 0xac620000, 0x2c420002, 0x14400003, 0x24020001, +0x3c010001, 0xac225460, 0x3c020001, 0x8c425460, 0x10400006, 0x30820040, +0x10400004, 0x24020001, 0x3c010001, 0x10000003, 0xac225464, 0x3c010001, +0xac205464, 0x3c010001, 0xac24543c, 0x3c010001, 0x1000000b, 0xac205470, +0x3c010001, 0xac225470, 0x3c010001, 0xac205460, 0x3c010001, 0xac205440, +0x3c010001, 0xac205464, 0x3c010001, 0xac20543c, 0x3c030001, 0x8c635430, +0x3c020001, 0x8c425434, 0x50620004, 0x2463ffff, 0x3c010001, 0xac235434, +0x2463ffff, 0x2c62000e, 0x1040017e, 0x31080, 0x3c010001, 0x220821, +0x8c223150, 0x400008, 0x0, 0x3c02fdff, 0x3442ffff, 0x282a024, +0x24020002, 0x3c010001, 0xac205460, 0x3c010001, 0xac205440, 0x3c010001, +0xac205470, 0x3c010001, 0xac20543c, 0x3c010001, 0xac205464, 0x3c010001, +0xac205458, 0x3c010001, 0xac205450, 0xaf800224, 0x3c010001, 0xac225430, +0xc003a65, 0x0, 0xaf800204, 0x8f820200, 0x2403fffd, 0x431024, +0xaf820200, 0x3c010001, 0xac205480, 0x8f830054, 0x3c020001, 0x8c425458, +0x24040001, 0x3c010001, 0xac24546c, 0x24420001, 0x3c010001, 0xac225458, +0x2c420004, 0x3c010001, 0xac235454, 0x14400006, 0x24020003, 0x3c010001, +0xac2432b0, 0x3c010001, 0x10000148, 0xac205458, 0x3c010001, 0x10000145, +0xac225430, 0x8f830054, 0x3c020001, 0x8c425454, 0x2463d8f0, 0x431023, +0x2c422710, 0x1440013d, 0x24020004, 0x3c010001, 0x1000013a, 0xac225430, +0x3c040001, 0x8c8433cc, 0x3c010001, 0xc004602, 0xac205448, 0x3c020001, +0x8c42547c, 0xaf820204, 0x8f820204, 0x30420030, 0x14400125, 0x24020002, +0x3c030001, 0x8c63547c, 0x24020005, 0x3c010001, 0xac225430, 0x3c010001, +0x10000126, 0xac235480, 0x3c020001, 0x8c425460, 0x10400122, 0x0, +0x3c020001, 0x8c42543c, 0x1040011e, 0x0, 0x3c010001, 0xac225468, +0x24020003, 0x3c010001, 0xac225440, 0x100000c1, 0x24020006, 0x3c010001, +0xac205448, 0x8f820204, 0x34420040, 0xaf820204, 0x3c020001, 0x8c425480, +0x24030007, 0x3c010001, 0xac235430, 0x34420040, 0x3c010001, 0xac225480, +0x3c020001, 0x8c425460, 0x10400005, 0x0, 0x3c020001, 0x8c42543c, +0x104000f9, 0x24020002, 0x3c050001, 0x24a55440, 0x8ca20000, 0x2c424e21, +0x104000f3, 0x24020002, 0x3c020001, 0x8c425464, 0x104000f8, 0x2404ffbf, +0x3c020001, 0x8c42543c, 0x3c030001, 0x8c635468, 0x441024, 0x641824, +0x14430007, 0x24020001, 0x24020003, 0xaca20000, 0x24020008, 0x3c010001, +0x100000ea, 0xac225430, 0x3c010001, 0x100000e7, 0xac225430, 0x3c020001, +0x8c42546c, 0x1040000c, 0x24020001, 0x3c040001, 0xc00460f, 0x8c84543c, +0x3c020001, 0x8c425488, 0x14400005, 0x24020001, 0x3c020001, 0x8c425484, +0x10400006, 0x24020001, 0x3c010001, 0xac2232b0, 0x3c010001, 0x100000d3, +0xac205458, 0x8f820204, 0x34420040, 0xaf820204, 0x3c020001, 0x8c425480, +0x3c030001, 0x8c635450, 0x34420040, 0x3c010001, 0xac225480, 0x3c020001, +0x8c42543c, 0x2c630001, 0x318c0, 0x3c010001, 0xac235450, 0x30420008, +0x3c010001, 0xac22544c, 0x8f830054, 0x24020009, 0x3c010001, 0xac225430, +0x3c010001, 0x100000b9, 0xac235454, 0x8f830054, 0x3c020001, 0x8c425454, +0x2463d8f0, 0x431023, 0x2c422710, 0x1440009f, 0x0, 0x3c020001, +0x8c425460, 0x10400005, 0x0, 0x3c020001, 0x8c42543c, 0x104000a0, +0x24020002, 0x3c030001, 0x24635440, 0x8c620000, 0x2c424e21, 0x1040009a, +0x24020002, 0x3c020001, 0x8c42546c, 0x1040000e, 0x0, 0x3c020001, +0x8c42543c, 0x3c010001, 0xac20546c, 0x30420080, 0x1040002f, 0x2402000c, +0x8f820204, 0x30420080, 0x1440000c, 0x24020003, 0x10000029, 0x2402000c, +0x3c020001, 0x8c42543c, 0x30420080, 0x14400005, 0x24020003, 0x8f820204, +0x30420080, 0x1040001f, 0x24020003, 0xac620000, 0x2402000a, 0x3c010001, +0xac225430, 0x3c040001, 0x24845478, 0x8c820000, 0x3c030001, 0x8c635450, +0x431025, 0xaf820204, 0x8c830000, 0x3c040001, 0x8c845450, 0x2402000b, +0x3c010001, 0xac225430, 0x641825, 0x3c010001, 0xac235480, 0x3c050001, +0x24a55440, 0x8ca20000, 0x2c424e21, 0x10400066, 0x24020002, 0x3c020001, +0x8c425470, 0x10400005, 0x0, 0x2402000c, 0x3c010001, 0x10000067, +0xac225430, 0x3c020001, 0x8c425460, 0x10400063, 0x0, 0x3c040001, +0x8c84543c, 0x10800055, 0x30820008, 0x3c030001, 0x8c63544c, 0x1062005b, +0x24020003, 0x3c010001, 0xac245468, 0xaca20000, 0x24020006, 0x3c010001, +0x10000054, 0xac225430, 0x8f820200, 0x34420002, 0xaf820200, 0x8f830054, +0x2402000d, 0x3c010001, 0xac225430, 0x3c010001, 0xac235454, 0x8f830054, +0x3c020001, 0x8c425454, 0x2463d8f0, 0x431023, 0x2c422710, 0x14400031, +0x0, 0x3c020001, 0x8c425470, 0x10400020, 0x2402000e, 0x3c030001, +0x8c635484, 0x3c010001, 0x14600015, 0xac225430, 0xc003b1e, 0x0, +0x3c050001, 0x8ca532ac, 0xc004785, 0x24040001, 0x3c030001, 0x8c6332ac, +0x24020004, 0x14620005, 0x2403fffb, 0x3c020001, 0x8c4232a8, 0x10000003, +0x2403fff7, 0x3c020001, 0x8c4232a8, 0x431024, 0x3c010001, 0xac2232a8, +0x8f830224, 0x3c020200, 0x3c010001, 0xac23548c, 0x10000020, 0x282a025, +0x3c020001, 0x8c425460, 0x10400005, 0x0, 0x3c020001, 0x8c42543c, +0x1040000f, 0x24020002, 0x3c020001, 0x8c425440, 0x2c424e21, 0x1040000a, +0x24020002, 0x3c020001, 0x8c425460, 0x1040000f, 0x0, 0x3c020001, +0x8c42543c, 0x1440000b, 0x0, 0x24020002, 0x3c010001, 0x10000007, +0xac225430, 0x3c020001, 0x8c425460, 0x10400003, 0x0, 0xc003a65, +0x0, 0x8f820220, 0x3c03f700, 0x431025, 0xaf820220, 0x8fbf0010, +0x3e00008, 0x27bd0018, 0x3c030001, 0x24635488, 0x8c620000, 0x10400005, +0x34422000, 0x3c010001, 0xac22547c, 0x10000003, 0xac600000, 0x3c010001, +0xac24547c, 0x3e00008, 0x0, 0x27bdffe0, 0x30820030, 0xafbf0018, +0x3c010001, 0xac225484, 0x14400067, 0x3c02ffff, 0x34421f0e, 0x821024, +0x14400061, 0x24020030, 0x30822000, 0x1040005d, 0x30838000, 0x31a02, +0x30820001, 0x21200, 0x3c040001, 0x8c8433cc, 0x621825, 0x331c2, +0x3c030001, 0x2463332c, 0x30828000, 0x21202, 0x30840001, 0x42200, +0x441025, 0x239c2, 0x61080, 0x431021, 0x471021, 0x90430000, +0x24020001, 0x10620025, 0x0, 0x10600007, 0x24020002, 0x10620013, +0x24020003, 0x1062002c, 0x3c05000f, 0x10000037, 0x0, 0x8f820200, +0x2403feff, 0x431024, 0xaf820200, 0x8f820220, 0x3c03fffe, 0x3463ffff, +0x431024, 0xaf820220, 0x3c010001, 0xac2054c4, 0x3c010001, 0x10000034, +0xac2054cc, 0x8f820200, 0x34420100, 0xaf820200, 0x8f820220, 0x3c03fffe, +0x3463ffff, 0x431024, 0xaf820220, 0x24020100, 0x3c010001, 0xac2254c4, +0x3c010001, 0x10000026, 0xac2054cc, 0x8f820200, 0x2403feff, 0x431024, +0xaf820200, 0x8f820220, 0x3c030001, 0x431025, 0xaf820220, 0x3c010001, +0xac2054c4, 0x3c010001, 0x10000019, 0xac2354cc, 0x8f820200, 0x34420100, +0xaf820200, 0x8f820220, 0x3c030001, 0x431025, 0xaf820220, 0x24020100, +0x3c010001, 0xac2254c4, 0x3c010001, 0x1000000c, 0xac2354cc, 0x34a5ffff, +0x3c040001, 0x24843188, 0xafa30010, 0xc0028eb, 0xafa00014, 0x10000004, +0x0, 0x24020030, 0x3c010001, 0xac225488, 0x8fbf0018, 0x3e00008, +0x27bd0020, 0x0, 0x27bdffc8, 0xafb30024, 0x809821, 0xafbe002c, +0xa0f021, 0xafb10020, 0xc08821, 0x3c040001, 0x248431a0, 0x3c050009, +0x3c020001, 0x8c4232ac, 0x34a59001, 0x2603021, 0x3c03821, 0xafbf0030, +0xafb50028, 0xa7a0001a, 0xafb10014, 0xc0028eb, 0xafa20010, 0x24020002, +0x13c200e7, 0x2fc20003, 0x10400005, 0x24020001, 0x13c2000a, 0x3c02fffb, +0x100000e1, 0x0, 0x24020004, 0x13c2006d, 0x24020008, 0x13c2006c, +0x3c02ffec, 0x100000da, 0x0, 0x3442ffff, 0x2228824, 0x13a940, +0x3c010001, 0x350821, 0xac31549c, 0x3c024000, 0x2221024, 0x10400046, +0x1123c2, 0x30840030, 0x111382, 0x3042000c, 0x3c030001, 0x246332d4, +0x431021, 0x823821, 0x3c020020, 0x2221024, 0x10400006, 0x24020100, +0x3c010001, 0x350821, 0xac2254a0, 0x10000005, 0x3c020080, 0x3c010001, +0x350821, 0xac2054a0, 0x3c020080, 0x2221024, 0x10400006, 0x131940, +0x3c020001, 0x3c010001, 0x230821, 0x10000005, 0xac2254a8, 0x131140, +0x3c010001, 0x220821, 0xac2054a8, 0x94e30000, 0x32224000, 0x10400003, +0xa7a30018, 0x34624000, 0xa7a20018, 0x24040001, 0x94e20002, 0x24050004, +0x24e60002, 0x34420001, 0xc00402a, 0xa4e20002, 0x24040001, 0x2821, +0xc00402a, 0x27a60018, 0x3c020001, 0x8c4232ac, 0x24130001, 0x3c010001, +0xac3332b8, 0x145e0004, 0x32228000, 0xc003a65, 0x0, 0x32228000, +0x10400093, 0x0, 0xc003a65, 0x0, 0x24020002, 0x3c010001, +0xac3332b0, 0x3c010001, 0x1000008b, 0xac2232ac, 0x24040001, 0x24050004, +0x27b1001a, 0xc00402a, 0x2203021, 0x24040001, 0x2821, 0xc00402a, +0x2203021, 0x3c020001, 0x551021, 0x8c425494, 0x3c040001, 0x8c8432ac, +0x3c03bfff, 0x3463ffff, 0x3c010001, 0xac3e32b8, 0x431024, 0x3c010001, +0x350821, 0x109e0072, 0xac225494, 0x10000072, 0x0, 0x3c02ffec, +0x3442ffff, 0x2228824, 0x3c020008, 0x2228825, 0x131140, 0x3c010001, +0x220821, 0xac315498, 0x3c022000, 0x2221024, 0x10400005, 0x24020001, +0x3c010001, 0xac2233c8, 0x10000004, 0x3c024000, 0x3c010001, 0xac2033c8, +0x3c024000, 0x2221024, 0x1440001a, 0x0, 0x3c020001, 0x8c4233c8, +0x10400005, 0x24022020, 0x3c010001, 0xac2233cc, 0x24020001, 0xaee279c8, +0x3c04bfff, 0x131940, 0x3c020001, 0x431021, 0x8c425490, 0x3c050001, +0x8ca532ac, 0x3484ffff, 0x441024, 0x3c010001, 0x230821, 0xac225490, +0x24020001, 0x10a20044, 0x0, 0x10000040, 0x0, 0x3c020001, +0x8c4233c8, 0x1040001c, 0x24022000, 0x3c010001, 0xac2233cc, 0x3c0300a0, +0x2231024, 0x14430005, 0x131140, 0x3402a000, 0x3c010001, 0x1000002d, +0xac2233cc, 0x3c030001, 0x621821, 0x8c635498, 0x3c020020, 0x621024, +0x10400004, 0x24022001, 0x3c010001, 0x10000023, 0xac2233cc, 0x3c020080, +0x621024, 0x1040001f, 0x3402a001, 0x3c010001, 0x1000001c, 0xac2233cc, +0x3c020020, 0x2221024, 0x10400007, 0x131940, 0x24020100, 0x3c010001, +0x230821, 0xac2254a4, 0x10000006, 0x3c020080, 0x131140, 0x3c010001, +0x220821, 0xac2054a4, 0x3c020080, 0x2221024, 0x10400006, 0x131940, +0x3c020001, 0x3c010001, 0x230821, 0x10000005, 0xac2254ac, 0x131140, +0x3c010001, 0x220821, 0xac2054ac, 0x3c030001, 0x8c6332ac, 0x24020001, +0x10620003, 0x0, 0xc003a65, 0x0, 0x8fbf0030, 0x8fbe002c, +0x8fb50028, 0x8fb30024, 0x8fb10020, 0x3e00008, 0x27bd0038, 0x27bdffc8, +0xafb50028, 0xa821, 0xafbe002c, 0xf021, 0xafb30024, 0x9821, +0x24020002, 0xafbf0030, 0xafb10020, 0xafa4001c, 0xa7a00012, 0x10a2006a, +0xa7a00010, 0x2ca20003, 0x10400005, 0x24020001, 0x10a2000a, 0x3c024000, +0x100000ad, 0x2601021, 0x24020004, 0x10a20060, 0x24020008, 0x10a2005e, +0x2601021, 0x100000a6, 0x0, 0x8fa7001c, 0x78940, 0x3c030001, +0x711821, 0x8c63549c, 0x621024, 0x14400009, 0x24040001, 0x3c027fff, +0x3442ffff, 0x629824, 0x3c010001, 0x310821, 0xac335494, 0x10000096, +0x2601021, 0x24050001, 0xc003fe8, 0x27a60010, 0x24040001, 0x24050001, +0xc003fe8, 0x27a60010, 0x97a20010, 0x30420004, 0x10400034, 0x3c134000, +0x3c030001, 0x8c6333dc, 0x24020003, 0x10620008, 0x2c620004, 0x14400029, +0x3c028000, 0x24020004, 0x10620014, 0x24040001, 0x10000024, 0x3c028000, +0x24040001, 0x24050011, 0x27b10012, 0xc003fe8, 0x2203021, 0x24040001, +0x24050011, 0xc003fe8, 0x2203021, 0x97a30012, 0x30624000, 0x10400002, +0x3c1e0010, 0x3c1e0008, 0x3c150001, 0x10000010, 0x30628000, 0x24050014, +0x27b10012, 0xc003fe8, 0x2203021, 0x24040001, 0x24050014, 0xc003fe8, +0x2203021, 0x97a30012, 0x30621000, 0x10400002, 0x3c1e0010, 0x3c1e0008, +0x3c150001, 0x30620800, 0x54400001, 0x3c150002, 0x3c028000, 0x2621025, +0x2be1825, 0x10000007, 0x439825, 0x3c130001, 0x2719821, 0x8e73549c, +0x3c027fff, 0x3442ffff, 0x2629824, 0x8fa7001c, 0x71140, 0x3c010001, +0x220821, 0xac335494, 0x1000004b, 0x2601021, 0x8fa7001c, 0x72140, +0x3c030001, 0x641821, 0x8c635498, 0x3c024000, 0x621024, 0x14400008, +0x3c027fff, 0x3442ffff, 0x629824, 0x3c010001, 0x240821, 0xac335490, +0x1000003b, 0x2601021, 0x3c020001, 0x8c4232bc, 0x1040002e, 0x3c13c00c, +0x3c020001, 0x8c4233c8, 0x3c03e00c, 0x3c010001, 0x240821, 0x8c2454a4, +0x2102b, 0x21023, 0x431024, 0x10800004, 0x539825, 0x3c020020, +0x10000004, 0x2629825, 0x3c02ffdf, 0x3442ffff, 0x2629824, 0x8fa7001c, +0x71140, 0x3c010001, 0x220821, 0x8c2254ac, 0x10400003, 0x3c020080, +0x10000004, 0x2629825, 0x3c02ff7f, 0x3442ffff, 0x2629824, 0x3c020001, +0x8c423320, 0x10400002, 0x3c020800, 0x2629825, 0x3c020001, 0x8c423324, +0x10400002, 0x3c020400, 0x2629825, 0x3c020001, 0x8c423328, 0x10400006, +0x3c020100, 0x10000004, 0x2629825, 0x3c027fff, 0x3442ffff, 0x629824, +0x8fa7001c, 0x71140, 0x3c010001, 0x220821, 0xac335490, 0x2601021, +0x8fbf0030, 0x8fbe002c, 0x8fb50028, 0x8fb30024, 0x8fb10020, 0x3e00008, +0x27bd0038, 0x27bdffe0, 0xafb50018, 0x80a821, 0xafbf001c, 0xafb30014, +0xafb10010, 0x8f840200, 0x3c030001, 0x8c6332ac, 0x8f860220, 0x24020002, +0x106200a3, 0x2c620003, 0x10400005, 0x24020001, 0x1062000a, 0x151940, +0x1000009d, 0x0, 0x24020004, 0x10620053, 0x24020008, 0x10620052, +0x159940, 0x10000096, 0x0, 0x3c050001, 0xa32821, 0x8ca5549c, +0x3c110001, 0x2238821, 0x8e315494, 0x3c024000, 0xa21024, 0x10400038, +0x3c020008, 0x2221024, 0x10400020, 0x34840002, 0x3c020001, 0x431021, +0x8c4254a0, 0x10400005, 0x34840020, 0x34840100, 0x3c020020, 0x10000006, +0x2228825, 0x2402feff, 0x822024, 0x3c02ffdf, 0x3442ffff, 0x2228824, +0x151140, 0x3c010001, 0x220821, 0x8c2254a8, 0x10400005, 0x3c020001, +0xc23025, 0x3c020080, 0x10000016, 0x2228825, 0x3c02fffe, 0x3442ffff, +0xc23024, 0x3c02ff7f, 0x3442ffff, 0x1000000f, 0x2228824, 0x2402fedf, +0x822024, 0x3c02fffe, 0x3442ffff, 0xc23024, 0x3c02ff5f, 0x3442ffff, +0x2228824, 0x3c010001, 0x230821, 0xac2054a0, 0x3c010001, 0x230821, +0xac2054a8, 0xaf840200, 0xaf860220, 0x8f820220, 0x34420002, 0xaf820220, +0x1000000a, 0x151140, 0x3c02bfff, 0x3442ffff, 0x8f830200, 0x2228824, +0x2402fffd, 0x621824, 0xc003a65, 0xaf830200, 0x151140, 0x3c010001, +0x220821, 0x10000048, 0xac315494, 0x159940, 0x3c050001, 0xb32821, +0x8ca55498, 0x3c110001, 0x2338821, 0x8e315490, 0x3c024000, 0xa21024, +0x14400010, 0x0, 0x3c020001, 0x8c4233c8, 0x14400005, 0x3c02bfff, +0x8f820200, 0x34420002, 0xaf820200, 0x3c02bfff, 0x3442ffff, 0xc003a65, +0x2228824, 0x3c010001, 0x330821, 0x1000002e, 0xac315490, 0x3c020001, +0x8c4233c8, 0x14400027, 0x151140, 0x3c020020, 0xa21024, 0x10400007, +0x34840020, 0x24020100, 0x3c010001, 0x330821, 0xac2254a4, 0x10000006, +0x34840100, 0x3c010001, 0x330821, 0xac2054a4, 0x2402feff, 0x822024, +0x3c020080, 0xa21024, 0x10400007, 0x151940, 0x3c020001, 0x3c010001, +0x230821, 0xac2254ac, 0x10000008, 0xc23025, 0x151140, 0x3c010001, +0x220821, 0xac2054ac, 0x3c02fffe, 0x3442ffff, 0xc23024, 0xaf840200, +0xaf860220, 0x8f820220, 0x34420002, 0xaf820220, 0x151140, 0x3c010001, +0x220821, 0xac315490, 0x8fbf001c, 0x8fb50018, 0x8fb30014, 0x8fb10010, +0x3e00008, 0x27bd0020, 0x0, 0x0, 0x1821, 0x308400ff, +0x2405ffdf, 0x2406ffbf, 0x641007, 0x30420001, 0x10400004, 0x0, +0x8f820044, 0x10000003, 0x34420040, 0x8f820044, 0x461024, 0xaf820044, +0x8f820044, 0x34420020, 0xaf820044, 0x8f820044, 0x451024, 0xaf820044, +0x24630001, 0x28620008, 0x5440ffee, 0x641007, 0x3e00008, 0x0, +0x0, 0x0, 0x0 }; +u32 tigon2FwData[(MAX_DATA_LEN/4) + 1] = { +0x1, 0x1, 0x1, 0xc001fc, 0x3ffc, 0xc00000, +0x416c7465, 0x6f6e2041, 0x63654e49, 0x43205600, 0x0, 0x0, +0x416c7465, 0x6f6e2041, 0x63654e49, 0x43205600, 0x42424242, 0x0, +0x0, 0x0, 0x1ffffc, 0x1fff7c, 0x0, 0x0, +0x1, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x60cf00, 0x60, 0xcf000000, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x3, 0x0, 0x1, 0x0, +0x0, 0x0, 0x0, 0x0, 0x1, 0x0, +0x0, 0x0, 0x0, 0x0, 0x1000000, 0x21000000, +0x12000140, 0x0, 0x0, 0x20000000, 0x120000a0, 0x0, +0x12000060, 0x12000180, 0x120001e0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x30001, 0x1, +0x30201, 0x0, 0x0 }; +u32 tigon2FwRodata[(MAX_RODATA_LEN/4) + 1] = { +0x24486561, 0x6465723a, 0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, +0x772f6765, 0x2f6e6963, 0x2f667732, 0x2f636f6d, 0x6d6f6e2f, 0x66776d61, +0x696e2e63, 0x2c762031, 0x2e312e34, 0x372e3420, 0x31393938, 0x2f31302f, +0x31342031, 0x393a3330, 0x3a323920, 0x73687561, 0x6e672045, 0x78702024, +0x0, 0x3f6e6f51, 0x64547845, 0x0, 0x3f6e6f51, 0x64527845, +0x0, 0x6576526e, 0x6746756c, 0x6c000000, 0x3f456e71, 0x45767400, +0x3f6e6f51, 0x64457650, 0x0, 0x6661696c, 0x456e454d, 0x0, +0x656e714d, 0x45764661, 0x696c0000, 0x656e714d, 0x45765046, 0x61696c00, +0x3f6d656d, 0x53697a65, 0x0, 0x65787453, 0x746b5067, 0x0, +0x4441574e, 0x2d310000, 0x4441574e, 0x2d320000, 0x4441574e, 0x2d330000, +0x5245445a, 0x4f4e4531, 0x0, 0x42616453, 0x6e64526e, 0x67000000, +0x496e666f, 0x2d336d42, 0x0, 0x76357373, 0x72616d00, 0x3f737731, +0x646d6100, 0x536e6443, 0x6b53756d, 0x0, 0x646d6141, 0x6c69676e, +0x0, 0x52637643, 0x6b53756d, 0x0, 0x496c6c43, 0x6f6e6652, +0x78000000, 0x766c616e, 0x52434200, 0x52656376, 0x566c616e, 0x0, +0x496e666f, 0x2d336d45, 0x0, 0x66774f50, 0x6661696c, 0x0, +0x696e7453, 0x746b4572, 0x0, 0x70726f62, 0x654d656d, 0x0, +0x436f7079, 0x0, 0x4e6f7443, 0x6f707900, 0x4441574e, 0x2d420000, +0x24486561, 0x6465723a, 0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, +0x772f6765, 0x2f6e6963, 0x2f667732, 0x2f636f6d, 0x6d6f6e2f, 0x74696d65, +0x722e632c, 0x7620312e, 0x312e3139, 0x2e332031, 0x3939382f, 0x31302f30, +0x37203233, 0x3a34333a, 0x30302066, 0x6877616e, 0x67204578, 0x70202400, +0x3f6e6f51, 0x64547845, 0x0, 0x3f6e6f51, 0x64527845, 0x0, +0x6576526e, 0x6746756c, 0x6c000000, 0x3f456e71, 0x45767400, 0x3f6e6f51, +0x64457650, 0x0, 0x6661696c, 0x456e454d, 0x0, 0x656e714d, +0x45764661, 0x696c0000, 0x656e714d, 0x45765046, 0x61696c00, 0x542d446d, +0x61526432, 0x0, 0x542d446d, 0x61526431, 0x0, 0x542d446d, +0x61526442, 0x0, 0x542d446d, 0x61577232, 0x0, 0x542d446d, +0x61577231, 0x0, 0x542d446d, 0x61577242, 0x0, 0x0, +0x0, 0x0, 0x24486561, 0x6465723a, 0x202f7072, 0x6f6a6563, +0x74732f72, 0x63732f73, 0x772f6765, 0x2f6e6963, 0x2f667732, 0x2f636f6d, +0x6d6f6e2f, 0x636f6d6d, 0x616e642e, 0x632c7620, 0x312e312e, 0x322e3232, +0x20313939, 0x382f3037, 0x2f323920, 0x32323a33, 0x313a3030, 0x20736875, +0x616e6720, 0x45787020, 0x24000000, 0x3f6e6f51, 0x64547845, 0x0, +0x3f6e6f51, 0x64527845, 0x0, 0x6576526e, 0x6746756c, 0x6c000000, +0x3f456e71, 0x45767400, 0x3f6e6f51, 0x64457650, 0x0, 0x6661696c, +0x456e454d, 0x0, 0x656e714d, 0x45764661, 0x696c0000, 0x656e714d, +0x45765046, 0x61696c00, 0x3f4d626f, 0x78457674, 0x0, 0x68737465, +0x5f455252, 0x0, 0x6d437374, 0x4d644552, 0x52000000, 0x70726f6d, +0x4d644552, 0x52000000, 0x6c6e6b43, 0x6d644572, 0x72000000, 0x636d645f, +0x45525200, 0x0, 0x7fa0, 0x8630, 0x8630, 0x85ac, +0x835c, 0x85f8, 0x8630, 0x8080, 0x8090, 0x8178, +0x824c, 0x8218, 0x8630, 0x80a0, 0x8308, 0x8630, +0x8318, 0x0, 0x24486561, 0x6465723a, 0x202f7072, 0x6f6a6563, +0x74732f72, 0x63732f73, 0x772f6765, 0x2f6e6963, 0x2f667732, 0x2f636f6d, +0x6d6f6e2f, 0x6d636173, 0x742e632c, 0x7620312e, 0x312e322e, 0x35203139, +0x39382f30, 0x342f3234, 0x2030303a, 0x30303a33, 0x39206861, 0x79657320, +0x45787020, 0x24000000, 0x3f6e6f51, 0x64547845, 0x0, 0x3f6e6f51, +0x64527845, 0x0, 0x6576526e, 0x6746756c, 0x6c000000, 0x3f456e71, +0x45767400, 0x3f6e6f51, 0x64457650, 0x0, 0x6661696c, 0x456e454d, +0x0, 0x656e714d, 0x45764661, 0x696c0000, 0x656e714d, 0x45765046, +0x61696c00, 0x4d634164, 0x64447570, 0x0, 0x4d634164, 0x6446756c, +0x0, 0x4d634465, 0x6c4e6f45, 0x0, 0x24486561, 0x6465723a, +0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, 0x772f6765, 0x2f6e6963, +0x2f667732, 0x2f636f6d, 0x6d6f6e2f, 0x646d612e, 0x632c7620, 0x312e312e, +0x31322e31, 0x20313939, 0x382f3038, 0x2f303420, 0x32313a35, 0x343a3339, +0x20736875, 0x616e6720, 0x45787020, 0x24000000, 0x3f6e6f51, 0x64547845, +0x0, 0x3f6e6f51, 0x64527845, 0x0, 0x6576526e, 0x6746756c, +0x6c000000, 0x3f456e71, 0x45767400, 0x3f6e6f51, 0x64457650, 0x0, +0x6661696c, 0x456e454d, 0x0, 0x656e714d, 0x45764661, 0x696c0000, +0x656e714d, 0x45765046, 0x61696c00, 0x646d6172, 0x6441544e, 0x0, +0x646d6177, 0x7241544e, 0x0, 0x0, 0x0, 0x0, +0x24486561, 0x6465723a, 0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, +0x772f6765, 0x2f6e6963, 0x2f667732, 0x2f636f6d, 0x6d6f6e2f, 0x74726163, +0x652e632c, 0x7620312e, 0x312e322e, 0x34203139, 0x39382f30, 0x342f3234, +0x2030303a, 0x30303a34, 0x35206861, 0x79657320, 0x45787020, 0x24000000, +0x24486561, 0x6465723a, 0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, +0x772f6765, 0x2f6e6963, 0x2f667732, 0x2f636f6d, 0x6d6f6e2f, 0x64617461, +0x2e632c76, 0x20312e31, 0x2e322e34, 0x20313939, 0x382f3036, 0x2f323320, +0x30313a32, 0x393a3330, 0x20736875, 0x616e6720, 0x45787020, 0x24000000, +0x46575f56, 0x45525349, 0x4f4e3a20, 0x23312046, 0x7269204f, 0x63742031, +0x36203130, 0x3a31353a, 0x30362050, 0x44542031, 0x39393800, 0x46575f43, +0x4f4d5049, 0x4c455f54, 0x494d453a, 0x2031303a, 0x31353a30, 0x36000000, +0x46575f43, 0x4f4d5049, 0x4c455f42, 0x593a2064, 0x65767263, 0x73000000, +0x46575f43, 0x4f4d5049, 0x4c455f48, 0x4f53543a, 0x20636f6d, 0x70757465, +0x0, 0x46575f43, 0x4f4d5049, 0x4c455f44, 0x4f4d4149, 0x4e3a2065, +0x6e672e61, 0x6374656f, 0x6e2e636f, 0x6d000000, 0x46575f43, 0x4f4d5049, +0x4c45523a, 0x20676363, 0x20766572, 0x73696f6e, 0x20322e37, 0x2e320000, +0x0, 0x0, 0x0, 0x0, 0x24486561, 0x6465723a, +0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, 0x772f6765, 0x2f6e6963, +0x2f667732, 0x2f636f6d, 0x6d6f6e2f, 0x6d656d2e, 0x632c7620, 0x312e312e, +0x322e3420, 0x31393938, 0x2f30342f, 0x32342030, 0x303a3030, 0x3a343020, +0x68617965, 0x73204578, 0x70202400, 0x0, 0x24486561, 0x6465723a, +0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, 0x772f6765, 0x2f6e6963, +0x2f667732, 0x2f636f6d, 0x6d6f6e2f, 0x73656e64, 0x2e632c76, 0x20312e31, +0x2e32322e, 0x33203139, 0x39382f30, 0x392f3137, 0x2032313a, 0x32343a33, +0x38207368, 0x75616e67, 0x20457870, 0x20240000, 0x3f6e6f51, 0x64547845, +0x0, 0x3f6e6f51, 0x64527845, 0x0, 0x6576526e, 0x6746756c, +0x6c000000, 0x3f456e71, 0x45767400, 0x3f6e6f51, 0x64457650, 0x0, +0x6661696c, 0x456e454d, 0x0, 0x656e714d, 0x45764661, 0x696c0000, +0x656e714d, 0x45765046, 0x61696c00, 0x736e6464, 0x654e6f51, 0x20000000, +0x6e6f454e, 0x515f5458, 0x0, 0x736e6464, 0x744e6f51, 0x20000000, +0x756e6b72, 0x64747970, 0x65000000, 0x3f546370, 0x436b7375, 0x6d000000, +0x0, 0x0, 0x24486561, 0x6465723a, 0x202f7072, 0x6f6a6563, +0x74732f72, 0x63732f73, 0x772f6765, 0x2f6e6963, 0x2f667732, 0x2f636f6d, +0x6d6f6e2f, 0x72656376, 0x2e632c76, 0x20312e31, 0x2e322e33, 0x35203139, +0x39382f30, 0x372f3239, 0x2030303a, 0x30373a32, 0x37207368, 0x75616e67, +0x20457870, 0x20240000, 0x3f6e6f51, 0x64547845, 0x0, 0x3f6e6f51, +0x64527845, 0x0, 0x6576526e, 0x6746756c, 0x6c000000, 0x3f456e71, +0x45767400, 0x3f6e6f51, 0x64457650, 0x0, 0x6661696c, 0x456e454d, +0x0, 0x656e714d, 0x45764661, 0x696c0000, 0x656e714d, 0x45765046, +0x61696c00, 0x66726d32, 0x4c617267, 0x65000000, 0x72784e6f, 0x52784264, +0x0, 0x72785144, 0x6d614446, 0x0, 0x72785144, 0x6d614246, +0x0, 0x3f724264, 0x446d6146, 0x0, 0x3f724a42, 0x64446d46, +0x0, 0x0, 0xdabc, 0xdabc, 0xdabc, 0xdabc, +0xdabc, 0xdabc, 0xdabc, 0xdabc, 0xdabc, 0xdabc, +0xdabc, 0xdabc, 0xdabc, 0xdabc, 0xdabc, 0xdaac, +0xdaac, 0xdaac, 0xdabc, 0xdabc, 0xdabc, 0xdabc, +0xdabc, 0xdabc, 0x572d444d, 0x41456e46, 0x0, 0x0, +0x0, 0x0, 0x24486561, 0x6465723a, 0x202f7072, 0x6f6a6563, +0x74732f72, 0x63732f73, 0x772f6765, 0x2f6e6963, 0x2f667732, 0x2f636f6d, +0x6d6f6e2f, 0x6d61632e, 0x632c7620, 0x312e312e, 0x31372e31, 0x20313939, +0x382f3038, 0x2f323720, 0x32323a31, 0x333a3230, 0x20736875, 0x616e6720, +0x45787020, 0x24000000, 0x3f6e6f51, 0x64547845, 0x0, 0x3f6e6f51, +0x64527845, 0x0, 0x6576526e, 0x6746756c, 0x6c000000, 0x3f456e71, +0x45767400, 0x3f6e6f51, 0x64457650, 0x0, 0x6661696c, 0x456e454d, +0x0, 0x656e714d, 0x45764661, 0x696c0000, 0x656e714d, 0x45765046, +0x61696c00, 0x6d616374, 0x7841544e, 0x0, 0x684d6352, 0x7841746e, +0x0, 0x72656d61, 0x73737274, 0x0, 0x6c696e6b, 0x444f574e, +0x0, 0x6c696e6b, 0x55500000, 0x0, 0x0, 0x0, +0x24486561, 0x6465723a, 0x202f7072, 0x6f6a6563, 0x74732f72, 0x63732f73, +0x772f6765, 0x2f6e6963, 0x2f667732, 0x2f636f6d, 0x6d6f6e2f, 0x636b7375, +0x6d2e632c, 0x7620312e, 0x312e322e, 0x36203139, 0x39382f30, 0x362f3233, +0x2030313a, 0x32393a32, 0x37207368, 0x75616e67, 0x20457870, 0x20240000, +0x3f6e6f51, 0x64547845, 0x0, 0x3f6e6f51, 0x64527845, 0x0, +0x6576526e, 0x6746756c, 0x6c000000, 0x3f456e71, 0x45767400, 0x3f6e6f51, +0x64457650, 0x0, 0x6661696c, 0x456e454d, 0x0, 0x656e714d, +0x45764661, 0x696c0000, 0x656e714d, 0x45765046, 0x61696c00, 0x0, +0x50726f62, 0x65506879, 0x0, 0x6c6e6b41, 0x53535254, 0x0, +0xf81c, 0xf84c, 0xf870, 0xf89c, 0xf8c8, 0xf8dc, +0xf918, 0xfca0, 0xf9c8, 0xfaf4, 0xfa14, 0xfb4c, +0xfb74, 0xfba8, 0xfa58, 0xfca0, 0xfac0, 0xfaf4, +0xfb1c, 0xfb4c, 0xfb74, 0xfba8, 0xfbe4, 0x0, +0x0, 0x0, 0x101fc, 0x102cc, 0x103a4, 0x10474, +0x104d0, 0x105ac, 0x105d4, 0x106b0, 0x106d8, 0x10880, +0x108a8, 0x10a50, 0x10c48, 0x10edc, 0x10df0, 0x10edc, +0x10f08, 0x10a78, 0x10c20, 0x0, 0x1120c, 0x11260, +0x112dc, 0x11308, 0x11358, 0x11394, 0x113c8, 0x11454, +0x1150c, 0x115dc, 0x1161c, 0x116a0, 0x116c4, 0x117d4, +0x646f4261, 0x73655067, 0x0, 0x0, 0x0, 0x0, +0x73746d61, 0x634c4e4b, 0x0, 0x0, 0x0 }; diff -u --recursive --new-file v2.1.129/linux/drivers/net/at1700.c linux/drivers/net/at1700.c --- v2.1.129/linux/drivers/net/at1700.c Thu Nov 19 09:56:28 1998 +++ linux/drivers/net/at1700.c Fri Nov 20 08:44:06 1998 @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include diff -u --recursive --new-file v2.1.129/linux/drivers/net/atp.c linux/drivers/net/atp.c --- v2.1.129/linux/drivers/net/atp.c Thu Feb 12 20:56:07 1998 +++ linux/drivers/net/atp.c Fri Nov 20 08:44:06 1998 @@ -556,7 +556,7 @@ } num_tx_since_rx++; } else if (num_tx_since_rx > 8 - && jiffies > dev->last_rx + 100) { + && jiffies - dev->last_rx > 100) { if (net_debug > 2) printk("%s: Missed packet? No Rx after %d Tx and %ld jiffies" " status %02x CMR1 %02x.\n", dev->name, diff -u --recursive --new-file v2.1.129/linux/drivers/net/depca.c linux/drivers/net/depca.c --- v2.1.129/linux/drivers/net/depca.c Thu May 7 22:51:50 1998 +++ linux/drivers/net/depca.c Tue Nov 24 09:21:11 1998 @@ -1,213 +1,233 @@ /* depca.c: A DIGITAL DEPCA & EtherWORKS ethernet driver for linux. - Written 1994, 1995 by David C. Davies. + Written 1994, 1995 by David C. Davies. - Copyright 1994 David C. Davies - and - United States Government - (as represented by the Director, National Security Agency). - - Copyright 1995 Digital Equipment Corporation. - - - This software may be used and distributed according to the terms of - the GNU Public License, incorporated herein by reference. - - This driver is written for the Digital Equipment Corporation series - of DEPCA and EtherWORKS ethernet cards: - - DEPCA (the original) - DE100 - DE101 - DE200 Turbo - DE201 Turbo - DE202 Turbo (TP BNC) - DE210 - DE422 (EISA) - - The driver has been tested on DE100, DE200 and DE202 cards in a - relatively busy network. The DE422 has been tested a little. - - This driver will NOT work for the DE203, DE204 and DE205 series of - cards, since they have a new custom ASIC in place of the AMD LANCE - chip. See the 'ewrk3.c' driver in the Linux source tree for running - those cards. - - I have benchmarked the driver with a DE100 at 595kB/s to (542kB/s from) - a DECstation 5000/200. - - The author may be reached at davies@maniac.ultranet.com - - ========================================================================= - - The driver was originally based on the 'lance.c' driver from Donald - Becker which is included with the standard driver distribution for - linux. V0.4 is a complete re-write with only the kernel interface - remaining from the original code. - - 1) Lance.c code in /linux/drivers/net/ - 2) "Ethernet/IEEE 802.3 Family. 1992 World Network Data Book/Handbook", - AMD, 1992 [(800) 222-9323]. - 3) "Am79C90 CMOS Local Area Network Controller for Ethernet (C-LANCE)", - AMD, Pub. #17881, May 1993. - 4) "Am79C960 PCnet-ISA(tm), Single-Chip Ethernet Controller for ISA", - AMD, Pub. #16907, May 1992 - 5) "DEC EtherWORKS LC Ethernet Controller Owners Manual", - Digital Equipment corporation, 1990, Pub. #EK-DE100-OM.003 - 6) "DEC EtherWORKS Turbo Ethernet Controller Owners Manual", - Digital Equipment corporation, 1990, Pub. #EK-DE200-OM.003 - 7) "DEPCA Hardware Reference Manual", Pub. #EK-DEPCA-PR - Digital Equipment Corporation, 1989 - 8) "DEC EtherWORKS Turbo_(TP BNC) Ethernet Controller Owners Manual", - Digital Equipment corporation, 1991, Pub. #EK-DE202-OM.001 - - - Peter Bauer's depca.c (V0.5) was referred to when debugging V0.1 of this - driver. - - The original DEPCA card requires that the ethernet ROM address counter - be enabled to count and has an 8 bit NICSR. The ROM counter enabling is - only done when a 0x08 is read as the first address octet (to minimise - the chances of writing over some other hardware's I/O register). The - NICSR accesses have been changed to byte accesses for all the cards - supported by this driver, since there is only one useful bit in the MSB - (remote boot timeout) and it is not used. Also, there is a maximum of - only 48kB network RAM for this card. My thanks to Torbjorn Lindh for - help debugging all this (and holding my feet to the fire until I got it - right). - - The DE200 series boards have on-board 64kB RAM for use as a shared - memory network buffer. Only the DE100 cards make use of a 2kB buffer - mode which has not been implemented in this driver (only the 32kB and - 64kB modes are supported [16kB/48kB for the original DEPCA]). - - At the most only 2 DEPCA cards can be supported on the ISA bus because - there is only provision for two I/O base addresses on each card (0x300 - and 0x200). The I/O address is detected by searching for a byte sequence - in the Ethernet station address PROM at the expected I/O address for the - Ethernet PROM. The shared memory base address is 'autoprobed' by - looking for the self test PROM and detecting the card name. When a - second DEPCA is detected, information is placed in the base_addr - variable of the next device structure (which is created if necessary), - thus enabling ethif_probe initialization for the device. More than 2 - EISA cards can be supported, but care will be needed assigning the - shared memory to ensure that each slot has the correct IRQ, I/O address - and shared memory address assigned. - - ************************************************************************ - - NOTE: If you are using two ISA DEPCAs, it is important that you assign - the base memory addresses correctly. The driver autoprobes I/O 0x300 - then 0x200. The base memory address for the first device must be less - than that of the second so that the auto probe will correctly assign the - I/O and memory addresses on the same card. I can't think of a way to do - this unambiguously at the moment, since there is nothing on the cards to - tie I/O and memory information together. - - I am unable to test 2 cards together for now, so this code is - unchecked. All reports, good or bad, are welcome. - - ************************************************************************ - - The board IRQ setting must be at an unused IRQ which is auto-probed - using Donald Becker's autoprobe routines. DEPCA and DE100 board IRQs are - {2,3,4,5,7}, whereas the DE200 is at {5,9,10,11,15}. Note that IRQ2 is - really IRQ9 in machines with 16 IRQ lines. - - No 16MB memory limitation should exist with this driver as DMA is not - used and the common memory area is in low memory on the network card (my - current system has 20MB and I've not had problems yet). - - The ability to load this driver as a loadable module has been added. To - utilise this ability, you have to do <8 things: - - 0) have a copy of the loadable modules code installed on your system. - 1) copy depca.c from the /linux/drivers/net directory to your favourite - temporary directory. - 2) if you wish, edit the source code near line 1530 to reflect the I/O - address and IRQ you're using (see also 5). - 3) compile depca.c, but include -DMODULE in the command line to ensure - that the correct bits are compiled (see end of source code). - 4) if you are wanting to add a new card, goto 5. Otherwise, recompile a - kernel with the depca configuration turned off and reboot. - 5) insmod depca.o [irq=7] [io=0x200] [mem=0xd0000] [adapter_name=DE100] - [Alan Cox: Changed the code to allow command line irq/io assignments] - [Dave Davies: Changed the code to allow command line mem/name - assignments] - 6) run the net startup bits for your eth?? interface manually - (usually /etc/rc.inet[12] at boot time). - 7) enjoy! - - Note that autoprobing is not allowed in loadable modules - the system is - already up and running and you're messing with interrupts. - - To unload a module, turn off the associated interface - 'ifconfig eth?? down' then 'rmmod depca'. - - To assign a base memory address for the shared memory when running as a - loadable module, see 5 above. To include the adapter name (if you have - no PROM but know the card name) also see 5 above. Note that this last - option will not work with kernel built-in depca's. - - The shared memory assignment for a loadable module makes sense to avoid - the 'memory autoprobe' picking the wrong shared memory (for the case of - 2 depca's in a PC). - - - TO DO: - ------ - - - Revision History - ---------------- - - Version Date Description - - 0.1 25-jan-94 Initial writing. - 0.2 27-jan-94 Added LANCE TX hardware buffer chaining. - 0.3 1-feb-94 Added multiple DEPCA support. - 0.31 4-feb-94 Added DE202 recognition. - 0.32 19-feb-94 Tidy up. Improve multi-DEPCA support. - 0.33 25-feb-94 Fix DEPCA ethernet ROM counter enable. - Add jabber packet fix from murf@perftech.com - and becker@super.org - 0.34 7-mar-94 Fix DEPCA max network memory RAM & NICSR access. - 0.35 8-mar-94 Added DE201 recognition. Tidied up. - 0.351 30-apr-94 Added EISA support. Added DE422 recognition. - 0.36 16-may-94 DE422 fix released. - 0.37 22-jul-94 Added MODULE support - 0.38 15-aug-94 Added DBR ROM switch in depca_close(). - Multi DEPCA bug fix. - 0.38axp 15-sep-94 Special version for Alpha AXP Linux V1.0. - 0.381 12-dec-94 Added DE101 recognition, fix multicast bug. - 0.382 9-feb-95 Fix recognition bug reported by . - 0.383 22-feb-95 Fix for conflict with VESA SCSI reported by - - 0.384 17-mar-95 Fix a ring full bug reported by - 0.385 3-apr-95 Fix a recognition bug reported by - - 0.386 21-apr-95 Fix the last fix...sorry, must be galloping senility - 0.40 25-May-95 Rewrite for portability & updated. - ALPHA support from - 0.41 26-Jun-95 Added verify_area() calls in depca_ioctl() from - suggestion by - 0.42 27-Dec-95 Add 'mem' shared memory assignment for loadable - modules. - Add 'adapter_name' for loadable modules when no PROM. - Both above from a suggestion by - . - Add new multicasting code. - 0.421 22-Apr-96 Fix alloc_device() bug - 0.422 29-Apr-96 Fix depca_hw_init() bug - 0.423 7-Jun-96 Fix module load bug - 0.43 16-Aug-96 Update alloc_device() to conform to de4x5.c + Copyright 1994 David C. Davies + and + United States Government + (as represented by the Director, National Security Agency). + + Copyright 1995 Digital Equipment Corporation. + + + This software may be used and distributed according to the terms of + the GNU Public License, incorporated herein by reference. + + This driver is written for the Digital Equipment Corporation series + of DEPCA and EtherWORKS ethernet cards: + + DEPCA (the original) + DE100 + DE101 + DE200 Turbo + DE201 Turbo + DE202 Turbo (TP BNC) + DE210 + DE422 (EISA) + + The driver has been tested on DE100, DE200 and DE202 cards in a + relatively busy network. The DE422 has been tested a little. + + This driver will NOT work for the DE203, DE204 and DE205 series of + cards, since they have a new custom ASIC in place of the AMD LANCE + chip. See the 'ewrk3.c' driver in the Linux source tree for running + those cards. + + I have benchmarked the driver with a DE100 at 595kB/s to (542kB/s from) + a DECstation 5000/200. + + The author may be reached at davies@maniac.ultranet.com + + ========================================================================= + + The driver was originally based on the 'lance.c' driver from Donald + Becker which is included with the standard driver distribution for + linux. V0.4 is a complete re-write with only the kernel interface + remaining from the original code. + + 1) Lance.c code in /linux/drivers/net/ + 2) "Ethernet/IEEE 802.3 Family. 1992 World Network Data Book/Handbook", + AMD, 1992 [(800) 222-9323]. + 3) "Am79C90 CMOS Local Area Network Controller for Ethernet (C-LANCE)", + AMD, Pub. #17881, May 1993. + 4) "Am79C960 PCnet-ISA(tm), Single-Chip Ethernet Controller for ISA", + AMD, Pub. #16907, May 1992 + 5) "DEC EtherWORKS LC Ethernet Controller Owners Manual", + Digital Equipment corporation, 1990, Pub. #EK-DE100-OM.003 + 6) "DEC EtherWORKS Turbo Ethernet Controller Owners Manual", + Digital Equipment corporation, 1990, Pub. #EK-DE200-OM.003 + 7) "DEPCA Hardware Reference Manual", Pub. #EK-DEPCA-PR + Digital Equipment Corporation, 1989 + 8) "DEC EtherWORKS Turbo_(TP BNC) Ethernet Controller Owners Manual", + Digital Equipment corporation, 1991, Pub. #EK-DE202-OM.001 + + + Peter Bauer's depca.c (V0.5) was referred to when debugging V0.1 of this + driver. + + The original DEPCA card requires that the ethernet ROM address counter + be enabled to count and has an 8 bit NICSR. The ROM counter enabling is + only done when a 0x08 is read as the first address octet (to minimise + the chances of writing over some other hardware's I/O register). The + NICSR accesses have been changed to byte accesses for all the cards + supported by this driver, since there is only one useful bit in the MSB + (remote boot timeout) and it is not used. Also, there is a maximum of + only 48kB network RAM for this card. My thanks to Torbjorn Lindh for + help debugging all this (and holding my feet to the fire until I got it + right). + + The DE200 series boards have on-board 64kB RAM for use as a shared + memory network buffer. Only the DE100 cards make use of a 2kB buffer + mode which has not been implemented in this driver (only the 32kB and + 64kB modes are supported [16kB/48kB for the original DEPCA]). + + At the most only 2 DEPCA cards can be supported on the ISA bus because + there is only provision for two I/O base addresses on each card (0x300 + and 0x200). The I/O address is detected by searching for a byte sequence + in the Ethernet station address PROM at the expected I/O address for the + Ethernet PROM. The shared memory base address is 'autoprobed' by + looking for the self test PROM and detecting the card name. When a + second DEPCA is detected, information is placed in the base_addr + variable of the next device structure (which is created if necessary), + thus enabling ethif_probe initialization for the device. More than 2 + EISA cards can be supported, but care will be needed assigning the + shared memory to ensure that each slot has the correct IRQ, I/O address + and shared memory address assigned. + + ************************************************************************ + + NOTE: If you are using two ISA DEPCAs, it is important that you assign + the base memory addresses correctly. The driver autoprobes I/O 0x300 + then 0x200. The base memory address for the first device must be less + than that of the second so that the auto probe will correctly assign the + I/O and memory addresses on the same card. I can't think of a way to do + this unambiguously at the moment, since there is nothing on the cards to + tie I/O and memory information together. + + I am unable to test 2 cards together for now, so this code is + unchecked. All reports, good or bad, are welcome. + + ************************************************************************ + + The board IRQ setting must be at an unused IRQ which is auto-probed + using Donald Becker's autoprobe routines. DEPCA and DE100 board IRQs are + {2,3,4,5,7}, whereas the DE200 is at {5,9,10,11,15}. Note that IRQ2 is + really IRQ9 in machines with 16 IRQ lines. + + No 16MB memory limitation should exist with this driver as DMA is not + used and the common memory area is in low memory on the network card (my + current system has 20MB and I've not had problems yet). + + The ability to load this driver as a loadable module has been added. To + utilise this ability, you have to do <8 things: + + 0) have a copy of the loadable modules code installed on your system. + 1) copy depca.c from the /linux/drivers/net directory to your favourite + temporary directory. + 2) if you wish, edit the source code near line 1530 to reflect the I/O + address and IRQ you're using (see also 5). + 3) compile depca.c, but include -DMODULE in the command line to ensure + that the correct bits are compiled (see end of source code). + 4) if you are wanting to add a new card, goto 5. Otherwise, recompile a + kernel with the depca configuration turned off and reboot. + 5) insmod depca.o [irq=7] [io=0x200] [mem=0xd0000] [adapter_name=DE100] + [Alan Cox: Changed the code to allow command line irq/io assignments] + [Dave Davies: Changed the code to allow command line mem/name + assignments] + 6) run the net startup bits for your eth?? interface manually + (usually /etc/rc.inet[12] at boot time). + 7) enjoy! + + Note that autoprobing is not allowed in loadable modules - the system is + already up and running and you're messing with interrupts. + + To unload a module, turn off the associated interface + 'ifconfig eth?? down' then 'rmmod depca'. + + To assign a base memory address for the shared memory when running as a + loadable module, see 5 above. To include the adapter name (if you have + no PROM but know the card name) also see 5 above. Note that this last + option will not work with kernel built-in depca's. + + The shared memory assignment for a loadable module makes sense to avoid + the 'memory autoprobe' picking the wrong shared memory (for the case of + 2 depca's in a PC). + + ************************************************************************ + Support for MCA EtherWORKS cards added 11-3-98. + Verified to work with up to 2 DE212 cards in a system (although not + fully stress-tested). + + Currently known bugs/limitations: + + Note: with the MCA stuff as a module, it trusts the MCA configuration, + not the command line for IRQ and memory address. You can + specify them if you want, but it will throw your values out. + You still have to pass the IO address it was configured as + though. + + ************************************************************************ + TO DO: + ------ + + + Revision History + ---------------- + + Version Date Description + + 0.1 25-jan-94 Initial writing. + 0.2 27-jan-94 Added LANCE TX hardware buffer chaining. + 0.3 1-feb-94 Added multiple DEPCA support. + 0.31 4-feb-94 Added DE202 recognition. + 0.32 19-feb-94 Tidy up. Improve multi-DEPCA support. + 0.33 25-feb-94 Fix DEPCA ethernet ROM counter enable. + Add jabber packet fix from murf@perftech.com + and becker@super.org + 0.34 7-mar-94 Fix DEPCA max network memory RAM & NICSR access. + 0.35 8-mar-94 Added DE201 recognition. Tidied up. + 0.351 30-apr-94 Added EISA support. Added DE422 recognition. + 0.36 16-may-94 DE422 fix released. + 0.37 22-jul-94 Added MODULE support + 0.38 15-aug-94 Added DBR ROM switch in depca_close(). + Multi DEPCA bug fix. + 0.38axp 15-sep-94 Special version for Alpha AXP Linux V1.0. + 0.381 12-dec-94 Added DE101 recognition, fix multicast bug. + 0.382 9-feb-95 Fix recognition bug reported by . + 0.383 22-feb-95 Fix for conflict with VESA SCSI reported by + + 0.384 17-mar-95 Fix a ring full bug reported by + 0.385 3-apr-95 Fix a recognition bug reported by + + 0.386 21-apr-95 Fix the last fix...sorry, must be galloping senility + 0.40 25-May-95 Rewrite for portability & updated. + ALPHA support from + 0.41 26-Jun-95 Added verify_area() calls in depca_ioctl() from + suggestion by + 0.42 27-Dec-95 Add 'mem' shared memory assignment for loadable + modules. + Add 'adapter_name' for loadable modules when no PROM. + Both above from a suggestion by + . + Add new multicasting code. + 0.421 22-Apr-96 Fix alloc_device() bug + 0.422 29-Apr-96 Fix depca_hw_init() bug + 0.423 7-Jun-96 Fix module load bug + 0.43 16-Aug-96 Update alloc_device() to conform to de4x5.c + 0.44 1-Sep-97 Fix *_probe() to test check_region() first - bug + reported by + 0.45 3-Nov-98 Added support for MCA EtherWORKS (DE210/DE212) cards + by + 0.451 5-Nov-98 Fixed mca stuff cuz I'm a dummy. + 0.5 14-Nov-98 Re-spin for 2.1.x kernels. - ========================================================================= - */ + ========================================================================= +*/ -static const char *version = "depca.c:v0.43 96/8/16 davies@maniac.ultranet.com\n"; +static const char *version = "depca.c:v0.5 1998/11/14 davies@maniac.ultranet.com\n"; +#include #include #include @@ -234,6 +254,10 @@ #include #include +#ifdef CONFIG_MCA +#include +#endif + #include "depca.h" #ifdef DEPCA_DEBUG @@ -242,1650 +266,1800 @@ static int depca_debug = 1; #endif -#define DEPCA_NDA 0xffe0 /* No Device Address */ +#define DEPCA_NDA 0xffe0 /* No Device Address */ /* - ** Ethernet PROM defines - */ +** Ethernet PROM defines +*/ #define PROBE_LENGTH 32 #define ETH_PROM_SIG 0xAA5500FFUL /* - ** Set the number of Tx and Rx buffers. Ensure that the memory requested - ** here is <= to the amount of shared memory set up by the board switches. - ** The number of descriptors MUST BE A POWER OF 2. - ** - ** total_memory = NUM_RX_DESC*(8+RX_BUFF_SZ) + NUM_TX_DESC*(8+TX_BUFF_SZ) - */ -#define NUM_RX_DESC 8 /* Number of RX descriptors */ -#define NUM_TX_DESC 8 /* Number of TX descriptors */ -#define RX_BUFF_SZ 1536 /* Buffer size for each Rx buffer */ -#define TX_BUFF_SZ 1536 /* Buffer size for each Tx buffer */ - -#define CRC_POLYNOMIAL_BE 0x04c11db7UL /* Ethernet CRC, big endian */ -#define CRC_POLYNOMIAL_LE 0xedb88320UL /* Ethernet CRC, little endian */ - -/* - ** EISA bus defines - */ -#define DEPCA_EISA_IO_PORTS 0x0c00 /* I/O port base address, slot 0 */ +** Set the number of Tx and Rx buffers. Ensure that the memory requested +** here is <= to the amount of shared memory set up by the board switches. +** The number of descriptors MUST BE A POWER OF 2. +** +** total_memory = NUM_RX_DESC*(8+RX_BUFF_SZ) + NUM_TX_DESC*(8+TX_BUFF_SZ) +*/ +#define NUM_RX_DESC 8 /* Number of RX descriptors */ +#define NUM_TX_DESC 8 /* Number of TX descriptors */ +#define RX_BUFF_SZ 1536 /* Buffer size for each Rx buffer */ +#define TX_BUFF_SZ 1536 /* Buffer size for each Tx buffer */ + +#define CRC_POLYNOMIAL_BE 0x04c11db7UL /* Ethernet CRC, big endian */ +#define CRC_POLYNOMIAL_LE 0xedb88320UL /* Ethernet CRC, little endian */ + +/* +** EISA bus defines +*/ +#define DEPCA_EISA_IO_PORTS 0x0c00 /* I/O port base address, slot 0 */ #define MAX_EISA_SLOTS 16 #define EISA_SLOT_INC 0x1000 /* - ** ISA Bus defines - */ +** ISA Bus defines +*/ #define DEPCA_RAM_BASE_ADDRESSES {0xc0000,0xd0000,0xe0000,0x00000} #define DEPCA_IO_PORTS {0x300, 0x200, 0} #define DEPCA_TOTAL_SIZE 0x10 static short mem_chkd = 0; /* - ** Name <-> Adapter mapping - */ +** Adapter ID for the MCA EtherWORKS DE210/212 adapter +*/ +#define DE212_ID 0x6def + +/* +** Name <-> Adapter mapping +*/ #define DEPCA_SIGNATURE {"DEPCA",\ "DE100","DE101",\ "DE200","DE201","DE202",\ - "DE210",\ + "DE210","DE212",\ "DE422",\ ""} static enum { - DEPCA, de100, de101, de200, de201, de202, de210, de422, unknown + DEPCA, de100, de101, de200, de201, de202, de210, de212, de422, unknown } adapter; /* - ** Miscellaneous info... - */ +** Miscellaneous info... +*/ #define DEPCA_STRLEN 16 #define MAX_NUM_DEPCAS 2 /* - ** Memory Alignment. Each descriptor is 4 longwords long. To force a - ** particular alignment on the TX descriptor, adjust DESC_SKIP_LEN and - ** DESC_ALIGN. ALIGN aligns the start address of the private memory area - ** and hence the RX descriptor ring's first entry. - */ -#define ALIGN4 ((u_long)4 - 1) /* 1 longword align */ -#define ALIGN8 ((u_long)8 - 1) /* 2 longword (quadword) align */ -#define ALIGN ALIGN8 /* Keep the LANCE happy... */ +** Memory Alignment. Each descriptor is 4 longwords long. To force a +** particular alignment on the TX descriptor, adjust DESC_SKIP_LEN and +** DESC_ALIGN. ALIGN aligns the start address of the private memory area +** and hence the RX descriptor ring's first entry. +*/ +#define ALIGN4 ((u_long)4 - 1) /* 1 longword align */ +#define ALIGN8 ((u_long)8 - 1) /* 2 longword (quadword) align */ +#define ALIGN ALIGN8 /* Keep the LANCE happy... */ /* - ** The DEPCA Rx and Tx ring descriptors. - */ +** The DEPCA Rx and Tx ring descriptors. +*/ struct depca_rx_desc { - volatile s32 base; - s16 buf_length; /* This length is negative 2's complement! */ - s16 msg_length; /* This length is "normal". */ + volatile s32 base; + s16 buf_length; /* This length is negative 2's complement! */ + s16 msg_length; /* This length is "normal". */ }; struct depca_tx_desc { - volatile s32 base; - s16 length; /* This length is negative 2's complement! */ - s16 misc; /* Errors and TDR info */ + volatile s32 base; + s16 length; /* This length is negative 2's complement! */ + s16 misc; /* Errors and TDR info */ }; -#define LA_MASK 0x0000ffff /* LANCE address mask for mapping network RAM +#define LA_MASK 0x0000ffff /* LANCE address mask for mapping network RAM to LANCE memory address space */ /* - ** The Lance initialization block, described in databook, in common memory. - */ +** The Lance initialization block, described in databook, in common memory. +*/ struct depca_init { - u16 mode; /* Mode register */ - u8 phys_addr[ETH_ALEN]; /* Physical ethernet address */ - u8 mcast_table[8]; /* Multicast Hash Table. */ - u32 rx_ring; /* Rx ring base pointer & ring length */ - u32 tx_ring; /* Tx ring base pointer & ring length */ + u16 mode; /* Mode register */ + u8 phys_addr[ETH_ALEN]; /* Physical ethernet address */ + u8 mcast_table[8]; /* Multicast Hash Table. */ + u32 rx_ring; /* Rx ring base pointer & ring length */ + u32 tx_ring; /* Tx ring base pointer & ring length */ }; #define DEPCA_PKT_STAT_SZ 16 -#define DEPCA_PKT_BIN_SZ 128 /* Should be >=100 unless you - increase DEPCA_PKT_STAT_SZ */ +#define DEPCA_PKT_BIN_SZ 128 /* Should be >=100 unless you + increase DEPCA_PKT_STAT_SZ */ struct depca_private { - char devname[DEPCA_STRLEN]; /* Device Product String */ - char adapter_name[DEPCA_STRLEN]; /* /proc/ioports string */ - char adapter; /* Adapter type */ - struct depca_rx_desc *rx_ring; /* Pointer to start of RX descriptor ring */ - struct depca_tx_desc *tx_ring; /* Pointer to start of TX descriptor ring */ - struct depca_init init_block; /* Shadow Initialization block */ - char *rx_memcpy[NUM_RX_DESC]; /* CPU virt address of sh'd memory buffs */ - char *tx_memcpy[NUM_TX_DESC]; /* CPU virt address of sh'd memory buffs */ - u_long bus_offset; /* (E)ISA bus address offset vs LANCE */ - u_long sh_mem; /* Physical start addr of shared mem area */ - u_long dma_buffs; /* LANCE Rx and Tx buffers start address. */ - int rx_new, tx_new; /* The next free ring entry */ - int rx_old, tx_old; /* The ring entries to be free()ed. */ - struct net_device_stats stats; - struct { /* Private stats counters */ - u32 bins[DEPCA_PKT_STAT_SZ]; - u32 unicast; - u32 multicast; - u32 broadcast; - u32 excessive_collisions; - u32 tx_underruns; - u32 excessive_underruns; - } pktStats; - int txRingMask; /* TX ring mask */ - int rxRingMask; /* RX ring mask */ - s32 rx_rlen; /* log2(rxRingMask+1) for the descriptors */ - s32 tx_rlen; /* log2(txRingMask+1) for the descriptors */ + char devname[DEPCA_STRLEN]; /* Device Product String */ + char adapter_name[DEPCA_STRLEN];/* /proc/ioports string */ + char adapter; /* Adapter type */ + char mca_slot; /* MCA slot, if MCA else -1 */ struct depca_rx_desc *rx_ring; /* Pointer to start of RX descriptor ring */ + struct depca_tx_desc *tx_ring; /* Pointer to start of TX descriptor ring */ + struct depca_init init_block;/* Shadow Initialization block */ + char *rx_memcpy[NUM_RX_DESC]; /* CPU virt address of sh'd memory buffs */ + char *tx_memcpy[NUM_TX_DESC]; /* CPU virt address of sh'd memory buffs */ + u_long bus_offset; /* (E)ISA bus address offset vs LANCE */ + u_long sh_mem; /* Physical start addr of shared mem area */ + u_long dma_buffs; /* LANCE Rx and Tx buffers start address. */ + int rx_new, tx_new; /* The next free ring entry */ + int rx_old, tx_old; /* The ring entries to be free()ed. */ + struct net_device_stats stats; + struct { /* Private stats counters */ + u32 bins[DEPCA_PKT_STAT_SZ]; + u32 unicast; + u32 multicast; + u32 broadcast; + u32 excessive_collisions; + u32 tx_underruns; + u32 excessive_underruns; + } pktStats; + int txRingMask; /* TX ring mask */ + int rxRingMask; /* RX ring mask */ + s32 rx_rlen; /* log2(rxRingMask+1) for the descriptors */ + s32 tx_rlen; /* log2(txRingMask+1) for the descriptors */ }; /* - ** The transmit ring full condition is described by the tx_old and tx_new - ** pointers by: - ** tx_old = tx_new Empty ring - ** tx_old = tx_new+1 Full ring - ** tx_old+txRingMask = tx_new Full ring (wrapped condition) - */ +** The transmit ring full condition is described by the tx_old and tx_new +** pointers by: +** tx_old = tx_new Empty ring +** tx_old = tx_new+1 Full ring +** tx_old+txRingMask = tx_new Full ring (wrapped condition) +*/ #define TX_BUFFS_AVAIL ((lp->tx_old<=lp->tx_new)?\ lp->tx_old+lp->txRingMask-lp->tx_new:\ lp->tx_old -lp->tx_new-1) /* - ** Public Functions - */ -static int depca_open(struct device *dev); -static int depca_start_xmit(struct sk_buff *skb, struct device *dev); -static void depca_interrupt(int irq, void *dev_id, struct pt_regs *regs); -static int depca_close(struct device *dev); -static int depca_ioctl(struct device *dev, struct ifreq *rq, int cmd); +** Public Functions +*/ +static int depca_open(struct device *dev); +static int depca_start_xmit(struct sk_buff *skb, struct device *dev); +static void depca_interrupt(int irq, void *dev_id, struct pt_regs *regs); +static int depca_close(struct device *dev); +static int depca_ioctl(struct device *dev, struct ifreq *rq, int cmd); static struct net_device_stats *depca_get_stats(struct device *dev); -static void set_multicast_list(struct device *dev); +static void set_multicast_list(struct device *dev); /* - ** Private functions - */ -static int depca_hw_init(struct device *dev, u_long ioaddr); -static void depca_init_ring(struct device *dev); -static int depca_rx(struct device *dev); -static int depca_tx(struct device *dev); - -static void LoadCSRs(struct device *dev); -static int InitRestartDepca(struct device *dev); -static void DepcaSignature(char *name, u_long paddr); -static int DevicePresent(u_long ioaddr); -static int get_hw_addr(struct device *dev); -static int EISA_signature(char *name, s32 eisa_id); -static void SetMulticastFilter(struct device *dev); -static void isa_probe(struct device *dev, u_long iobase); -static void eisa_probe(struct device *dev, u_long iobase); +** Private functions +*/ +static int depca_hw_init(struct device *dev, u_long ioaddr, int mca_slot); +static void depca_init_ring(struct device *dev); +static int depca_rx(struct device *dev); +static int depca_tx(struct device *dev); + +static void LoadCSRs(struct device *dev); +static int InitRestartDepca(struct device *dev); +static void DepcaSignature(char *name, u_long paddr); +static int DevicePresent(u_long ioaddr); +static int get_hw_addr(struct device *dev); +static int EISA_signature(char *name, s32 eisa_id); +static void SetMulticastFilter(struct device *dev); +static void isa_probe(struct device *dev, u_long iobase); +static void eisa_probe(struct device *dev, u_long iobase); +#ifdef CONFIG_MCA +static void mca_probe(struct device *dev, u_long iobase); +#endif static struct device *alloc_device(struct device *dev, u_long iobase); -static int depca_dev_index(char *s); -static struct device *insert_device(struct device *dev, u_long iobase, int (*init) (struct device *)); -static int load_packet(struct device *dev, struct sk_buff *skb); -static void depca_dbg_open(struct device *dev); +static int depca_dev_index(char *s); +static struct device *insert_device(struct device *dev, u_long iobase, int (*init)(struct device *)); +static int load_packet(struct device *dev, struct sk_buff *skb); +static void depca_dbg_open(struct device *dev); #ifdef MODULE -int init_module(void); -void cleanup_module(void); -static int autoprobed = 1, loading_module = 1; -#else -static u_char de1xx_irq[] __initdata = -{2, 3, 4, 5, 7, 9, 0}; -static u_char de2xx_irq[] __initdata = -{5, 9, 10, 11, 15, 0}; -static u_char de422_irq[] __initdata = -{5, 9, 10, 11, 0}; +int init_module(void); +void cleanup_module(void); +static int autoprobed = 1, loading_module = 1; +# else +static u_char de1xx_irq[] __initdata = {2,3,4,5,7,9,0}; +static u_char de2xx_irq[] __initdata = {5,9,10,11,15,0}; +static u_char de422_irq[] __initdata = {5,9,10,11,0}; static u_char *depca_irq; -static int autoprobed = 0, loading_module = 0; -#endif /* MODULE */ +static int autoprobed = 0, loading_module = 0; +#endif /* MODULE */ -static char name[DEPCA_STRLEN]; -static int num_depcas = 0, num_eth = 0; -static int mem = 0; /* For loadable module assignment - use insmod mem=0x????? .... */ -static char *adapter_name = '\0'; /* If no PROM when loadable module - use insmod adapter_name=DE??? ... - */ +static char name[DEPCA_STRLEN]; +static int num_depcas = 0, num_eth = 0; +static int mem=0; /* For loadable module assignment + use insmod mem=0x????? .... */ +static char *adapter_name = '\0'; /* If no PROM when loadable module + use insmod adapter_name=DE??? ... + */ /* - ** Miscellaneous defines... - */ +** Miscellaneous defines... +*/ #define STOP_DEPCA \ outw(CSR0, DEPCA_ADDR);\ outw(STOP, DEPCA_DATA) - + -__initfunc(int depca_probe(struct device *dev)) +__initfunc(int +depca_probe(struct device *dev)) { - int tmp = num_depcas, status = -ENODEV; - u_long iobase = dev->base_addr; + int tmp = num_depcas, status = -ENODEV; + u_long iobase = dev->base_addr; - if ((iobase == 0) && loading_module) { - printk("Autoprobing is not supported when loading a module based driver.\n"); - status = -EIO; - } else { - isa_probe(dev, iobase); - eisa_probe(dev, iobase); + if ((iobase == 0) && loading_module){ + printk("Autoprobing is not supported when loading a module based driver.\n"); + status = -EIO; + } else { +#ifdef CONFIG_MCA + mca_probe(dev, iobase); +#endif + isa_probe(dev, iobase); + eisa_probe(dev, iobase); - if ((tmp == num_depcas) && (iobase != 0) && loading_module) { - printk("%s: depca_probe() cannot find device at 0x%04lx.\n", dev->name, - iobase); - } - /* - ** Walk the device list to check that at least one device - ** initialised OK - */ - for (; (dev->priv == NULL) && (dev->next != NULL); dev = dev->next); - - if (dev->priv) - status = 0; - if (iobase == 0) - autoprobed = 1; - } + if ((tmp == num_depcas) && (iobase != 0) && loading_module) { + printk("%s: depca_probe() cannot find device at 0x%04lx.\n", dev->name, + iobase); + } + + /* + ** Walk the device list to check that at least one device + ** initialised OK + */ + for (; (dev->priv == NULL) && (dev->next != NULL); dev = dev->next); + + if (dev->priv) status = 0; + if (iobase == 0) autoprobed = 1; + } - return status; + return status; } __initfunc(static int - depca_hw_init(struct device *dev, u_long ioaddr)) +depca_hw_init(struct device *dev, u_long ioaddr, int mca_slot)) { - struct depca_private *lp; - int i, j, offset, netRAM, mem_len, status = 0; - s16 nicsr; - u_long mem_start = 0, mem_base[] = DEPCA_RAM_BASE_ADDRESSES; - - STOP_DEPCA; - - nicsr = inb(DEPCA_NICSR); - nicsr = ((nicsr & ~SHE & ~RBE & ~IEN) | IM); - outb(nicsr, DEPCA_NICSR); - - if (inw(DEPCA_DATA) == STOP) { - do { - strcpy(name, (adapter_name ? adapter_name : "")); - mem_start = (mem ? mem & 0xf0000 : mem_base[mem_chkd++]); - DepcaSignature(name, mem_start); - } while (!mem && mem_base[mem_chkd] && (adapter == unknown)); - - if ((adapter != unknown) && mem_start) { /* found a DEPCA device */ - dev->base_addr = ioaddr; - - if ((ioaddr & 0x0fff) == DEPCA_EISA_IO_PORTS) { /* EISA slot address */ - printk("%s: %s at 0x%04lx (EISA slot %d)", - dev->name, name, ioaddr, (int) ((ioaddr >> 12) & 0x0f)); - } else { /* ISA port address */ - printk("%s: %s at 0x%04lx", dev->name, name, ioaddr); - } - - printk(", h/w address "); - status = get_hw_addr(dev); - for (i = 0; i < ETH_ALEN - 1; i++) { /* get the ethernet address */ - printk("%2.2x:", dev->dev_addr[i]); - } - printk("%2.2x", dev->dev_addr[i]); - - if (status == 0) { - /* Set up the maximum amount of network RAM(kB) */ - netRAM = ((adapter != DEPCA) ? 64 : 48); - if ((nicsr & _128KB) && (adapter == de422)) - netRAM = 128; - offset = 0x0000; - - /* Shared Memory Base Address */ - if (nicsr & BUF) { - offset = 0x8000; /* 32kbyte RAM offset */ - nicsr &= ~BS; /* DEPCA RAM in top 32k */ - netRAM -= 32; - } - mem_start += offset; /* (E)ISA start address */ - if ((mem_len = (NUM_RX_DESC * (sizeof(struct depca_rx_desc) + RX_BUFF_SZ) + - NUM_TX_DESC * (sizeof(struct depca_tx_desc) + TX_BUFF_SZ) + - sizeof(struct depca_init))) <= - (netRAM << 10)) { - printk(",\n has %dkB RAM at 0x%.5lx", netRAM, mem_start); - - /* Enable the shadow RAM. */ - if (adapter != DEPCA) { - nicsr |= SHE; - outb(nicsr, DEPCA_NICSR); - } - /* Define the device private memory */ - dev->priv = (void *) kmalloc(sizeof(struct depca_private), GFP_KERNEL); - if (dev->priv == NULL) - return -ENOMEM; - lp = (struct depca_private *) dev->priv; - memset((char *) dev->priv, 0, sizeof(struct depca_private)); - lp->adapter = adapter; - sprintf(lp->adapter_name, "%s (%s)", name, dev->name); - request_region(ioaddr, DEPCA_TOTAL_SIZE, lp->adapter_name); - - /* Initialisation Block */ - lp->sh_mem = mem_start; - mem_start += sizeof(struct depca_init); - - /* Tx & Rx descriptors (aligned to a quadword boundary) */ - mem_start = (mem_start + ALIGN) & ~ALIGN; - lp->rx_ring = (struct depca_rx_desc *) mem_start; - - mem_start += (sizeof(struct depca_rx_desc) * NUM_RX_DESC); - lp->tx_ring = (struct depca_tx_desc *) mem_start; - - mem_start += (sizeof(struct depca_tx_desc) * NUM_TX_DESC); - lp->bus_offset = mem_start & 0x00ff0000; - mem_start &= LA_MASK; /* LANCE re-mapped start address */ - - lp->dma_buffs = mem_start; - - /* Finish initialising the ring information. */ - lp->rxRingMask = NUM_RX_DESC - 1; - lp->txRingMask = NUM_TX_DESC - 1; - - /* Calculate Tx/Rx RLEN size for the descriptors. */ - for (i = 0, j = lp->rxRingMask; j > 0; i++) { - j >>= 1; - } - lp->rx_rlen = (s32) (i << 29); - for (i = 0, j = lp->txRingMask; j > 0; i++) { - j >>= 1; - } - lp->tx_rlen = (s32) (i << 29); - - /* Load the initialisation block */ - depca_init_ring(dev); - - /* Initialise the control and status registers */ - LoadCSRs(dev); - - /* Enable DEPCA board interrupts for autoprobing */ - nicsr = ((nicsr & ~IM) | IEN); - outb(nicsr, DEPCA_NICSR); - - /* To auto-IRQ we enable the initialization-done and DMA err, - interrupts. For now we will always get a DMA error. */ - if (dev->irq < 2) { + struct depca_private *lp; + int i, j, offset, netRAM, mem_len, status=0; + s16 nicsr; + u_long mem_start=0, mem_base[] = DEPCA_RAM_BASE_ADDRESSES; + + STOP_DEPCA; + + nicsr = inb(DEPCA_NICSR); + nicsr = ((nicsr & ~SHE & ~RBE & ~IEN) | IM); + outb(nicsr, DEPCA_NICSR); + + if (inw(DEPCA_DATA) == STOP) { + do { + strcpy(name, (adapter_name ? adapter_name : "")); + mem_start = (mem ? mem & 0xf0000 : mem_base[mem_chkd++]); + DepcaSignature(name, mem_start); + } while (!mem && mem_base[mem_chkd] && (adapter == unknown)); + + if ((adapter != unknown) && mem_start) { /* found a DEPCA device */ + dev->base_addr = ioaddr; + + if (mca_slot != -1) { + printk("%s: %s at 0x%04lx (MCA slot %d)", dev->name, name, + ioaddr, mca_slot); + } else if ((ioaddr & 0x0fff) == DEPCA_EISA_IO_PORTS) { /* EISA slot address */ + printk("%s: %s at 0x%04lx (EISA slot %d)", + dev->name, name, ioaddr, (int)((ioaddr>>12)&0x0f)); + } else { /* ISA port address */ + printk("%s: %s at 0x%04lx", dev->name, name, ioaddr); + } + + printk(", h/w address "); + status = get_hw_addr(dev); + for (i=0; idev_addr[i]); + } + printk("%2.2x", dev->dev_addr[i]); + + if (status == 0) { + /* Set up the maximum amount of network RAM(kB) */ + netRAM = ((adapter != DEPCA) ? 64 : 48); + if ((nicsr & _128KB) && (adapter == de422)) netRAM = 128; + offset = 0x0000; + + /* Shared Memory Base Address */ + if (nicsr & BUF) { + offset = 0x8000; /* 32kbyte RAM offset*/ + nicsr &= ~BS; /* DEPCA RAM in top 32k */ + netRAM -= 32; + } + mem_start += offset; /* (E)ISA start address */ + if ((mem_len = (NUM_RX_DESC*(sizeof(struct depca_rx_desc)+RX_BUFF_SZ) + + NUM_TX_DESC*(sizeof(struct depca_tx_desc)+TX_BUFF_SZ) + + sizeof(struct depca_init))) <= + (netRAM<<10)) { + printk(",\n has %dkB RAM at 0x%.5lx", netRAM, mem_start); + + /* Enable the shadow RAM. */ + if (adapter != DEPCA) { + nicsr |= SHE; + outb(nicsr, DEPCA_NICSR); + } + + /* Define the device private memory */ + dev->priv = (void *) kmalloc(sizeof(struct depca_private), GFP_KERNEL); + if (dev->priv == NULL) + return -ENOMEM; + lp = (struct depca_private *)dev->priv; + memset((char *)dev->priv, 0, sizeof(struct depca_private)); + lp->adapter = adapter; + lp->mca_slot = mca_slot; + sprintf(lp->adapter_name,"%s (%s)", name, dev->name); + request_region(ioaddr, DEPCA_TOTAL_SIZE, lp->adapter_name); + + /* Initialisation Block */ + lp->sh_mem = mem_start; + mem_start += sizeof(struct depca_init); + + /* Tx & Rx descriptors (aligned to a quadword boundary) */ + mem_start = (mem_start + ALIGN) & ~ALIGN; + lp->rx_ring = (struct depca_rx_desc *)mem_start; + + mem_start += (sizeof(struct depca_rx_desc) * NUM_RX_DESC); + lp->tx_ring = (struct depca_tx_desc *)mem_start; + + mem_start += (sizeof(struct depca_tx_desc) * NUM_TX_DESC); + lp->bus_offset = mem_start & 0x00ff0000; + mem_start &= LA_MASK; /* LANCE re-mapped start address */ + + lp->dma_buffs = mem_start; + + /* Finish initialising the ring information. */ + lp->rxRingMask = NUM_RX_DESC - 1; + lp->txRingMask = NUM_TX_DESC - 1; + + /* Calculate Tx/Rx RLEN size for the descriptors. */ + for (i=0, j = lp->rxRingMask; j>0; i++) { + j >>= 1; + } + lp->rx_rlen = (s32)(i << 29); + for (i=0, j = lp->txRingMask; j>0; i++) { + j >>= 1; + } + lp->tx_rlen = (s32)(i << 29); + + /* Load the initialisation block */ + depca_init_ring(dev); + + /* Initialise the control and status registers */ + LoadCSRs(dev); + + /* Enable DEPCA board interrupts for autoprobing */ + nicsr = ((nicsr & ~IM)|IEN); + outb(nicsr, DEPCA_NICSR); + + /* To auto-IRQ we enable the initialization-done and DMA err, + interrupts. For now we will always get a DMA error. */ + if (dev->irq < 2) { #ifndef MODULE - unsigned char irqnum; - autoirq_setup(0); - - /* Assign the correct irq list */ - switch (lp->adapter) { - case DEPCA: - case de100: - case de101: - depca_irq = de1xx_irq; - break; - case de200: - case de201: - case de202: - case de210: - depca_irq = de2xx_irq; - break; - case de422: - depca_irq = de422_irq; - break; - } - - /* Trigger an initialization just for the interrupt. */ - outw(INEA | INIT, DEPCA_DATA); - - irqnum = autoirq_report(1); - if (!irqnum) { - printk(" and failed to detect IRQ line.\n"); - status = -ENXIO; - } else { - for (dev->irq = 0, i = 0; (depca_irq[i]) && (!dev->irq); i++) { - if (irqnum == depca_irq[i]) { - dev->irq = irqnum; - printk(" and uses IRQ%d.\n", dev->irq); - } - } - - if (!dev->irq) { - printk(" but incorrect IRQ line detected.\n"); - status = -ENXIO; - } - } -#endif /* MODULE */ - } else { - printk(" and assigned IRQ%d.\n", dev->irq); - } - if (status) - release_region(ioaddr, DEPCA_TOTAL_SIZE); - } else { - printk(",\n requests %dkB RAM: only %dkB is available!\n", - (mem_len >> 10), netRAM); - status = -ENXIO; - } - } else { - printk(" which has an Ethernet PROM CRC error.\n"); - status = -ENXIO; - } - } else { - status = -ENXIO; - } - if (!status) { - if (depca_debug > 1) { - printk(version); - } - /* The DEPCA-specific entries in the device structure. */ - dev->open = &depca_open; - dev->hard_start_xmit = &depca_start_xmit; - dev->stop = &depca_close; - dev->get_stats = &depca_get_stats; - dev->set_multicast_list = &set_multicast_list; - dev->do_ioctl = &depca_ioctl; - - dev->mem_start = 0; - - /* Fill in the generic field of the device structure. */ - ether_setup(dev); - } else { /* Incorrectly initialised hardware */ - if (dev->priv) { - kfree_s(dev->priv, sizeof(struct depca_private)); - dev->priv = NULL; - } - } - } else { + unsigned char irqnum; + autoirq_setup(0); + + /* Assign the correct irq list */ + switch (lp->adapter) { + case DEPCA: + case de100: + case de101: + depca_irq = de1xx_irq; + break; + case de200: + case de201: + case de202: + case de210: + case de212: + depca_irq = de2xx_irq; + break; + case de422: + depca_irq = de422_irq; + break; + } + + /* Trigger an initialization just for the interrupt. */ + outw(INEA | INIT, DEPCA_DATA); + + irqnum = autoirq_report(1); + if (!irqnum) { + printk(" and failed to detect IRQ line.\n"); + status = -ENXIO; + } else { + for (dev->irq=0,i=0; (depca_irq[i]) && (!dev->irq); i++) { + if (irqnum == depca_irq[i]) { + dev->irq = irqnum; + printk(" and uses IRQ%d.\n", dev->irq); + } + } + + if (!dev->irq) { + printk(" but incorrect IRQ line detected.\n"); status = -ENXIO; - } - - return status; -} - - -static int depca_open(struct device *dev) -{ - struct depca_private *lp = (struct depca_private *) dev->priv; - u_long ioaddr = dev->base_addr; - s16 nicsr; - int status = 0; - - STOP_DEPCA; - nicsr = inb(DEPCA_NICSR); - - /* Make sure the shadow RAM is enabled */ - if (adapter != DEPCA) { - nicsr |= SHE; - outb(nicsr, DEPCA_NICSR); - } - /* Re-initialize the DEPCA... */ - depca_init_ring(dev); - LoadCSRs(dev); - - depca_dbg_open(dev); - - if (request_irq(dev->irq, &depca_interrupt, 0, lp->adapter_name, dev)) { - printk("depca_open(): Requested IRQ%d is busy\n", dev->irq); - status = -EAGAIN; + } + } +#endif /* MODULE */ + } else { + printk(" and assigned IRQ%d.\n", dev->irq); + } + if (status) release_region(ioaddr, DEPCA_TOTAL_SIZE); } else { + printk(",\n requests %dkB RAM: only %dkB is available!\n", + (mem_len>>10), netRAM); + status = -ENXIO; + } + } else { + printk(" which has an Ethernet PROM CRC error.\n"); + status = -ENXIO; + } + } else { + status = -ENXIO; + } + if (!status) { + if (depca_debug > 1) { + printk(version); + } + + /* The DEPCA-specific entries in the device structure. */ + dev->open = &depca_open; + dev->hard_start_xmit = &depca_start_xmit; + dev->stop = &depca_close; + dev->get_stats = &depca_get_stats; + dev->set_multicast_list = &set_multicast_list; + dev->do_ioctl = &depca_ioctl; + + dev->mem_start = 0; + + /* Fill in the generic field of the device structure. */ + ether_setup(dev); + } else { /* Incorrectly initialised hardware */ + if (dev->priv) { + kfree_s(dev->priv, sizeof(struct depca_private)); + dev->priv = NULL; + } + } + } else { + status = -ENXIO; + } - /* Enable DEPCA board interrupts and turn off LED */ - nicsr = ((nicsr & ~IM & ~LED) | IEN); - outb(nicsr, DEPCA_NICSR); - outw(CSR0, DEPCA_ADDR); - - dev->tbusy = 0; - dev->interrupt = 0; - dev->start = 1; - - status = InitRestartDepca(dev); - - if (depca_debug > 1) { - printk("CSR0: 0x%4.4x\n", inw(DEPCA_DATA)); - printk("nicsr: 0x%02x\n", inb(DEPCA_NICSR)); - } - } - - MOD_INC_USE_COUNT; - - return status; + return status; } -/* Initialize the lance Rx and Tx descriptor rings. */ -static void depca_init_ring(struct device *dev) + +static int +depca_open(struct device *dev) { - struct depca_private *lp = (struct depca_private *) dev->priv; - u_int i; - u_long p; - - /* Lock out other processes whilst setting up the hardware */ - set_bit(0, (void *) &dev->tbusy); - - lp->rx_new = lp->tx_new = 0; - lp->rx_old = lp->tx_old = 0; - - /* Initialize the base addresses and length of each buffer in the ring */ - for (i = 0; i <= lp->rxRingMask; i++) { - writel((p = lp->dma_buffs + i * RX_BUFF_SZ) | R_OWN, &lp->rx_ring[i].base); - writew(-RX_BUFF_SZ, &lp->rx_ring[i].buf_length); - lp->rx_memcpy[i] = (char *) (p + lp->bus_offset); - } - for (i = 0; i <= lp->txRingMask; i++) { - writel((p = lp->dma_buffs + (i + lp->txRingMask + 1) * TX_BUFF_SZ) & 0x00ffffff, - &lp->tx_ring[i].base); - lp->tx_memcpy[i] = (char *) (p + lp->bus_offset); - } - - /* Set up the initialization block */ - lp->init_block.rx_ring = ((u32) ((u_long) lp->rx_ring) & LA_MASK) | lp->rx_rlen; - lp->init_block.tx_ring = ((u32) ((u_long) lp->tx_ring) & LA_MASK) | lp->tx_rlen; - - SetMulticastFilter(dev); - - for (i = 0; i < ETH_ALEN; i++) { - lp->init_block.phys_addr[i] = dev->dev_addr[i]; - } - - lp->init_block.mode = 0x0000; /* Enable the Tx and Rx */ - - return; -} - -/* - ** Writes a socket buffer to TX descriptor ring and starts transmission - */ -static int depca_start_xmit(struct sk_buff *skb, struct device *dev) -{ - struct depca_private *lp = (struct depca_private *) dev->priv; - u_long ioaddr = dev->base_addr; - int status = 0; - - /* Transmitter timeout, serious problems. */ - if (dev->tbusy) { - int tickssofar = jiffies - dev->trans_start; - if (tickssofar < 1 * HZ) { - status = -1; - } else { - printk("%s: transmit timed out, status %04x, resetting.\n", - dev->name, inw(DEPCA_DATA)); - - STOP_DEPCA; - depca_init_ring(dev); - LoadCSRs(dev); - dev->interrupt = UNMASK_INTERRUPTS; - dev->start = 1; - dev->tbusy = 0; - dev->trans_start = jiffies; - InitRestartDepca(dev); - } - return status; - } - else if (skb->len > 0) - { - /* Enforce 1 process per h/w access */ - if (test_and_set_bit(0, (void *) &dev->tbusy) != 0) { - printk("%s: Transmitter access conflict.\n", dev->name); - status = -1; - } else { - if (TX_BUFFS_AVAIL) { /* Fill in a Tx ring entry */ - status = load_packet(dev, skb); - - if (!status) { - /* Trigger an immediate send demand. */ - outw(CSR0, DEPCA_ADDR); - outw(INEA | TDMD, DEPCA_DATA); - - dev->trans_start = jiffies; - dev_kfree_skb(skb); - } - if (TX_BUFFS_AVAIL) { - dev->tbusy = 0; - } - } else { - status = -1; - } - } - } - return status; + struct depca_private *lp = (struct depca_private *)dev->priv; + u_long ioaddr = dev->base_addr; + s16 nicsr; + int status = 0; + + STOP_DEPCA; + nicsr = inb(DEPCA_NICSR); + + /* Make sure the shadow RAM is enabled */ + if (adapter != DEPCA) { + nicsr |= SHE; + outb(nicsr, DEPCA_NICSR); + } + + /* Re-initialize the DEPCA... */ + depca_init_ring(dev); + LoadCSRs(dev); + + depca_dbg_open(dev); + + if (request_irq(dev->irq, &depca_interrupt, 0, lp->adapter_name, dev)) { + printk("depca_open(): Requested IRQ%d is busy\n",dev->irq); + status = -EAGAIN; + } else { + + /* Enable DEPCA board interrupts and turn off LED */ + nicsr = ((nicsr & ~IM & ~LED)|IEN); + outb(nicsr, DEPCA_NICSR); + outw(CSR0,DEPCA_ADDR); + + dev->tbusy = 0; + dev->interrupt = 0; + dev->start = 1; + + status = InitRestartDepca(dev); + + if (depca_debug > 1){ + printk("CSR0: 0x%4.4x\n",inw(DEPCA_DATA)); + printk("nicsr: 0x%02x\n",inb(DEPCA_NICSR)); + } + } + + MOD_INC_USE_COUNT; + + return status; } -/* - ** The DEPCA interrupt handler. - */ -static void depca_interrupt(int irq, void *dev_id, struct pt_regs *regs) +/* Initialize the lance Rx and Tx descriptor rings. */ +static void +depca_init_ring(struct device *dev) { - struct device *dev = dev_id; - struct depca_private *lp; - s16 csr0, nicsr; - u_long ioaddr; - - if (dev == NULL) { - printk("depca_interrupt(): irq %d for unknown device.\n", irq); + struct depca_private *lp = (struct depca_private *)dev->priv; + u_int i; + u_long p; + + /* Lock out other processes whilst setting up the hardware */ + test_and_set_bit(0, (void *)&dev->tbusy); + + lp->rx_new = lp->tx_new = 0; + lp->rx_old = lp->tx_old = 0; + + /* Initialize the base addresses and length of each buffer in the ring */ + for (i = 0; i <= lp->rxRingMask; i++) { + writel((p=lp->dma_buffs+i*RX_BUFF_SZ) | R_OWN, &lp->rx_ring[i].base); + writew(-RX_BUFF_SZ, &lp->rx_ring[i].buf_length); + lp->rx_memcpy[i]=(char *)(p+lp->bus_offset); + } + for (i = 0; i <= lp->txRingMask; i++) { + writel((p=lp->dma_buffs+(i+lp->txRingMask+1)*TX_BUFF_SZ) & 0x00ffffff, + &lp->tx_ring[i].base); + lp->tx_memcpy[i]=(char *)(p+lp->bus_offset); + } + + /* Set up the initialization block */ + lp->init_block.rx_ring = ((u32)((u_long)lp->rx_ring)&LA_MASK) | lp->rx_rlen; + lp->init_block.tx_ring = ((u32)((u_long)lp->tx_ring)&LA_MASK) | lp->tx_rlen; + + SetMulticastFilter(dev); + + for (i = 0; i < ETH_ALEN; i++) { + lp->init_block.phys_addr[i] = dev->dev_addr[i]; + } + + lp->init_block.mode = 0x0000; /* Enable the Tx and Rx */ + + return; +} + +/* +** Writes a socket buffer to TX descriptor ring and starts transmission +*/ +static int +depca_start_xmit(struct sk_buff *skb, struct device *dev) +{ + struct depca_private *lp = (struct depca_private *)dev->priv; + u_long ioaddr = dev->base_addr; + int status = 0; + + /* Transmitter timeout, serious problems. */ + if (dev->tbusy) { + int tickssofar = jiffies - dev->trans_start; + if (tickssofar < 1*HZ) { + status = -1; + } else { + printk("%s: transmit timed out, status %04x, resetting.\n", + dev->name, inw(DEPCA_DATA)); + + STOP_DEPCA; + depca_init_ring(dev); + LoadCSRs(dev); + dev->interrupt = UNMASK_INTERRUPTS; + dev->start = 1; + dev->tbusy=0; + dev->trans_start = jiffies; + InitRestartDepca(dev); + } + return status; + } else if (skb->len > 0) { + /* Enforce 1 process per h/w access */ + if (test_and_set_bit(0, (void*)&dev->tbusy) != 0) { + printk("%s: Transmitter access conflict.\n", dev->name); + status = -1; + } else { + if (TX_BUFFS_AVAIL) { /* Fill in a Tx ring entry */ + status = load_packet(dev, skb); + + if (!status) { + /* Trigger an immediate send demand. */ + outw(CSR0, DEPCA_ADDR); + outw(INEA | TDMD, DEPCA_DATA); + + dev->trans_start = jiffies; + dev_kfree_skb(skb); + } + if (TX_BUFFS_AVAIL) { + dev->tbusy=0; + } + } else { + status = -1; + } + } + } + + return status; +} + +/* +** The DEPCA interrupt handler. +*/ +static void +depca_interrupt(int irq, void *dev_id, struct pt_regs *regs) +{ + struct device *dev = dev_id; + struct depca_private *lp; + s16 csr0, nicsr; + u_long ioaddr; + + if (dev == NULL) { + printk ("depca_interrupt(): irq %d for unknown device.\n", irq); + } else { + lp = (struct depca_private *)dev->priv; + ioaddr = dev->base_addr; + + if (dev->interrupt) + printk("%s: Re-entering the interrupt handler.\n", dev->name); + + dev->interrupt = MASK_INTERRUPTS; + + /* mask the DEPCA board interrupts and turn on the LED */ + nicsr = inb(DEPCA_NICSR); + nicsr |= (IM|LED); + outb(nicsr, DEPCA_NICSR); + + outw(CSR0, DEPCA_ADDR); + csr0 = inw(DEPCA_DATA); + + /* Acknowledge all of the current interrupt sources ASAP. */ + outw(csr0 & INTE, DEPCA_DATA); + + if (csr0 & RINT) /* Rx interrupt (packet arrived) */ + depca_rx(dev); + + if (csr0 & TINT) /* Tx interrupt (packet sent) */ + depca_tx(dev); + + if ((TX_BUFFS_AVAIL >= 0) && dev->tbusy) { /* any resources available? */ + dev->tbusy = 0; /* clear TX busy flag */ + mark_bh(NET_BH); + } + + /* Unmask the DEPCA board interrupts and turn off the LED */ + nicsr = (nicsr & ~IM & ~LED); + outb(nicsr, DEPCA_NICSR); + + dev->interrupt = UNMASK_INTERRUPTS; + } + + return; +} + +static int +depca_rx(struct device *dev) +{ + struct depca_private *lp = (struct depca_private *)dev->priv; + int i, entry; + s32 status; + + for (entry=lp->rx_new; + !(readl(&lp->rx_ring[entry].base) & R_OWN); + entry=lp->rx_new){ + status = readl(&lp->rx_ring[entry].base) >> 16 ; + if (status & R_STP) { /* Remember start of frame */ + lp->rx_old = entry; + } + if (status & R_ENP) { /* Valid frame status */ + if (status & R_ERR) { /* There was an error. */ + lp->stats.rx_errors++; /* Update the error stats. */ + if (status & R_FRAM) lp->stats.rx_frame_errors++; + if (status & R_OFLO) lp->stats.rx_over_errors++; + if (status & R_CRC) lp->stats.rx_crc_errors++; + if (status & R_BUFF) lp->stats.rx_fifo_errors++; + } else { + short len, pkt_len = readw(&lp->rx_ring[entry].msg_length); + struct sk_buff *skb; + + skb = dev_alloc_skb(pkt_len+2); + if (skb != NULL) { + unsigned char *buf; + skb_reserve(skb,2); /* 16 byte align the IP header */ + buf = skb_put(skb,pkt_len); + skb->dev = dev; + if (entry < lp->rx_old) { /* Wrapped buffer */ + len = (lp->rxRingMask - lp->rx_old + 1) * RX_BUFF_SZ; + memcpy_fromio(buf, lp->rx_memcpy[lp->rx_old], len); + memcpy_fromio(buf + len, lp->rx_memcpy[0], pkt_len-len); + } else { /* Linear buffer */ + memcpy_fromio(buf, lp->rx_memcpy[lp->rx_old], pkt_len); + } + + /* + ** Notify the upper protocol layers that there is another + ** packet to handle + */ + skb->protocol=eth_type_trans(skb,dev); + netif_rx(skb); + + /* + ** Update stats + */ + lp->stats.rx_packets++; + for (i=1; ipktStats.bins[i]++; + i = DEPCA_PKT_STAT_SZ; + } + } + if (buf[0] & 0x01) { /* Multicast/Broadcast */ + if ((*(s16 *)&buf[0] == -1) && + (*(s16 *)&buf[2] == -1) && + (*(s16 *)&buf[4] == -1)) { + lp->pktStats.broadcast++; + } else { + lp->pktStats.multicast++; + } + } else if ((*(s16 *)&buf[0] == *(s16 *)&dev->dev_addr[0]) && + (*(s16 *)&buf[2] == *(s16 *)&dev->dev_addr[2]) && + (*(s16 *)&buf[4] == *(s16 *)&dev->dev_addr[4])) { + lp->pktStats.unicast++; + } + + lp->pktStats.bins[0]++; /* Duplicates stats.rx_packets */ + if (lp->pktStats.bins[0] == 0) { /* Reset counters */ + memset((char *)&lp->pktStats, 0, sizeof(lp->pktStats)); + } } else { - lp = (struct depca_private *) dev->priv; - ioaddr = dev->base_addr; - - if (dev->interrupt) - printk("%s: Re-entering the interrupt handler.\n", dev->name); - - dev->interrupt = MASK_INTERRUPTS; - - /* mask the DEPCA board interrupts and turn on the LED */ - nicsr = inb(DEPCA_NICSR); - nicsr |= (IM | LED); - outb(nicsr, DEPCA_NICSR); - - outw(CSR0, DEPCA_ADDR); - csr0 = inw(DEPCA_DATA); - - /* Acknowledge all of the current interrupt sources ASAP. */ - outw(csr0 & INTE, DEPCA_DATA); - - if (csr0 & RINT) /* Rx interrupt (packet arrived) */ - depca_rx(dev); - - if (csr0 & TINT) /* Tx interrupt (packet sent) */ - depca_tx(dev); - - if ((TX_BUFFS_AVAIL >= 0) && dev->tbusy) { /* any resources available? */ - dev->tbusy = 0; /* clear TX busy flag */ - mark_bh(NET_BH); - } - /* Unmask the DEPCA board interrupts and turn off the LED */ - nicsr = (nicsr & ~IM & ~LED); - outb(nicsr, DEPCA_NICSR); - - dev->interrupt = UNMASK_INTERRUPTS; - } - - return; -} - -static int depca_rx(struct device *dev) -{ - struct depca_private *lp = (struct depca_private *) dev->priv; - int i, entry; - s32 status; - - for (entry = lp->rx_new; - !(readl(&lp->rx_ring[entry].base) & R_OWN); - entry = lp->rx_new) { - status = readl(&lp->rx_ring[entry].base) >> 16; - if (status & R_STP) { /* Remember start of frame */ - lp->rx_old = entry; - } - if (status & R_ENP) { /* Valid frame status */ - if (status & R_ERR) { /* There was an error. */ - lp->stats.rx_errors++; /* Update the error stats. */ - if (status & R_FRAM) - lp->stats.rx_frame_errors++; - if (status & R_OFLO) - lp->stats.rx_over_errors++; - if (status & R_CRC) - lp->stats.rx_crc_errors++; - if (status & R_BUFF) - lp->stats.rx_fifo_errors++; - } else { - short len, pkt_len = readw(&lp->rx_ring[entry].msg_length); - struct sk_buff *skb; - - skb = dev_alloc_skb(pkt_len + 2); - if (skb != NULL) { - unsigned char *buf; - skb_reserve(skb, 2); /* 16 byte align the IP header */ - buf = skb_put(skb, pkt_len); - skb->dev = dev; - if (entry < lp->rx_old) { /* Wrapped buffer */ - len = (lp->rxRingMask - lp->rx_old + 1) * RX_BUFF_SZ; - memcpy_fromio(buf, lp->rx_memcpy[lp->rx_old], len); - memcpy_fromio(buf + len, lp->rx_memcpy[0], pkt_len - len); - } else { /* Linear buffer */ - memcpy_fromio(buf, lp->rx_memcpy[lp->rx_old], pkt_len); - } - - /* - ** Notify the upper protocol layers that there is another - ** packet to handle - */ - skb->protocol = eth_type_trans(skb, dev); - netif_rx(skb); - - /* - ** Update stats - */ - lp->stats.rx_packets++; - for (i = 1; i < DEPCA_PKT_STAT_SZ - 1; i++) { - if (pkt_len < (i * DEPCA_PKT_BIN_SZ)) { - lp->pktStats.bins[i]++; - i = DEPCA_PKT_STAT_SZ; - } - } - if (buf[0] & 0x01) { /* Multicast/Broadcast */ - if ((*(s16 *) & buf[0] == -1) && - (*(s16 *) & buf[2] == -1) && - (*(s16 *) & buf[4] == -1)) { - lp->pktStats.broadcast++; - } else { - lp->pktStats.multicast++; - } - } else if ((*(s16 *) & buf[0] == *(s16 *) & dev->dev_addr[0]) && - (*(s16 *) & buf[2] == *(s16 *) & dev->dev_addr[2]) && - (*(s16 *) & buf[4] == *(s16 *) & dev->dev_addr[4])) { - lp->pktStats.unicast++; - } - lp->pktStats.bins[0]++; /* Duplicates stats.rx_packets */ - if (lp->pktStats.bins[0] == 0) { /* Reset counters */ - memset((char *) &lp->pktStats, 0, sizeof(lp->pktStats)); - } - } else { - printk("%s: Memory squeeze, deferring packet.\n", dev->name); - lp->stats.rx_dropped++; /* Really, deferred. */ - break; - } - } - /* Change buffer ownership for this last frame, back to the adapter */ - for (; lp->rx_old != entry; lp->rx_old = (++lp->rx_old) & lp->rxRingMask) { - writel(readl(&lp->rx_ring[lp->rx_old].base) | R_OWN, - &lp->rx_ring[lp->rx_old].base); - } - writel(readl(&lp->rx_ring[entry].base) | R_OWN, &lp->rx_ring[entry].base); - } - /* - ** Update entry information - */ - lp->rx_new = (++lp->rx_new) & lp->rxRingMask; - } - - return 0; + printk("%s: Memory squeeze, deferring packet.\n", dev->name); + lp->stats.rx_dropped++; /* Really, deferred. */ + break; + } + } + /* Change buffer ownership for this last frame, back to the adapter */ + for (; lp->rx_old!=entry; lp->rx_old=(++lp->rx_old)&lp->rxRingMask) { + writel(readl(&lp->rx_ring[lp->rx_old].base) | R_OWN, + &lp->rx_ring[lp->rx_old].base); + } + writel(readl(&lp->rx_ring[entry].base) | R_OWN, &lp->rx_ring[entry].base); + } + + /* + ** Update entry information + */ + lp->rx_new = (++lp->rx_new) & lp->rxRingMask; + } + + return 0; } /* - ** Buffer sent - check for buffer errors. - */ -static int depca_tx(struct device *dev) -{ - struct depca_private *lp = (struct depca_private *) dev->priv; - int entry; - s32 status; - u_long ioaddr = dev->base_addr; - - for (entry = lp->tx_old; entry != lp->tx_new; entry = lp->tx_old) { - status = readl(&lp->tx_ring[entry].base) >> 16; - - if (status < 0) { /* Packet not yet sent! */ - break; - } else if (status & T_ERR) { /* An error occurred. */ - status = readl(&lp->tx_ring[entry].misc); - lp->stats.tx_errors++; - if (status & TMD3_RTRY) - lp->stats.tx_aborted_errors++; - if (status & TMD3_LCAR) - lp->stats.tx_carrier_errors++; - if (status & TMD3_LCOL) - lp->stats.tx_window_errors++; - if (status & TMD3_UFLO) - lp->stats.tx_fifo_errors++; - if (status & (TMD3_BUFF | TMD3_UFLO)) { - /* Trigger an immediate send demand. */ - outw(CSR0, DEPCA_ADDR); - outw(INEA | TDMD, DEPCA_DATA); - } - } else if (status & (T_MORE | T_ONE)) { - lp->stats.collisions++; - } else { - lp->stats.tx_packets++; - } - - /* Update all the pointers */ - lp->tx_old = (++lp->tx_old) & lp->txRingMask; - } - - return 0; -} - -static int depca_close(struct device *dev) -{ - struct depca_private *lp = (struct depca_private *) dev->priv; - s16 nicsr; - u_long ioaddr = dev->base_addr; - - dev->start = 0; - dev->tbusy = 1; - +** Buffer sent - check for buffer errors. +*/ +static int +depca_tx(struct device *dev) +{ + struct depca_private *lp = (struct depca_private *)dev->priv; + int entry; + s32 status; + u_long ioaddr = dev->base_addr; + + for (entry = lp->tx_old; entry != lp->tx_new; entry = lp->tx_old) { + status = readl(&lp->tx_ring[entry].base) >> 16 ; + + if (status < 0) { /* Packet not yet sent! */ + break; + } else if (status & T_ERR) { /* An error occurred. */ + status = readl(&lp->tx_ring[entry].misc); + lp->stats.tx_errors++; + if (status & TMD3_RTRY) lp->stats.tx_aborted_errors++; + if (status & TMD3_LCAR) lp->stats.tx_carrier_errors++; + if (status & TMD3_LCOL) lp->stats.tx_window_errors++; + if (status & TMD3_UFLO) lp->stats.tx_fifo_errors++; + if (status & (TMD3_BUFF | TMD3_UFLO)) { + /* Trigger an immediate send demand. */ outw(CSR0, DEPCA_ADDR); + outw(INEA | TDMD, DEPCA_DATA); + } + } else if (status & (T_MORE | T_ONE)) { + lp->stats.collisions++; + } else { + lp->stats.tx_packets++; + } + + /* Update all the pointers */ + lp->tx_old = (++lp->tx_old) & lp->txRingMask; + } + + return 0; +} + +static int +depca_close(struct device *dev) +{ + struct depca_private *lp = (struct depca_private *)dev->priv; + s16 nicsr; + u_long ioaddr = dev->base_addr; + + dev->start = 0; + dev->tbusy = 1; + + outw(CSR0, DEPCA_ADDR); + + if (depca_debug > 1) { + printk("%s: Shutting down ethercard, status was %2.2x.\n", + dev->name, inw(DEPCA_DATA)); + } + + /* + ** We stop the DEPCA here -- it occasionally polls + ** memory if we don't. + */ + outw(STOP, DEPCA_DATA); + + /* + ** Give back the ROM in case the user wants to go to DOS + */ + if (lp->adapter != DEPCA) { + nicsr = inb(DEPCA_NICSR); + nicsr &= ~SHE; + outb(nicsr, DEPCA_NICSR); + } + + /* + ** Free the associated irq + */ + free_irq(dev->irq, dev); - if (depca_debug > 1) { - printk("%s: Shutting down ethercard, status was %2.2x.\n", - dev->name, inw(DEPCA_DATA)); - } - /* - ** We stop the DEPCA here -- it occasionally polls - ** memory if we don't. - */ - outw(STOP, DEPCA_DATA); + MOD_DEC_USE_COUNT; - /* - ** Give back the ROM in case the user wants to go to DOS - */ - if (lp->adapter != DEPCA) { - nicsr = inb(DEPCA_NICSR); - nicsr &= ~SHE; - outb(nicsr, DEPCA_NICSR); - } - /* - ** Free the associated irq - */ - free_irq(dev->irq, dev); - - MOD_DEC_USE_COUNT; - - return 0; + return 0; } static void LoadCSRs(struct device *dev) { - struct depca_private *lp = (struct depca_private *) dev->priv; - u_long ioaddr = dev->base_addr; + struct depca_private *lp = (struct depca_private *)dev->priv; + u_long ioaddr = dev->base_addr; - outw(CSR1, DEPCA_ADDR); /* initialisation block address LSW */ - outw((u16) (lp->sh_mem & LA_MASK), DEPCA_DATA); - outw(CSR2, DEPCA_ADDR); /* initialisation block address MSW */ - outw((u16) ((lp->sh_mem & LA_MASK) >> 16), DEPCA_DATA); - outw(CSR3, DEPCA_ADDR); /* ALE control */ - outw(ACON, DEPCA_DATA); + outw(CSR1, DEPCA_ADDR); /* initialisation block address LSW */ + outw((u16)(lp->sh_mem & LA_MASK), DEPCA_DATA); + outw(CSR2, DEPCA_ADDR); /* initialisation block address MSW */ + outw((u16)((lp->sh_mem & LA_MASK) >> 16), DEPCA_DATA); + outw(CSR3, DEPCA_ADDR); /* ALE control */ + outw(ACON, DEPCA_DATA); - outw(CSR0, DEPCA_ADDR); /* Point back to CSR0 */ + outw(CSR0, DEPCA_ADDR); /* Point back to CSR0 */ - return; + return; } static int InitRestartDepca(struct device *dev) { - struct depca_private *lp = (struct depca_private *) dev->priv; - u_long ioaddr = dev->base_addr; - int i, status = 0; - - /* Copy the shadow init_block to shared memory */ - memcpy_toio((char *) lp->sh_mem, &lp->init_block, sizeof(struct depca_init)); - - outw(CSR0, DEPCA_ADDR); /* point back to CSR0 */ - outw(INIT, DEPCA_DATA); /* initialize DEPCA */ - - /* wait for lance to complete initialisation */ - for (i = 0; (i < 100) && !(inw(DEPCA_DATA) & IDON); i++); - - if (i != 100) { - /* clear IDON by writing a "1", enable interrupts and start lance */ - outw(IDON | INEA | STRT, DEPCA_DATA); - if (depca_debug > 2) { - printk("%s: DEPCA open after %d ticks, init block 0x%08lx csr0 %4.4x.\n", - dev->name, i, lp->sh_mem, inw(DEPCA_DATA)); - } - } else { - printk("%s: DEPCA unopen after %d ticks, init block 0x%08lx csr0 %4.4x.\n", - dev->name, i, lp->sh_mem, inw(DEPCA_DATA)); - status = -1; - } + struct depca_private *lp = (struct depca_private *)dev->priv; + u_long ioaddr = dev->base_addr; + int i, status=0; + + /* Copy the shadow init_block to shared memory */ + memcpy_toio((char *)lp->sh_mem, &lp->init_block, sizeof(struct depca_init)); + + outw(CSR0, DEPCA_ADDR); /* point back to CSR0 */ + outw(INIT, DEPCA_DATA); /* initialize DEPCA */ + + /* wait for lance to complete initialisation */ + for (i=0;(i<100) && !(inw(DEPCA_DATA) & IDON); i++); + + if (i!=100) { + /* clear IDON by writing a "1", enable interrupts and start lance */ + outw(IDON | INEA | STRT, DEPCA_DATA); + if (depca_debug > 2) { + printk("%s: DEPCA open after %d ticks, init block 0x%08lx csr0 %4.4x.\n", + dev->name, i, lp->sh_mem, inw(DEPCA_DATA)); + } + } else { + printk("%s: DEPCA unopen after %d ticks, init block 0x%08lx csr0 %4.4x.\n", + dev->name, i, lp->sh_mem, inw(DEPCA_DATA)); + status = -1; + } - return status; + return status; } static struct net_device_stats * - depca_get_stats(struct device *dev) +depca_get_stats(struct device *dev) { - struct depca_private *lp = (struct depca_private *) dev->priv; + struct depca_private *lp = (struct depca_private *)dev->priv; - /* Null body since there is no framing error counter */ + /* Null body since there is no framing error counter */ - return &lp->stats; + return &lp->stats; } /* - ** Set or clear the multicast filter for this adaptor. - */ -static void set_multicast_list(struct device *dev) +** Set or clear the multicast filter for this adaptor. +*/ +static void +set_multicast_list(struct device *dev) { - struct depca_private *lp = (struct depca_private *) dev->priv; - u_long ioaddr = dev->base_addr; - - while (dev->tbusy); /* Stop ring access */ - set_bit(0, (void *) &dev->tbusy); - while (lp->tx_old != lp->tx_new); /* Wait for the ring to empty */ + struct depca_private *lp = (struct depca_private *)dev->priv; + u_long ioaddr = dev->base_addr; + + if (dev) { + while(dev->tbusy) barrier(); /* Stop ring access */ + set_bit(0, (void*)&dev->tbusy); + while(lp->tx_old != lp->tx_new); /* Wait for the ring to empty */ - STOP_DEPCA; /* Temporarily stop the depca. */ - depca_init_ring(dev); /* Initialize the descriptor rings */ + STOP_DEPCA; /* Temporarily stop the depca. */ + depca_init_ring(dev); /* Initialize the descriptor rings */ - if (dev->flags & IFF_PROMISC) { /* Set promiscuous mode */ - lp->init_block.mode |= PROM; - } else { - SetMulticastFilter(dev); - lp->init_block.mode &= ~PROM; /* Unset promiscuous mode */ - } + if (dev->flags & IFF_PROMISC) { /* Set promiscuous mode */ + lp->init_block.mode |= PROM; + } else { + SetMulticastFilter(dev); + lp->init_block.mode &= ~PROM; /* Unset promiscuous mode */ + } - LoadCSRs(dev); /* Reload CSR3 */ - InitRestartDepca(dev); /* Resume normal operation. */ - dev->tbusy = 0; /* Unlock the TX ring */ + LoadCSRs(dev); /* Reload CSR3 */ + InitRestartDepca(dev); /* Resume normal operation. */ + dev->tbusy = 0; /* Unlock the TX ring */ + } } /* - ** Calculate the hash code and update the logical address filter - ** from a list of ethernet multicast addresses. - ** Big endian crc one liner is mine, all mine, ha ha ha ha! - ** LANCE calculates its hash codes big endian. - */ +** Calculate the hash code and update the logical address filter +** from a list of ethernet multicast addresses. +** Big endian crc one liner is mine, all mine, ha ha ha ha! +** LANCE calculates its hash codes big endian. +*/ static void SetMulticastFilter(struct device *dev) { - struct depca_private *lp = (struct depca_private *) dev->priv; - struct dev_mc_list *dmi = dev->mc_list; - char *addrs; - int i, j, bit, byte; - u16 hashcode; - s32 crc, poly = CRC_POLYNOMIAL_BE; - - if (dev->flags & IFF_ALLMULTI) { /* Set all multicast bits */ - for (i = 0; i < (HASH_TABLE_LEN >> 3); i++) { - lp->init_block.mcast_table[i] = (char) 0xff; - } - } else { - for (i = 0; i < (HASH_TABLE_LEN >> 3); i++) { /* Clear the multicast table */ - lp->init_block.mcast_table[i] = 0; - } - /* Add multicast addresses */ - for (i = 0; i < dev->mc_count; i++) { /* for each address in the list */ - addrs = dmi->dmi_addr; - dmi = dmi->next; - if ((*addrs & 0x01) == 1) { /* multicast address? */ - crc = 0xffffffff; /* init CRC for each address */ - for (byte = 0; byte < ETH_ALEN; byte++) { /* for each address byte */ - /* process each address bit */ - for (bit = *addrs++, j = 0; j < 8; j++, bit >>= 1) { - crc = (crc << 1) ^ ((((crc < 0 ? 1 : 0) ^ bit) & 0x01) ? poly : 0); - } - } - hashcode = (crc & 1); /* hashcode is 6 LSb of CRC ... */ - for (j = 0; j < 5; j++) { /* ... in reverse order. */ - hashcode = (hashcode << 1) | ((crc >>= 1) & 1); - } - - - byte = hashcode >> 3; /* bit[3-5] -> byte in filter */ - bit = 1 << (hashcode & 0x07); /* bit[0-2] -> bit in byte */ - lp->init_block.mcast_table[byte] |= bit; - } - } - } - - return; -} - -/* - ** ISA bus I/O device probe - */ -__initfunc(static void isa_probe(struct device *dev, u_long ioaddr)) -{ - int i = num_depcas, maxSlots; - s32 ports[] = DEPCA_IO_PORTS; - - if (!ioaddr && autoprobed) - return; /* Been here before ! */ - if (ioaddr > 0x400) - return; /* EISA Address */ - if (i >= MAX_NUM_DEPCAS) - return; /* Too many ISA adapters */ - - if (ioaddr == 0) { /* Autoprobing */ - maxSlots = MAX_NUM_DEPCAS; - } else { /* Probe a specific location */ - ports[i] = ioaddr; - maxSlots = i + 1; - } - - for (; (i < maxSlots) && (dev != NULL) && ports[i]; i++) { - if (DevicePresent(ports[i]) == 0) { - if (check_region(ports[i], DEPCA_TOTAL_SIZE) == 0) { - if ((dev = alloc_device(dev, ports[i])) != NULL) { - if (depca_hw_init(dev, ports[i]) == 0) { - num_depcas++; - } - num_eth++; - } - } else if (autoprobed) { - printk("%s: region already allocated at 0x%04x.\n", dev->name, ports[i]); - } - } - } - - return; -} + struct depca_private *lp = (struct depca_private *)dev->priv; + struct dev_mc_list *dmi=dev->mc_list; + char *addrs; + int i, j, bit, byte; + u16 hashcode; + s32 crc, poly = CRC_POLYNOMIAL_BE; + + if (dev->flags & IFF_ALLMULTI) { /* Set all multicast bits */ + for (i=0; i<(HASH_TABLE_LEN>>3); i++) { + lp->init_block.mcast_table[i] = (char)0xff; + } + } else { + for (i=0; i<(HASH_TABLE_LEN>>3); i++){ /* Clear the multicast table */ + lp->init_block.mcast_table[i]=0; + } + /* Add multicast addresses */ + for (i=0;imc_count;i++) { /* for each address in the list */ + addrs=dmi->dmi_addr; + dmi=dmi->next; + if ((*addrs & 0x01) == 1) { /* multicast address? */ + crc = 0xffffffff; /* init CRC for each address */ + for (byte=0;byte>=1) { + crc = (crc << 1) ^ ((((crc<0?1:0) ^ bit) & 0x01) ? poly : 0); + } + } + hashcode = (crc & 1); /* hashcode is 6 LSb of CRC ... */ + for (j=0;j<5;j++) { /* ... in reverse order. */ + hashcode = (hashcode << 1) | ((crc>>=1) & 1); + } + + + byte = hashcode >> 3; /* bit[3-5] -> byte in filter */ + bit = 1 << (hashcode & 0x07); /* bit[0-2] -> bit in byte */ + lp->init_block.mcast_table[byte] |= bit; + } + } + } + + return; +} + +#ifdef CONFIG_MCA +/* +** Microchannel bus I/O device probe +*/ +__initfunc(static void +mca_probe(struct device *dev, u_long ioaddr)) +{ + unsigned char pos[2]; + unsigned char where; + unsigned long iobase; + int irq; + int slot = 0; + + /* + ** See if we've been here before. + */ + if ((!ioaddr && autoprobed) || (ioaddr && !loading_module)) return; -/* - ** EISA bus I/O device probe. Probe from slot 1 since slot 0 is usually - ** the motherboard. Upto 15 EISA devices are supported. - */ -__initfunc(static void eisa_probe(struct device *dev, u_long ioaddr)) -{ - int i, maxSlots; - u_long iobase; - char name[DEPCA_STRLEN]; - - if (!ioaddr && autoprobed) - return; /* Been here before ! */ - if ((ioaddr < 0x400) && (ioaddr > 0)) - return; /* ISA Address */ - - if (ioaddr == 0) { /* Autoprobing */ - iobase = EISA_SLOT_INC; /* Get the first slot address */ - i = 1; - maxSlots = MAX_EISA_SLOTS; - } else { /* Probe a specific location */ - iobase = ioaddr; - i = (ioaddr >> 12); - maxSlots = i + 1; - } - if ((iobase & 0x0fff) == 0) - iobase += DEPCA_EISA_IO_PORTS; - - for (; (i < maxSlots) && (dev != NULL); i++, iobase += EISA_SLOT_INC) { - if (EISA_signature(name, EISA_ID)) { - if (DevicePresent(iobase) == 0) { - if (check_region(iobase, DEPCA_TOTAL_SIZE) == 0) { - if ((dev = alloc_device(dev, iobase)) != NULL) { - if (depca_hw_init(dev, iobase) == 0) { - num_depcas++; - } - num_eth++; - } - } else if (autoprobed) { - printk("%s: region already allocated at 0x%04lx.\n", dev->name, iobase); - } - } - } + if (MCA_bus) { + /* + ** Search for the adapter. If an address has been given, search + ** specifically for the card at that address. Otherwise find the + ** first card in the system. + */ + while ((dev!=NULL) && + ((slot=mca_find_adapter(DE212_ID, slot)) != MCA_NOTFOUND)) { + pos[0] = mca_read_stored_pos(slot, 2); + pos[1] = mca_read_stored_pos(slot, 3); + + /* + ** IO of card is handled by bits 1 and 2 of pos0. + ** + ** bit2 bit1 IO + ** 0 0 0x2c00 + ** 0 1 0x2c10 + ** 1 0 0x2c20 + ** 1 1 0x2c30 + */ + where = (pos[0] & 6) >> 1; + iobase = 0x2c00 + (0x10 * where); + + if ((ioaddr) && (ioaddr != iobase)) { + /* + ** Card was found, but not at the right IO location. Continue + ** scanning from the next MCA slot up for another card. + */ + slot++; + continue; + } + + /* + ** Found the adapter we were looking for. Now start setting it up. + ** + ** First work on decoding the IRQ. It's stored in the lower 4 bits + ** of pos1. Bits are as follows (from the ADF file): + ** + ** Bits + ** 3 2 1 0 IRQ + ** -------------------- + ** 0 0 1 0 5 + ** 0 0 0 1 9 + ** 0 1 0 0 10 + ** 1 0 0 0 11 + **/ + where = pos[1] & 0x0f; + switch(where) { + case 1: + irq = 9; + break; + case 2: + irq = 5; + break; + case 4: + irq = 10; + break; + case 8: + irq = 11; + break; + default: + printk("%s: mca_probe IRQ error. You should never get here (%d).\n", dev->name, where); + return; + } + + /* + ** Shared memory address of adapter is stored in bits 3-5 of pos0. + ** They are mapped as follows: + ** + ** Bit + ** 5 4 3 Memory Addresses + ** 0 0 0 C0000-CFFFF (64K) + ** 1 0 0 C8000-CFFFF (32K) + ** 0 0 1 D0000-DFFFF (64K) + ** 1 0 1 D8000-DFFFF (32K) + ** 0 1 0 E0000-EFFFF (64K) + ** 1 1 0 E8000-EFFFF (32K) + */ + where = (pos[0] & 0x18) >> 3; + mem = 0xc0000 + (where * 0x10000); + if (pos[0] & 0x20) { + mem += 0x8000; + } + + /* + ** Get everything allocated and initialized... (almost just + ** like the ISA and EISA probes) + */ + if (DevicePresent(iobase) != 0) { + /* + ** If the MCA configuration says the card should be here, + ** it really should be here. + */ + printk(KERN_ERR "%s: MCA reports card at 0x%lx but it is not +responding.\n", dev->name, iobase); + } + + if (check_region(iobase, DEPCA_TOTAL_SIZE) == 0) { + if ((dev = alloc_device(dev, iobase)) != NULL) { + dev->irq = irq; + if (depca_hw_init(dev, iobase, slot) == 0) { + /* + ** Adapter initialized correctly: Name it in + ** /proc/mca. + */ + mca_set_adapter_name(slot, "DE210/212 Ethernet Adapter"); + mca_mark_as_used(slot); + num_depcas++; + } + num_eth++; + } + } else if (autoprobed) { + printk(KERN_WARNING "%s: region already allocated at 0x%04lx.\n", dev->name, iobase); + } + + /* + ** If this is a probe by a module, return after setting up the + ** given card. + */ + if (ioaddr) return; + + /* + ** Set up to check the next slot and loop. + */ + slot++; } + } - return; + return; } +#endif /* - ** Search the entire 'eth' device list for a fixed probe. If a match isn't - ** found then check for an autoprobe or unused device location. If they - ** are not available then insert a new device structure at the end of - ** the current list. - */ +** ISA bus I/O device probe +*/ +__initfunc(static void +isa_probe(struct device *dev, u_long ioaddr)) +{ + int i = num_depcas, maxSlots; + s32 ports[] = DEPCA_IO_PORTS; + + if (!ioaddr && autoprobed) return ; /* Been here before ! */ + if (ioaddr > 0x400) return; /* EISA Address */ + if (i >= MAX_NUM_DEPCAS) return; /* Too many ISA adapters */ + + if (ioaddr == 0) { /* Autoprobing */ + maxSlots = MAX_NUM_DEPCAS; + } else { /* Probe a specific location */ + ports[i] = ioaddr; + maxSlots = i + 1; + } + + for (; (iname, ports[i]); + } + } + + return; +} + +/* +** EISA bus I/O device probe. Probe from slot 1 since slot 0 is usually +** the motherboard. Upto 15 EISA devices are supported. +*/ +__initfunc(static void +eisa_probe(struct device *dev, u_long ioaddr)) +{ + int i, maxSlots; + u_long iobase; + char name[DEPCA_STRLEN]; + + if (!ioaddr && autoprobed) return ; /* Been here before ! */ + if ((ioaddr < 0x400) && (ioaddr > 0)) return; /* ISA Address */ + + if (ioaddr == 0) { /* Autoprobing */ + iobase = EISA_SLOT_INC; /* Get the first slot address */ + i = 1; + maxSlots = MAX_EISA_SLOTS; + } else { /* Probe a specific location */ + iobase = ioaddr; + i = (ioaddr >> 12); + maxSlots = i + 1; + } + if ((iobase & 0x0fff) == 0) iobase += DEPCA_EISA_IO_PORTS; + + for (; (iname, iobase); + } + } + + return; +} + +/* +** Search the entire 'eth' device list for a fixed probe. If a match isn't +** found then check for an autoprobe or unused device location. If they +** are not available then insert a new device structure at the end of +** the current list. +*/ __initfunc(static struct device * - alloc_device(struct device *dev, u_long iobase)) +alloc_device(struct device *dev, u_long iobase)) { - struct device *adev = NULL; - int fixed = 0, new_dev = 0; + struct device *adev = NULL; + int fixed = 0, new_dev = 0; + num_eth = depca_dev_index(dev->name); + if (loading_module) return dev; + + while (1) { + if (((dev->base_addr == DEPCA_NDA) || (dev->base_addr==0)) && !adev) { + adev=dev; + } else if ((dev->priv == NULL) && (dev->base_addr==iobase)) { + fixed = 1; + } else { + if (dev->next == NULL) { + new_dev = 1; + } else if (strncmp(dev->next->name, "eth", 3) != 0) { + new_dev = 1; + } + } + if ((dev->next == NULL) || new_dev || fixed) break; + dev = dev->next; + num_eth++; + } + if (adev && !fixed) { + dev = adev; num_eth = depca_dev_index(dev->name); - if (loading_module) - return dev; + new_dev = 0; + } - while (1) { - if (((dev->base_addr == DEPCA_NDA) || (dev->base_addr == 0)) && !adev) { - adev = dev; - } else if ((dev->priv == NULL) && (dev->base_addr == iobase)) { - fixed = 1; - } else { - if (dev->next == NULL) { - new_dev = 1; - } else if (strncmp(dev->next->name, "eth", 3) != 0) { - new_dev = 1; - } - } - if ((dev->next == NULL) || new_dev || fixed) - break; - dev = dev->next; - num_eth++; - } - if (adev && !fixed) { - dev = adev; - num_eth = depca_dev_index(dev->name); - new_dev = 0; - } - if (((dev->next == NULL) && - ((dev->base_addr != DEPCA_NDA) && (dev->base_addr != 0)) && !fixed) || - new_dev) { - num_eth++; /* New device */ - dev = insert_device(dev, iobase, depca_probe); - } - return dev; + if (((dev->next == NULL) && + ((dev->base_addr != DEPCA_NDA) && (dev->base_addr != 0)) && !fixed) || + new_dev) { + num_eth++; /* New device */ + dev = insert_device(dev, iobase, depca_probe); + } + + return dev; } /* - ** If at end of eth device list and can't use current entry, malloc - ** one up. If memory could not be allocated, print an error message. - */ +** If at end of eth device list and can't use current entry, malloc +** one up. If memory could not be allocated, print an error message. +*/ __initfunc(static struct device * - insert_device(struct device *dev, u_long iobase, int (*init) (struct device *))) +insert_device(struct device *dev, u_long iobase, int (*init)(struct device *))) { - struct device *new; + struct device *new; - new = (struct device *) kmalloc(sizeof(struct device) + 8, GFP_KERNEL); - if (new == NULL) { - printk("eth%d: Device not initialised, insufficient memory\n", num_eth); - return NULL; + new = (struct device *)kmalloc(sizeof(struct device)+8, GFP_KERNEL); + if (new == NULL) { + printk("eth%d: Device not initialised, insufficient memory\n",num_eth); + return NULL; + } else { + new->next = dev->next; + dev->next = new; + dev = dev->next; /* point to the new device */ + dev->name = (char *)(dev + 1); + if (num_eth > 9999) { + sprintf(dev->name,"eth????");/* New device name */ } else { - new->next = dev->next; - dev->next = new; - dev = dev->next; /* point to the new device */ - dev->name = (char *) (dev + 1); - if (num_eth > 9999) { - sprintf(dev->name, "eth????"); /* New device name */ - } else { - sprintf(dev->name, "eth%d", num_eth); /* New device name */ - } - dev->base_addr = iobase; /* assign the io address */ - dev->init = init; /* initialisation routine */ + sprintf(dev->name,"eth%d", num_eth);/* New device name */ } + dev->base_addr = iobase; /* assign the io address */ + dev->init = init; /* initialisation routine */ + } - return dev; + return dev; } __initfunc(static int - depca_dev_index(char *s)) +depca_dev_index(char *s)) { - int i = 0, j = 0; + int i=0, j=0; - for (; *s; s++) { - if (isdigit(*s)) { - j = 1; - i = (i * 10) + (*s - '0'); - } else if (j) - break; - } - - return i; -} - -/* - ** Look for a particular board name in the on-board Remote Diagnostics - ** and Boot (readb) ROM. This will also give us a clue to the network RAM - ** base address. - */ -__initfunc(static void DepcaSignature(char *name, u_long paddr)) + for (;*s; s++) { + if (isdigit(*s)) { + j=1; + i = (i * 10) + (*s - '0'); + } else if (j) break; + } + + return i; +} + +/* +** Look for a particular board name in the on-board Remote Diagnostics +** and Boot (readb) ROM. This will also give us a clue to the network RAM +** base address. +*/ +__initfunc(static void +DepcaSignature(char *name, u_long paddr)) +{ + u_int i,j,k; + const char *signatures[] = DEPCA_SIGNATURE; + char tmpstr[16]; + + /* Copy the first 16 bytes of ROM */ + for (i=0;i<16;i++) { + tmpstr[i] = readb(paddr+0xc000+i); + } + + /* Check if PROM contains a valid string */ + for (i=0;*signatures[i]!='\0';i++) { + for (j=0,k=0;j<16 && kbase_addr; - int i, k, tmp, status = 0; - u_short j, x, chksum; + u_long ioaddr = dev->base_addr; + int i, k, tmp, status = 0; + u_short j, x, chksum; - x = (((adapter == de100) || (adapter == de101)) ? 1 : 0); + x = (((adapter == de100) || (adapter == de101)) ? 1 : 0); - for (i = 0, k = 0, j = 0; j < 3; j++) { - k <<= 1; - if (k > 0xffff) - k -= 0xffff; + for (i=0,k=0,j=0;j<3;j++) { + k <<= 1 ; + if (k > 0xffff) k-=0xffff; - k += (u_char) (tmp = inb(DEPCA_PROM + x)); - dev->dev_addr[i++] = (u_char) tmp; - k += (u_short) ((tmp = inb(DEPCA_PROM + x)) << 8); - dev->dev_addr[i++] = (u_char) tmp; + k += (u_char) (tmp = inb(DEPCA_PROM + x)); + dev->dev_addr[i++] = (u_char) tmp; + k += (u_short) ((tmp = inb(DEPCA_PROM + x)) << 8); + dev->dev_addr[i++] = (u_char) tmp; - if (k > 0xffff) - k -= 0xffff; - } - if (k == 0xffff) - k = 0; + if (k > 0xffff) k-=0xffff; + } + if (k == 0xffff) k=0; - chksum = (u_char) inb(DEPCA_PROM + x); - chksum |= (u_short) (inb(DEPCA_PROM + x) << 8); - if (k != chksum) - status = -1; + chksum = (u_char) inb(DEPCA_PROM + x); + chksum |= (u_short) (inb(DEPCA_PROM + x) << 8); + if (k != chksum) status = -1; - return status; + return status; } /* - ** Load a packet into the shared memory - */ +** Load a packet into the shared memory +*/ static int load_packet(struct device *dev, struct sk_buff *skb) { - struct depca_private *lp = (struct depca_private *) dev->priv; - int i, entry, end, len, status = 0; + struct depca_private *lp = (struct depca_private *)dev->priv; + int i, entry, end, len, status = 0; - entry = lp->tx_new; /* Ring around buffer number. */ - end = (entry + (skb->len - 1) / TX_BUFF_SZ) & lp->txRingMask; - if (!(readl(&lp->tx_ring[end].base) & T_OWN)) { /* Enough room? */ - /* - ** Caution: the write order is important here... don't set up the - ** ownership rights until all the other information is in place. - */ - if (end < entry) { /* wrapped buffer */ - len = (lp->txRingMask - entry + 1) * TX_BUFF_SZ; - memcpy_toio(lp->tx_memcpy[entry], skb->data, len); - memcpy_toio(lp->tx_memcpy[0], skb->data + len, skb->len - len); - } else { /* linear buffer */ - memcpy_toio(lp->tx_memcpy[entry], skb->data, skb->len); - } - - /* set up the buffer descriptors */ - len = (skb->len < ETH_ZLEN) ? ETH_ZLEN : skb->len; - for (i = entry; i != end; i = (++i) & lp->txRingMask) { - /* clean out flags */ - writel(readl(&lp->tx_ring[i].base) & ~T_FLAGS, &lp->tx_ring[i].base); - writew(0x0000, &lp->tx_ring[i].misc); /* clears other error flags */ - writew(-TX_BUFF_SZ, &lp->tx_ring[i].length); /* packet length in buffer */ - len -= TX_BUFF_SZ; - } - /* clean out flags */ - writel(readl(&lp->tx_ring[end].base) & ~T_FLAGS, &lp->tx_ring[end].base); - writew(0x0000, &lp->tx_ring[end].misc); /* clears other error flags */ - writew(-len, &lp->tx_ring[end].length); /* packet length in last buff */ - - /* start of packet */ - writel(readl(&lp->tx_ring[entry].base) | T_STP, &lp->tx_ring[entry].base); - /* end of packet */ - writel(readl(&lp->tx_ring[end].base) | T_ENP, &lp->tx_ring[end].base); - - for (i = end; i != entry; --i) { - /* ownership of packet */ - writel(readl(&lp->tx_ring[i].base) | T_OWN, &lp->tx_ring[i].base); - if (i == 0) - i = lp->txRingMask + 1; - } - writel(readl(&lp->tx_ring[entry].base) | T_OWN, &lp->tx_ring[entry].base); - - lp->tx_new = (++end) & lp->txRingMask; /* update current pointers */ - } else { - status = -1; - } + entry = lp->tx_new; /* Ring around buffer number. */ + end = (entry + (skb->len - 1) / TX_BUFF_SZ) & lp->txRingMask; + if (!(readl(&lp->tx_ring[end].base) & T_OWN)) {/* Enough room? */ + /* + ** Caution: the write order is important here... don't set up the + ** ownership rights until all the other information is in place. + */ + if (end < entry) { /* wrapped buffer */ + len = (lp->txRingMask - entry + 1) * TX_BUFF_SZ; + memcpy_toio(lp->tx_memcpy[entry], skb->data, len); + memcpy_toio(lp->tx_memcpy[0], skb->data + len, skb->len - len); + } else { /* linear buffer */ + memcpy_toio(lp->tx_memcpy[entry], skb->data, skb->len); + } + + /* set up the buffer descriptors */ + len = (skb->len < ETH_ZLEN) ? ETH_ZLEN : skb->len; + for (i = entry; i != end; i = (++i) & lp->txRingMask) { + /* clean out flags */ + writel(readl(&lp->tx_ring[i].base) & ~T_FLAGS, &lp->tx_ring[i].base); + writew(0x0000, &lp->tx_ring[i].misc); /* clears other error flags */ + writew(-TX_BUFF_SZ, &lp->tx_ring[i].length);/* packet length in buffer */ + len -= TX_BUFF_SZ; + } + /* clean out flags */ + writel(readl(&lp->tx_ring[end].base) & ~T_FLAGS, &lp->tx_ring[end].base); + writew(0x0000, &lp->tx_ring[end].misc); /* clears other error flags */ + writew(-len, &lp->tx_ring[end].length); /* packet length in last buff */ + + /* start of packet */ + writel(readl(&lp->tx_ring[entry].base) | T_STP, &lp->tx_ring[entry].base); + /* end of packet */ + writel(readl(&lp->tx_ring[end].base) | T_ENP, &lp->tx_ring[end].base); + + for (i=end; i!=entry; --i) { + /* ownership of packet */ + writel(readl(&lp->tx_ring[i].base) | T_OWN, &lp->tx_ring[i].base); + if (i == 0) i=lp->txRingMask+1; + } + writel(readl(&lp->tx_ring[entry].base) | T_OWN, &lp->tx_ring[entry].base); + + lp->tx_new = (++end) & lp->txRingMask; /* update current pointers */ + } else { + status = -1; + } - return status; + return status; } /* - ** Look for a particular board name in the EISA configuration space - */ -__initfunc(static int EISA_signature(char *name, s32 eisa_id)) -{ - u_int i; - const char *signatures[] = DEPCA_SIGNATURE; - char ManCode[DEPCA_STRLEN]; - union { - s32 ID; - char Id[4]; - } Eisa; - int status = 0; - - *name = '\0'; - Eisa.ID = inl(eisa_id); - - ManCode[0] = (((Eisa.Id[0] >> 2) & 0x1f) + 0x40); - ManCode[1] = (((Eisa.Id[1] & 0xe0) >> 5) + ((Eisa.Id[0] & 0x03) << 3) + 0x40); - ManCode[2] = (((Eisa.Id[2] >> 4) & 0x0f) + 0x30); - ManCode[3] = ((Eisa.Id[2] & 0x0f) + 0x30); - ManCode[4] = (((Eisa.Id[3] >> 4) & 0x0f) + 0x30); - ManCode[5] = '\0'; - - for (i = 0; (*signatures[i] != '\0') && (*name == '\0'); i++) { - if (strstr(ManCode, signatures[i]) != NULL) { - strcpy(name, ManCode); - status = 1; - } - } +** Look for a particular board name in the EISA configuration space +*/ +__initfunc(static int +EISA_signature(char *name, s32 eisa_id)) +{ + u_int i; + const char *signatures[] = DEPCA_SIGNATURE; + char ManCode[DEPCA_STRLEN]; + union { + s32 ID; + char Id[4]; + } Eisa; + int status = 0; + + *name = '\0'; + Eisa.ID = inl(eisa_id); + + ManCode[0]=(((Eisa.Id[0]>>2)&0x1f)+0x40); + ManCode[1]=(((Eisa.Id[1]&0xe0)>>5)+((Eisa.Id[0]&0x03)<<3)+0x40); + ManCode[2]=(((Eisa.Id[2]>>4)&0x0f)+0x30); + ManCode[3]=(( Eisa.Id[2]&0x0f)+0x30); + ManCode[4]=(((Eisa.Id[3]>>4)&0x0f)+0x30); + ManCode[5]='\0'; + + for (i=0;(*signatures[i] != '\0') && (*name == '\0');i++) { + if (strstr(ManCode, signatures[i]) != NULL) { + strcpy(name,ManCode); + status = 1; + } + } - return status; + return status; } static void depca_dbg_open(struct device *dev) { - struct depca_private *lp = (struct depca_private *) dev->priv; - u_long ioaddr = dev->base_addr; - struct depca_init *p = (struct depca_init *) lp->sh_mem; - int i; - - if (depca_debug > 1) { - /* Copy the shadow init_block to shared memory */ - memcpy_toio((char *) lp->sh_mem, &lp->init_block, sizeof(struct depca_init)); - - printk("%s: depca open with irq %d\n", dev->name, dev->irq); - printk("Descriptor head addresses:\n"); - printk("\t0x%lx 0x%lx\n", (u_long) lp->rx_ring, (u_long) lp->tx_ring); - printk("Descriptor addresses:\nRX: "); - for (i = 0; i < lp->rxRingMask; i++) { - if (i < 3) { - printk("0x%8.8lx ", (long) &lp->rx_ring[i].base); - } - } - printk("...0x%8.8lx\n", (long) &lp->rx_ring[i].base); - printk("TX: "); - for (i = 0; i < lp->txRingMask; i++) { - if (i < 3) { - printk("0x%8.8lx ", (long) &lp->tx_ring[i].base); - } - } - printk("...0x%8.8lx\n", (long) &lp->tx_ring[i].base); - printk("\nDescriptor buffers:\nRX: "); - for (i = 0; i < lp->rxRingMask; i++) { - if (i < 3) { - printk("0x%8.8x ", readl(&lp->rx_ring[i].base)); - } - } - printk("...0x%8.8x\n", readl(&lp->rx_ring[i].base)); - printk("TX: "); - for (i = 0; i < lp->txRingMask; i++) { - if (i < 3) { - printk("0x%8.8x ", readl(&lp->tx_ring[i].base)); - } - } - printk("...0x%8.8x\n", readl(&lp->tx_ring[i].base)); - printk("Initialisation block at 0x%8.8lx\n", lp->sh_mem); - printk("\tmode: 0x%4.4x\n", readw(&p->mode)); - printk("\tphysical address: "); - for (i = 0; i < ETH_ALEN - 1; i++) { - printk("%2.2x:", (u_char) readb(&p->phys_addr[i])); - } - printk("%2.2x\n", (u_char) readb(&p->phys_addr[i])); - printk("\tmulticast hash table: "); - for (i = 0; i < (HASH_TABLE_LEN >> 3) - 1; i++) { - printk("%2.2x:", (u_char) readb(&p->mcast_table[i])); - } - printk("%2.2x\n", (u_char) readb(&p->mcast_table[i])); - printk("\trx_ring at: 0x%8.8x\n", readl(&p->rx_ring)); - printk("\ttx_ring at: 0x%8.8x\n", readl(&p->tx_ring)); - printk("dma_buffs: 0x%8.8lx\n", lp->dma_buffs); - printk("Ring size:\nRX: %d Log2(rxRingMask): 0x%8.8x\n", - (int) lp->rxRingMask + 1, - lp->rx_rlen); - printk("TX: %d Log2(txRingMask): 0x%8.8x\n", - (int) lp->txRingMask + 1, - lp->tx_rlen); - outw(CSR2, DEPCA_ADDR); - printk("CSR2&1: 0x%4.4x", inw(DEPCA_DATA)); - outw(CSR1, DEPCA_ADDR); - printk("%4.4x\n", inw(DEPCA_DATA)); - outw(CSR3, DEPCA_ADDR); - printk("CSR3: 0x%4.4x\n", inw(DEPCA_DATA)); - } - return; -} - -/* - ** Perform IOCTL call functions here. Some are privileged operations and the - ** effective uid is checked in those cases. - ** All MCA IOCTLs will not work here and are for testing purposes only. - */ + struct depca_private *lp = (struct depca_private *)dev->priv; + u_long ioaddr = dev->base_addr; + struct depca_init *p = (struct depca_init *)lp->sh_mem; + int i; + + if (depca_debug > 1){ + /* Copy the shadow init_block to shared memory */ + memcpy_toio((char *)lp->sh_mem,&lp->init_block,sizeof(struct depca_init)); + + printk("%s: depca open with irq %d\n",dev->name,dev->irq); + printk("Descriptor head addresses:\n"); + printk("\t0x%lx 0x%lx\n",(u_long)lp->rx_ring, (u_long)lp->tx_ring); + printk("Descriptor addresses:\nRX: "); + for (i=0;irxRingMask;i++){ + if (i < 3) { + printk("0x%8.8lx ", (long) &lp->rx_ring[i].base); + } + } + printk("...0x%8.8lx\n", (long) &lp->rx_ring[i].base); + printk("TX: "); + for (i=0;itxRingMask;i++){ + if (i < 3) { + printk("0x%8.8lx ", (long) &lp->tx_ring[i].base); + } + } + printk("...0x%8.8lx\n", (long) &lp->tx_ring[i].base); + printk("\nDescriptor buffers:\nRX: "); + for (i=0;irxRingMask;i++){ + if (i < 3) { + printk("0x%8.8x ", readl(&lp->rx_ring[i].base)); + } + } + printk("...0x%8.8x\n", readl(&lp->rx_ring[i].base)); + printk("TX: "); + for (i=0;itxRingMask;i++){ + if (i < 3) { + printk("0x%8.8x ", readl(&lp->tx_ring[i].base)); + } + } + printk("...0x%8.8x\n", readl(&lp->tx_ring[i].base)); + printk("Initialisation block at 0x%8.8lx\n",lp->sh_mem); + printk("\tmode: 0x%4.4x\n",readw(&p->mode)); + printk("\tphysical address: "); + for (i=0;iphys_addr[i])); + } + printk("%2.2x\n",(u_char)readb(&p->phys_addr[i])); + printk("\tmulticast hash table: "); + for (i=0;i<(HASH_TABLE_LEN >> 3)-1;i++){ + printk("%2.2x:",(u_char)readb(&p->mcast_table[i])); + } + printk("%2.2x\n",(u_char)readb(&p->mcast_table[i])); + printk("\trx_ring at: 0x%8.8x\n",readl(&p->rx_ring)); + printk("\ttx_ring at: 0x%8.8x\n",readl(&p->tx_ring)); + printk("dma_buffs: 0x%8.8lx\n",lp->dma_buffs); + printk("Ring size:\nRX: %d Log2(rxRingMask): 0x%8.8x\n", + (int)lp->rxRingMask + 1, + lp->rx_rlen); + printk("TX: %d Log2(txRingMask): 0x%8.8x\n", + (int)lp->txRingMask + 1, + lp->tx_rlen); + outw(CSR2,DEPCA_ADDR); + printk("CSR2&1: 0x%4.4x",inw(DEPCA_DATA)); + outw(CSR1,DEPCA_ADDR); + printk("%4.4x\n",inw(DEPCA_DATA)); + outw(CSR3,DEPCA_ADDR); + printk("CSR3: 0x%4.4x\n",inw(DEPCA_DATA)); + } + + return; +} + +/* +** Perform IOCTL call functions here. Some are privileged operations and the +** effective uid is checked in those cases. +** All multicast IOCTLs will not work here and are for testing purposes only. +*/ static int depca_ioctl(struct device *dev, struct ifreq *rq, int cmd) { - struct depca_private *lp = (struct depca_private *) dev->priv; - struct depca_ioctl *ioc = (struct depca_ioctl *) &rq->ifr_data; - int i, status = 0; - u_long ioaddr = dev->base_addr; - union { - u8 addr[(HASH_TABLE_LEN * ETH_ALEN)]; - u16 sval[(HASH_TABLE_LEN * ETH_ALEN) >> 1]; - u32 lval[(HASH_TABLE_LEN * ETH_ALEN) >> 2]; - } tmp; - - switch (ioc->cmd) { - case DEPCA_GET_HWADDR: /* Get the hardware address */ - for (i = 0; i < ETH_ALEN; i++) { - tmp.addr[i] = dev->dev_addr[i]; - } - ioc->len = ETH_ALEN; - if (!(status = verify_area(VERIFY_WRITE, (void *) ioc->data, ioc->len))) { - copy_to_user(ioc->data, tmp.addr, ioc->len); - } - break; - case DEPCA_SET_HWADDR: /* Set the hardware address */ - if (capable(CAP_NET_ADMIN)) { - if (!(status = verify_area(VERIFY_READ, (void *) ioc->data, ETH_ALEN))) { - copy_from_user(tmp.addr, ioc->data, ETH_ALEN); - for (i = 0; i < ETH_ALEN; i++) { - dev->dev_addr[i] = tmp.addr[i]; - } - while (dev->tbusy); /* Stop ring access */ - set_bit(0, (void *) &dev->tbusy); - while (lp->tx_old != lp->tx_new); /* Wait for the ring to empty */ - - STOP_DEPCA; /* Temporarily stop the depca. */ - depca_init_ring(dev); /* Initialize the descriptor rings */ - LoadCSRs(dev); /* Reload CSR3 */ - InitRestartDepca(dev); /* Resume normal operation. */ - dev->tbusy = 0; /* Unlock the TX ring */ - } - } else { - status = -EPERM; - } - - break; - case DEPCA_SET_PROM: /* Set Promiscuous Mode */ - if (capable(CAP_NET_ADMIN)) { - while (dev->tbusy); /* Stop ring access */ - set_bit(0, (void *) &dev->tbusy); - while (lp->tx_old != lp->tx_new); /* Wait for the ring to empty */ - - STOP_DEPCA; /* Temporarily stop the depca. */ - depca_init_ring(dev); /* Initialize the descriptor rings */ - lp->init_block.mode |= PROM; /* Set promiscuous mode */ - - LoadCSRs(dev); /* Reload CSR3 */ - InitRestartDepca(dev); /* Resume normal operation. */ - dev->tbusy = 0; /* Unlock the TX ring */ - } else { - status = -EPERM; - } - - break; - case DEPCA_CLR_PROM: /* Clear Promiscuous Mode */ - if (capable(CAP_NET_ADMIN)) { - while (dev->tbusy); /* Stop ring access */ - set_bit(0, (void *) &dev->tbusy); - while (lp->tx_old != lp->tx_new); /* Wait for the ring to empty */ - - STOP_DEPCA; /* Temporarily stop the depca. */ - depca_init_ring(dev); /* Initialize the descriptor rings */ - lp->init_block.mode &= ~PROM; /* Clear promiscuous mode */ - - LoadCSRs(dev); /* Reload CSR3 */ - InitRestartDepca(dev); /* Resume normal operation. */ - dev->tbusy = 0; /* Unlock the TX ring */ - } else { - status = -EPERM; - } - - break; - case DEPCA_SAY_BOO: /* Say "Boo!" to the kernel log file */ - printk("%s: Boo!\n", dev->name); + struct depca_private *lp = (struct depca_private *)dev->priv; + struct depca_ioctl *ioc = (struct depca_ioctl *) &rq->ifr_data; + int i, status = 0; + u_long ioaddr = dev->base_addr; + union { + u8 addr[(HASH_TABLE_LEN * ETH_ALEN)]; + u16 sval[(HASH_TABLE_LEN * ETH_ALEN) >> 1]; + u32 lval[(HASH_TABLE_LEN * ETH_ALEN) >> 2]; + } tmp; + + switch(ioc->cmd) { + case DEPCA_GET_HWADDR: /* Get the hardware address */ + for (i=0; idev_addr[i]; + } + ioc->len = ETH_ALEN; + if (verify_area(VERIFY_WRITE, (void *)ioc->data, ioc->len)) return -EFAULT; + copy_to_user(ioc->data, tmp.addr, ioc->len); + break; + + case DEPCA_SET_HWADDR: /* Set the hardware address */ + if (!capable(CAP_NET_ADMIN)) return -EPERM; + if (verify_area(VERIFY_READ, (void *)ioc->data, ETH_ALEN)) return -EFAULT; + copy_from_user(tmp.addr,ioc->data,ETH_ALEN); + for (i=0; idev_addr[i] = tmp.addr[i]; + } + while(dev->tbusy) barrier(); /* Stop ring access */ + test_and_set_bit(0, (void*)&dev->tbusy); + while(lp->tx_old != lp->tx_new); /* Wait for the ring to empty */ + + STOP_DEPCA; /* Temporarily stop the depca. */ + depca_init_ring(dev); /* Initialize the descriptor rings */ + LoadCSRs(dev); /* Reload CSR3 */ + InitRestartDepca(dev); /* Resume normal operation. */ + dev->tbusy = 0; /* Unlock the TX ring */ + break; + + case DEPCA_SET_PROM: /* Set Promiscuous Mode */ + if (!capable(CAP_NET_ADMIN)) return -EPERM; + while(dev->tbusy) barrier(); /* Stop ring access */ + test_and_set_bit(0, (void*)&dev->tbusy); + while(lp->tx_old != lp->tx_new); /* Wait for the ring to empty */ + + STOP_DEPCA; /* Temporarily stop the depca. */ + depca_init_ring(dev); /* Initialize the descriptor rings */ + lp->init_block.mode |= PROM; /* Set promiscuous mode */ + + LoadCSRs(dev); /* Reload CSR3 */ + InitRestartDepca(dev); /* Resume normal operation. */ + dev->tbusy = 0; /* Unlock the TX ring */ + break; + + case DEPCA_CLR_PROM: /* Clear Promiscuous Mode */ + if (!capable(CAP_NET_ADMIN)) return -EPERM; + while(dev->tbusy) barrier(); /* Stop ring access */ + test_and_set_bit(0, (void*)&dev->tbusy); + while(lp->tx_old != lp->tx_new); /* Wait for the ring to empty */ + + STOP_DEPCA; /* Temporarily stop the depca. */ + depca_init_ring(dev); /* Initialize the descriptor rings */ + lp->init_block.mode &= ~PROM; /* Clear promiscuous mode */ + + LoadCSRs(dev); /* Reload CSR3 */ + InitRestartDepca(dev); /* Resume normal operation. */ + dev->tbusy = 0; /* Unlock the TX ring */ + break; + + case DEPCA_SAY_BOO: /* Say "Boo!" to the kernel log file */ + printk("%s: Boo!\n", dev->name); + break; + + case DEPCA_GET_MCA: /* Get the multicast address table */ + ioc->len = (HASH_TABLE_LEN >> 3); + if (verify_area(VERIFY_WRITE, ioc->data, ioc->len)) return -EFAULT; + copy_to_user(ioc->data, lp->init_block.mcast_table, ioc->len); + break; + + case DEPCA_SET_MCA: /* Set a multicast address */ + if (!capable(CAP_NET_ADMIN)) return -EPERM; + if (verify_area(VERIFY_READ, ioc->data, ETH_ALEN*ioc->len)) return -EFAULT; + copy_from_user(tmp.addr, ioc->data, ETH_ALEN * ioc->len); + set_multicast_list(dev); + break; + + case DEPCA_CLR_MCA: /* Clear all multicast addresses */ + if (!capable(CAP_NET_ADMIN)) return -EPERM; + set_multicast_list(dev); + break; + + case DEPCA_MCA_EN: /* Enable pass all multicast addressing */ + if (!capable(CAP_NET_ADMIN)) return -EPERM; + set_multicast_list(dev); + break; + + case DEPCA_GET_STATS: /* Get the driver statistics */ + cli(); + ioc->len = sizeof(lp->pktStats); + if (verify_area(VERIFY_WRITE, ioc->data, ioc->len)) { + status = -EFAULT; + } else { + copy_to_user(ioc->data, &lp->pktStats, ioc->len); + } + sti(); + break; + + case DEPCA_CLR_STATS: /* Zero out the driver statistics */ + if (!capable(CAP_NET_ADMIN)) return -EPERM; + cli(); + memset(&lp->pktStats, 0, sizeof(lp->pktStats)); + sti(); + break; + + case DEPCA_GET_REG: /* Get the DEPCA Registers */ + i=0; + tmp.sval[i++] = inw(DEPCA_NICSR); + outw(CSR0, DEPCA_ADDR); /* status register */ + tmp.sval[i++] = inw(DEPCA_DATA); + memcpy(&tmp.sval[i], &lp->init_block, sizeof(struct depca_init)); + ioc->len = i+sizeof(struct depca_init); + if (verify_area(VERIFY_WRITE, ioc->data, ioc->len)) return -EFAULT; + copy_to_user(ioc->data, tmp.addr, ioc->len); + break; + + default: + return -EOPNOTSUPP; + } - break; - case DEPCA_GET_MCA: /* Get the multicast address table */ - ioc->len = (HASH_TABLE_LEN >> 3); - if (!(status = verify_area(VERIFY_WRITE, ioc->data, ioc->len))) { - copy_to_user(ioc->data, lp->init_block.mcast_table, ioc->len); - } - break; - case DEPCA_SET_MCA: /* Set a multicast address */ - if (capable(CAP_NET_ADMIN)) { - if (!(status = verify_area(VERIFY_READ, ioc->data, ETH_ALEN * ioc->len))) { - copy_from_user(tmp.addr, ioc->data, ETH_ALEN * ioc->len); - set_multicast_list(dev); - } - } else { - status = -EPERM; - } - - break; - case DEPCA_CLR_MCA: /* Clear all multicast addresses */ - if (capable(CAP_NET_ADMIN)) { - set_multicast_list(dev); - } else { - status = -EPERM; - } - - break; - case DEPCA_MCA_EN: /* Enable pass all multicast addressing */ - if (capable(CAP_NET_ADMIN)) { - set_multicast_list(dev); - } else { - status = -EPERM; - } - - break; - case DEPCA_GET_STATS: /* Get the driver statistics */ - cli(); - ioc->len = sizeof(lp->pktStats); - if (!(status = verify_area(VERIFY_WRITE, ioc->data, ioc->len))) { - copy_to_user(ioc->data, &lp->pktStats, ioc->len); - } - sti(); - - break; - case DEPCA_CLR_STATS: /* Zero out the driver statistics */ - if (capable(CAP_NET_ADMIN)) { - cli(); - memset(&lp->pktStats, 0, sizeof(lp->pktStats)); - sti(); - } else { - status = -EPERM; - } - - break; - case DEPCA_GET_REG: /* Get the DEPCA Registers */ - i = 0; - tmp.sval[i++] = inw(DEPCA_NICSR); - outw(CSR0, DEPCA_ADDR); /* status register */ - tmp.sval[i++] = inw(DEPCA_DATA); - memcpy(&tmp.sval[i], &lp->init_block, sizeof(struct depca_init)); - ioc->len = i + sizeof(struct depca_init); - if (!(status = verify_area(VERIFY_WRITE, ioc->data, ioc->len))) { - copy_to_user(ioc->data, tmp.addr, ioc->len); - } - break; - default: - status = -EOPNOTSUPP; - } - - return status; + return status; } #ifdef MODULE -static char devicename[9] = -{0,}; -static struct device thisDepca = -{ - devicename, /* device name is inserted by /linux/drivers/net/net_init.c */ - 0, 0, 0, 0, - 0x200, 7, /* I/O address, IRQ */ - 0, 0, 0, NULL, depca_probe}; +static char devicename[9] = {0,}; +static struct device thisDepca = { + devicename, /* device name is inserted by /linux/drivers/net/net_init.c */ + 0, 0, 0, 0, + 0x200, 7, /* I/O address, IRQ */ + 0, 0, 0, NULL, depca_probe +}; -static int irq = 7; /* EDIT THESE LINE FOR YOUR CONFIGURATION */ -static int io = 0x200; /* Or use the irq= io= options to insmod */ +static int irq=7; /* EDIT THESE LINE FOR YOUR CONFIGURATION */ +static int io=0x200; /* Or use the irq= io= options to insmod */ MODULE_PARM(irq, "i"); MODULE_PARM(io, "i"); -/* See depca_probe() for autoprobe messages when a module */ -int init_module(void) +/* See depca_probe() for autoprobe messages when a module */ +int +init_module(void) { - thisDepca.irq = irq; - thisDepca.base_addr = io; + thisDepca.irq=irq; + thisDepca.base_addr=io; - if (register_netdev(&thisDepca) != 0) - return -EIO; + if (register_netdev(&thisDepca) != 0) + return -EIO; - return 0; + return 0; } -void cleanup_module(void) +void +cleanup_module(void) { - if (thisDepca.priv) { - kfree(thisDepca.priv); - thisDepca.priv = NULL; - } - thisDepca.irq = 0; + struct depca_private *lp = thisDepca.priv; + if (lp) { +#ifdef CONFIG_MCA + if(lp->mca_slot != -1) + mca_mark_as_unused(lp->mca_slot); +#endif + kfree(lp); + thisDepca.priv = NULL; + } + thisDepca.irq=0; - unregister_netdev(&thisDepca); - release_region(thisDepca.base_addr, DEPCA_TOTAL_SIZE); + unregister_netdev(&thisDepca); + release_region(thisDepca.base_addr, DEPCA_TOTAL_SIZE); } -#endif /* MODULE */ - +#endif /* MODULE */ + /* * Local variables: * compile-command: "gcc -D__KERNEL__ -I/linux/include -Wall -Wstrict-prototypes -fomit-frame-pointer -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2 -O2 -m486 -c depca.c" diff -u --recursive --new-file v2.1.129/linux/drivers/net/hamradio/6pack.c linux/drivers/net/hamradio/6pack.c --- v2.1.129/linux/drivers/net/hamradio/6pack.c Wed Apr 8 19:36:27 1998 +++ linux/drivers/net/hamradio/6pack.c Fri Nov 20 08:44:06 1998 @@ -726,7 +726,7 @@ #ifdef MODULE static int sixpack_init_ctrl_dev(void) #else /* !MODULE */ -__initfunc sixpack_init_ctrl_dev(struct device *dummy) +__initfunc(int sixpack_init_ctrl_dev(struct device *dummy)) #endif /* !MODULE */ { int status; diff -u --recursive --new-file v2.1.129/linux/drivers/net/hamradio/baycom_epp.c linux/drivers/net/hamradio/baycom_epp.c --- v2.1.129/linux/drivers/net/hamradio/baycom_epp.c Fri Oct 23 22:01:21 1998 +++ linux/drivers/net/hamradio/baycom_epp.c Fri Nov 20 08:44:06 1998 @@ -1540,7 +1540,7 @@ return; } baycom_ports[i].mode = str; - baycom_ports[i].irq = ints[1]; + baycom_ports[i].iobase = ints[1]; if (i < NR_PORTS-1) baycom_ports[i+1].mode = NULL; } diff -u --recursive --new-file v2.1.129/linux/drivers/net/hamradio/hdlcdrv.c linux/drivers/net/hamradio/hdlcdrv.c --- v2.1.129/linux/drivers/net/hamradio/hdlcdrv.c Tue Jun 9 11:57:29 1998 +++ linux/drivers/net/hamradio/hdlcdrv.c Fri Nov 20 08:44:06 1998 @@ -42,6 +42,7 @@ #include #include +#include #include #include #include diff -u --recursive --new-file v2.1.129/linux/drivers/net/hamradio/soundmodem/sm.c linux/drivers/net/hamradio/soundmodem/sm.c --- v2.1.129/linux/drivers/net/hamradio/soundmodem/sm.c Tue Jun 9 11:57:29 1998 +++ linux/drivers/net/hamradio/soundmodem/sm.c Fri Nov 20 08:44:06 1998 @@ -554,17 +554,17 @@ cp = hi->data.modename; while (*hwp) { if ((*hwp)->hw_name) - cp += sprintf("%s:,", (*hwp)->hw_name); + cp += sprintf(cp, "%s:,", (*hwp)->hw_name); hwp++; } while (*mtp) { if ((*mtp)->name) - cp += sprintf(">%s,", (*mtp)->name); + cp += sprintf(cp, ">%s,", (*mtp)->name); mtp++; } while (*mrp) { if ((*mrp)->name) - cp += sprintf("<%s,", (*mrp)->name); + cp += sprintf(cp, "<%s,", (*mrp)->name); mrp++; } cp[-1] = '\0'; diff -u --recursive --new-file v2.1.129/linux/drivers/net/rtl8139.c linux/drivers/net/rtl8139.c --- v2.1.129/linux/drivers/net/rtl8139.c Thu Nov 19 09:56:28 1998 +++ linux/drivers/net/rtl8139.c Sun Nov 22 09:47:52 1998 @@ -56,17 +56,8 @@ /* Time in jiffies before concluding the transmitter is hung. */ #define TX_TIMEOUT (4*HZ) -#ifdef MODULE -#ifdef MODVERSIONS -#include -#endif #include #include -#else -#define MOD_INC_USE_COUNT -#define MOD_DEC_USE_COUNT -#endif - #include #include #include diff -u --recursive --new-file v2.1.129/linux/drivers/net/syncppp.c linux/drivers/net/syncppp.c --- v2.1.129/linux/drivers/net/syncppp.c Thu Nov 19 09:56:28 1998 +++ linux/drivers/net/syncppp.c Fri Nov 20 08:44:06 1998 @@ -1266,7 +1266,7 @@ void sync_ppp_init(void) { printk(KERN_INFO "Cronyx Ltd, Synchronous PPP and CISCO HDLC (c) 1994\n"); - printk(KERN_INFO "Linux port (c) 1998 Building Number Three Ltd & Jan 'Yenya' Kasprzak.\n"); + printk(KERN_INFO "Linux port (c) 1998 Building Number Three Ltd & Jan \"Yenya\" Kasprzak.\n"); sppp_packet_type.type=htons(ETH_P_WAN_PPP); dev_add_pack(&sppp_packet_type); } diff -u --recursive --new-file v2.1.129/linux/drivers/sbus/audio/Makefile linux/drivers/sbus/audio/Makefile --- v2.1.129/linux/drivers/sbus/audio/Makefile Thu Nov 19 09:56:28 1998 +++ linux/drivers/sbus/audio/Makefile Fri Nov 20 08:58:21 1998 @@ -14,6 +14,8 @@ O_TARGET := sparcaudio.o O_OBJS := M_OBJS := +M := +MM := ifeq ($(CONFIG_SPARCAUDIO),y) M=y diff -u --recursive --new-file v2.1.129/linux/drivers/sbus/audio/cs4231.c linux/drivers/sbus/audio/cs4231.c --- v2.1.129/linux/drivers/sbus/audio/cs4231.c Thu Nov 19 09:56:28 1998 +++ linux/drivers/sbus/audio/cs4231.c Fri Nov 20 11:42:33 1998 @@ -14,7 +14,6 @@ * The APC DMA controller support unfortunately is not documented. Thanks, Sun */ -#include #include #include #include diff -u --recursive --new-file v2.1.129/linux/drivers/scsi/BusLogic.h linux/drivers/scsi/BusLogic.h --- v2.1.129/linux/drivers/scsi/BusLogic.h Tue Aug 18 22:02:04 1998 +++ linux/drivers/scsi/BusLogic.h Tue Nov 24 12:55:11 1998 @@ -1800,10 +1800,8 @@ static boolean BusLogic_AcquireResources(BusLogic_HostAdapter_T *) __init; static void BusLogic_ReleaseResources(BusLogic_HostAdapter_T *) __init; static boolean BusLogic_TargetDeviceInquiry(BusLogic_HostAdapter_T *) __init; -static void BusLogic_ReportTargetDeviceInfo(BusLogic_HostAdapter_T *) __init; static void BusLogic_InitializeHostStructure(BusLogic_HostAdapter_T *, SCSI_Host_T *) __init; -static void BusLogic_SelectQueueDepths(SCSI_Host_T *, SCSI_Device_T *) __init; int BusLogic_DetectHostAdapter(SCSI_Host_Template_T *) __init; int BusLogic_ReleaseHostAdapter(SCSI_Host_T *) __init; static boolean BusLogic_ParseKeyword(char **, char *) __init; diff -u --recursive --new-file v2.1.129/linux/drivers/scsi/README.ncr53c7xx linux/drivers/scsi/README.ncr53c7xx --- v2.1.129/linux/drivers/scsi/README.ncr53c7xx Wed Dec 31 16:00:00 1969 +++ linux/drivers/scsi/README.ncr53c7xx Fri Nov 20 11:43:01 1998 @@ -0,0 +1,40 @@ +README for WarpEngine/A4000T/A4091 SCSI kernels. + +Use the following options to disable options in the SCSI driver. + +Using amiboot for example..... + +To disable Synchronous Negotiation.... + + amiboot -k kernel 53c7xx=nosync:0 + +To disable Disconnection.... + + amiboot -k kernel 53c7xx=nodisconnect:0 + +To disable certain SCSI devices... + + amiboot -k kernel 53c7xx=validids:0x3F + + this allows only device ID's 0,1,2,3,4 and 5 for linux to handle. + (this is a bitmasked field - i.e. each bit represents a SCSI ID) + +These commands work on a per controller basis and use the option 'next' to +move to the next controller in the system. + +e.g. + amiboot -k kernel 53c7xx=nodisconnect:0,next,nosync:0 + + this uses No Disconnection on the first controller and Asynchronous + SCSI on the second controller. + +Known Issues: + +Two devices are known not to function with the default settings of using +synchronous SCSI. These are the Archive Viper 150 Tape Drive and the +SyQuest SQ555 removeable hard drive. When using these devices on a controller +use the 'nosync:0' option. + +Please try these options and post any problems/successes to me. + +Alan Hourihane diff -u --recursive --new-file v2.1.129/linux/drivers/scsi/ibmmca.c linux/drivers/scsi/ibmmca.c --- v2.1.129/linux/drivers/scsi/ibmmca.c Wed Sep 9 14:51:08 1998 +++ linux/drivers/scsi/ibmmca.c Fri Nov 20 08:45:06 1998 @@ -822,6 +822,7 @@ #ifdef MODULE_PARM MODULE_PARM(io_port, "1-" __MODULE_STRING(IM_MAX_HOSTS) "i"); MODULE_PARM(scsi_id, "1-" __MODULE_STRING(IM_MAX_HOSTS) "i"); +MODULE_PARM(display, "1i"); #endif /*counter of concurrent disk read/writes, to turn on/off disk led */ @@ -857,7 +858,6 @@ /*--------------------------------------------------------------------*/ - static void do_interrupt_handler (int irq, void *dev_id, struct pt_regs *regs) { @@ -1520,8 +1520,9 @@ use_display = 1; } else if( ints ) { int i; - for (i = 0; i < IM_MAX_HOSTS && i < ints[0]; i++) { - io_port[i] = ints[i+1]; + for (i = 0; i < IM_MAX_HOSTS && 2*i+2 < ints[0]; i++) { + io_port[i] = ints[2*i+2]; + scsi_id[i] = ints[2*i+2]; } } } @@ -1558,13 +1559,23 @@ } if (found) return found; + /* + * Patched by ZP Gu to work with the 9556 as well; the 9556 has + * pos2 = 05, but it should be 00, as it should be interfaced + * via port = 0x3540. + */ + /* first look for the SCSI integrated on the motherboard */ pos2 = mca_read_stored_pos(MCA_INTEGSCSI, 2); - if ((pos2 & 1) == 0) - { - pos3 = mca_read_stored_pos(MCA_INTEGSCSI, 3); + if (pos2 != 0xff) { + if ((pos2 & 1) == 0) { port = IM_IO_PORT + ((pos2 & 0x0e) << 2); + } else { + port = IM_IO_PORT; + } + pos3 = mca_read_stored_pos(MCA_INTEGSCSI, 3); id = (pos3 & 0xe0) >> 5; + printk("IBM MCA SCSI: integrated SCSI found, io=0x%x, scsi id=%d.\n", port, id); if ((shpnt = ibmmca_register(template, port, id))) diff -u --recursive --new-file v2.1.129/linux/drivers/scsi/qlogicisp.c linux/drivers/scsi/qlogicisp.c --- v2.1.129/linux/drivers/scsi/qlogicisp.c Wed Sep 9 14:51:09 1998 +++ linux/drivers/scsi/qlogicisp.c Wed Nov 25 14:52:22 1998 @@ -1107,8 +1107,9 @@ #if RELOAD_FIRMWARE /* Do not reload firmware if 1040B, i.e. revision 5 chip. */ - if (((struct isp1020_hostdata *) host->hostdata)->revision == 5) - printk("qlogicisp : 1040B chip, firmware not (re)loaded\n"); + if (((struct isp1020_hostdata *) host->hostdata)->revision >= 5) + printk("qlogicisp : 1040B or later chip," + " firmware not (re)loaded\n"); else { int i; diff -u --recursive --new-file v2.1.129/linux/drivers/sound/sb_card.c linux/drivers/sound/sb_card.c --- v2.1.129/linux/drivers/sound/sb_card.c Thu Sep 17 17:53:37 1998 +++ linux/drivers/sound/sb_card.c Fri Nov 20 08:53:30 1998 @@ -12,6 +12,9 @@ */ #include +#ifdef CONFIG_MCA +#include +#endif #include #include "sound_config.h" @@ -34,6 +37,67 @@ int probe_sb(struct address_info *hw_config) { +#ifdef CONFIG_MCA + /* MCA code added by ZP Gu (zpg@castle.net) */ + if (MCA_bus) { /* no multiple REPLY card probing */ + int slot; + u8 pos2, pos3, pos4; + + slot = mca_find_adapter( 0x5138, 0 ); + if( slot == MCA_NOTFOUND ) + { + slot = mca_find_adapter( 0x5137, 0 ); + + if (slot != MCA_NOTFOUND) + mca_set_adapter_name( slot, "REPLY SB16 & SCSI Adapter" ); + } + else + { + mca_set_adapter_name( slot, "REPLY SB16 Adapter" ); + } + + if (slot != MCA_NOTFOUND) + { + mca_mark_as_used(slot); + pos2 = mca_read_stored_pos( slot, 2 ); + pos3 = mca_read_stored_pos( slot, 3 ); + pos4 = mca_read_stored_pos( slot, 4 ); + + if (pos2 & 0x4) + { + /* enabled? */ + static unsigned short irq[] = { 0, 5, 7, 10 }; + /* + static unsigned short midiaddr[] = {0, 0x330, 0, 0x300 }; + */ + + hw_config->io_base = 0x220 + 0x20 * (pos2 >> 6); + hw_config->irq = irq[(pos4 >> 5) & 0x3]; + hw_config->dma = pos3 & 0xf; + /* Reply ADF wrong on High DMA, pos[1] should start w/ 00 */ + hw_config->dma2 = (pos3 >> 4) & 0x3; + if (hw_config->dma2 == 0) + hw_config->dma2 = hw_config->dma; + else + hw_config->dma2 += 4; + /* + hw_config->driver_use_2 = midiaddr[(pos2 >> 3) & 0x3]; + */ + + printk("SB: Reply MCA SB at slot=%d \ +iobase=0x%x irq=%d lo_dma=%d hi_dma=%d\n", + slot+1, + hw_config->io_base, hw_config->irq, + hw_config->dma, hw_config->dma2); + } + else + { + printk ("Reply SB Base I/O address disabled\n"); + } + } + } +#endif + if (check_region(hw_config->io_base, 16)) { printk(KERN_ERR "sb_card: I/O port %x is already in use\n\n", hw_config->io_base); diff -u --recursive --new-file v2.1.129/linux/drivers/video/Config.in linux/drivers/video/Config.in --- v2.1.129/linux/drivers/video/Config.in Thu Nov 19 09:56:28 1998 +++ linux/drivers/video/Config.in Wed Nov 25 14:53:50 1998 @@ -60,11 +60,12 @@ if [ "$CONFIG_PCI" != "n" ]; then tristate 'Matrox acceleration' CONFIG_FB_MATROX if [ "$CONFIG_FB_MATROX" != "n" ]; then - bool ' Millenium I/II support' CONFIG_FB_MATROX_MILLENIUM + bool ' Millennium I/II support' CONFIG_FB_MATROX_MILLENIUM bool ' Mystique support' CONFIG_FB_MATROX_MYSTIQUE bool ' G100/G200 support' CONFIG_FB_MATROX_G100 bool ' Multihead support' CONFIG_FB_MATROX_MULTIHEAD fi + bool 'ATI Mach64 display support' CONFIG_FB_ATY fi fi if [ "$ARCH" = "sparc" -o "$ARCH" = "sparc64" ]; then diff -u --recursive --new-file v2.1.129/linux/drivers/video/aty.h linux/drivers/video/aty.h --- v2.1.129/linux/drivers/video/aty.h Sun Jul 26 11:57:17 1998 +++ linux/drivers/video/aty.h Wed Nov 25 14:53:50 1998 @@ -718,12 +718,20 @@ /* mach64CT family / mach64VT class */ #define VT_CHIP_ID 0x5654 /* mach64VT (ATI264VT) */ #define VU_CHIP_ID 0x5655 /* mach64VTB (ATI264VTB) */ +#define VV_CHIP_ID 0x5656 /* mach64VT4 (ATI264VT4) */ /* mach64CT family / mach64GT (3D RAGE) class */ -#define LT_CHIP_ID 0x4c54 /* 3D RAGE LT */ -#define LG_CHIP_ID 0x4c47 /* 3D RAGE LG */ -#define GT_CHIP_ID 0x4754 /* 3D RAGE (GT) */ -#define GU_CHIP_ID 0x4755 /* 3D RAGE II/II+ (GTB) */ +#define LB_CHIP_ID 0x4c42 /* RAGE LT PRO, AGP */ +#define LD_CHIP_ID 0x4c44 /* RAGE LT PRO */ +#define LG_CHIP_ID 0x4c47 /* RAGE LT PRO */ +#define LI_CHIP_ID 0x4c49 /* RAGE LT PRO */ +#define LP_CHIP_ID 0x4c50 /* RAGE LT PRO */ +#define LT_CHIP_ID 0x4c54 /* RAGE LT */ +#define GT_CHIP_ID 0x4754 /* RAGE (GT) */ +#define GU_CHIP_ID 0x4755 /* RAGE II/II+ (GTB) */ +#define GV_CHIP_ID 0x4756 /* RAGE IIC, PCI */ +#define GW_CHIP_ID 0x4757 /* RAGE IIC, AGP */ +#define GZ_CHIP_ID 0x475a /* RAGE IIC, AGP */ #define GB_CHIP_ID 0x4742 /* RAGE PRO, BGA, AGP 1x and 2x */ #define GD_CHIP_ID 0x4744 /* RAGE PRO, BGA, AGP 1x only */ #define GI_CHIP_ID 0x4749 /* RAGE PRO, BGA, PCI33 only */ diff -u --recursive --new-file v2.1.129/linux/drivers/video/atyfb.c linux/drivers/video/atyfb.c --- v2.1.129/linux/drivers/video/atyfb.c Thu Nov 19 09:56:28 1998 +++ linux/drivers/video/atyfb.c Wed Nov 25 14:53:50 1998 @@ -1,4 +1,4 @@ -/* $Id: atyfb.c,v 1.89 1998/11/12 13:07:26 geert Exp $ +/* $Id: atyfb.c,v 1.90 1998/11/20 12:27:03 geert Exp $ * linux/drivers/video/atyfb.c -- Frame buffer device for ATI Mach64 * * Copyright (C) 1997-1998 Geert Uytterhoeven @@ -435,14 +435,20 @@ /* mach64CT family / mach64VT class */ { 0x5654, 0x5654, "mach64VT (ATI264VT)" }, { 0x5655, 0x5655, "mach64VTB (ATI264VTB)" }, -/* { 0x5656, 0x5656, "mach64VT4 (ATI264VT4)" }, */ + { 0x5656, 0x5656, "mach64VT4 (ATI264VT4)" }, /* mach64CT family / mach64GT (3D RAGE) class */ + { 0x4c42, 0x4c42, "3D RAGE LT PRO (AGP)" }, + { 0x4c42, 0x4c44, "3D RAGE LT PRO" }, + { 0x4c42, 0x4c47, "3D RAGE LT PRO" }, + { 0x4c42, 0x4c49, "3D RAGE LT PRO" }, + { 0x4c42, 0x4c50, "3D RAGE LT PRO" }, { 0x4c54, 0x4c54, "3D RAGE LT" }, - { 0x4c47, 0x4c47, "3D RAGE LG" }, { 0x4754, 0x4754, "3D RAGE (GT)" }, { 0x4755, 0x4755, "3D RAGE II+ (GTB)" }, -/* { 0x4756, 0x4756, "3D RAGE IIC" }, */ + { 0x4756, 0x4756, "3D RAGE IIC (PCI)" }, + { 0x4757, 0x4757, "3D RAGE IIC (AGP)" }, + { 0x475a, 0x475a, "3D RAGE IIC (AGP)" }, { 0x4742, 0x4742, "3D RAGE PRO (BGA, AGP)" }, { 0x4744, 0x4744, "3D RAGE PRO (BGA, AGP, 1x only)" }, { 0x4749, 0x4749, "3D RAGE PRO (BGA, PCI)" }, @@ -1144,8 +1150,7 @@ crtc->off_pitch = ((yoffset*vxres+xoffset)*bpp/64) | (vxres<<19); crtc->gen_cntl = pix_width | c_sync | CRTC_EXT_DISP_EN | CRTC_ENABLE; if ((Gx == CT_CHIP_ID) || (Gx == ET_CHIP_ID) || - ((Gx == VT_CHIP_ID) && !(Rev & 0x03)) || - ((Gx == GT_CHIP_ID) && !(Rev & 0x03))) { + ((Gx == VT_CHIP_ID || Gx == GT_CHIP_ID) && !(Rev & 0x07))) { /* Not VTB/GTB */ /* FIXME: magic FIFO values */ crtc->gen_cntl |= aty_ld_le32(CRTC_GEN_CNTL, info) & 0x000e0000; @@ -1468,10 +1473,9 @@ aty_st_pll(VCLK0_FB_DIV, pll->vclk_fb_div, info); aty_st_pll(PLL_EXT_CNTL, pll->pll_ext_cntl, info); - if (((Gx == GT_CHIP_ID) && (Rev & 0x03)) || (Gx == GU_CHIP_ID) || - (Gx == LG_CHIP_ID) || (Gx == GB_CHIP_ID) || (Gx == GD_CHIP_ID) || - (Gx == GI_CHIP_ID) || (Gx == GP_CHIP_ID) || (Gx == GQ_CHIP_ID) || - (Gx == VU_CHIP_ID)) { + if (!(Gx == GX_CHIP_ID || Gx == CX_CHIP_ID || Gx == CT_CHIP_ID || + Gx == ET_CHIP_ID || + ((Gx == VT_CHIP_ID || Gx == GT_CHIP_ID) && !(Rev & 0x07)))) { if (info->ram_type >= SDRAM) aty_st_pll(DLL_CNTL, 0xa6, info); else @@ -1494,8 +1498,9 @@ (vclk_fb_div*mclk_post_div*bpp); if (xclks_per_row < (1<<11)) FAIL("Dotclock to high"); - if ((Gx == GT_CHIP_ID) || (Gx == GU_CHIP_ID) || (Gx == VT_CHIP_ID) || - (Gx == VU_CHIP_ID)) { + if (Gx == GT_CHIP_ID || Gx == GU_CHIP_ID || Gx == VT_CHIP_ID || + Gx == VU_CHIP_ID || Gx == GV_CHIP_ID || Gx == GW_CHIP_ID || + Gx == GZ_CHIP_ID) { fifo_size = 24; dsp_loop_latency = 0; } else { @@ -1911,15 +1916,15 @@ * Reg Block 0 (CT-compatible block) is at ati_regbase_phys * Reg Block 1 (multimedia extensions) is at ati_regbase_phys-0x400 */ - if ((Gx == GX_CHIP_ID) || (Gx == CX_CHIP_ID)) { + if (Gx == GX_CHIP_ID || Gx == CX_CHIP_ID) { fix->mmio_start = (char *)info->ati_regbase_phys; fix->mmio_len = 0x400; fix->accel = FB_ACCEL_ATI_MACH64GX; - } else if ((Gx == CT_CHIP_ID) || (Gx == ET_CHIP_ID)) { + } else if (Gx == CT_CHIP_ID || Gx == ET_CHIP_ID) { fix->mmio_start = (char *)info->ati_regbase_phys; fix->mmio_len = 0x400; fix->accel = FB_ACCEL_ATI_MACH64CT; - } else if ((Gx == VT_CHIP_ID) || (Gx == VU_CHIP_ID)) { + } else if (Gx == VT_CHIP_ID || Gx == VU_CHIP_ID || Gx == VV_CHIP_ID) { fix->mmio_start = (char *)(info->ati_regbase_phys-0x400); fix->mmio_len = 0x800; fix->accel = FB_ACCEL_ATI_MACH64VT; @@ -2329,7 +2334,7 @@ (Gx == GP_CHIP_ID) || (Gx == GQ_CHIP_ID)) tmp |= 0x2; aty_st_8(DAC_CNTL, tmp, info); - aty_st_8(DAC_REGS + DAC_MASK, 0xff, info); + aty_st_8(DAC_MASK, 0xff, info); eieio(); scale = ((Gx != GX_CHIP_ID) && (Gx != CX_CHIP_ID) && (info->current_par.crtc.bpp == 16)) ? 3 : 0; @@ -2460,10 +2465,14 @@ (Gx == GU_CHIP_ID)) { /* RAGE II+ */ pll = 200; - } else if ((Gx == GB_CHIP_ID) || (Gx == GD_CHIP_ID) || - (Gx == GI_CHIP_ID) || (Gx == GP_CHIP_ID) || - (Gx == GQ_CHIP_ID)) { - /* RAGE PRO */ + } else if (Gx == GB_CHIP_ID || Gx == GD_CHIP_ID || + Gx == GI_CHIP_ID || Gx == GP_CHIP_ID || + Gx == GQ_CHIP_ID || Gx == VV_CHIP_ID || + Gx == GV_CHIP_ID || Gx == GW_CHIP_ID || + Gx == GZ_CHIP_ID || Gx == LD_CHIP_ID || + Gx == LG_CHIP_ID || Gx == LB_CHIP_ID || + Gx == LI_CHIP_ID || Gx == LP_CHIP_ID) { + /* RAGE PRO or IIC */ pll = 230; } else { /* other RAGE */ @@ -2474,11 +2483,9 @@ } i = aty_ld_le32(MEM_CNTL, info); - gtb_memsize = (((Gx == GT_CHIP_ID) && (Rev & 0x03)) || (Gx == GU_CHIP_ID) - || ((Gx == VT_CHIP_ID) && (Rev & 0x01)) || (Gx == VU_CHIP_ID) - || (Gx == LG_CHIP_ID) || (Gx == GB_CHIP_ID) - || (Gx == GD_CHIP_ID) || (Gx == GI_CHIP_ID) - || (Gx == GP_CHIP_ID) || (Gx == GQ_CHIP_ID)); + gtb_memsize = !(Gx == GX_CHIP_ID || Gx == CX_CHIP_ID || Gx == CT_CHIP_ID || + Gx == ET_CHIP_ID || + ((Gx == VT_CHIP_ID || Gx == GT_CHIP_ID) && !(Rev & 0x07))); if (gtb_memsize) switch (i & 0xF) { /* 0xF used instead of MEM_SIZE_ALIAS */ case MEM_SIZE_512K: @@ -3303,7 +3310,7 @@ (Gx == GP_CHIP_ID) || (Gx == GQ_CHIP_ID)) i |= 0x2; /*DAC_CNTL|0x2 turns off the extra brightness for gt*/ aty_st_8(DAC_CNTL, i, info); - aty_st_8(DAC_REGS + DAC_MASK, 0xff, info); + aty_st_8(DAC_MASK, 0xff, info); eieio(); scale = ((Gx != GX_CHIP_ID) && (Gx != CX_CHIP_ID) && (info->current_par.crtc.bpp == 16)) ? 3 : 0; @@ -3398,14 +3405,8 @@ } else direction |= DST_X_LEFT_TO_RIGHT; - wait_for_fifo(5, info); + wait_for_fifo(4, info); aty_st_le32(DP_SRC, FRGD_SRC_BLIT, info); - /* - * ++Geert: - * Warning: SRC_OFF_PITCH may be thrashed by writing to other registers - * (e.g. CRTC_H_TOTAL_DISP, DP_SRC, DP_FRGD_CLR) - */ - aty_st_le32(SRC_OFF_PITCH, (pitch_value / 8) << 22, info); aty_st_le32(SRC_Y_X, (srcx << 16) | srcy, info); aty_st_le32(SRC_HEIGHT1_WIDTH1, (width << 16) | height, info); aty_st_le32(DST_CNTL, direction, info); diff -u --recursive --new-file v2.1.129/linux/drivers/video/cyberfb.c linux/drivers/video/cyberfb.c --- v2.1.129/linux/drivers/video/cyberfb.c Thu Nov 19 09:56:28 1998 +++ linux/drivers/video/cyberfb.c Wed Nov 25 14:53:50 1998 @@ -1,24 +1,80 @@ /* - * linux/drivers/video/cyberfb.c -- CyberVision64 frame buffer device - * - * Copyright (C) 1996 Martin Apel - * Geert Uytterhoeven - * - * - * This file is based on the Amiga frame buffer device (amifb.c): - * - * Copyright (C) 1995 Geert Uytterhoeven - * - * - * History: - * - 22 Dec 95: Original version by Martin Apel - * - 05 Jan 96: Geert: integration into the current source tree - * - * - * This file is subject to the terms and conditions of the GNU General Public - * License. See the file COPYING in the main directory of this archive - * for more details. - */ +* linux/drivers/video/cyberfb.c -- CyberVision64 frame buffer device +* $Id: cyberfb.c,v 1.6 1998/09/11 04:54:58 abair Exp $ +* +* Copyright (C) 1998 Alan Bair +* +* This file is based on two CyberVision64 frame buffer device drivers +* +* The second CyberVision64 frame buffer device (cvision.c cvision_core.c): +* +* Copyright (c) 1997 Antonio Santos +* +* Released as a patch to 2.1.35, but never included in the source tree. +* This is based on work from the NetBSD CyberVision64 frame buffer driver +* and support files (grf_cv.c, grf_cvreg.h, ite_cv.c): +* Permission to use the source of this driver was obtained from the +* author Michael Teske by Alan Bair. +* +* Copyright (c) 1995 Michael Teske +* +* The first CyberVision64 frame buffer device (cyberfb.c): +* +* Copyright (C) 1996 Martin Apel +* Geert Uytterhoeven +* +* Which is based on the Amiga frame buffer device (amifb.c): +* +* Copyright (C) 1995 Geert Uytterhoeven +* +* +* History: +* - 22 Dec 95: Original version by Martin Apel +* - 05 Jan 96: Geert: integration into the current source tree +* - 01 Aug 98: Alan: Merge in code from cvision.c and cvision_core.c +* $Log: cyberfb.c,v $ +* Revision 1.6 1998/09/11 04:54:58 abair +* Update for 2.1.120 change in include file location. +* Clean up for public release. +* +* Revision 1.5 1998/09/03 04:27:13 abair +* Move cv64_load_video_mode to cyber_set_video so a new video mode is install +* with each change of the 'var' data. +* +* Revision 1.4 1998/09/01 00:31:17 abair +* Put in a set of default 8,16,24 bpp modes and map cyber8,16 to them. +* Update operations with 'par' to handle a more complete set of parameter +* values for encode/decode process. +* +* Revision 1.3 1998/08/31 21:31:33 abair +* Swap 800x490 for 640x480 video mode and more cleanup. +* Abandon idea to resurrect "custom" mode setting via kernel opts, +* instead work on making use of fbset program to do this. +* +* Revision 1.2 1998/08/31 06:17:08 abair +* Make updates for changes in cyberfb.c released in 2.1.119 +* and do some cleanup of the code. +* +* Revision 1.1 1998/08/29 18:38:31 abair +* Initial revision +* +* Revision 1.3 1998/08/17 06:21:53 abair +* Remove more redundant code after merging in cvision_core.c +* Set blanking by colormap to pale red to detect this vs trying to +* use video blanking. More formating to Linux code style. +* +* Revision 1.2 1998/08/15 17:51:37 abair +* Added cvision_core.c code from 2.1.35 patches. +* Changed to compile correctly and switch to using initialization +* code. Added debugging and dropping of duplicate code. +* +* +* +* This file is subject to the terms and conditions of the GNU General Public +* License. See the file COPYING in the main directory of this archive +* for more details. +*/ + #include #include @@ -36,31 +92,31 @@ #include #include #include +#include -#include