diff options
author | Alex Williamson <alex.williamson@hp.com> | 2008-02-04 08:17:58 -0700 |
---|---|---|
committer | Alex Williamson <alex.williamson@hp.com> | 2008-02-04 08:17:58 -0700 |
commit | c5bc3e2e4938b103b2e21e8f230bf55d00485242 (patch) | |
tree | 0e68db2fd0faf5712acf50b1b75c5bdb7198d98a | |
parent | 330759ba03067ca12f7036bffd44a7e8163d2136 (diff) | |
parent | 08286e1a3c5809b2a5441d47d06a4aded8142a3d (diff) | |
download | xen-c5bc3e2e4938b103b2e21e8f230bf55d00485242.tar.gz xen-c5bc3e2e4938b103b2e21e8f230bf55d00485242.tar.bz2 xen-c5bc3e2e4938b103b2e21e8f230bf55d00485242.zip |
merge with xen-unstable.hg
44 files changed, 5052 insertions, 2340 deletions
@@ -105,6 +105,10 @@ ^tools/firmware/.*\.bin$ ^tools/firmware/.*\.sym$ ^tools/firmware/.*bios/.*bios.*\.txt$ +^tools/firmware/etherboot/eb-rom-list\.h$ +^tools/firmware/etherboot/etherboot-5 +^tools/firmware/etherboot/etherboot-build +^tools/firmware/etherboot/.*\.zrom\.h$ ^tools/firmware/extboot/extboot.img$ ^tools/firmware/extboot/signrom$ ^tools/firmware/hvmloader/acpi/acpigen$ @@ -30,7 +30,7 @@ include $(XEN_ROOT)/config/$(XEN_TARGET_ARCH).mk ifneq ($(EXTRA_PREFIX),) EXTRA_INCLUDES += $(EXTRA_PREFIX)/include -EXTRA_LIB += $(EXTRA_PREFIX)/$(LIBDIR) +EXTRA_LIB += $(EXTRA_PREFIX)/$(LIBLEAFDIR) endif # cc-option: Check if compiler supports first option, else fall back to second. diff --git a/config/StdGNU.mk b/config/StdGNU.mk index ed383cf25d..dfbc7ece44 100644 --- a/config/StdGNU.mk +++ b/config/StdGNU.mk @@ -8,6 +8,7 @@ NM = $(CROSS_COMPILE)nm STRIP = $(CROSS_COMPILE)strip OBJCOPY = $(CROSS_COMPILE)objcopy OBJDUMP = $(CROSS_COMPILE)objdump +SIZEUTIL = $(CROSS_COMPILE)size MSGFMT = msgfmt MSGMERGE = msgmerge @@ -20,8 +21,10 @@ INSTALL_PROG = $(INSTALL) -m0755 -p PREFIX ?= /usr BINDIR = $(PREFIX)/bin INCLUDEDIR = $(PREFIX)/include -LIBDIR = $(PREFIX)/lib -LIBDIR_x86_64 = $(PREFIX)/lib64 +LIBLEAFDIR = lib +LIBLEAFDIR_x86_64 = lib64 +LIBDIR = $(PREFIX)/$(LIBLEAFDIR) +LIBDIR_x86_64 = $(PREFIX)/$(LIBLEAFDIR_x86_64) MANDIR = $(PREFIX)/share/man MAN1DIR = $(MANDIR)/man1 MAN8DIR = $(MANDIR)/man8 diff --git a/config/SunOS.mk b/config/SunOS.mk index 16163b6820..e6035bf4ca 100644 --- a/config/SunOS.mk +++ b/config/SunOS.mk @@ -8,6 +8,7 @@ NM = $(CROSS_COMPILE)gnm STRIP = $(CROSS_COMPILE)gstrip OBJCOPY = $(CROSS_COMPILE)gobjcopy OBJDUMP = $(CROSS_COMPILE)gobjdump +SIZEUTIL = $(CROSS_COMPILE)gsize MSGFMT = gmsgfmt @@ -21,8 +22,10 @@ INSTALL_PROG = $(INSTALL) -m0755 -p PREFIX ?= /usr BINDIR = $(PREFIX)/bin INCLUDEDIR = $(PREFIX)/include -LIBDIR = $(PREFIX)/lib -LIBDIR_x86_64 = $(PREFIX)/lib/amd64 +LIBLEAFDIR = lib +LIBLEAFDIR_x86_64 = lib/amd64 +LIBDIR = $(PREFIX)/$(LIBLEAFDIR) +LIBDIR_x86_64 = $(PREFIX)/$(LIBLEAFDIR_x86_64) MANDIR = $(PREFIX)/share/man MAN1DIR = $(MANDIR)/man1 MAN8DIR = $(MANDIR)/man8 diff --git a/config/x86_64.mk b/config/x86_64.mk index 64291837a4..6f77053df3 100644 --- a/config/x86_64.mk +++ b/config/x86_64.mk @@ -10,6 +10,7 @@ CONFIG_IOEMU := y CFLAGS += -m64 +LIBLEAFDIR = $(LIBLEAFDIR_x86_64) LIBDIR = $(LIBDIR_x86_64) SunOS_LIBDIR = $(SunOS_LIBDIR_x86_64) diff --git a/tools/Rules.mk b/tools/Rules.mk index 1b16c9230c..ceb616981e 100644 --- a/tools/Rules.mk +++ b/tools/Rules.mk @@ -22,7 +22,7 @@ LDFLAGS_libxenguest = -L$(XEN_LIBXC) -lxenguest CFLAGS_libxenstore = -I$(XEN_XENSTORE) $(CFLAGS_include) LDFLAGS_libxenstore = -L$(XEN_XENSTORE) -lxenstore -X11_LDPATH = -L/usr/X11R6/$(LIBDIR) +X11_LDPATH = -L/usr/X11R6/$(LIBLEAFDIR) CFLAGS += -D__XEN_TOOLS__ diff --git a/tools/examples/xen-network-common.sh b/tools/examples/xen-network-common.sh index 8fe9500440..7014333df0 100644 --- a/tools/examples/xen-network-common.sh +++ b/tools/examples/xen-network-common.sh @@ -76,7 +76,7 @@ find_dhcpd_init_file() find_dhcpd_arg_file() { - first_file -f /etc/sysconfig/dhcpd /etc/defaults/dhcp + first_file -f /etc/sysconfig/dhcpd /etc/defaults/dhcp /etc/default/dhcp3-server } # configure interfaces which act as pure bridge ports: diff --git a/tools/firmware/Makefile b/tools/firmware/Makefile index b7ae64be65..0ec31883fd 100644 --- a/tools/firmware/Makefile +++ b/tools/firmware/Makefile @@ -11,6 +11,7 @@ SUBDIRS += rombios rombios/32bit SUBDIRS += vgabios SUBDIRS += vmxassist SUBDIRS += extboot +#SUBDIRS += etherboot SUBDIRS += hvmloader .PHONY: all diff --git a/tools/firmware/etherboot/Config b/tools/firmware/etherboot/Config new file mode 100644 index 0000000000..c2092cf3b0 --- /dev/null +++ b/tools/firmware/etherboot/Config @@ -0,0 +1,14 @@ + +NICS = rtl8139 eepro100 + +CFLAGS += -UASK_BOOT -UBOOT_FIRST +CFLAGS += -DASK_BOOT=-1 -DBOOT_FIRST=BOOT_NIC + +CFLAGS += -UEXIT_ON_FILE_LOAD_ERROR +CFLAGS += -DEXIT_ON_FILE_LOAD_ERROR + +CFLAGS += -UEXIT_IF_NO_OFFER +CFLAGS += -DEXIT_IF_NO_OFFER + +CFLAGS += -UPXE_DHCP_STRICT +CFLAGS += -DPXE_DHCP_STRICT diff --git a/tools/firmware/etherboot/Makefile b/tools/firmware/etherboot/Makefile new file mode 100644 index 0000000000..7de2ad5935 --- /dev/null +++ b/tools/firmware/etherboot/Makefile @@ -0,0 +1,64 @@ + +EB_VERSION=5.4.2 + +override XEN_TARGET_ARCH = x86_32 +XEN_ROOT = ../../.. +include $(XEN_ROOT)/tools/Rules.mk +include Config + +D=etherboot-$(EB_VERSION) +T=etherboot-$(EB_VERSION).tar.gz +E=etherboot-build + +ROM_ZHS = $(addprefix eb-, $(addsuffix .zrom.h, $(NICS))) + +.PHONY: all +all: eb-roms.h + +eb-%.zrom.h: $E/src/Config + $(MAKE) -C $E/src bin/$*.zrom + ../hvmloader/mkhex etherboot_$* <$E/src/bin/$*.zrom >$@.new + mv -f $@.new $@ + +eb-rom-list.h: make-eb-rom-list $E/src/bin/Roms + ./$^ $(NICS) >$@.new && mv -f $@.new $@ + +eb-roms.h.new: eb-rom-list.h $(ROM_ZHS) + cat $^ >$@ + +eb-roms.h: Config + $(MAKE) $@.new + mv -f $@.new $@ + +$E/src/Config: $T Config + rm -rf $D $E + gzip -dc $T | tar xf - + cat Config >>$D/src/Config + @ + # override many of the settings in Config + echo ARCH=i386 >>$D/src/Config + echo "HOST_CC=$(HOSTCC)" >>$D/src/Config + echo "CPP=$(CPP)" >>$D/src/Config + echo "CC=$(CC)" >>$D/src/Config + echo "AS=$(AS)" >>$D/src/Config + echo "LD=$(LD)" >>$D/src/Config + echo "SIZE=$(SIZE)" >>$D/src/Config + echo "AR=$(AR)" >>$D/src/Config + echo "RANLIB=$(RANLIB)" >>$D/src/Config + echo "OBJCOPY=$(OBJCOPY)" >>$D/src/Config + echo "CFLAGS+=$(CFLAGS)" >>$D/src/Config + echo "ASFLAGS+=$(ASFLAGS)" >>$D/src/Config + echo "LDFLAGS+=$(LDFLAGS_DIRECT)" >>$D/src/Config + @ + set -e; cd $D/src/arch/i386; \ + sed -e '/ifneq.*GCC_MINORVERSION/,/endif/ s/^/#/' \ + Config >Config.new; \ + mv Config.new Config + mv $D $E + +$E/src/bin/Roms: $E/src/Config + $(MAKE) -C $E/src bin/Roms + +.PHONY: clean +clean: + rm -rf $D $E *.zrom.h eb-rom-list.h *~ diff --git a/tools/firmware/etherboot/README b/tools/firmware/etherboot/README index 6506c3c4ad..c121220f06 100644 --- a/tools/firmware/etherboot/README +++ b/tools/firmware/etherboot/README @@ -1,11 +1,27 @@ -This is an Etherboot option ROM for the rtl8139 NIC. It has a few -non-standard settings, most to do with timeouts and when to give up, -and for stricter DHCP spec compliance. +This directory builds Etherboot option ROMs from the etherboot source +tarball. We provide this tarball in our source so that the option ROMs +can be reconstructed from source, allowing easier debugging and +fulfilling the terms of the GPL. -Rom-o-matic.net will provide this image at the following URL: +We make a few non-standard settings, most to do with timeouts and when +to give up, and for stricter DHCP spec compliance. + +---------------------------------------- + +Since Etherboot upstream do not appear to distribute tarballs, we +generated one ourselves with the following runes: + + git clone git://git.etherboot.org/scm/etherboot.git + cd etherboot + git archive --format=tar --prefix=etherboot-5.4.2/ Eb.5.4.2 | gzip >../etherboot-5.4.2.tar.gz + +---------------------------------------- + +Previously, an image from Rom-o-matic.net was provided here, fetched +from the following URL: http://rom-o-matic.net/5.4.3/build.php?version=5.4.3&F=ignore&nic=rtl8139%3Artl8139+--+%5B0x10ec%2C0x8139%5D&ofmt=Binary+ROM+Image%28.zrom%29&arch=i386&ASK_BOOT=-1&BOOT_FIRST=BOOT_NIC&BOOT_SECOND=BOOT_NOTHING&BOOT_THIRD=BOOT_NOTHING&BOOT_INDEX=0&STATIC_CLIENT_IP=&STATIC_SUBNET_MASK=&STATIC_SERVER_IP=&STATIC_GATEWAY_IP=&STATIC_BOOTFILE=&EXIT_ON_FILE_LOAD_ERROR=on&DHCP_CLIENT_ID=&DHCP_CLIENT_ID_LEN=&DHCP_CLIENT_ID_TYPE=&DHCP_USER_CLASS=&DHCP_USER_CLASS_LEN=&ALLOW_ONLY_ENCAPSULATED=on&DEFAULT_BOOTFILE=&CONGESTED=on&BACKOFF_LIMIT=7&TIMEOUT=180&TRY_FLOPPY_FIRST=0&EXIT_IF_NO_OFFER=on&TAGGED_IMAGE=on&ELF_IMAGE=on&PXE_IMAGE=on&DOWNLOAD_PROTO_TFTP=on&COMCONSOLE=0x3F8&CONSPEED=9600&COMPARM=0x03&PXE_EXPORT=on&CONFIG_PCI=on&CONFIG_ISA=on&BUILD_ID=&PCBIOS=on&PXE_DHCP_STRICT=on&A=Get+ROM -and the mkhex script in tools/firmware/hvmloader will make the header -file from the downloaded image. +The mkhex script in tools/firmware/hvmloader will make the header file +from the downloaded image. diff --git a/tools/firmware/etherboot/eb-roms.h b/tools/firmware/etherboot/eb-roms.h new file mode 100644 index 0000000000..5ac5166141 --- /dev/null +++ b/tools/firmware/etherboot/eb-roms.h @@ -0,0 +1,4108 @@ +/* autogenerated - do not edit */ +#define ETHERBOOT_ROM_LIST \ + ETHERBOOT_ROM(rtl8139, 0x10ec,0x8139) \ + ETHERBOOT_ROM(eepro100, 0x8086,0x1229) \ + +/*end.*/ +unsigned etherboot_rtl8139[] = { +0xeb40aa55, 0xbfe94b65, 0x68744500, 0x6f627265, +0x0000746f, 0x00540000, 0x0034001c, 0x52494350, +0x813910ec, 0x00180000, 0x00000200, 0x00010040, +0x00008000, 0x506e5024, 0x00000201, 0x00008a00, +0x00090000, 0x00027fd7, 0x00001400, 0x00cc0000, +0x00000000, 0x49444e55, 0x0000a516, 0x00fc0201, +0x10001000, 0x43500abe, 0x81265249, 0x5024007d, +0x81260c75, 0x506e027d, 0x20b80475, 0x1e50cb00, +0xd88ec031, 0x3d0304a1, 0x1d74e44c, 0xa30064a1, +0x66a10300, 0x0302a300, 0xa300afb8, 0xc88c0064, +0xb80066a3, 0x04a3e44c, 0xb8581f03, 0x31cb0020, +0xa3d88ec0, 0x02a10304, 0x0066a303, 0xa30300a1, +0x50660064, 0x0aeb026a, 0x06eb006a, 0x016a5066, +0x1e5000eb, 0xb60f2e0e, 0xc1000206, 0x6a5009e0, +0x012be80c, 0x8ec88c58, 0x4a068fd8, 0x48068f06, +0x50581f06, 0x6a086a66, 0x0060e900, 0x16e08953, +0x55506650, 0x468be589, 0x02468910, 0x8912468b, +0x685d0446, 0x5066104d, 0x0f2e0e50, 0x000206b6, +0x5009e0c1, 0xe6e8146a, 0x8f2e5800, 0x2e064a06, +0x0648068f, 0xc72e6658, 0x00038406, 0x66000000, +0x00020168, 0x50686600, 0xe8000178, 0xc4830010, +0x89175b12, 0x3ce85bdc, 0x0002ca01, 0x6650006a, +0xc0200f50, 0x586601a8, 0x832d7458, 0x0000247c, +0x44871175, 0x44890424, 0x00b80024, 0x87000500, +0x50042444, 0x0002b0b8, 0x74c08500, 0x011ee805, +0xe9580000, 0x000006bc, 0xe5895550, 0x00067e83, +0x8b501375, 0x46890646, 0x46c76602, 0x05000004, +0xeb5d5800, 0x1e585d02, 0xb8665066, 0x000002b0, +0x74c08566, 0x0f061e2f, 0x83a80fa0, 0x895508ec, +0x46010fe5, 0xe80e1602, 0xd1e803ac, 0xe8000000, +0x00000282, 0x010f5858, 0x835d0256, 0xa90f08c4, +0x1f07a10f, 0x8cc03166, 0x66d88ec8, 0x6604e0c1, +0x00038005, 0x0ba36600, 0x1f586604, 0x500179e9, +0xbb061e60, 0xc38e0040, 0x131e8b26, 0x06e3c100, +0x14d1eb81, 0x2606ebc1, 0x00131e89, 0x8c06e3c1, +0x89d88ed0, 0x4c8b36e6, 0x78c98518, 0x99878d15, +0xbfc08e13, 0xc1831000, 0x8ecf291a, 0xfcfc89d0, +0x6066a4f3, 0x1f0ec38e, 0x5f4fb966, 0x89660000, +0xcf8966ce, 0xf3fd4166, 0x66fca467, 0x66506661, +0xd889c031, 0x04e0c166, 0x84a32666, 0xc7266603, +0x10038006, 0x6600014d, 0x87e58958, 0x5e89165e, +0x611f0714, 0xb80650cb, 0xc08e0040, 0x0013a126, +0x0506e0c1, 0xe8c11510, 0x13a32606, 0xc3580700, +0x0000e860, 0x815d0000, 0x0002b6ed, 0xfab9fd00, +0x8d000058, 0x06530db4, 0xbc8d0000, 0x0050d90d, +0xfca4f300, 0x50dab58d, 0xbd8d0000, 0x00000650, +0xffffffbd, 0xa405ebff, 0x0775db01, 0xee831e8b, +0x72db11fc, 0x40c031f2, 0x0775db01, 0xee831e8b, +0x11db11fc, 0x75db01c0, 0x831e8b07, 0xdb11fcee, +0xc931e673, 0x7203e883, 0x08e0c10d, 0x8346068a, +0x5074fff0, 0xdb01c589, 0x1e8b0775, 0x11fcee83, +0x01c911db, 0x8b0775db, 0xfcee831e, 0xc911db11, +0x01411d75, 0x8b0775db, 0xfcee831e, 0xc911db11, +0x0775db01, 0xee831e8b, 0x73db11fc, 0x814141e6, +0xfff300fd, 0x01d183ff, 0x2f348d56, 0xe95ea4f3, +0xffffff74, 0x9090c361, 0x90909090, 0x90909090, +0x00000000, 0x00000000, 0x0feb02eb, 0x89559c50, +0x87c88ce5, 0x46870646, 0x9c9d5d04, 0x0fa80f50, +0x161e06a0, 0x01dee80e, 0x550cec83, 0x24448b50, +0x00000d28, 0x44890006, 0x00e81024, 0x5d000000, +0x003fed81, 0x858b0000, 0x0000008b, 0x0000002d, +0x04d40500, 0x44890000, 0x858d0824, 0x00000067, +0x0c244489, 0xe8c35d58, 0x0000007a, 0x071f1f1f, +0xa90fa10f, 0x5502c483, 0xf766e589, 0x00000646, +0x755d0004, 0x9dcb9d02, 0x000004ca, 0x53000000, +0xe8555756, 0x00000000, 0x98ed815d, 0x8b000000, +0x0001bb9d, 0xa3eb8100, 0x8f000002, 0x0002b783, +0xb3838f00, 0x8f000002, 0x0002af83, 0xab838f00, +0x8f000002, 0x0002a383, 0xa7a38900, 0x8b000002, +0x0001b3a5, 0xb7b5ff00, 0xe8000001, 0x00000006, +0xe904c483, 0x535500d9, 0x0000e850, 0x815d0000, +0x0000eeed, 0x9b858d00, 0x89000001, 0x00019d85, +0x44b70f00, 0xe0c11024, 0x24442904, 0xc1c3890c, +0x896604eb, 0x890e245c, 0x04ebc1c3, 0x9d8d5366, +0x0000018e, 0x5366c329, 0x00000868, 0x849d8d00, +0x29000001, 0x896653c3, 0x0001a585, 0x10e8c100, +0x01a78588, 0xa5880000, 0x000001aa, 0x2444b70f, +0x04e0c11e, 0xad858966, 0x89000001, 0x10ebc1c3, +0x01af9d88, 0xbd880000, 0x000001b2, 0x9b95010f, +0x66000001, 0x8e0010bb, 0x8ec429d3, 0x8ec38edb, +0xcbeb8ee3, 0x80c3200f, 0x220ffee3, 0xc166cbc3, +0xd08e04e8, 0x5b665866, 0x17cb5d66, 0x00000000, +0xff000000, 0x000000ff, 0xff00009b, 0x000000ff, +0x00000093, 0x00000000, 0x00000000, 0x30000000, +0x0042e801, 0x000000e8, 0xed815d00, 0x000001c9, +0x02bbbd8b, 0x8d8b0000, 0x000002bf, 0xf3fce689, +0xa7a58ba4, 0xff000002, 0x0002a3b5, 0xab9d8b00, +0x8b000002, 0x0002afb5, 0xb3bd8b00, 0x8b000002, +0x0002b7ad, 0x6afac300, 0x66556600, 0x89506653, +0xdb3166e5, 0xdb8e5b0e, 0x04e3c166, 0x46b70f66, +0xd801660e, 0x0c468966, 0x66dd8966, 0x00e8db31, +0x8d665b00, 0x66005287, 0x8966e801, 0x66005487, +0x003e878d, 0x66e80166, 0x006a8789, 0x16c03166, +0xe0c16658, 0xb70f6604, 0xc50166ec, 0x97010f66, +0x200f0052, 0x0f010cc0, 0xff66c022, 0x66006aaf, +0x8e0010b8, 0x8eec89d0, 0x8ec08ed8, 0x58e88ee0, +0x17c35d5b, 0x00000000, 0xff000000, 0x000000ff, +0xff00cf9f, 0x000000ff, 0x6f00cf93, 0x08000002, +0x00000000, 0x00000000, 0x00000000, 0x00000000, +0x00000000, 0x00000000, 0x00000000, 0x00000000, +0x02000000, 0x0002bd01, 0x00000000, 0x90909090, +0x000090ec, 0xffedffff, 0xf8835858, 0xcb017500, +0x0804c483, 0xcd027502, 0xfb18cd19, 0xfbfa9090, +0x15cdf958, 0xbbf6edfd, 0x0eb4069c, 0x0001bb66, +0x0c10cd00, 0x16cdc031, 0x4bffe430, 0xb407b973, +0x02589c01, 0xfa03e083, 0x31f912cd, 0xf6fff6c9, +0x58d231ee, 0x53515231, 0x66064b50, 0x8907165b, +0x20b866e7, 0xb7fb39e8, 0xba66ffdf, 0x534d4150, +0x4514b966, 0x50096615, 0x9a075b9c, 0x7f197c00, +0x58b77ddb, 0x8d5d1f0e, 0x1500099e, 0x2e1855cb, +0x002d1eff, 0xdf74df9c, 0x891c72fe, 0x027e81e5, +0x95840f3c, 0xc6010800, 0x037e8000, 0xb7fdfdbf, +0x01010788, 0xca5d5d9d, 0x66000002, 0xda02c101, +0x77c32966, 0xfffb6dbb, 0xdb316603, 0x1274ff85, +0x76c23966, 0x07c3132b, 0xd98913cb, 0xdb9bb7df, +0xca1d1eeb, 0xf766d272, 0x76da3928, 0xbb0107e3, +0xcab9db7b, 0xd0891527, 0x56c3c11d, 0x9bbe5292, +0xfffb7b4d, 0x5c8b2e7b, 0xe8045404, 0xc683ffa5, +0xabfe8108, 0x5a66eaa4, 0x21dfffcb, 0x00c35e7b, +0xd33d6600, 0xff72850f, 0x7d832666, 0x5edeef04, +0x680900b6, 0x0d516650, 0x0400458b, 0x3157084d, +0xfb6f976e, 0xffa4e8ff, 0x10890b5f, 0xee596689, +0xf76142e9, 0x0c14dfef, 0xda879100, 0xe90506e8, +0x3357ff33, 0xdb60bf50, 0xaa5be15c, 0x10e1c166, +0x6ced5b30, 0x75b6df4b, 0x10e9c17f, 0x1359cb89, +0x90e8030a, 0xc30a115a, 0x2a6dbfff, 0xc35f4558, +0xffc8e853, 0xfef7e95b, 0x68660130, 0x6e5e0901, +0x6eeb42ee, 0x05070068, 0x2be87850, 0xb7f85f00, +0xcb088017, 0x7556a19c, 0x4eb89d13, 0x40365356, +0xb7640700, 0x1ed76f86, 0x38f8003e, 0x3a2e0f9d, +0x0bfdc1c8, 0x500342dd, 0xc88c66d7, 0x04244487, +0xdda17d03, 0xec837eee, 0x08010f08, 0x02a80f66, +0x435c66a0, 0x7eddb777, 0x600e6616, 0x8938128d, +0x44070c03, 0xae3be850, 0x5dfdbedb, 0x050ced81, +0x98ad8906, 0x168b0591, 0x6fffbca9, 0x7400fedf, +0x90b58d21, 0xbd8d0739, 0x39054990, 0x390472f4, +0x890d76fc, 0x76fdb9e6, 0x3248bbfc, 0xfc89cf29, +0xe3e8a4f3, 0x362d8b51, 0xb3db6c29, 0xe868bdcd, +0x3f450c4f, 0xb70f1220, 0x6db7240a, 0x5c046ff7, +0x8d502624, 0x50608085, 0x7c548ffa, 0xfb7fd38e, +0xec01fb6d, 0x936158cb, 0x66a102a9, 0xe61f6607, +0x648b9d0c, 0xa37dd424, 0xf79cdcd0, 0xbe852696, +0xca9dcb9d, 0xbff62db5, 0x57565507, 0x10247c8b, +0x61983d2b, 0x8336a810, 0x68affbbb, 0xe8550e48, +0x5b217cba, 0xd637df40, 0x42a30eed, 0xbe778904, +0x29b4b923, 0xb6dbf77b, 0x732ea3f1, 0xf8ea2015, +0xb8000881, 0x6ddd1c10, 0xd88ebfff, 0xd08ec08e, +0xe88ee08e, 0xc35d5e5f, 0x89e64035, 0x77ee4435, +0x3d05f9f3, 0x584c1d48, 0x250b50a3, 0xfbac0554, +0xbb59e17b, 0x0300e968, 0x68535f1d, 0xe4514328, +0xf770fbf7, 0x890bb1e8, 0xa5282ca5, 0x6ca52f20, +0xde977b29, 0xe4cf615c, 0x8100768d, 0xa88fbcfc, +0x74d7ba15, 0xed0c6020, 0x02341b22, 0xbb7b1919, +0x17072db7, 0x7e8bd0ff, 0xf23b8b8b, 0x8b8b191c, +0x3ca18b15, 0x28d0bb04, 0x8be2ffbc, 0x68d6da4c, +0xfd025189, 0x597ff1b8, 0x08618904, 0x890c6989, +0x14796071, 0x6dc3006f, 0x1bcd0bdb, 0x8b08431f, +0x095a374a, 0xebf4f662, 0x0c6a08bf, 0x8b10728b, +0x051c147a, 0x4389ffb8, 0xb6959c2d, 0xbea29c28, +0x840c5401, 0xce8b664b, 0xb8bb188d, 0xef181f30, +0x21a29687, 0x2e9d5d58, 0xc3c2e428, 0x2b07357b, +0x38815080, 0x0f0d2300, 0x82858907, 0x68956ffa, +0x921b11d7, 0x284f2907, 0xd4bd530c, 0x5350ee68, +0x2c1d9da9, 0x2f024389, 0x03d4bedf, 0x88101f0a, +0x0c020443, 0x0f076388, 0xc231585b, 0x90c3db8d, +0xc6535600, 0x6cd6a10c, 0xbddaddfa, 0x70bb0010, +0x29c62904, 0xb801006a, 0xe6dfc2e8, 0x2d062e66, +0x056850e4, 0x6c0986e8, 0x38de176f, 0x18c03b80, +0xc03903c6, 0xb0050f93, 0x7f5d6500, 0x0921188d, +0x055a0603, 0x5bd30aa1, 0x145db6eb, 0x047f1887, +0x13026a10, 0x6c7dd7b6, 0x1c065016, 0x4eefb850, +0xe859602d, 0x793d2dbf, 0x66c2892c, 0x010a20f6, +0xb10f0374, 0xb6c730ed, 0x8843bbc6, 0xce961203, +0x3f7cb3c8, 0xefeffc1e, 0x95f7b072, 0x2e2c3f8e, +0x250304bd, 0x282f6cf3, 0x32c8fc23, 0xb0b937b5, +0x2d0c26c0, 0x30be0526, 0xa1e805fb, 0x83063126, +0x19b901f0, 0x01b0b939, 0x0c0c152f, 0xecb0ccb9, +0x29535671, 0x19e4b817, 0x47151539, 0x196d2f57, +0x66287b7e, 0x8dca13c7, 0x0a6a1887, 0xbbeeef4a, +0x2474db57, 0x2a24bb22, 0x3eeb8156, 0x2b186f0d, +0xdcd805f0, 0x01181820, 0x35fb3975, 0x14881dfc, +0x74d28566, 0x16186617, 0x0506e0a9, 0x6e0bad62, +0x017220d2, 0xbd16f9d0, 0x20debec5, 0x24e475c0, +0x10321d12, 0x1b07deeb, 0x0e6dfd73, 0x6cba8800, +0x07b15d56, 0x22c5cdb1, 0x55404d3f, 0x636e8f9c, +0x3b2c2c83, 0x06334440, 0xc36c619e, 0x31657df7, +0x7f1e39ed, 0x1406500c, 0x3dafd986, 0xb0034673, +0x65e805e1, 0x03fdb74b, 0x02d081db, 0xf63a75fb, +0x34b22404, 0xb5deef91, 0x23e4405a, 0xb9fc0adf, +0xa5f34e05, 0xae868343, 0x14c5dffb, 0x850c7d60, +0x21a574db, 0x1b9db206, 0xdb5ae70d, 0x5f87d889, +0x0e070939, 0xb07c08fc, 0xe81c8f5d, 0x140101ed, +0xfffe98e8, 0x0bdbb9fd, 0x2f60a3ea, 0x0ab4e80f, +0x6c682096, 0xdbf36d06, 0x1364a30e, 0x10c4ff3c, +0xc2fb704e, 0x3284dcdb, 0x072a05d3, 0x74a3990a, +0x7dc27608, 0x0d64a1b6, 0x086805c7, 0x90790924, +0x003cbded, 0x15897009, 0x73db6378, 0x057c0f9b, +0x19800911, 0x83b1b210, 0x23840975, 0x8c2288a3, +0x1bedb73c, 0xa12c906c, 0xf8843159, 0xd8f9867c, +0x0f726896, 0x89fc1489, 0xdb4f0805, 0x0c4e6bff, +0x470ceb2b, 0x3914c183, 0xe7d91ff8, 0xefdb7fb9, +0xeb756663, 0x837f918b, 0x928131fa, 0x5f3d5277, +0xff86f0db, 0xbd4b772d, 0xf6318400, 0x372b941e, +0xa9bf6bf8, 0x23d6391b, 0x770c72ce, 0xd876c53c, +0x06ef12d8, 0xc30da98b, 0x3fc70729, 0xbdac3b16, +0x19d20935, 0x2fef623d, 0xff4b472d, 0x8944777c, +0x399903c3, 0xf7c2fc37, 0xb113d689, 0x0cab3b27, +0x06772e72, 0x267608a3, 0x8d6ed977, 0x4367413b, +0x77440d72, 0xd9b1cf3b, 0x260856dd, 0xd619218b, +0x30333589, 0xf762c1c2, 0x862787d8, 0xf8675a1c, +0x18a3cc8d, 0x34ace5e9, 0x64c82c14, 0x9879f65f, +0x097481c7, 0x5d760c78, 0x4bb3eb3a, 0x2b9013b8, +0xbc6fef05, 0x36b2c3a7, 0xeb9b14be, 0x6dc5811b, +0x213fffeb, 0x75455246, 0x5703662e, 0x21116204, +0xb58e044f, 0x3d09c344, 0x89d3aa3b, 0x4aeffdf1, +0x170bb72d, 0x0ae7c1fa, 0x8166c729, 0xbadd80fa, +0xcabb0b75, 0x8944c38e, 0x150369d3, 0xfc777d6c, +0xffe28125, 0x1a8c8db8, 0xd6fc8906, 0x5c3768ea, +0xf2893942, 0x772096a6, 0x465edf7f, 0x5c12ebc9, +0x02c7044a, 0x00c2816c, 0x7549667c, 0xb772c40b, +0x70e946ec, 0xcc42e4df, 0x5c3bb3af, 0xa109bdf2, +0xb90408d0, 0x660d83ee, 0xc99c69b8, 0xf0662c89, +0x33e8ed1a, 0x232404fd, 0xfbe177b5, 0x535723de, +0xd3bf7705, 0x1ce88151, 0xfb85c826, 0x2bf9897b, +0xebc1390d, 0x1676be0a, 0x915d0b73, 0xda832472, +0x5fcad7e3, 0xd2b796db, 0xc2e2c117, 0xf31ecb07, +0x140b60d7, 0x5f72a732, 0x0f63738d, 0x25742a72, +0x5b9082a1, 0x37bb870d, 0x97032fb6, 0xe9821ca3, +0xd2a6fc9e, 0x8a6b160d, 0x2e7c9d24, 0xbbb7ad61, +0x51d1753b, 0x10883a68, 0x473058e7, 0xa6ee4dde, +0xe8088cfe, 0x10b41e05, 0xbdb239e8, 0xb9db1a67, +0xbc084657, 0xb1421983, 0xe8a77e1b, 0xd9e8f291, +0x22c962fe, 0x23b82894, 0xc1781d7b, 0xdc11f0fd, +0x9a8dd029, 0x00e3810b, 0x86ffe41b, 0x0d8bb705, +0xecde8715, 0xc839ce29, 0xd8390c77, 0xa36df847, +0x12fb6477, 0x0476000a, 0x56086e58, 0xfa4c5afd, +0xe851d129, 0x2f4de497, 0x18473529, 0x1e44ef7b, +0x438b599b, 0xcdb2c829, 0x07537899, 0x6904764f, +0x74ddcfd8, 0xda34d039, 0xafb10574, 0xaf40ff08, +0x05a97b30, 0x573fe852, 0x0d8b2c08, 0x06d549a3, +0x140a602c, 0xc849db0c, 0xc0847a25, 0x5af60d75, +0x8c675045, 0x1f845b34, 0xb95c0958, 0x2e5a7ce8, +0x8b56c4a0, 0x086808c5, 0x2bcc2620, 0x99b5f1b6, +0x5359563d, 0xb7efa412, 0x21856bef, 0x5230262d, +0xbe7974ed, 0x6c1a1054, 0x892408fd, 0x89d729f7, +0xdd0e0715, 0x54fe3eb1, 0xab898389, 0xf7839f82, +0xdd36b80b, 0x2d8943de, 0x3354550f, 0xdefb8386, +0x21fd2c5c, 0x8c8a1554, 0xeac1fed5, 0xb1e37d04, +0x960313db, 0x43688b89, 0x352b0257, 0xe0db966f, +0x3e060c59, 0x5b788fd9, 0xaa9d629c, 0x370f1d3a, +0xfdd62946, 0xbb73061c, 0x6e36da92, 0x53e2f1a5, +0x06047902, 0x685dfb0b, 0x007e1db4, 0x74b5153b, +0x6d80d602, 0xea8177e7, 0x03828ba0, 0xa041585b, +0xcb3ca114, 0x85b3ebc5, 0x2822191a, 0x11048ddb, +0x7432377a, 0x47207b14, 0x8dcd87cd, 0x00be9691, +0x2b9a1915, 0xd0408934, 0x4f1b56f4, 0x290c2bc7, +0xf7fe91df, 0x28b5386c, 0xbf6687d3, 0x760d8f01, +0x5678c7b0, 0xc65915e8, 0x180475ff, 0xdd0bc601, +0x17bb22ed, 0xc31458fd, 0xf45e5502, 0xcf730403, +0xc13321ad, 0x181be101, 0x305d0e93, 0xe0062da1, +0x9fd917d8, 0x2f485721, 0xf8890603, 0x2b061712, +0x095bcfb5, 0x1045fb43, 0x02a66e31, 0xc19946c9, +0xde0d6203, 0x181c5b6a, 0x1c42d213, 0xad0cc903, +0x3d03dee0, 0x3c497611, 0xe36c584b, 0xe7338190, +0xdfd66189, 0xd2b01c76, 0x526e2d84, 0x5708b150, +0xd7c74be8, 0xa495736e, 0x17e9910c, 0x3da7312d, +0x2904d8b0, 0xbbeb4246, 0xb7c2d82e, 0x03ec0dbe, +0x0ac9104d, 0x46fe26d4, 0x03014c2c, 0x9bfce183, +0xa4c45504, 0x2910be8d, 0x5b5154cc, 0xaee27c84, +0xf59ab745, 0x066bd054, 0x875dec89, 0xe860a13f, +0x8b4c9294, 0x79a4249c, 0x6e015a9a, 0xc4f76435, +0x4260b94b, 0x6cf85e2e, 0x7408998d, 0xc8979d65, +0xe6815b12, 0x06ba0c05, 0xe85b51b8, 0x83d3c283, +0x4f75cd0f, 0x5b71363f, 0xc2ef8b19, 0x8e886b04, +0xddc1c695, 0xfec2835e, 0x17dd1f02, 0x8e108c42, +0x1bdff0b0, 0x7cf13941, 0x535250f0, 0x70125955, +0xf1fae381, 0x2a64f6ed, 0x4c0c2775, 0x75f0895b, +0x427645c7, 0x266f458e, 0xd97411dd, 0x4fbf8b6c, +0x00e8d10c, 0x6a20a86a, 0x8cf67c10, 0x02e47350, +0xe8d0dfd0, 0x5fdc91e9, 0x83542036, 0x6ae903c0, +0x90dbb3f5, 0xd1821301, 0x2cc51534, 0x9a36b75f, +0x5bc9beff, 0xc8b30e76, 0x1ac118a4, 0xf0ec16bf, +0x7b10bba9, 0x25008ba3, 0x09086841, 0x10cf08ff, +0xa98045bb, 0x2b7b9856, 0x60a1b1c1, 0x0abef339, +0x613f4ae2, 0xe20c5782, 0xebd93917, 0xa37e06db, +0x1604c109, 0xbec10142, 0xc10b5bf5, 0x8b0f850a, +0x40a1c85e, 0xa331ba2b, 0x651a36e5, 0x499cd330, +0xbf020847, 0x7d9c6c30, 0x830f026e, 0x03e5f0e7, +0x89ef4b86, 0xb964273d, 0xdce07580, 0x97257ef0, +0x0e838d0f, 0x8e2d189d, 0x36fd3a18, 0x05b88d32, +0x1ae19605, 0x76674098, 0x1e04d00b, 0x6f588289, +0xad1ef785, 0xe58309cb, 0x1dfaa4f0, 0xa57328d0, +0x68046a51, 0xb95d8855, 0xcfacfdb1, 0xf5c60555, +0x0707c658, 0x5d73a464, 0x05d3431d, 0xaf490e08, +0xa10c6c11, 0xba288883, 0x1c896c5b, 0x7b0aa62b, +0x74162210, 0x28c6c44b, 0xff510514, 0x74601805, +0x1c50adbb, 0x0d071d54, 0xc5b6cc1e, 0x283cb3ba, +0x070f2003, 0xaeb2022a, 0x8222c18b, 0x26032e13, +0x10ccdb6a, 0x7f11309b, 0x75321014, 0xe457b64f, +0x3643057f, 0x3ec6405f, 0x43757413, 0x054680ae, +0x06c6f948, 0x4e4a12f9, 0x52125005, 0x0436163b, +0x01586ad3, 0x738d3c3d, 0xfd18e196, 0x05432860, +0x68f104c7, 0x742b195a, 0xb5efff64, 0x06462554, +0x46c60201, 0x46942c08, 0xee9276d9, 0x461486ae, +0x5a0e2c0a, 0xec0f7583, 0x46ed1246, 0xe2140320, +0xeb1b1946, 0x160322ba, 0x1a281822, 0xf6131c05, +0x651e184a, 0x46e92446, 0x89560382, 0x46ac6526, +0xb7db172a, 0xe3833a47, 0x285e0c0f, 0x70b42c6a, +0x8f060868, 0x09462871, 0x8c80c768, 0xb63c77bf, +0xdf891cc1, 0x24d23468, 0x9d76d6e8, 0x375389b1, +0xd4df6a5a, 0x842c8971, 0x14ddac5c, 0x3b07f918, +0x96e0c1dc, 0x24ba3030, 0x09c6d1f0, 0xf7592dd7, +0x001ac225, 0xa705c2c0, 0xeb6b47dd, 0x6c8e62d9, +0x685fbaf0, 0xe9e804e3, 0xf91d21f6, 0x441bcc02, +0x235b1822, 0x36f415fb, 0x56567df8, 0x0b745339, +0xdddd9a9a, 0xb095be87, 0x97047401, 0xe80e68be, +0xf73df8da, 0x66241a14, 0xafcfc529, 0x4ef06e0f, +0x48cdb503, 0x81cd250b, 0x8d0af4e1, 0x02090a94, +0x9ad4f8e3, 0x4e83e0cd, 0x7f38de0b, 0x8a17a3c1, +0xbad0361e, 0x75d044a9, 0x01f38e17, 0x4c835fd0, +0x06296027, 0x80833062, 0xaeb4fc1d, 0x42845981, +0xa4d2e743, 0x91d4a0da, 0x9eb1c082, 0xfbd0c811, +0xeb291c1a, 0x70acb85a, 0xe3837d0b, 0x0b899392, +0x684bbac0, 0xd61d31b1, 0x5d7c325c, 0xebba178c, +0xe8671857, 0x23c3541b, 0x21dafc22, 0x05527716, +0xefc4e82d, 0x3634222c, 0x1c6de3c7, 0xfb30d08a, +0x7b6168d0, 0x66104f6b, 0x1102c010, 0x0af31982, +0xde180c1a, 0xdad4a9a0, 0xb1fbe083, 0xd46c36e0, +0x1204bef6, 0x800fe283, 0x106df6a9, 0x040e140a, +0x02334fbc, 0xb508947c, 0x2f46464d, 0xaf343018, +0xd8bf38ef, 0xcbeb2de8, 0xd820acd0, 0x4114abc6, +0xad036019, 0x81c55424, 0x77052a38, 0x20e277c7, +0x028b4676, 0x04428b43, 0xe898795c, 0x08076d8a, +0xdc04f57a, 0x302d6d0b, 0xd14a6b23, 0x989a0471, +0xe26f0ae0, 0x80c6b622, 0x8b0ddf83, 0x245d6317, +0x68167d5b, 0x8b0db89b, 0x0640b243, 0xbee1e927, +0x7fd76a6d, 0xaf09135b, 0x0a031072, 0x3790baeb, +0x2d1b0c35, 0xcb3c8c68, 0x49fae8b3, 0x753b6f99, +0x78cad904, 0xb05a15c4, 0x0bd9b239, 0x1fa8000a, +0x4e42888b, 0x9c09b46f, 0x638e5728, 0xbe02f8c0, +0xbbf4f8db, 0x07771aa1, 0xa085348b, 0xed147b27, +0x77761940, 0x7718651b, 0x1b741e54, 0x07760a48, +0xb81d6c7a, 0x19ff2cb8, 0x72db8c14, 0x02bae874, +0x921d6f86, 0x0dddb87a, 0xb81789ad, 0x3a397440, +0xd81ecdeb, 0xa73f0364, 0xa1247b8d, 0xf6530024, +0x75ecf25c, 0x497a33ac, 0x0b2994b2, 0x35b86306, +0xa0928e0c, 0x6a6461e2, 0x0c866303, 0x7d193153, +0x037ba054, 0xc377906d, 0x85a3208d, 0x205c6868, +0x851906bf, 0xc5ffffff, 0x09e7d350, 0xb0f631d7, +0xeeea8980, 0xedee88b0, 0xc383cb89, 0x872f7804, +0x4a2df05c, 0xd98877bc, 0xddb6f8d3, 0x89dedc3f, +0x4ff7c019, 0x8ba602e0, 0xc8832414, 0xed778a29, +0x080b7365, 0xd5794b8c, 0xbbed3e39, 0xeb65ee10, +0x8cbf5276, 0xf80fb1f8, 0x3dece6d1, 0xf725f78b, +0xc888c609, 0xeb7f9b24, 0xd426f7b0, 0xc49b306c, +0xc35f9155, 0x060b9e97, 0x534307cb, 0x4fa9538b, +0xb068c4df, 0x68ee37f1, 0xd4fb2e9a, 0xe31f4293, +0x09d80ec1, 0xfe690ae8, 0x8d686b8b, 0xf528b698, +0xa8ec3755, 0x48fc983c, 0x35c97f42, 0x3b13ec04, +0x8a5c5b8b, 0xfd920b04, 0x0dffefed, 0x8341ee00, +0xf27e05f9, 0x758d62bf, 0xf2899a37, 0x8400b9ee, +0xd8df00b6, 0x63445d0c, 0xb8efda89, 0x6245038b, +0x40e24f77, 0x99c8b4ef, 0xef30551a, 0xb858e028, +0x4c0d20c5, 0x1aef7266, 0xeebfdef6, 0x0704a5d6, +0x840eb866, 0x08210b3d, 0x08dd95bd, 0x05ef0c25, +0xb8ef663c, 0xb2c0d0d0, 0xa32c74e1, 0x35d8e830, +0x685c7bb8, 0x4be5bc9e, 0x85c243a5, 0x30559e16, +0x68f2fc22, 0xb30cce8a, 0x4288fc0b, 0x321c896c, +0xa3d7437e, 0x16d85c5a, 0xc0c85106, 0x0aee5206, +0x95b83b81, 0x39e88971, 0x81293d5a, 0x5e25c280, +0xb62694a8, 0x3fe15af8, 0x7296bc06, 0x8d57fb9b, +0x3a610756, 0x46e31e1a, 0x1452a150, 0x5ebda8d5, +0x3ebdca58, 0x17e47e58, 0x51224812, 0x9788ec58, +0xd766140a, 0x666251b6, 0x6fb86ee0, 0x01c4f67d, +0x31892eba, 0xfb0633ba, 0x9dbd8eeb, 0x0e38b852, +0x50063bb8, 0x5c72ff98, 0x68da7b63, 0x0750935b, +0x3029ec31, 0x3f04ccb4, 0xe852dc93, 0xc1a28041, +0xa016b7df, 0x7504a85c, 0x00c7182c, 0x1afe7e59, +0x40c776dc, 0x4c064948, 0x20501bf3, 0x1811061e, +0x1a5fcc8c, 0xdb166204, 0x8d1c683d, 0xee4adb54, +0x44fd301c, 0x2c0aa312, 0x0edec486, 0x3746b876, +0x6a233b7c, 0x17425d06, 0x682ce3bb, 0x66e803dc, +0x7712524d, 0x208a6454, 0x5411e2df, 0xf93bbbd8, +0xe868d42e, 0x37534013, 0x11ea6838, 0xe7c0777e, +0x7f0ec32e, 0x4a83c608, 0xfe014300, 0x3bebadf8, +0x358bf376, 0xb5148d5b, 0xcff7f114, 0x6630d6e0, +0x81687703, 0x6e8d25c1, 0x8182d620, 0xefea0bde, +0x7230cb81, 0xde1ad910, 0x1eefc0b0, 0x1270faeb, +0x3e614f8b, 0x157378ea, 0x2515f758, 0xef1b800c, +0x95a186e0, 0x95500700, 0x870beae0, 0xf02537b9, +0x6224db72, 0x5b1032b1, 0x850a0df1, 0x8d1374df, +0xf0031846, 0xa3e10d06, 0xe81f93d8, 0x2be3e8f8, +0x49488c05, 0x6ec0b642, 0x7942dc34, 0x0ceb664e, +0x60c301a8, 0xc52d2580, 0x42f0f5aa, 0xb26dc7b3, +0xdbb7840d, 0x15389082, 0x52e8db68, 0x35dd80ae, +0x2d5c0d1e, 0xd47ad495, 0xad81fed5, 0xc11e252f, +0x3ea810ef, 0xc0771140, 0xff83653f, 0x35860f3b, +0x6deeff81, 0x1ed12ff7, 0x8d3a0e7d, 0x003dfc4f, +0x644e2d20, 0x77f70d1b, 0xfcbb8d9b, 0x50d32941, +0xcc828d53, 0x9bba1045, 0x6076d4a3, 0x29a80b21, +0x1983a5d8, 0x05142bfa, 0x5e035e6c, 0xf1d7ff60, +0xbc18cad7, 0x07478d79, 0xb60aa3db, 0xb8b83815, +0x38a2cde3, 0xff618398, 0xac519fbe, 0x0001baef, +0x4f031af7, 0x081447db, 0xc51f3f49, 0xf21b5825, +0xfb1cf0c6, 0x23f5ffff, 0xecbc752d, 0xeb855153, +0xdc088291, 0x6d028101, 0x06765113, 0xdbaf8008, +0x9146cc97, 0x25ed8352, 0x49267fac, 0xdbc36f85, +0xc3660374, 0xeb8a530d, 0x6fb01af6, 0xf02185e6, +0xc3ee36c2, 0x76e8ae35, 0x23d7f1fb, 0x73987059, +0xc864aae8, 0x988bdcbf, 0x09601719, 0xc0649be8, +0xebc08887, 0xb9f42151, 0x3c173a19, 0x52a6fe96, +0xd7765e68, 0x44ef0b15, 0xe819f840, 0x2e5be811, +0xcf8c10da, 0x796aa1bf, 0x1d6d6faf, 0x080c89c7, +0x0131f8ca, 0xfadb3b00, 0xc38aa5db, 0x0c4384db, +0x08743a3c, 0x0b1eb343, 0x7e1eec2e, 0x64bff475, +0x056c9486, 0xff791f73, 0x36243f37, 0xd114c03a, +0x8331f24a, 0x57e108c7, 0x721e67e2, 0xf65653e1, +0x3a526859, 0xf6fd1fa4, 0x5a04478a, 0x34986859, +0xb229ef73, 0x41ec1a96, 0xaad24c85, 0x70589603, +0xe928092d, 0xbc42461e, 0x50c3c344, 0x0843ba75, +0x03428dfe, 0x4fe2ddc2, 0x037a8082, 0x25740d2f, +0xd59377d2, 0xe851e847, 0x180c17c2, 0x3a388031, +0x77e8f07e, 0x3980311f, 0x5280752f, 0x516568a8, +0x56ebf764, 0x05e889a3, 0x3e585e84, 0xd3eb42f0, +0xe9040500, 0x01402773, 0xfd0aaeb7, 0x756a525f, +0x33815251, 0x78783917, 0xa308ee58, 0x92f3eb10, +0x332d7f11, 0xfc053d36, 0x61a8dfb9, 0x47850343, +0xb84af0e4, 0xbbb7bb17, 0xc604eb17, 0x903d4004, +0xfff5726d, 0xa501bc1f, 0xbbe8fb69, 0x06153d65, +0xc8c268f8, 0x6e56bc02, 0x9a8eeed1, 0x0462dbdd, +0x74ed179a, 0x04e9f3e8, 0x8860c1f8, 0xaeeea093, +0x02e647e8, 0x6ac61db3, 0xf479c03d, 0xf4b7b406, +0x8515b2b4, 0xcd8c6447, 0x0b21db22, 0x0d1f99e0, +0x2e26f75b, 0xf9097e3a, 0x01b58e0f, 0x8408fe72, +0xbbda1ad9, 0x4a7f6f35, 0x6f09f685, 0xf17a1800, +0xf3d1efdd, 0x04e4a13c, 0xbe0c50ff, 0xd8ec46ff, +0x71f07519, 0x33219875, 0x375fc2c6, 0x09a1c202, +0xb8f8658d, 0xa7bf66c9, 0x04feedcd, 0x8c020d4a, +0x79fea9a2, 0x04f72774, 0x71b97c3e, 0x414599f0, +0xbb33ec3d, 0xa10b4075, 0x3d927ffd, 0x742e0df0, +0x9f7ef06b, 0x9beb621e, 0xba9290e3, 0xe5076c4f, +0x053bd548, 0x08940418, 0x5029b41f, 0x926d1943, +0x4755cc68, 0x7a58532d, 0x6bc14644, 0xe8a37731, +0x4e22a443, 0x8e105b24, 0x95e005fc, 0x09badc09, +0x30d8cdb7, 0x2ee90333, 0x73344553, 0x7666ec10, +0xda46b9e0, 0x2e09befb, 0x49ca0406, 0xe78e7ab5, +0x9429856e, 0x4df200ee, 0x5f85e9d9, 0x6b782b81, +0x396fc985, 0x63d02042, 0xe75f3ec1, 0x9644b17a, +0x75fbe991, 0xbec4ba87, 0xb80b57be, 0x7afdc4ca, +0x0e047bf1, 0xe9103e63, 0xfdfe8c2d, 0xbbdf6360, +0xb8fed002, 0xecae0356, 0xecd9d809, 0x18b7e9ef, +0xfb011442, 0x22a753ae, 0xa10d873c, 0xe25e78a6, +0x06bbdcde, 0x6a36147b, 0x8dd46801, 0x344c686e, +0x3b63ba01, 0x2826fa3f, 0x6885f9e9, 0x1323ab23, +0xc2ae3730, 0xfd9cccd4, 0xf0ea4860, 0xc86f2243, +0x425e1318, 0x372be94b, 0x2231ef24, 0x2999084d, +0x34d3880f, 0xb3cdb043, 0xfdc9ee01, 0x5d31fcd5, +0xe19868ba, 0xacc746e8, 0xef87a5ae, 0xf1f829df, +0x950c8d42, 0x16a3a162, 0xd3c5f02f, 0x7f0f05e8, +0x21ebc107, 0xd0ac61f0, 0xa322d0fa, 0xc60a7e0f, +0x17963719, 0x4f0d75e2, 0xf14ac503, 0x0ba1778e, +0x89687fe6, 0xbecdb6c2, 0x6082058e, 0x8ba6a331, +0x5bd8b50a, 0x14e77ae2, 0xbf7b86ab, 0x31fd8fb3, +0x0d105089, 0xa11c5889, 0xbe8a2021, 0x7845a803, +0xd301c767, 0x84fd3991, 0xebccc6c7, 0xfe98e9ec, +0x3be802c9, 0x07849c15, 0x3634ac17, 0x2efa85dd, +0x689dca78, 0xac4c9c2a, 0xfbb03fdd, 0x48fa81d1, +0x247c7669, 0xbe0f1869, 0xb896401d, 0x6fe01621, +0x746f4813, 0x7e307728, 0xc76f3855, 0x8d566172, +0x4e87c5b6, 0x622005c6, 0x4d6ee483, 0x8c26425b, +0x27613488, 0xfa2c047b, 0x74237850, 0x5f673a2d, +0x27e87b0f, 0xf7caeb33, 0xaa012757, 0xe8ee91ee, +0xb712fb58, 0x0bf308e8, 0xcf6893ab, 0x60fec36a, +0xcb10e206, 0x83be017e, 0x3950783c, 0x4dc589da, +0x07870f34, 0x061f0301, 0x0488af21, 0x1620d939, +0x247a043f, 0x8ac4820f, 0x0e76cb39, 0x6db9aa39, +0xf53985a0, 0x35010f17, 0x3396e51b, 0x28f4fe16, +0x2c416c12, 0x98f56a3a, 0xcbb6bc1c, 0x0bd8cea8, +0x27fe1e14, 0x03d421cc, 0x6c811ea3, 0xf50e01c1, +0xde380d8a, 0xbb3dd6dd, 0x09789113, 0x390d8b2c, +0x281f1c03, 0xf74dfba0, 0x7c76b972, 0x77142c0f, +0x8b0a72ad, 0x1b753913, 0x77f3eede, 0x346c3ba1, +0x34781376, 0xc82b092b, 0xa90c85d5, 0xc3d989c5, +0x47c05f6a, 0x8d3eebe9, 0x80ee98b0, 0xc1fd3eab, +0x5351561b, 0x10706855, 0xc42f40df, 0x3c3a1053, +0xf69febfb, 0xff8bb122, 0xfac03119, 0xb4fb191b, +0xa38bdce0, 0xd482d86f, 0xdf0471e9, 0x50ae9b61, +0xd1eba446, 0xa90ddc54, 0x2de8f508, 0x98c29d24, +0x80f47091, 0xa0794e53, 0xd080c155, 0x36f4d0d3, +0x10ce3a2b, 0x500c0707, 0x80f990b8, 0x4d2d791d, +0xd2ef4dce, 0x81baee17, 0x6838142d, 0x009f9aaf, +0xb42ab14b, 0xe86cdb64, 0x3075f94c, 0x4899187a, +0x5b08cb5f, 0x583d58c2, 0xbea4a1fa, 0xa19724d6, +0x2422f1cb, 0xdda24aa1, 0x1b92ddf1, 0xb0291cb4, +0x09cf8905, 0x1b7674d7, 0xd518a085, 0x392e2bee, +0x6dda5df1, 0x0e726fdc, 0x3986821c, 0x037ab0c2, +0x86085a5c, 0xa9249b29, 0x0ee0beb0, 0xb47a0876, +0x08b8a109, 0x34743374, 0x445d4b3f, 0x77d8428a, +0xbc329436, 0x5352c3df, 0xa1ba8d08, 0x24c62ca0, +0x445220e8, 0xdbd632c3, 0x01c350b0, 0x1d1d01b7, +0xada2663c, 0x4115a337, 0x5ea2e418, 0x8ce9d46b, +0x69bd81ba, 0x416dbaca, 0x160ff7ac, 0x770269c2, +0x6f442d0b, 0xa8efedee, 0xac2d131a, 0x72140324, +0x1cc4a605, 0x700750b4, 0x1636460d, 0x5cea203d, +0x7efe6fdd, 0xa0ba8363, 0x063a014a, 0x5aeb6f75, +0xac1398b4, 0x60640edd, 0x823a37ff, 0x95398fdb, +0x06774048, 0xf939c872, 0x7fdcc472, 0x742708e8, +0xe0c15716, 0xa4808b05, 0xfef43526, 0x413970af, +0x89a77340, 0x10458b35, 0x8d8e1067, 0x7f624661, +0xd8c25b9d, 0x1b76dcd7, 0x8637e6c1, 0x8bdba3ac, +0xf62ceda4, 0x8e8b31a9, 0xb0dbae4c, 0xff4c3611, +0xea11f801, 0xd319c129, 0x8d0d1f42, 0x845b6dd6, +0x440f991d, 0x392bb040, 0x5b09ea09, 0x085c7fab, +0x1638821a, 0xfcfb1e01, 0x25f02835, 0xb7290900, +0x3ddedf8b, 0xc1014f33, 0xcd01fb11, 0x5e4d5c11, +0xf07dd43b, 0x09f8ac0f, 0x5b5d0c1d, 0x85740171, +0x3a489e1a, 0x6d8dff38, 0x1584d7b4, 0xa34d8294, +0xdc1a154e, 0xc143eda7, 0x780de31d, 0xb91c6a79, +0x09dbfb82, 0x3db715bc, 0x88881072, 0x2e2c7c3e, +0x55068406, 0x68346a08, 0x3aa3e84f, 0xd30a6d03, +0x0e9458c7, 0x68746c5a, 0x6fc23218, 0xd6ed0c0e, +0xde290598, 0x2f50c706, 0x06b82ded, 0x2dd8112e, +0xaeb81127, 0x34d5b440, 0x3226f996, 0x088017f8, +0x688dcf69, 0x31697e34, 0x9f91d4db, 0x58c3c049, +0xea75bb83, 0xf0fe2304, 0xff57833a, 0xb9bab4b3, +0x6d85f628, 0x55692051, 0xef9350e8, 0x867bd3d9, +0x16726ca1, 0x38ab0351, 0x63a1aefb, 0xaea87f57, +0x3966dfc0, 0x383474fa, 0xa24f7607, 0x8e0c3155, +0x8e3cbebc, 0x02e14221, 0x5d6deb41, 0x026ce0f1, +0x16e9b44e, 0xc889d29c, 0x2ad58e24, 0xe8671a39, +0x25740e59, 0x6b0dc220, 0x72844005, 0x59de08c5, +0x57e34bff, 0xa850e2b8, 0xec5b7eac, 0x052ee52d, +0xcf1b7420, 0x604f3ce3, 0x4e6ff329, 0x55b0533b, +0x63e952dc, 0xc8bb516c, 0x19da29de, 0xc61ca78f, +0xa1b36918, 0x10ce154a, 0x2b5381b8, 0xfdebe928, +0xc0ddb1df, 0x3d802cfd, 0x25377f45, 0x0544af81, +0xec1c0d62, 0x2d021020, 0xe0a1ece0, 0x81146cc0, +0xf8f4cbca, 0x402d0914, 0xa553b58e, 0xd6804d4f, +0xed85ce48, 0xdd1bdb82, 0x1d8ad94f, 0x32eb1d44, +0xfc4c8ac8, 0x87e1c1a3, 0x34ce488f, 0x38a3f887, +0xdde25cc1, 0x881a99a2, 0x25992315, 0xb625e9f0, +0xc1dce20e, 0x90148da8, 0xbbf0c8f3, 0x2d840cb1, +0x84263c15, 0xb6bd2522, 0x7593dc06, 0xdc58756e, +0x9808232f, 0x222017ea, 0x9f1c85a2, 0x4ae80268, +0xb5a07304, 0x72b44ded, 0x7a8b47d5, 0x13468a0c, +0xc0da5762, 0x7c0336b0, 0xad7af50a, 0xb61a376f, +0x80186c4f, 0x047474e8, 0x0a7b7402, 0xa1bfe10c, +0xe9c82992, 0xbd9bff58, 0x1d35c01a, 0x7544869b, +0x7bc0486a, 0xe433a177, 0xeb89fb3b, 0x3ded0476, +0xb1b7868c, 0x488fcda1, 0x743d9242, 0x97cf5b6d, +0x2129945f, 0xaf509854, 0x254ab5e1, 0xa3ad269a, +0x5f6de019, 0xfed3e9c3, 0x6e01faa1, 0x036d0be9, +0x7d8484da, 0x251f10c0, 0xd5b86717, 0x28461213, +0x71b1323b, 0x783424a4, 0x4b60522a, 0x16fd3c0c, +0x3573282e, 0xb9d21b2c, 0x0d121e08, 0xda65a05b, +0xf88c77db, 0x8d05eb00, 0x29522e90, 0x26b07030, +0xdf940536, 0xd9733550, 0x07630763, 0x335a58a6, +0xf69c3a1a, 0xdfba3c1b, 0x74932505, 0x5106e60a, +0x1e2bbb88, 0x518973db, 0xd7169e0a, 0x82eefc04, +0x6b400d50, 0x5031048d, 0x0dc1998d, 0x511cd0b8, +0x845233a8, 0xd837f7e2, 0x756919e9, 0xd292d50f, +0xc37c026a, 0x2b56507b, 0x1827901d, 0x3c70e853, +0xa6bddc2e, 0x4a35c020, 0x5b5e0831, 0x3edc193b, +0x05c35e6d, 0xd98c52e8, 0x87d809e5, 0x98a3683f, +0x0e022404, 0x2e3a3deb, 0x6cae6fc5, 0x428d1c32, +0x77d766fc, 0xf6706b07, 0xeb046dff, 0xe9a8e890, +0x840bffff, 0x90420bf6, 0xeb1986ea, 0x49f8d5db, +0x64c4d81b, 0x1033ff8c, 0x35347760, 0x2fd52829, +0xa91b5e1b, 0x5553d59e, 0x6e3bd384, 0xb7f80d3d, +0x457fffdf, 0x3e74464c, 0x752ec031, 0x7d8175d1, +0x03133600, 0x31f4f11b, 0x60d639da, 0xbc75d389, +0xbd8eb5af, 0xd6533c41, 0x2cc8bba2, 0xe105c73d, +0xd6f16383, 0x1ca19bba, 0xb5b14525, 0x3d00bb41, +0xb1350001, 0x36b17049, 0xe80bfb1a, 0xa3a2bc02, +0x2dda9274, 0x7299b6e8, 0xb6340888, 0xa3238d75, +0x2707742b, 0x058c0320, 0xbe60ee06, 0xe8776013, +0x816a6bbb, 0x12d7cc06, 0x325e0bc0, 0xc2af0a8a, +0x11151811, 0x3da2d0af, 0x006b811d, 0xd37d8c53, +0x4e05a780, 0xbf0414ab, 0x7ccec46f, 0xc668cb47, +0xb823203d, 0x9df276c0, 0xe6e9dcdd, 0x19de63fe, +0xba128106, 0x2fbaf6dd, 0x093a1fba, 0x5920bf84, +0x23f859b9, 0x5c00e7e8, 0x39106a53, 0x318dc320, +0x883a99f6, 0x8b0ce82a, 0x78a3c6a5, 0x8c6af7d0, +0xbc2e3e9f, 0xa352d405, 0xe8b9a38d, 0x167a71b0, +0x5f31f58c, 0xc60ba984, 0xecea156a, 0xc10a0251, +0x17b785be, 0x95548d27, 0x80021c3d, 0x7442be99, +0x36ffe36a, 0x3907bd76, 0x514676df, 0x43924b8b, +0x5fdde056, 0x010814cb, 0x0c5651f1, 0x51044b03, +0xa5ad5647, 0x7c741ff8, 0x0303438a, 0x1ed90873, +0x15f67b65, 0x5d5503b0, 0xb6755493, 0xc19ac524, +0x2682219a, 0x7facb052, 0x555c6348, 0x0039bbd6, +0xa224a100, 0x2e7ac5dc, 0x6e9c01e8, 0xc52aafba, +0x25087c0c, 0x49dfe901, 0xb0b06051, 0x5009cb2b, +0xcc298a52, 0xe0910a3d, 0xf7d63972, 0x0c0d8b06, +0x5fdc9b5d, 0x41a4353f, 0xdb196368, 0x0ebc3cf6, +0xf14da2df, 0xd4e91375, 0x2f015a13, 0x8d0fc339, +0x89e0e128, 0xe5d86e19, 0x4a3faddc, 0xa46c4a3d, +0xee407983, 0xf8b185c2, 0x8bd975da, 0x1e491298, +0x60f30b04, 0x77fdb6d9, 0x1d5c8dc9, 0xcb0a0c21, +0x1a833050, 0x9c301568, 0xdb81a728, 0x00c4ff12, +0x60eb1572, 0x3987082f, 0xe214c103, 0x0c241a9b, +0x8b277330, 0x3efd4613, 0x8dfb46fc, 0x348d0c4b, +0x0ec08363, 0x762ef001, 0xbad94e9b, 0x76073930, +0xd57417c6, 0x992cadc5, 0x281b1e74, 0x963f16a0, +0x2c9e1f70, 0x44e4d203, 0x106b35c1, 0xde80119b, +0xe84bb56d, 0x1fe9ed5d, 0x0026badd, 0x364a8e00, +0xa8096d19, 0x3809ac0c, 0x2032b6c8, 0x39e9b809, +0x90774304, 0x0c8e5c2c, 0x1d3c6434, 0x757db4a1, +0xb8a4eb0e, 0x7d31ae01, 0x8410ab98, 0xe1c1c54b, +0xb4ae232d, 0x2f423a5a, 0xdb6d407b, 0xa7fb703c, +0xc181fd4f, 0x505b8b9d, 0x4902718b, 0xd406fc40, +0x2203ceb0, 0x04ecdb20, 0xc6c60153, 0x516f1120, +0x3df30ee8, 0xb7dced84, 0x4a31a1c3, 0xa1187466, +0x8ded08c4, 0x20ff205e, 0x73a40d72, 0x70996609, +0xc091616a, 0x4e89e3ea, 0x92db92c4, 0x688b801b, +0x86443841, 0x376b518e, 0x5853a1bc, 0x4307eb3c, +0x467d3c7e, 0x1fbdb4ac, 0xe2c13e8c, 0xe5757405, +0x596c8a8d, 0x1aeee52f, 0x7348763c, 0x82132f04, +0xdbb9bab4, 0x448663be, 0x1c440f76, 0x76400c50, +0xd0ddd5b9, 0xb3eb40bd, 0xa248058b, 0x10c18540, +0x2201941c, 0x94f545b4, 0x627ba378, 0x412ba6f7, +0x3838f983, 0x41213486, 0x98050b80, 0x5dceaf86, +0x47052601, 0x76101887, 0xae1121ee, 0x572eff17, +0xe29a8334, 0x1411ed8d, 0x5a7b3339, 0x351ab845, +0xdc9e011a, 0x1300f120, 0x039001a0, 0x120edba6, +0x6e1392d1, 0x6c10bd77, 0x2df7f886, 0x2689a731, +0xd1015905, 0x398bc839, 0x738dbff7, 0x76d03906, +0x181e4102, 0x201ef70e, 0x0c137376, 0x1f23d088, +0x6ec44b0a, 0x76953bc2, 0x0f108e0a, 0xebfc0739, +0x7609108f, 0x68153b0c, 0x87eefe11, 0x546c0dc2, +0x1c07ff02, 0xc221d0f7, 0xdd6cd139, 0x3efb8d86, +0x3bd1297f, 0x55320b38, 0x570e250b, 0xd0bbde64, +0xc0cae188, 0x42c04666, 0x7e83e3ec, 0x930105e3, +0xca0e8b28, 0x0c234b47, 0xb87cc943, 0xbc72de15, +0x46e9e381, 0x68084018, 0x1c7ef1fd, 0xb37cdc16, +0x31aec035, 0xb23e0843, 0x4954a9bd, 0x10481e77, +0x7c80049d, 0x6c01c930, 0x8f0d0d0d, 0x56dc2e60, +0x86e9b1e0, 0x7d11eaca, 0x1edf8f08, 0x6d12ad93, +0x66ee2906, 0xd84c57a3, 0x6eb1168f, 0x4f3f5de9, +0x9d889dbb, 0xe29b8028, 0x7d032950, 0x4c69ba66, +0x7c684c7e, 0x17e9c316, 0x65cc89fa, 0x12ac2927, +0x26859404, 0x24703576, 0x02281501, 0x8f8546c0, +0x00e800ce, 0x76160ca8, 0xe8bafe1b, 0x82fb3909, +0x730c0835, 0xd410014d, 0x45afed16, 0x222e73eb, +0xac7b05da, 0xc2f98ffe, 0x3109eac1, 0x19d629c9, +0xd80142cf, 0xd2f62c89, 0x3f891b1b, 0x29882fa3, +0x513989eb, 0xb8344922, 0xc8df6f27, 0xf06f06f1, +0xfde4ad72, 0x09f031fa, 0xecef5b6d, 0x5e4074c2, +0x09df3ea1, 0x58e80149, 0x295a36bf, 0x55304ec5, +0x57001553, 0x41416338, 0x332a1561, 0x8c6dbd83, +0x2594a191, 0xb2d8a592, 0x77f166c5, 0xb951e9b5, +0x1e08293d, 0x090b6496, 0xd7e83d0c, 0x2c3bc2c4, +0x5964a3b9, 0x250134f7, 0xe1550882, 0x71f82330, +0x37e9c712, 0x8eda9090, 0xd2382960, 0x0ddcda31, +0x73f02fda, 0xa0c1f625, 0x740e04b6, 0x2687b903, +0xc2c33468, 0x95315b81, 0x46fed1a6, 0x2bfc1083, +0xd93941d0, 0x9e0edb72, 0x7ea004e0, 0x0ccb54ea, +0x2ad12edd, 0xd2f71cc1, 0xd8027416, 0x25475c05, +0x02ba1cd2, 0x891d3d3d, 0x2d05efba, 0xc03df706, +0x78c80de7, 0x787817ab, 0x55b85f69, 0xe9f713ed, +0xa160dfdb, 0x1fc5c8b3, 0x290cfbc1, 0xdb5b35c3, +0x026c475a, 0x6f07d583, 0xe086c309, 0x027ad0be, +0xbbcbc129, 0xca2903e2, 0xdcdb4086, 0x16c24fd6, +0x800223db, 0xddbdb115, 0xd17711c8, 0x89430be2, +0xf67827d1, 0xeaac4149, 0xf5e8c05b, 0xbd0579d0, +0x646dab69, 0x15bf0f40, 0x05b6c268, 0x100c6cde, +0xab288aeb, 0xe3297f16, 0xb744700d, 0x841e8aa1, +0xf8d6fc30, 0x74144346, 0x9f418a1c, 0x88da8818, +0x06ff7ec8, 0x2bdf1c4b, 0x75c238df, 0x1f47460a, +0xf0bfe475, 0x7d1bd52f, 0xc3be0fdf, 0x04dfe183, +0x295ed1be, 0x721a3bd0, 0xdbf27814, 0x5b0a147f, +0x5e01eef7, 0x5b0e744c, 0x229bce5e, 0xc2f6fad2, +0x3842be06, 0x058d118a, 0xec76093c, 0x64b4382f, +0xad0eee92, 0xe005f495, 0x18b0518e, 0x31e1ea89, +0x15ff31f6, 0x884a184a, 0x7013644a, 0x021a00e5, +0xd07d34b2, 0x9d68e11b, 0x9a3b74d1, 0xffff6f77, +0x02ffa86f, 0x8942097f, 0x39802414, 0xc126752e, +0x094708e6, 0x7e0313c6, 0xf6ebf1c4, 0x7bf089c2, +0x0410c8c1, 0x8922c689, 0x0dc6bc30, 0x29a23947, +0x4407a4e8, 0xd1430a1f, 0xe9cfdee1, 0xf8bfedd6, +0x02eb1258, 0x64e460e4, 0xe1a8c09e, 0x0cd7a804, +0x097b86e0, 0x6f18c5e8, 0x0cb5e872, 0x18f89ba9, +0xe8f50168, 0x7f0bd00f, 0xfd51fbbf, 0xb097b8e8, +0xe864e6d1, 0xe6df08af, 0x08f8ec60, 0xa6eb1576, +0x834db627, 0x8b7bddfb, 0xf01d2e6e, 0x890d743a, +0x26e94b0e, 0x10bd4dd1, 0xe80d0642, 0xe29d67d5, +0xf619c3c8, 0xda3d80cf, 0x9bf9360e, 0xe82e2961, +0x23e810ab, 0xe5db6f7d, 0xc0958842, 0x6f13c064, +0x51cef7bb, 0x45eb5b7c, 0xe8187507, 0x92b34cff, +0xef2921bb, 0xae08cfe8, 0xc059e217, 0xfbce74b7, +0xfb07740d, 0x12280ab3, 0x74cb8c96, 0xf777fb70, +0xe8f33c77, 0x1bf878a2, 0x04041174, 0x789bba74, +0x75cc7dab, 0xff93badf, 0xba0b0aeb, 0x0f6baacf, +0x527c61f0, 0xbecdbe13, 0x861061d0, 0xe8db8410, +0x1361ce81, 0x1c5c1bf1, 0xe805eb58, 0xce72eb9a, +0xa306ee52, 0x1462f218, 0x1f681c27, 0x9f15f6c2, +0x1a2d708c, 0x07181a20, 0xd22ab041, 0xe05c8fb9, +0xd41fa7c1, 0x8dd0868d, 0xe20626be, 0xf8d63e0e, +0x688d08e4, 0xc1a350ed, 0xf00a818e, 0x433036ff, +0x990e80fc, 0xb900b08f, 0xddc6d7c1, 0x14c3a7c1, +0xa4a0c049, 0x4060cfbb, 0x8bedc19f, 0xdc831c93, +0xbf6c873c, 0xd577403d, 0xc4747817, 0x9d9a016f, +0x934b26bd, 0x4b4bc016, 0x04758385, 0x39f00af0, +0x0d72dfc2, 0x9e6a735c, 0x9672ea99, 0x6c68dbf7, +0x75e4c280, 0xa9656911, 0xefdfbf0a, 0xea8130c2, +0x47e28107, 0x6d2c543b, 0xe4135fff, 0x14208d0c, +0x40d70b61, 0xce7ea3af, 0x9e7f56e9, 0xe8066be3, +0x39748976, 0xf75557f8, 0x03558ff1, 0x685350fc, +0x864acfdc, 0x6e75e820, 0xe5a24553, 0xcb1a775f, +0x2e00cb44, 0x4b629b01, 0x7f061cac, 0x72badc1b, +0x0fff65e9, 0x62c6d61c, 0x540c3906, 0x8b810937, +0x3058bc21, 0xd8a71301, 0xc993b20e, 0x426467fc, +0xbb89d3f8, 0x0131fc2d, 0xc3a19148, 0x85bb267f, +0x8be375ff, 0xe0a73ab3, 0xd9ad1230, 0x2abbff09, +0x5db0febb, 0xf2f73905, 0x76f21fa4, 0x73113932, +0xb7c2df2c, 0x66b439b9, 0x48fa139a, 0x0df88ea1, +0xf5143a85, 0xbb14d338, 0x39b9b007, 0xe7893309, +0xf73bf019, 0x9a77a068, 0x81750a77, 0x868d79a5, +0x2a604b68, 0xa07ceee8, 0x168046bc, 0x18a26fd3, +0xd8b1a81d, 0xba15cf02, 0x038275b6, 0x289f78fc, +0x582b115e, 0x7d237d0e, 0x4be2e17a, 0x06a328a1, +0x2041a27b, 0x52e0bffc, 0x0fbc0e04, 0x9c0d999f, +0x0672e9d6, 0x8275035f, 0x32a13d08, 0xc2ae7e29, +0x508dc8f1, 0x6a1c02fc, 0xc6821972, 0x51d31559, +0x70269489, 0x1532b6f6, 0x4ec31024, 0x3b62dc5f, +0x168b0cea, 0xb1da29e6, 0x2302b08d, 0x3ef84add, +0x3e78230d, 0x42ec15db, 0x0afc42f1, 0x480d89b2, +0x2c0cea60, 0x9604e722, 0x2f8cd062, 0x408bc2d9, +0xd94687fc, 0x070d63a1, 0x3cc239ce, 0x1d4ca57d, +0xf1bacaa8, 0x6817b5e2, 0x528b3050, 0xe87523f8, +0xcea450ac, 0x78c12f8f, 0x8c766095, 0xa2e6a164, +0x2289f417, 0x70d4dba4, 0x10b87ab5, 0xa71ae084, +0xa8971021, 0xb99e92e8, 0xbafbd832, 0x03281a20, +0xec230453, 0x35d30293, 0xf2086d20, 0x5f8f67b0, +0xb2fb24db, 0x5fe4e84a, 0x26417e00, 0x603515f0, +0xe8780375, 0x55bb4334, 0x375a5827, 0x4b1a0edf, +0x114b68a2, 0x397ea143, 0xa10d3883, 0x66ec8f01, +0xefbe7c83, 0x2256346a, 0x75337820, 0xee740fd4, +0x1a74a17b, 0x0a4f5f08, 0xe6c75be8, 0xf4a722b6, +0x2aa722cc, 0xa186df28, 0xebe80abf, 0x6128a9e0, +0x0927dc43, 0x594f00b8, 0xdfe83658, 0x8b3be605, +0x1d773ec8, 0x708b40be, 0xdc30be83, 0x17df305f, +0x26d715b0, 0x939e1f84, 0xc821ac67, 0x8b91128e, +0x8f633c83, 0x9d15b2e9, 0x551a3a75, 0x9f37320b, +0x297891e3, 0x0806189a, 0x5b590637, 0x74036805, +0x3d125e61, 0xf1761c04, 0x5b9be951, 0x21080007, +0x0200147b, 0xffc42475, 0xaf049db0, 0x501c438d, +0x422b13e8, 0xdb6c06f8, 0x140618ca, 0x8db63116, +0x1a020084, 0x1ff39db0, 0x22a1c5d2, 0x94d3cdb0, +0x403fa5a9, 0x18407209, 0x7e0946e0, 0xc6661c2b, +0x59784503, 0xede25841, 0x8845fe28, 0x0143c603, +0x05000437, 0xa689544c, 0x664ac88b, 0xa7c5f6c5, +0xe74388ac, 0x10090618, 0x4148c3b5, 0xda1baca1, +0x0fed0170, 0x14c46b06, 0xde899a07, 0xf6aae8b3, +0x4cd42190, 0xfd12f8e5, 0xa2eb0342, 0x10fe1363, +0x51a4e16d, 0x10403e0f, 0x410b0539, 0x643ef42b, +0x02411f80, 0x324236a6, 0x2df620c0, 0xee78342d, +0xaa14c294, 0x2feb29bf, 0xec2da8d1, 0xad4194b6, +0xcd408a02, 0x02dbf6f0, 0x3c23f83c, 0xe9ec753c, +0x46a56809, 0x609c76ee, 0x0fe302b6, 0xb074d4f0, +0x68891b01, 0xe5737b31, 0xed15441c, 0x0c6d5b50, +0x8819a370, 0x8a54d6db, 0x110688bf, 0xa89ad8c6, +0x4379b377, 0xe514e883, 0x01db0c85, 0xe801a0fd, +0x58c648e7, 0x5c16dd1e, 0x225a9837, 0xe8034356, +0x30ed10cd, 0xc65219c8, 0x2f112686, 0xf79ee228, +0x84e9c44e, 0x28272445, 0xa160991f, 0xb53f11ca, +0x110fb1e8, 0x4bc37ea0, 0xb7727e8d, 0x46c3eedb, +0xeb835114, 0x0edf860c, 0x5f030247, 0x0fc07304, +0x79475d0b, 0x6e3de8f0, 0x4536ebd5, 0x8f110aaf, +0x0623c35f, 0x823a7d07, 0x008925c4, 0x1f16c70f, +0x4fe50ca3, 0xc702e804, 0x030e0369, 0x33e8017e, +0x2a06eefc, 0xc7fa163c, 0x0df9834e, 0x5015e276, +0x40b475bd, 0x66e40c4c, 0x090d5a07, 0x6e9db321, +0xc066ed09, 0xd188002b, 0xad510bf6, 0x097d800a, +0xd8640f11, 0xd827db53, 0xe4555600, 0x0340c4c3, +0xcae76af6, 0x8f5dce54, 0x103cdfc6, 0xbd8d028c, +0x785fb3b0, 0x74b52c0f, 0x05663d39, 0x26778d04, +0x821fe336, 0x6f8db656, 0xfa3ee80e, 0x00d81330, +0xbae77dda, 0x7eddca4b, 0x11088cdb, 0xc7f63b0f, +0x51021b45, 0xdfb18eff, 0x531c5f38, 0x310ce856, +0x1677de0c, 0x20c78356, 0x1b60e857, 0x27fad9ef, +0x34680411, 0x5a0fea74, 0x06f336ec, 0xda316468, +0x666a550f, 0xd6b708e0, 0x402d0792, 0xe0e979fb, +0x26c08eda, 0xdbf70595, 0x0fc4852c, 0x16d18857, +0x740cc58c, 0x0b6a1b81, 0xc0316243, 0x12212548, +0xbff1bfc4, 0x0e6a8d38, 0xc60e528a, 0x0f0a3cbb, +0x42fea087, 0xc6e28d53, 0x7b899390, 0xa755682c, +0xb0544ecd, 0xa9433734, 0xf7fe7fbb, 0x2716c13f, +0xc674821a, 0x6ac1c3f4, 0x6519617b, 0xaf8f0c84, +0x62b380cf, 0xf4582478, 0x7046e91c, 0x1e7843a8, +0x7bcd8f3a, 0x3afc6c9b, 0x8422c683, 0x04560845, +0xa5df742b, 0xd6867572, 0x1387805c, 0x6be1836b, +0x277e8501, 0x26e89706, 0x6316d839, 0x4e0f30fd, +0xf88aaf6c, 0x0ba4f7b0, 0x4c1de3e9, 0xdb05dc3d, +0xff6dc286, 0x3e13cf8f, 0x093414ea, 0x14cffdb8, +0x0c8b74ae, 0x08748d24, 0x012278f3, 0x31cf12e0, +0x73cfd129, 0x736db60e, 0x15297785, 0x2034450e, +0x0efe030e, 0x0f7cf6f4, 0xfc15fdff, 0x01dfe7eb, +0x623f3468, 0xc42ba04d, 0x186ee8fd, 0xf8982fc4, +0x057e074c, 0xf81e07b9, 0x84a5fc52, 0xe8e3d3c3, +0xc751f2f6, 0xaa071c71, 0xa437d3a5, 0x29f9f799, +0xd1125fb1, 0xa4c1bbda, 0x8b54273c, 0xd6381048, +0x77d341b1, 0xa173748f, 0xca12c134, 0xa04323c8, +0xfe248b54, 0x96b5dbaa, 0xaa4f8db1, 0x460813b8, +0x5b046ec4, 0x07fe766d, 0x6274a1f3, 0x0616fc78, +0xe0d1c307, 0x1318bc80, 0xb6225ede, 0x05550618, +0x0604f07e, 0x41e06174, 0x54c03af7, 0xb4682303, +0x43c4cb80, 0x1917eb30, 0xec40b703, 0x54e72ba3, +0xd486d91b, 0x61101980, 0xf8e6f8fc, 0x31770fa1, +0x6851df03, 0x22a664c3, 0x01831487, 0xdc663804, +0x397df6ae, 0x43120601, 0x0406146d, 0x1554ed8c, +0x57171640, 0xd5b8c0a9, 0x55241414, 0x94cd252c, +0x13dd2c8a, 0x7450182a, 0xa96c019a, 0x4f0ebe22, +0x438d68d8, 0xf876506c, 0xb801b3d6, 0x217016e0, +0xc3db0ada, 0x0b39638f, 0xf6810b86, 0x7c3045b6, +0xb4199175, 0x2ee26b27, 0xb1df7526, 0x3e546856, +0x5914b80c, 0xee526b60, 0x18ede9c3, 0x7d28b977, +0x39197a5d, 0x3c6a78c5, 0xc69a50b8, 0x6604fc36, +0xe8823ca3, 0x9318341b, 0xe22c0452, 0x5b14cdb1, +0xc7000f5e, 0x9e6315d7, 0x1c02ea69, 0xe71a2971, +0xbf1c4a24, 0x8cfc360b, 0x06427437, 0x32ff2550, +0x6834df68, 0x2078e81e, 0x2be818ee, 0x592a1f1e, +0x665ac442, 0x671fbe5b, 0xdd10e71e, 0xec473ae7, +0xec112040, 0xc7220b14, 0x0722d9ef, 0x713a0224, +0x1354cf04, 0xbfa805a0, 0xcdbddb88, 0x4413abc2, +0x61932c35, 0xc5e8ff23, 0x23113b68, 0x22e9d99d, +0x3de0f01a, 0xcd04e38e, 0xc7b4ce0a, 0x502bfa6e, +0xd163e9ac, 0x19500176, 0xddb0b40d, 0x987ee013, +0xfb2d9136, 0xee12c76a, 0xc7561544, 0x2ec5eb37, +0xfa72e105, 0x0088e245, 0xb5b6dec9, 0x40b43de2, +0x0ca3affa, 0x9764aed9, 0x5002efaa, 0xf100f4e0, +0x6c14ef73, 0x5bc1ace8, 0x7b01ecfe, 0xba0750ee, +0xfe5de8cc, 0x0e1b7d68, 0xcc45843c, 0x0d028b5b, +0x71164848, 0x95dbdecc, 0xc1d4b8c2, 0x3d791302, +0xe118c30e, 0xf1bdd59d, 0x08f6688d, 0x5aa34714, +0x1ae9154a, 0x1c19e724, 0x6db10744, 0x204e0512, +0xb2f0602c, 0x84c076c7, 0x200da8e9, 0x206aa0c1, +0x984d9e10, 0x869a0263, 0x73ede4cd, 0xce04ed87, +0xc60fd40d, 0x03b1b520, 0xfda7c09d, 0xeb3a4d79, +0xc07fed04, 0x065d0fe9, 0x578da475, 0xc301492c, +0x0873752e, 0x6aff101a, 0x2f03426c, 0x105c8dd9, +0xf29ae732, 0x60c76ecc, 0x98fd61db, 0x16dc87a0, +0x1b52c261, 0xd009d82f, 0x010e8bb3, 0x8af67360, +0x2e1cef38, 0x13116c0d, 0x1f073622, 0x96a6ba29, +0x01780d72, 0x38124c59, 0xbb16e284, 0xdaf07549, +0x58c6bdeb, 0x7d05820a, 0xb05742b8, 0x1e10691d, +0x0249d039, 0xc6c0f040, 0xd5192458, 0xef790206, +0x12205e16, 0x2e472560, 0x69a1e789, 0x36f1b669, +0xaa3da3a6, 0x528ca541, 0xfe42768e, 0xa6e74805, +0x704d72d8, 0x85b19c0f, 0x7c0ac919, 0xb9c14188, +0x9ae9885b, 0x0ec1bef1, 0x59950bc7, 0x8b832115, +0xb4771aea, 0x4f72537e, 0x416dc50d, 0xce7d8a06, +0x2038fece, 0x098461dc, 0x6c057363, 0x86d26e08, +0xe0e8f197, 0x21c00d1a, 0x12107e42, 0xbf1e17c6, +0x7878b64d, 0xfc18306c, 0x87c49d38, 0x063c36e8, +0x7fd7e92d, 0xb1a58055, 0x5010da17, 0x26e857c5, +0x9a1819ee, 0x14afd885, 0xb4e997ab, 0x202520ae, +0xbd5285c2, 0x1a25522e, 0x809a9c1f, 0x531df08b, +0x28cc7569, 0x1ffd84fe, 0x63e9018b, 0x6a1c6efd, +0x35f65e80, 0x10a18a34, 0x0c040fb9, 0xd2c1c245, +0x428258a3, 0xad74d3ed, 0xd05ba841, 0xeefbae5a, +0xa3d84f63, 0xd703e535, 0x7e1adb31, 0xaf747df3, +0xcc22a31a, 0x257d2097, 0x8291a12f, 0x6c21209f, +0xfbf4fc8b, 0x8c24bce3, 0x8024b42f, 0xa4249c06, +0xdfffff83, 0x981583c6, 0x1e1e2c8d, 0xd8841a9f, +0x24d14f06, 0x44740b84, 0x7d3e0abc, 0x1801db04, +0xd02ce380, 0xd2711a04, 0x9ebe945f, 0x0d020886, +0xdb90a148, 0x44afc83d, 0x011f28a1, 0x520a9b4a, +0x816c7d17, 0x511868a5, 0x0c553089, 0xec3e4153, +0xc140ef61, 0x0131ec09, 0xc9f525c4, 0x47e83988, +0x8eb7cb1f, 0xf9b16b94, 0xbc9da004, 0x2fc5a874, +0xea0e8edb, 0x1b88b6f4, 0x0b73ee39, 0x3edd93bd, +0x0a467786, 0x89b8f572, 0x2854a82d, 0x8e05afc5, +0x20524c75, 0x2e186a15, 0xbd5744c2, 0x6c34e840, +0xb8c868b8, 0x2c6c50be, 0x2e0452f4, 0x5c1ebb64, +0x0141b67e, 0xbab60dbf, 0xf130047b, 0xd178225e, +0x44de1bdd, 0x687700dd, 0x423a49a8, 0x15fffffe, +0xd4c362c6, 0xa180d988, 0x27badf7e, 0x6a30a090, +0x804bac84, 0x75d8313d, 0x56c33042, 0x541a7f02, +0xe1b61135, 0x0330e5ff, 0x568a2b75, 0x03fa8001, +0x8d131776, 0x8b9b8346, 0xba68c4fd, 0xee1e37e8, +0xb3c2851b, 0xff0be027, 0x22e90230, 0xaf5c12c1, +0x576a580b, 0x156e837b, 0xcaab9b49, 0x75d284f6, +0xfb351a7f, 0x55bb3608, 0x08c050ac, 0x0801841d, +0x196465df, 0xb3810e2b, 0xfd308001, 0xa02361db, +0x961a9789, 0xff6a9275, 0xdfd805c6, 0x7318ee85, +0x006a1246, 0xfdd0e88e, 0xaa1c05e6, 0x560019b3, +0xc1f0ccdb, 0x8ee9b656, 0x01c18202, 0xdfb1eadf, +0x08954e74, 0xeb948f01, 0x5256ed89, 0xad1f6fe8, +0xa1791d0e, 0xff9ca47a, 0xbd287c22, 0x86cf0ba3, +0xc735c589, 0x32d84461, 0x891a483d, 0x54d7e0cb, +0xec04e96c, 0xfbad8a6e, 0x88609d09, 0x108b0e66, +0x5eb70310, 0x1409c218, 0xfedae78c, 0x48aa5edb, +0x311a7a86, 0x99ec8ec9, 0x95bfc1da, 0x73d13830, +0x3200b817, 0xed1839e8, 0xaf1616df, 0x1144dd41, +0xf980f372, 0x08487405, 0x09b68380, 0x31d14817, +0x0bad7607, 0xc9148db5, 0xf23db92a, 0x4b4535df, +0x4cd2c047, 0x3c02416c, 0x63db763c, 0xb002ebb5, +0x5051a13c, 0x5003c08d, 0x54309ad4, 0xd51c8091, +0x16e81964, 0x10bf3cd4, 0x510dd503, 0xa8cf4388, +0xafa3e916, 0xfe1d1f83, 0xc9fef7c8, 0xabd3fd80, +0x7e803e05, 0xea86a301, 0x9d981e00, 0x008680f0, +0x9a4f6b62, 0x1b724762, 0x150625c6, 0x1346fe58, +0x9c3df6e9, 0x285347b6, 0xa39a16a3, 0x3a31493d, +0xe8476915, 0xaf4b1c27, 0x3b1f24b6, 0x8323db93, +0xfb3e4e1e, 0x5ae904eb, 0x93143bfc, 0xa4b8e400, +0xead1a16e, 0xce6f803b, 0x060af009, 0xf80f2479, +0x31fbd731, 0x46e0dc37, 0x8d7d2771, 0x0180027e, +0x55c139f8, 0x76c7aa3f, 0x758e5d83, 0x042c241d, +0x25781f80, 0xbab83034, 0xef6e7408, 0x4b731c77, +0x7b472843, 0x6f2d40ca, 0x7552385f, 0xb6641b44, +0x877c5147, 0x175d3b03, 0x5e7cb7c0, 0xfae9a572, +0x44c0b61e, 0x0f7520dd, 0x570dec09, 0xe871e827, +0xbbe90d4f, 0xd3e9340f, 0x3dfffffc, 0xc425e80b, +0x1af9dd36, 0x8842bd15, 0xbe01e998, 0xf8838952, +0x6181e99c, 0x8db76f64, 0xa2d1f041, 0x2f5c1e21, +0xadc518c0, 0x74c9ed20, 0x75631326, 0x85813316, +0x0ed03115, 0x2a5ff899, 0xf8b41176, 0x1ba81d3c, +0x2c3baf1b, 0x04290674, 0x036ff77c, 0x75022a7f, +0x1a38a1f4, 0x75044339, 0x1456c3ea, 0x0fab816e, +0xb000f269, 0xc3edc549, 0x3e47f7ec, 0x2e1a73f1, +0x81a0b96d, 0xb49fc558, 0xe3260756, 0x1a599819, +0x7d7ff511, 0x9d16ba82, 0xbfac1422, 0xa0c3636e, +0xc03104de, 0x1a7a06b9, 0x85db6874, 0x4053783c, +0xaa7076d2, 0x48570990, 0xd9a2fa3b, 0xf0a3e44b, +0xc108afbe, 0x945bddc4, 0xba7f6b48, 0x107e21ff, +0x55a83a3d, 0xba6630fb, 0x00c58ef7, 0xa5805829, +0x5306c0bc, 0x118ab587, 0xa1573fda, 0x85e2acb6, +0xf9b14800, 0xf01ddfe8, 0x13fd2ac4, 0xc1011a87, +0xf8f602ef, 0xea848f44, 0xba0f49ec, 0x43aa8570, +0x6e72685a, 0x2b6c388c, 0x44671396, 0x4e275718, +0x244a66b8, 0x09210547, 0x0656558f, 0x27194be8, +0xd385df0f, 0xe91a996e, 0xa314f2eb, 0xcf82f57e, +0x047316ba, 0x52f5d7f3, 0x056c4359, 0x5660d02b, +0xbba0c5ed, 0x57b1386e, 0x81d7c25c, 0x680078ec, +0xe06dba9c, 0x1608d403, 0x0492a8ac, 0xe16e20a2, +0xa1fa1f7c, 0x1e210aa4, 0x47803408, 0x22a2d8cf, +0x3723a616, 0x2d7eedca, 0x24a21ab6, 0x4740b90c, +0xeb95dba7, 0xc279ef82, 0x3d04013c, 0xf8184d0c, +0x96e8063e, 0x51d02ab6, 0xd1ed91f3, 0x6e010c96, +0x7818ff10, 0x1554c107, 0x18050385, 0x03958378, +0x0fa3f7d3, 0x0261b669, 0x2d2f2295, 0x0d0c9ae6, +0x73ce8d06, 0x3232182b, 0x5416c1f2, 0x3887e068, +0x4dfbf201, 0x800f1037, 0x680d6a52, 0xe917931c, +0xcd006017, 0xff8dc632, 0xf4e010dc, 0xe814bec7, +0x713df15c, 0xed9b70e9, 0x89ba2e1c, 0x284b5ff7, +0x31cba13b, 0x8f50fe9c, 0x7d581f9a, 0x242cfbfb, +0x436afb68, 0xe8ffb66a, 0xcafaf2dc, 0x7ea26bbd, +0x246a28ff, 0x6a561ce8, 0xc91bd175, 0xb58ee8c7, +0x6c4838f2, 0x687f04f8, 0x5728eb00, 0x0c4ece0c, +0xc4ddee51, 0x09cf587b, 0x1adc8ca1, 0xd8225ee8, +0x892fde0d, 0x2dc729df, 0xd615d47f, 0x638455ab, +0x5a7f0424, 0x85ee8484, 0x13570c03, 0x6384e32b, +0xfa2b1cf1, 0x71611d16, 0x420760d6, 0x0416e31d, +0x9192643a, 0xcc3d162e, 0x64109bf0, 0x43b543e4, +0x66c27316, 0x319e99a4, 0x409a4cdb, 0xebff8b38, +0x13fb8309, 0xf9858f0f, 0x0c581455, 0x02c7e118, +0xf69f5f18, 0x010ec612, 0x0750f5f0, 0x4a11ed49, +0x43c2767c, 0x05e5b108, 0x2426a875, 0xde3f65b6, +0xf939f685, 0x4ae4bd81, 0x7548423c, 0x6c348143, +0x025d0f82, 0x38ec3d8c, 0x16b70513, 0x970a6d45, +0x20641d8e, 0x4ced9df3, 0x9a941d1a, 0xbb08ece7, +0x5d1ab323, 0x3b703102, 0x5d008316, 0xffe53374, +0x27536fb3, 0x838d993e, 0x00831f1b, 0xb6050807, +0x2e7768df, 0x470412d3, 0xd78ed23c, 0xc36cbfad, +0xcf483944, 0x42c8daa1, 0x50ba8110, 0x77024c03, +0xc64784fb, 0x155abd51, 0xa068495a, 0xbc0dc22f, +0x41575a92, 0xad86a7a3, 0x03841af0, 0xbe681535, +0x03418df0, 0x02756dd2, 0x0267682e, 0x6899fa78, +0x7342c5bc, 0x0d3411ae, 0x0e6aa3eb, 0x8158f796, +0xa91f30c1, 0x78048368, 0xff3bf840, 0x28e82835, +0x6ce89ef0, 0xf24c21ee, 0xebb49448, 0x307b6a8a, +0xd0533642, 0x1482e8d9, 0x303d82d7, 0x0068453e, +0xc9146b77, 0xc1c8c23b, 0xfffe3cbc, 0xbddc68de, +0xfd848d67, 0x00001184, 0xe81e3fa7, 0xd81e48e4, +0xc7a4ef83, 0xedaa0fed, 0xe9a2be88, 0xb21f69e2, +0xf809a804, 0x39ba09bb, 0xf738e38e, 0x01029be2, +0xc211eeb7, 0x20e7e944, 0xc0310090, 0x182144d1, +0x3867f292, 0x3aa9044b, 0xd1d2ccca, 0x548c04f1, +0xf6fb040f, 0x1d102d02, 0x132703a3, 0x7f16aaa9, +0xd3518be1, 0x5c418bf2, 0x2ce50e77, 0x771806e8, +0xc1ad8665, 0x451d51de, 0x8b150c7f, 0x80835457, +0x0c8dfc5b, 0xd5891c76, 0xf78dd889, 0x51a96df5, +0x07df57db, 0x1119cf32, 0xba69ba97, 0x446c277c, +0x9f396868, 0xfdd86478, 0x7877c442, 0x7277df03, +0x4213548b, 0x5008b758, 0x68e28a21, 0x316b5e72, +0x1977b788, 0xa35876d8, 0x9788d44d, 0x6110ae80, +0x4703e41c, 0x6ac1536c, 0xfe10786b, 0x2ce2d913, +0xc77bdb15, 0x22ff5378, 0x04ac3860, 0x44f43c14, +0x33906c38, 0x608207fc, 0xc3299b90, 0x4ae9d619, +0x00db6f60, 0x04e1a37c, 0x77034651, 0x20c0336c, +0x4e481197, 0x46528879, 0x79f858fc, 0x7b5650ad, +0x0fe0f281, 0x3109e0c5, 0x89da486c, 0x751721c7, +0xed31879b, 0xbd3bd62e, 0x7860d168, 0xe200aa8d, +0xeb0e2034, 0xe86d16c6, 0x1f75d829, 0xecd65c07, +0x07b7a0bb, 0xd875c289, 0xf7de75eb, 0x20a11889, +0x3f505420, 0x18954bee, 0x0341ed50, 0x104c40ff, +0x6e2b187c, 0x30c12a36, 0x1c42928b, 0x0038005f, +0x8948dcde, 0x82277842, 0x4257001b, 0x41db6774, +0x688b6774, 0x68b57c3e, 0x7360b19b, 0xa22ee4c0, +0x0aa77838, 0x3642856d, 0x84358fe0, 0x40dc2076, +0x3f45038b, 0x86eebb71, 0x4cf3a753, 0x4819db31, +0x6f394c31, 0xd3c7ff86, 0x06720fb9, 0xc1396f77, +0x441a6b77, 0xabb87451, 0xa7403609, 0xd17ee281, +0xaafa5ac7, 0x4428d06e, 0x18131ca9, 0xc41d6c70, +0xb32c2655, 0xec3ecf78, 0x66602558, 0xc3f6ae9c, +0xb59d4b74, 0xfebddf6b, 0x2b514674, 0x86502826, +0x9dc2a74c, 0x5a582bdd, 0x2c8f0c53, 0xee1bec78, +0x8b5c46fe, 0xc8296056, 0xda194876, 0xc8014c56, +0xd7a5da11, 0xe93e0f04, 0x36b3ff6e, 0x47588250, +0x525470fc, 0x40ba4a50, 0x6efdd0c7, 0x280fc7bd, +0xcd880f0c, 0xb717c3a6, 0x849ff1e0, 0xb18d71dd, +0x203dfbec, 0xba50415e, 0x3a3db8d4, 0x28712360, +0x4124b3fe, 0x3e4d8f84, 0x686e831c, 0x0dda53b3, +0xe20e1da0, 0xbd392ba3, 0x0a025120, 0xbb36c1b1, +0xd5781639, 0x02964ca0, 0xda8aa7e8, 0xfca5287b, +0xdd6e5a83, 0x9b6a9d05, 0xd374a3e9, 0x9e9ace01, +0x11625fa7, 0x0afa53df, 0x0a3df007, 0x29f137db, +0xdad719c6, 0x4655cf01, 0xd29c1702, 0xbddc8b50, +0x2fc217be, 0x41a279c9, 0x6c93100a, 0x2a41614e, +0xfd4bdce0, 0x4041b458, 0x2c5b284b, 0x44f59ac4, +0x961bd8f7, 0x300040c5, 0x55165763, 0xd76274bf, +0x31de98b0, 0x7c887ff8, 0xdcaf8946, 0x855d202c, +0x7bb1bec0, 0x94c60222, 0x50047a83, 0x0fb1c03d, +0x25502823, 0x309cdd02, 0x46ddc8ee, 0x3c2d02ae, +0x1b84bd2b, 0x76e80206, 0x072d3cdb, 0x3a800d89, +0xa4c5ac3e, 0x7b8de78b, 0x41387c74, 0x0f200aec, +0x3f6b0740, 0x5202c3b8, 0x89980954, 0x9b18502d, +0x49a97c55, 0x36bab62d, 0x296bc043, 0x5c7c20a3, +0xfc5330c0, 0x3a1da3be, 0x2715d772, 0xfbb7e203, +0x05b83589, 0xc232b4a3, 0xed83adfc, 0x57be26f8, +0x57206142, 0x4efc52c3, 0x41e8e11a, 0x481834dc, +0x5484ab20, 0x19ad8ff6, 0x12c5987e, 0x00000bc7, +0xf43c2141, 0x844a1c60, 0x9061e423, 0x7d0e91ea, +0x8e061a42, 0xe7272470, 0xe54802db, 0x1d8376fe, +0x71e952a4, 0xeb66e3db, 0xe82cd197, 0x8df909f9, +0x108631b8, 0x842b66d0, 0x0ad871e3, 0xdb241e5a, +0xdd1074dc, 0x7a80890d, 0xbefe4e1b, 0xaef17df7, +0x72071111, 0x41d1e915, 0x87dfbb7c, 0x2b7838dd, +0xfb813b43, 0x118779fe, 0x66c3f634, 0x07eeb7f4, +0x2ba4df75, 0x57530eab, 0x5223d9e8, 0x8986bb18, +0xb910cd8a, 0xe055ec24, 0x8d34f05f, 0xfdf8fd46, +0xaddcb877, 0x1d56fa23, 0x10edc124, 0xba040899, +0xec110a8d, 0x8d2b087b, 0x7954da0b, 0x18ba2d44, +0xa805c1b7, 0xfa68bf15, 0xb678a030, 0x042c0c13, +0x230a2706, 0x177384ed, 0x345c02a0, 0x051acf01, +0xe9722468, 0x7f62cf04, 0x4274d2c4, 0x35731440, +0xdf64ece0, 0x08e9c16e, 0x73280beb, 0xee753f21, +0x8758235d, 0x3943dbed, 0x1ee175d5, 0x02b06105, +0x21df4998, 0x1e2f014b, 0x5a303f4d, 0xe2980bba, +0x2d428819, 0x066602c3, 0x7ba91d0a, 0x04428ddc, +0x45060727, 0xf6dc306a, 0xc7c5d91a, 0xc9693023, +0xee93c40a, 0x42b21758, 0x146ae814, 0x61d5a71f, +0x643c9a01, 0xfb52be05, 0x24d6f04d, 0xeb0c2418, +0x24fe8608, 0x56552e7f, 0xe089ff29, 0x45287da4, +0x74fce283, 0xe1cda8e1, 0x7401ee4e, 0x268622dd, +0xb0383579, 0x1050f0d0, 0x174fd27e, 0xd4873d42, +0x612ddd02, 0x1a045019, 0x43424d55, 0x8a47236c, +0xdd6a172c, 0x688446f5, 0xc418c30b, 0xdb5b547c, +0xf758d488, 0x3bdbbc1a, 0xedafd76b, 0xd0b5e9fd, +0x58456110, 0xb708ad0a, 0x1a700319, 0x1adf2ddd, +0x0f0d837b, 0xf6e8def8, 0x5d544721, 0x74a68a7b, +0x6dc6f842, 0xbc571903, 0xfb008af1, 0xbee9474f, +0x468295b4, 0x18e44241, 0x52a3601a, 0x805b56db, +0x7457c272, 0x410adfdf, 0x4c0e0c39, 0xc3ca44f7, +0xe7ab7516, 0x44aece04, 0xb7b6d0d9, 0xce443970, +0xd277e08d, 0xb1ae3c1c, 0xc8da76f0, 0x0816ae04, +0xc8b62fd8, 0x3e39886d, 0xfd093b84, 0x6dec3e14, +0x2fb5630d, 0xeb042f54, 0x4b090ed2, 0x3c15a7e1, +0x01214705, 0x704901f0, 0x5e094053, 0xae06f58c, +0xf9a6145e, 0x4329114a, 0x1b55de95, 0xca6f140e, +0xd0398605, 0x4d9b1874, 0x26368b98, 0x8a4350ac, +0x05ad901c, 0x20dd0d18, 0x6e08441a, 0x761f052d, +0xd88273b8, 0xf821c264, 0x87178b1a, 0x6a8d3627, +0xf9ac0849, 0x5350b05a, 0x824629b8, 0xc2e8a564, +0xf6f48bee, 0x891af4c2, 0x6730a6a3, 0x1dd1fca6, +0x034421dc, 0x3124a8d0, 0x013f0643, 0x075b1d7f, +0xdaebf023, 0x04538d76, 0xb01905cb, 0x1a334e52, +0x6717c15c, 0x2d560baf, 0x4614d0ac, 0x18b002f5, +0x2de86100, 0x34d6f907, 0x9da40d97, 0xc756745c, +0x0326ad60, 0x321419e4, 0x0c709361, 0xb72c0c17, +0x68784aee, 0xf62d5634, 0x45e35463, 0x9913df6c, +0xa341bee1, 0x980d9768, 0xc35ed021, 0xce40d082, +0x0642f012, 0x62ebc0cc, 0x503b970a, 0x3145fcd6, +0x1018f281, 0xeae60875, 0x2d7e0182, 0x05299c09, +0x340326d7, 0x7e3c190c, 0x7f8026d2, 0x858b84e0, +0x346a5508, 0xc064c77d, 0x083c0a29, 0x2fbe3f3c, +0xdaad011d, 0x235b7623, 0xd80e88fa, 0x57137452, +0xdb2e50e9, 0xdb70091e, 0xef3c0743, 0xec0f1d31, +0x247bfb01, 0x08693e74, 0x4e2a5540, 0x042bafe8, +0xc6d2b6cf, 0x775f0828, 0x2cc408a9, 0x338a2709, +0xb1001ea6, 0xac8bee3d, 0x53d78e02, 0x84c39dbb, +0xf89682c7, 0x731a1e6a, 0xc7596d67, 0x6c54e885, +0x5fc38337, 0x57021d10, 0xe272e325, 0xdc85526a, +0x689abfab, 0x29ff8c0e, 0x1eda1434, 0xff921481, +0x4fa35e8d, 0xa0155c3f, 0x1574915b, 0xc1171a43, +0xc2e99637, 0x46c7131f, 0xa0fae70c, 0x1113c09d, +0x73651ac7, 0x5c0bbbb0, 0x3810466c, 0x483e3874, +0x041bcf75, 0x729f1885, 0x405b5ae4, 0x16d8b3aa, +0x4663f87b, 0xdb4d2224, 0x97076178, 0x05f0147e, +0x135646ff, 0xbee100bb, 0x912172e5, 0xe0092fb0, +0x023abe8d, 0xcb8b5859, 0x21560c70, 0x070563a1, +0xea701775, 0x41eaa8d5, 0x37501734, 0x4112da62, +0x527ec76b, 0xc26a892b, 0x76d688a5, 0x18bbd40d, +0xe7922e1b, 0x18045015, 0x21636e26, 0x042689fc, +0xc9ab1c1b, 0x0b2dd54a, 0x8f20071c, 0x7d8ce262, +0xdf06d6d1, 0xce784d20, 0xc3023e03, 0x6601bcce, +0x67048c3f, 0x09eb98db, 0x060c7e06, 0xcbe40884, +0x44ae6d97, 0x5340e0ce, 0xea0e3fdf, 0xeb0a2724, +0x49735694, 0x76ffd5b8, 0x371df7ae, 0x12422e33, +0x7577160e, 0x68076988, 0x200326c1, 0x508b0623, +0x439d139a, 0x4e4b8a43, 0xe91c669d, 0xa74a4b30, +0x28137705, 0xe8510e84, 0xa84d5b04, 0xa3f35259, +0xe0dff18a, 0xee8416d4, 0x1b74c784, 0x7425fa80, +0xc006bb2f, 0xffed9914, 0x6b178829, 0x47df83c7, +0xe5752046, 0xc60339a7, 0x06d13a43, 0xa0282540, +0xb170ab1b, 0xf6a91ff6, 0x58a3583d, 0x0b432e61, +0x62d815bc, 0x85731c01, 0x41bd2308, 0x30f5e800, +0x11bcb94e, 0x19b9edcf, 0x086c0112, 0xdb6800b8, +0x010af5be, 0x20c8f477, 0xb20c783c, 0x6465cf15, +0xfa08641b, 0x2101bd40, 0x2c8cba47, 0x017763f9, +0xe88830da, 0x3c43542f, 0x3930b345, 0x45830feb, +0x0462b800, 0xb3f2280e, 0xa6dffa8f, 0x0788038a, +0xe4eb4743, 0x83dd848b, 0xda26d806, 0x18188106, +0x2e16843c, 0x0dccc0f0, 0x902c4f46, 0x6c576ebe, +0x4ee81e6f, 0x30461dd3, 0x8608fef0, 0xda6b954c, +0xe64d87a7, 0xc60a0a96, 0xb112042f, 0x1ef64602, +0x64494e85, 0x65a00fa8, 0xaff9eb35, 0xec1b8225, +0x84ebc980, 0x4149d3d8, 0x0ff1dffc, 0x3839808a, +0x4588d009, 0xe9834500, 0x76e87904, 0xe5ee0e84, +0xdef52750, 0x440850fe, 0xedf256a8, 0xab400dbf, +0xeb89bfd2, 0x4ab9990d, 0x0abb176e, 0x38f9f71e, +0xe6038a1c, 0x1605db00, 0x67f25514, 0x5ff70066, +0x1e0c3a30, 0x2e0c8904, 0x6f5536c1, 0x0502fac0, +0x02c22945, 0x6c37be75, 0xbd478d4b, 0x2a0aef0b, +0xb60b8802, 0x4aff7343, 0x77da3943, 0x7dace9f1, +0x58df5edb, 0x0a351d6b, 0x5430649b, 0x2d8b2604, +0x37e9317b, 0x459b1ee8, 0xee231406, 0x73e9301e, +0x63b03069, 0x0e3f85c1, 0x8fe995d2, 0xa980c1cb, +0xc86a2c86, 0x1a0d86ba, 0x1e76d878, 0x4ab10341, +0xedd67f16, 0x39e855e2, 0x3ac50169, 0xe2771d43, +0xd419e94d, 0x44600ab7, 0x390653ff, 0xae91d9d3, +0xde73aafd, 0x4e3f7351, 0xda79fcf9, 0x43b60e5a, +0x3dbf503b, 0x776bfbdb, 0x45af3d86, 0xcdf45cf7, +0xaabfe92d, 0x0e5c83b1, 0xb7d16303, 0x9c1314fd, +0x4e450470, 0x16acf17b, 0x1ec5a12a, 0x50d890c3, +0x1858018d, 0x52db85ba, 0xb808cfe1, 0x8a307414, +0x6d32b907, 0x84d2d2f1, 0x74342628, 0x1b5f3822, +0x0ba5e26f, 0x36c188d2, 0xe720488d, 0xd188c888, +0x776fd10a, 0x38204a0b, 0x0375ca08, 0xe817754b, +0x430d6d05, 0x7a15d202, 0x5eba27e1, 0xcb891508, +0x4201808a, 0x88244541, 0x81f62ead, 0x4f09f452, +0x89b94c1b, 0x8bb64ade, 0x74c2b7ba, 0x41034ea6, +0x66f02343, 0x9d34d577, 0xd34c543d, 0x4204eb94, +0x76eec06c, 0x24fa7505, 0x48424102, 0x43f6ce4c, +0xc93746c1, 0x1b74d63f, 0x2cdfa52c, 0x74430307, +0xf3754906, 0x5dda34c6, 0x955760b0, 0x1a2ac34a, +0x15f4161e, 0xf0993a02, 0x0efdc2d3, 0x20da51b5, +0xa8ef05eb, 0x025ed8a9, 0xd738108a, 0xa05728f5, +0xa92db300, 0xbac1b05c, 0xa01ff144, 0xf7aef2df, +0x38d849d1, 0x836d1510, 0x3b4827da, 0xab9d19f7, +0xb8ab1cf8, 0x89d6384a, 0xe9501bbe, 0x111174c8, +0xe4404a17, 0xdf868a05, 0xf4758002, 0x6ec3c829, +0x6ed03a56, 0x31a2ba06, 0x60cf7cff, 0x752169a8, +0x8e03f116, 0x2f6c3510, 0x74f18974, 0x106e161a, +0xabb58d7f, 0x5bf5ae38, 0x74bbc39d, 0xcd3843f3, +0x47356dde, 0xe9ebd5b1, 0x64f39556, 0xaf46c2e4, +0x140d4323, 0x1bf02744, 0xe3752643, 0x30a35a73, +0x8981384c, 0xbbaa79f0, 0x8130a025, 0xc301d864, +0xba82ff59, 0x74584c17, 0x169b0f3c, 0x09745a5e, +0x74117ea9, 0xa3e574b9, 0x552fa7f4, 0x8b3d58ef, +0xdb540a1d, 0xbf7ef174, 0x282b7597, 0x64c4753b, +0x001f05c7, 0x410b6200, 0x1ef21280, 0xb6c7672c, +0x2f10bb0f, 0x595a5b3f, 0x447e8956, 0x5306b178, +0xeba4f690, 0x8f0a9e06, 0x4301c21b, 0xe2362041, +0x462c9d5b, 0x203520ca, 0x61855b08, 0xa46a986c, +0x8265f685, 0x1b6d742b, 0x13020192, 0x4eecd018, +0x7b170c61, 0x69ef754e, 0xb10c371a, 0xf6c2b636, +0x02210b74, 0x2c428cc4, 0x06209ff5, 0x318e27d1, +0xd0885c8b, 0x4e4e7854, 0x60f21815, 0xf502dfb4, +0x74da89cd, 0xa8031227, 0x89fc4edb, 0x5514ebce, +0x307ed490, 0x7ade944e, 0x71951761, 0x4fe87dee, +0x008360b1, 0x7808daf9, 0xefbdbf4b, 0x58f98349, +0x8d9fb30c, 0x428aff50, 0xa39e3821, 0x0a7e6df8, +0xc2f27518, 0x1158c484, 0xb8b2f30f, 0x53803e36, +0xf27753d0, 0x654b110d, 0x10b84080, 0x48822fa2, +0x42d07989, 0xc81b8206, 0xfddf3d80, 0x8a5f88c3, +0xe03d83f7, 0x01c84c08, 0x2a92b4a3, 0xe34500fe, +0xffd2088b, 0x63b23dff, 0xb25c37c3, 0x05c74601, +0xea07b21d, 0x82c79032, 0x88f10977, 0xaa004182, +0x1aee2812, 0x12e84f54, 0x4b245bd2, 0x297c4456, +0x788ac455, 0x45fa7ca8, 0xfe5d7064, 0x7c167457, +0x3f0b608b, 0x1176c42c, 0xd8e013e8, 0x2138368a, +0x07111dc3, 0xdb042f7b, 0x1085e89e, 0xab41e8ac, +0xe56f170a, 0xe6eb7e88, 0xdbaa91e8, 0xc8eb010a, +0x105820b7, 0x016a6cce, 0x447f0108, 0x92c4bf6f, +0x556d4149, 0x0f75fb3c, 0x60126a0a, 0xb0a79e0a, +0xdd63e401, 0xc2c287f0, 0xc1661639, 0xc5c508ea, +0x15464075, 0xe89b51ac, 0x888c9c91, 0xf9b592d9, +0xd8dee889, 0x909b5822, 0x1a53681b, 0x155e8c88, +0xf860972d, 0xbeefbfa2, 0x35de1538, 0x0538b875, +0xebb007dd, 0x5d4108df, 0x0693e630, 0x6f157bb1, +0x360c753b, 0x0ba28c03, 0xa7d14921, 0x14c03100, +0x056db047, 0x2dfed8b6, 0x112daa5b, 0x7c89902c, +0x6361ec21, 0x741c5fd7, 0x6d853ee3, 0x6c3db081, +0xb06c0f4f, 0x4a6dc548, 0x6832cffa, 0x2f254843, +0x69f6fdd4, 0x7c99b648, 0xef30a36b, 0xf006b707, +0x47b70f03, 0x5706f50a, 0x68a0c608, 0x2957f850, +0x2a961774, 0x74bf7973, 0x056c2b12, 0x03446122, +0xeffedf68, 0x02512b76, 0x10348d32, 0x7f80de29, +0xf5890103, 0x34ba0911, 0x74980088, 0x4e10a91d, +0xc04c2806, 0xda1fa4d6, 0xaa386ac8, 0x7e13691b, +0xd1c51638, 0x29817d30, 0x8035b8a9, 0x97604831, +0x553a4762, 0xcec25e51, 0x07bb43ed, 0xb83407c6, +0xdeeb1f06, 0x4e8dc43e, 0xe71c73c4, 0x9b83f289, +0x6ea94b88, 0x0ee9890e, 0x308187eb, 0x003416e9, +0x4f5c4103, 0xb2e10250, 0x02ff21fc, 0x102d3ec3, +0xf8e2fcde, 0x8d0124fa, 0x3a0a8430, 0xae400344, +0x62b125b0, 0x01c8894f, 0x2908a1bc, 0x2d9b9578, +0x0b0c1995, 0x06e82f41, 0x87dc37b1, 0xa23d0843, +0x0a857336, 0x8f85895c, 0x5b1b2e59, 0x0c894dde, +0xdd391c13, 0xa1b4f876, 0x008b86f8, 0x3a2c461c, +0xc206c82e, 0x01304063, 0x71a4ec00, 0x0e5916c0, +0x58fb8cc2, 0xef9038ca, 0x4982cd77, 0x57205d78, +0x092ca142, 0xff787adb, 0x1f69fd15, 0xedb6b702, +0x260f705d, 0xdde3c8a1, 0x56ca0903, 0x054f5e2b, +0x482fa1a1, 0xd8c28558, 0x37880a07, 0x52ba424c, +0xdd5487bf, 0x3d08e21c, 0x78aa0b2a, 0x0942dae8, +0x0d140a76, 0xf142eeb6, 0x9beb3b72, 0x030a0358, +0x011ba6bd, 0x08030728, 0xbe222409, 0xbba602a2, +0x9e439157, 0x85bce01d, 0x54770bfa, 0xbbfb12b4, +0x54680809, 0xa2138037, 0xdaa7418c, 0x2c547b8d, +0x3f1ab7c0, 0x98968012, 0x50e01683, 0x976f882d, +0x22f44620, 0xd8d70466, 0x04143aab, 0xe30ae3a0, +0xa503f060, 0x76164774, 0x1180bb3e, 0x0c4f5a19, +0x045b7543, 0x0ea069a0, 0x35d70f03, 0x752bbc05, +0x4908257e, 0x8b1c0216, 0x03e13819, 0xef596f6c, +0x3c50a408, 0xf0eb1f83, 0x5add7548, 0x8c18cb6d, +0x22d587b1, 0x1f024e01, 0x59dc8859, 0xa752c5b1, +0xb0f67b25, 0x313b0e41, 0xeb653a75, 0x046324d0, +0x18223b0f, 0xeae6ca74, 0x05bb0582, 0x76247652, +0x5e33b38f, 0x26c1b2d0, 0x36303150, 0xb7ebde8a, +0xf204151e, 0x5877b533, 0xd9dd0608, 0x8d041073, +0xff19c230, 0x20b10513, 0x59fec171, 0x0f12f752, +0x41080d91, 0xbc160c86, 0xe78a8f0a, 0x885508eb, +0xfb8d5488, 0xffbe1d13, 0x7f547423, 0x08003d45, +0x0b7c4420, 0x8d2ff087, 0xf717e856, 0xe9589518, +0x047384b0, 0xde131f85, 0x9e305f8a, 0xe0ca9636, +0xbbcce9d6, 0xa7265fbb, 0x24bb7598, 0x05b9eb03, +0xc607eb02, 0x79b38301, 0x04e3f85e, 0x02018fba, +0x2e305575, 0xc9a4183c, 0x2e2f181a, 0xa024120d, +0x57c6d746, 0x48136e8b, 0x77001156, 0xcc0844eb, +0x9be08a83, 0xb87da237, 0x66260d0c, 0x75088f20, +0xa28462b1, 0xdc02b444, 0xeb6c3991, 0xd7575018, +0x154254d1, 0x43be00ec, 0x053ba9eb, 0x57b074eb, +0x1291efc5, 0xeb18a302, 0x3da00597, 0x7041b2e4, +0x4c6dbe74, 0xac5d8a00, 0x0e718966, 0x3f54d63d, +0x7854666b, 0x8912184f, 0x0c3e9490, 0x1c600636, +0xffb4980e, 0x50761174, 0x05a50fc1, 0xd6d6c79c, +0xf58ad606, 0x5f8aea2e, 0x89003b20, 0x1bf72107, +0x5ea02d24, 0xf32ca6c8, 0xf601b0f6, 0x2b7427b0, +0xa6ba811c, 0x68d71f74, 0x08786d87, 0xd0979e50, +0x752e3833, 0x1c4fbc55, 0x9c828dca, 0xd9c582af, +0xe4c7e8af, 0x0c099882, 0x47087ecd, 0x90825113, +0x4c2a0000, 0xbadf6206, 0x5e0e6ca3, 0x06539cdd, +0x4b12cde3, 0x41bb8556, 0xed515216, 0x96c0e1d0, +0xeef4f20a, 0x2778fc18, 0x53561d00, 0xfb509a9d, +0x200f56f7, 0xb28b2eb0, 0x3e048d7a, 0xd518793b, +0x7315100f, 0x8dc65128, 0x04ed9366, 0x3b504a33, +0x250068bb, 0xe3632d7a, 0xa8dababc, 0xc8d1c132, +0x621f5853, 0xd7498e50, 0x392cadf5, 0x5bbb0a1a, +0x4551e355, 0xf1158f23, 0xfb53025e, 0x2fba88b0, +0x868b5873, 0x8b5a1486, 0x422c7843, 0x968becc1, +0x1841f482, 0xffd20984, 0xae8c0894, 0xf968c01a, +0x2bd3e751, 0x3ba658b5, 0x08016a0e, 0xc522126d, +0x9e5bde08, 0x6058cbe3, 0x04f53df0, 0xde82cd5b, +0x756a00b2, 0x69906d50, 0x911e7c80, 0xa46b38d2, +0xc7197f87, 0x01fd0026, 0x90163236, 0x898b3ca0, +0x421d8123, 0xf4a06e28, 0x1fd8479c, 0x05748d29, +0x013960a3, 0x42446639, 0x19f7205a, 0x2559201a, +0x78bc8b07, 0x3b016ad7, 0x3b0b5afb, 0x516a1047, +0x98138b04, 0xda8065aa, 0x12bed6b9, 0x256a6f4b, +0x39f62ed2, 0x87e275d0, 0xeb342a0c, 0x018b3017, +0x077062de, 0x8ddec7b6, 0x1018f870, 0xaf0a2b41, +0x960f1c77, 0x73f0390e, 0x8e8e7e4e, 0x533cd66e, +0x10ab1214, 0xa178c3a7, 0x51498568, 0x4da35208, +0xf7d45d15, 0x377367f1, 0xb11207be, 0xff302c08, +0xc8aa13f3, 0x0711d961, 0xec5aa961, 0xded08908, +0x8f6aec0d, 0x707608b0, 0xab3276f4, 0x8ec1bbc8, +0xd993558d, 0x2dd230fe, 0x460a811a, 0x517c1d6e, +0x6789ee92, 0xba2b6014, 0x779e8905, 0xd3bf01b0, +0x6d150a5f, 0xe7d18940, 0xbf005d2b, 0x0e0ebb2d, +0x698d0c77, 0x61819d1c, 0xfd83fdd4, 0x7ec68973, +0x7e063219, 0x7a3e8e74, 0xce1215bb, 0x6857f365, +0x97e9d837, 0x83738bef, 0x7286a2c0, 0xf0ff396c, +0xba5501fb, 0x8a11512d, 0x3e8b7791, 0x343803cc, +0x4eed1e23, 0x551fa310, 0x74c0316e, 0x01e92d11, +0x51bb6410, 0xefb4a264, 0xbfa724d7, 0x3d3b6909, +0x960075db, 0x11ed0059, 0xfb59910f, 0x0ef02a7c, +0x8ba08476, 0xf6f234cb, 0xd03e9e8d, 0xa8f53d3c, +0xc6fe5e07, 0xa362ec86, 0x470212fa, 0xc606a501, +0xc8934408, 0xa3057055, 0x80cd62da, 0xc8f2313a, +0xa1100783, 0x74a1146a, 0x1e046018, 0xac86ab12, +0x58ac0c7d, 0x0cc6afb7, 0x08002c4d, 0x2391dc04, +0xeffc1c5b, 0x660068ef, 0x2876e798, 0x017c18b0, +0x5122a8d6, 0x9c08041d, 0x5fb7505e, 0x04ec0a44, +0x57113f74, 0xa6525806, 0xd2c6a680, 0xaff1cbd0, +0x816184fb, 0xb941ecfa, 0x89027304, 0xadd497d1, +0x9342bf14, 0x415bbaef, 0x5e81de3b, 0x75e23ef4, +0x1b5056bc, 0xa764a758, 0x388a7736, 0x22c9da89, +0x1603046d, 0xeb49dd18, 0x875eacc6, 0xa9866023, +0xf10be4a4, 0x254054ac, 0x6d8fe840, 0xe1bbb7e8, +0x76a433d8, 0xe831b7e8, 0xc911bd76, 0x9afb049d, +0x8fcf66cd, 0xbed6a56f, 0x2a080965, 0xba2841d3, +0x4ec00fe8, 0x0146d329, 0xdcb836dc, 0xc0d029b0, +0x2f589865, 0xd42763a1, 0xf0741ef0, 0x883236c8, +0x9111ff16, 0x9c022ce0, 0xd85bdd10, 0x60c0c581, +0x291416c8, 0x3ac0c149, 0x86f43f14, 0xf6a1629b, +0x840f3a12, 0xf4570b0b, 0x417fdb6c, 0xd70a080e, +0xd48b6d78, 0xafa0d01d, 0x5201368f, 0xe0ab160e, +0x0f3f036e, 0x4ddef58e, 0xa1bb3552, 0xd3e852f3, +0x56be80b9, 0xf8562dc1, 0x7a406430, 0xd96c645d, +0x4072200a, 0x469c6553, 0xa0151f63, 0x3b150ede, +0xd84c4db6, 0xb003495c, 0x0d18b4eb, 0xdb103b65, +0x5b361727, 0xb6fd0a0e, 0x3678b191, 0x100e0bcb, +0x040cf8c6, 0x3fb2138a, 0xf3f2d21c, 0xdb73191b, +0x42d0711b, 0xdf0e32ab, 0x0f6c646d, 0x0e339942, +0x700802ba, 0x6e40f30a, 0x6b00d942, 0xd839acfc, +0x8912810c, 0xb6551bf3, 0x0f6db191, 0x30464b37, +0x8c600e10, 0x46c65a45, 0x304d9211, 0x936efb49, +0x050e5ad0, 0x3301f324, 0x1ecb89d6, 0x84e611bb, +0x75073319, 0x6e8a6362, 0xf093cd9d, 0x84b6feb7, +0x65bb53d6, 0x0a7b64eb, 0x3d2b5d76, 0xd236ef4d, +0x34756cbc, 0x89fd572d, 0xdb632222, 0x5d82d8c8, +0x050e23d3, 0x1ec3255d, 0x44f066a4, 0x8f000302, +0x64dfb03d, 0x44724e44, 0xf941e9fe, 0xd63d9772, +0x73573112, 0xe917c475, 0x1d65ee45, 0xad9d0c27, +0x2eee1516, 0xb09a6ec0, 0x9a234102, 0x12fdefe9, +0xf3551c10, 0xe6dcf306, 0xdec9cfa4, 0xe95a2141, +0xaa10fedd, 0xac27ccf0, 0xf147613b, 0x47a734f8, +0x2361f623, 0x94127597, 0x36957b47, 0x37d84ee9, +0x36709176, 0x5d12f4dd, 0x09cd2137, 0x5b4afabe, +0x4e6909f9, 0xa81237d8, 0x776424f2, 0xf00fcd61, +0x12ed2511, 0xb09bfcfe, 0xe992245d, 0x974b12eb, +0xf65cf65c, 0xfbbbfcd8, 0xd8ccccd9, 0x03236137, +0x34445ac8, 0x139a47a3, 0x80b44df6, 0xf8f61290, +0xdf21307d, 0xefbf5acb, 0x97317e49, 0x3af6137d, +0x12b93659, 0x90f83646, 0xfa9d1430, 0x6850ab5a, +0xebe01c85, 0xea21b61c, 0xc6b80641, 0xba87268c, +0x092dde00, 0x43e5831d, 0xc112f800, 0xfb9ce823, +0x6ada8381, 0xc96fb78b, 0xb3d89746, 0x719056e8, +0x8bd3bdeb, 0xb344de8f, 0x08e3c11c, 0xd6c20bb3, +0x35f5dc44, 0x08b8b348, 0x2d870fb1, 0xff72df54, +0xfad6ff0e, 0x094de8fc, 0x88e43044, 0xec160e0a, +0xc4b62d1b, 0x383cc35f, 0x3e434c8a, 0x3c43d603, +0x0286eb0b, 0x1090585b, 0x726d773a, 0x3a09ef92, +0xb186d5b0, 0x605c85df, 0x3d0c8b78, 0xc82c0072, +0x16789724, 0x0aef9264, 0x775c373a, 0x0177e43b, +0x85fa3c0d, 0x2189771f, 0xd5700b15, 0x5e0b5417, +0x15fb1f2d, 0x8e02ad5b, 0x1db633b0, 0x6b205ea2, +0x80480e02, 0x5a8d837e, 0x29f3a80f, 0xfad839f0, +0xf754519f, 0x811a7212, 0x32335f3b, 0x7d9bbd5f, +0xf9b04cd8, 0x232510c3, 0x358be673, 0xeaae802e, +0x9a0d5b25, 0xff64ddb6, 0x5024b8db, 0x70e84943, +0x89099589, 0xdbd085d6, 0x9725edbe, 0x6f33348d, +0x2fc02504, 0xabd6b789, 0x99931110, 0xac9d989f, +0x32c2b1d4, 0xa1bc8562, 0xfe02e110, 0x703abd83, +0x0c15542f, 0x4857fa81, 0x93dda808, 0x90205322, +0x0be4ccf0, 0x34a4ec10, 0x2058a948, 0xc1561ee0, +0xe9fd8c5e, 0xfaa920ab, 0x091f42c5, 0x8c438451, +0xc156ff6f, 0x107dc24c, 0x42130c02, 0x84f87c07, +0xb501350a, 0x8a4d92c9, 0xeaabd800, 0x8189d30a, +0x027dddd1, 0x271218ba, 0x00433d04, 0xb9102177, +0xa3f7d7a5, 0xd2fee719, 0x70661a51, 0xd6684463, +0x1237c984, 0x3596542a, 0x91dfea6b, 0x95d3751d, +0x80c21f15, 0xdfb94374, 0x528c9787, 0x68316850, +0xe3fc3884, 0x7c0038a1, 0xf4d9c000, 0x23b7cc08, +0x19ac680e, 0x27bf88e2, 0xe9ac8944, 0xebf08479, +0x3726e2a0, 0xf4402be6, 0x61e45326, 0x7ff75188, +0x83fd7b29, 0xd08801ca, 0xb0b261e6, 0xf11a4305, +0xe67c4362, 0xdad9df42, 0x08df735c, 0xd6e9c3c3, +0x105e29d9, 0xc454fd05, 0x8ddf6da8, 0xb682d504, +0xd08f457d, 0xac028208, 0xc9adb82d, 0x033b0880, +0x7a150410, 0xad0218a9, 0x864b83ba, 0x008eefb3, +0x538907d8, 0x0002b0e9, 0xd9c83d00, 0x37d2b17f, +0x4dd3ba3a, 0x06241062, 0xcd51083a, 0xbf10578b, +0xc7442360, 0x03c46182, 0x06bf0add, 0x68ee11f8, +0x1b058c78, 0xd54bb007, 0x0e1fdb33, 0x45226409, +0xba642a68, 0x6a08e008, 0x57003979, 0x7c0739a8, +0x542ba462, 0x74040939, 0x190f8ac5, 0xe57845b4, +0x284514d4, 0x4ca7579a, 0xfddbb636, 0xa3219468, +0x40886684, 0x75f2128c, 0x06099093, 0x1db13740, +0x68fe84f0, 0xa01db3b0, 0x6eb8513d, 0x09a8a492, +0x0c11dc8c, 0x9a2dac54, 0xa8edffff, 0x160c1afa, +0xbc680368, 0x4fb036df, 0x54e4e29b, 0x48482e04, +0xaa30761d, 0x2e4c6b2e, 0x2a5b5052, 0x0209d7d8, +0x7131b048, 0x9d98317c, 0x606ce464, 0xf3ae2e64, +0x1e675f20, 0x7e310309, 0x48826807, 0x80c8c937, +0x07097874, 0xcd7d82a4, 0x4c31017c, 0x649bbbac, +0x342490ac, 0xc1098c88, 0x80a13906, 0x66172e1f, +0xd15725bf, 0x8ce26801, 0x2f14312f, 0x21d5461e, +0x2f1cbc18, 0x13c72b61, 0xc0e5e85b, 0x87ce68b5, +0x68e1d6c1, 0x18b0a2e1, 0x1072b575, 0x7be01284, +0x6bd920e5, 0xa3ca1cea, 0xf8090e10, 0x20968b1b, +0x8021e803, 0x075f5d12, 0x27e9903f, 0x0481be88, +0x6e90f0ee, 0x5e18a380, 0x891afbcc, 0x88f46ba8, +0x607a4b91, 0x2e95d880, 0x4b6eab96, 0x050f4475, +0xf2573ec3, 0x88805bb7, 0x208a0f4a, 0xb70ee8e8, +0x903a87b2, 0x000023f2, 0x6dd95ffb, 0x33224d57, +0x866c0349, 0x7445e41e, 0xd8c813f8, 0x0000ff68, +0x2b030135, 0xc0d04706, 0x617107fe, 0xadde0011, +0xff03efbe, 0xe3fc4bff, 0x8701035e, 0x5850203c, +0x696c4345, 0x3a746e65, 0x68637241, 0xeeb7613a, +0x3a0030bf, 0x49444e55, 0x3102320a, 0x82585f00, +0x02394fb0, 0x5f5bdc05, 0x36362caa, 0x0532bd36, +0xfffd916b, 0x510e37f6, 0x3c112b0c, 0x83828180, +0x87868584, 0x00670000, 0x017f6db0, 0xffff0d73, +0xaf726484, 0x41544146, 0x4e203a4c, 0x6572206f, +0x6ebb6c61, 0x6d2dffe9, 0x2065646f, 0x63617473, +0x5021906b, 0x564e0300, 0xff736573, 0x6143002b, +0x746f6e6e, 0x14762023, 0x7fd6fd24, 0x6e25213b, +0x64006369, 0xa26b7369, 0x70706f6c, 0xfdbfed79, +0x277230b6, 0x6c6f636f, 0x48445473, 0x54205043, +0xd9045446, 0x266ff12e, 0x384c5452, 0x51393331, +0x32076c74, 0x05b6ffdb, 0x663b620f, 0x38333565, +0x636d7300, 0xed633116, 0x2d31ec36, 0x65180931, +0x6133626c, 0xedb177ed, 0x55746464, 0x362e0b6e, +0x78743039, 0xeb1f6f64, 0xd465bbb6, 0x1e787630, +0x1d64f56c, 0x33776e66, 0xed63cd6f, 0x1e333036, +0x30303809, 0x656e9763, 0xfb6d4a2d, 0x20006f60, +0x751b202d, 0xe6fd8b31, 0x6636d816, 0x03023089, +0x65207872, 0x6ff6f672, 0x207261bf, 0xaa586825, +0x70746674, 0x756f4c00, 0x11676e69, 0xfb7b2ddd, +0x73253a40, 0x2f2f3a32, 0x613c0f12, 0x6e6b5b62, +0x3e742ebb, 0x1298572c, 0xe678ad16, 0x0c6ead0a, +0x03366e55, 0x6edf8e18, 0x4120f12f, 0x2522b450, +0x0a220163, 0x656c6970, 0x56b6e673, 0x3e207af8, +0x073f6d20, 0x0591640f, 0xc35a2a94, 0x05294628, +0x6c3fe1ff, 0x002e771b, 0x72673a20, 0x68206d61, +0xd0a17b89, 0x468c4e5a, 0x67696294, 0x6c042f28, +0x49424eb9, 0x72837f0a, 0x75bb6973, 0x3a446dcd, +0x42401e0b, 0xc200742a, 0x1687b5b6, 0x2161a712, +0x6f8469de, 0x69fbb6ee, 0x6967616d, 0x657f733c, +0x693ead70, 0xff6d5f74, 0x705e7422, 0x662008f1, +0x2ebc756f, 0xbddc22c1, 0x654d0a1a, 0x2c00404e, +0xad6b0ab6, 0x0abc0ec5, 0x9243f0d9, 0xb75ee73d, +0x20856c20, 0x094333d0, 0xb7376f67, 0x2d646d1b, +0x77f86147, 0x523a7961, 0x0ad63dd8, 0x203b0abe, +0x29062628, 0x6c68d800, 0x444d9fc9, 0x5a65a112, +0x3fd0b09b, 0x3e796d2e, 0x16856e21, 0xbc73addb, +0x614427a4, 0xc7342872, 0x74749bdb, 0xf046e563, +0x53d6dad6, 0x1006745c, 0x657a6934, 0xc3582371, +0x5b0b0158, 0xc4204346, 0x38dcbb38, 0x70004932, +0xdd985dce, 0x3b28a9b6, 0x75130a29, 0xb5bd6e77, +0x4bbd8b76, 0x4e57706d, 0x747562a4, 0x8da386ec, +0x641d49c5, 0x0e7373dd, 0x6d0c130c, 0x1a613e53, +0xd8c61819, 0x656317de, 0xf7641069, 0x3b696a62, +0x6ec73774, 0x64973a75, 0x010ab98c, 0x14f6085f, +0x09796441, 0x25783020, 0x8e6b5a1f, 0xc94b136c, +0x6f66b7eb, 0x84c3464b, 0x0aec9072, 0xdb7b114d, +0x6d4a2ed6, 0x27502743, 0xf7b4603d, 0x6f4a5bd8, +0x75572066, 0x14966c72, 0x0ae6c2b5, 0x6e2f1964, +0xb9baab1d, 0xac90ce0b, 0xd66e6b97, 0xd676650f, +0x8750d861, 0x8970799f, 0x645a6247, 0x733b98db, +0x5b5b9f61, 0x85175d07, 0x70f21adf, 0x32156963, +0x36353433, 0xeb69633d, 0x424139fe, 0x46454443, +0x68032ed2, 0x1e563a06, 0x6d5ad7dd, 0x2f00edcb, +0xdc14395f, 0x205b3e37, 0x33534f8a, 0xf53f7032, +0x91306fb6, 0x342e351e, 0x435b322e, 0x9b10be18, +0x2037abec, 0x50478119, 0x3587294c, 0x746b3695, +0x1c654454, 0x36f1ad2e, 0x44d90c0a, 0x0e57c9c5, +0x377c2877, 0x0d0a8520, 0x08b74fee, 0x6ed4208e, +0x51784500, 0x46c3b673, 0xc30e3ab0, 0x23c0aa6f, +0xd0bc36ce, 0x7269c0a4, 0x202ce571, 0x37862112, +0x7dd6e42c, 0x2d739270, 0x85e37564, 0x7f0d8c47, +0x58b94300, 0xc61af1f7, 0x20b4c45a, 0x0a896f89, +0xcdad0b8d, 0x61665fd7, 0xb70d63c4, 0x4938186e, +0x65d84d4f, 0x9b74de67, 0x607dadb5, 0x67091f78, +0x18210b28, 0x3d46dce6, 0x23540a63, 0x5b9cdb86, +0x04846c56, 0xf1c96fe0, 0xb992c045, 0x6c1de27b, +0xddf612c4, 0x9133340a, 0x94621d65, 0xf645f266, +0x6ea67bd9, 0x799d2273, 0x37e0676c, 0xd22c2d6b, +0x9966c120, 0x67a11492, 0x12825f46, 0xbbd8c6f6, +0x75f53d21, 0xeac119fc, 0x17a03c36, 0x70736164, +0x2dd0cb7f, 0x0e747b6c, 0xde25296e, 0x1a50b05e, +0x870f91d6, 0x42b61b69, 0xb4ae2073, 0x6b0e6290, +0xb521ac0a, 0x61621f63, 0xd38041a5, 0x76e18223, +0xa5f57853, 0xb9f656bb, 0x2f004da0, 0x6b6e67a9, +0xe26360b4, 0xd3893c69, 0xc1c1c66e, 0x3932ffc6, +0x19aef776, 0x5fb88fb6, 0xa62c78be, 0x36bd92bb, +0x4578f574, 0x0c942978, 0xe06c1adb, 0x6c45ce61, +0x8348671f, 0x2b16c22e, 0x70cc3d61, 0x06bdb0af, +0x72ffd89a, 0x7d67c2f0, 0xf2db5c91, 0x9ed27920, +0x854f9cee, 0x07c0e876, 0x0a8c77c7, 0x5b56ed15, +0x7419bb70, 0x66662746, 0x03b92319, 0xf5415e1b, +0xe6003b89, 0x00a49eb6, 0x4f4f42c4, 0x339c2d60, +0x81c08813, 0x509c1597, 0x00ac859a, 0xdb146b00, +0x64381c62, 0x632c17f5, 0x88d1aedf, 0x010a3511, +0x062db9d0, 0x1420af4b, 0xde88531f, 0x1de9b122, +0x537978be, 0x657571b8, 0x19cb5eb5, 0x447cf981, +0x6ee3bb06, 0x6c24196b, 0x623436e5, 0x5241424b, +0xe1e37419, 0x7838307d, 0x52c3043a, 0x073a52d9, +0xbb86b614, 0x54687916, 0x3c08a761, 0x10d8040f, +0xdcf4cdd2, 0xf5b7003f, 0xf9736f4a, 0x0861c19b, +0xc9162143, 0x168dbd67, 0x3aa4688c, 0x5e9976a3, +0x6a2b9e09, 0xe02a2c30, 0xb80b0b18, 0x9964778a, +0x606e4a3a, 0x58230ec1, 0x42215758, 0x7589016b, +0x3f3a2d33, 0x206a71d1, 0xd7816158, 0x81b1736d, +0x58ee48cb, 0x8c265440, 0x6f42edb0, 0x75292e6f, +0x73822e6f, 0x55703e7c, 0x3300a0ae, 0xa2a9b741, +0x031ac0a7, 0xc700e691, 0x3702fde8, 0x07914000, +0x36cf9fbf, 0x076720d8, 0x93179b93, 0xc026db1f, +0x02100056, 0x17fb837b, 0x037faed8, 0xec228884, +0xaa812910, 0xd42e0788, 0x8139fcfd, 0x81388922, +0xf0860fb2, 0x6bfdbb13, 0x1307ef9a, 0xc2121111, +0x1543cc12, 0xbed41360, 0x07d96c7b, 0x27de4033, +0x07ea1340, 0xab0613d1, 0x9b6efef4, 0x1712596f, +0x14eafda1, 0x0789080f, 0x5712ab07, 0xfc6452f6, +0x7f891c81, 0x0889b601, 0xd39dc265, 0x0b0d033c, +0x50a5ee04, 0x0b40ac5b, 0xd74cc83f, 0x031d57a8, +0x2d580f7a, 0x054fdfb2, 0x962d6704, 0x0056c2bd, +0x1b033cd0, 0x00f511ca, 0xc15292bf, 0x65601bfd, +0x82639f2b, 0x0b966353, 0xc81605af, 0xb1778f76, +0x07390302, 0xf09f5f45, 0xa8547b2a, 0x07403755, +0x85800000, 0x0002406d, 0xffffff00, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0x72ffffff, 0x31386c74, 0x7a2e3933, +0x206d6f72, 0x2e342e35, 0x47282032, 0x20294c50, +0x65687465, 0x6f6f6272, 0x726f2e74, 0xffff0067, + +}; +unsigned etherboot_eepro100[] = { +0xeb40aa55, 0xbfe9a865, 0x68744500, 0x6f627265, +0x0000746f, 0x00540000, 0x0034001c, 0x52494350, +0x12298086, 0x00180000, 0x00000200, 0x00010040, +0x00008000, 0x506e5024, 0x00000201, 0x00008b00, +0x00090000, 0x00027fd6, 0x00001400, 0x00cc0000, +0x00000000, 0x49444e55, 0x0000a516, 0x00fc0201, +0x10001000, 0x43500abe, 0x81265249, 0x5024007d, +0x81260c75, 0x506e027d, 0x20b80475, 0x1e50cb00, +0xd88ec031, 0x3d0304a1, 0x1d74e44c, 0xa30064a1, +0x66a10300, 0x0302a300, 0xa300afb8, 0xc88c0064, +0xb80066a3, 0x04a3e44c, 0xb8581f03, 0x31cb0020, +0xa3d88ec0, 0x02a10304, 0x0066a303, 0xa30300a1, +0x50660064, 0x0aeb026a, 0x06eb006a, 0x016a5066, +0x1e5000eb, 0xb60f2e0e, 0xc1000206, 0x6a5009e0, +0x012be80c, 0x8ec88c58, 0x4a068fd8, 0x48068f06, +0x50581f06, 0x6a086a66, 0x0060e900, 0x16e08953, +0x55506650, 0x468be589, 0x02468910, 0x8912468b, +0x685d0446, 0x5066104d, 0x0f2e0e50, 0x000206b6, +0x5009e0c1, 0xe6e8146a, 0x8f2e5800, 0x2e064a06, +0x0648068f, 0xc72e6658, 0x00038406, 0x66000000, +0x00020168, 0x50686600, 0xe8000178, 0xc4830010, +0x89175b12, 0x3ce85bdc, 0x0002ca01, 0x6650006a, +0xc0200f50, 0x586601a8, 0x832d7458, 0x0000247c, +0x44871175, 0x44890424, 0x00b80024, 0x87000500, +0x50042444, 0x0002b0b8, 0x74c08500, 0x011ee805, +0xe9580000, 0x000006bc, 0xe5895550, 0x00067e83, +0x8b501375, 0x46890646, 0x46c76602, 0x05000004, +0xeb5d5800, 0x1e585d02, 0xb8665066, 0x000002b0, +0x74c08566, 0x0f061e2f, 0x83a80fa0, 0x895508ec, +0x46010fe5, 0xe80e1602, 0xd1e803ac, 0xe8000000, +0x00000282, 0x010f5858, 0x835d0256, 0xa90f08c4, +0x1f07a10f, 0x8cc03166, 0x66d88ec8, 0x6604e0c1, +0x00038005, 0x0ba36600, 0x1f586604, 0x500179e9, +0xbb061e60, 0xc38e0040, 0x131e8b26, 0x06e3c100, +0x146beb81, 0x2606ebc1, 0x00131e89, 0x8c06e3c1, +0x89d88ed0, 0x4c8b36e6, 0x78c98518, 0x33878d15, +0xbfc08e13, 0xc1831000, 0x8ecf291a, 0xfcfc89d0, +0x6066a4f3, 0x1f0ec38e, 0x61dfb966, 0x89660000, +0xcf8966ce, 0xf3fd4166, 0x66fca467, 0x66506661, +0xd889c031, 0x04e0c166, 0x84a32666, 0xc7266603, +0xb0038006, 0x66000146, 0x87e58958, 0x5e89165e, +0x611f0714, 0xb80650cb, 0xc08e0040, 0x0013a126, +0x0506e0c1, 0xe8c114aa, 0x13a32606, 0xc3580700, +0x0000e860, 0x815d0000, 0x0002b6ed, 0x89b9fd00, +0x8d00005b, 0x06530db4, 0xbc8d0000, 0x0056060d, +0xfca4f300, 0x5607b58d, 0xbd8d0000, 0x00000650, +0xffffffbd, 0xa405ebff, 0x0775db01, 0xee831e8b, +0x72db11fc, 0x40c031f2, 0x0775db01, 0xee831e8b, +0x11db11fc, 0x75db01c0, 0x831e8b07, 0xdb11fcee, +0xc931e673, 0x7203e883, 0x08e0c10d, 0x8346068a, +0x5074fff0, 0xdb01c589, 0x1e8b0775, 0x11fcee83, +0x01c911db, 0x8b0775db, 0xfcee831e, 0xc911db11, +0x01411d75, 0x8b0775db, 0xfcee831e, 0xc911db11, +0x0775db01, 0xee831e8b, 0x73db11fc, 0x814141e6, +0xfff300fd, 0x01d183ff, 0x2f348d56, 0xe95ea4f3, +0xffffff74, 0x9090c361, 0x90909090, 0x90909090, +0x00000000, 0x00000000, 0x0feb02eb, 0x89559c50, +0x87c88ce5, 0x46870646, 0x9c9d5d04, 0x0fa80f50, +0x161e06a0, 0x01dee80e, 0x550cec83, 0x24448b50, +0x00000d28, 0x44890006, 0x00e81024, 0x5d000000, +0x003fed81, 0x858b0000, 0x0000008b, 0x0000002d, +0x04d40500, 0x44890000, 0x858d0824, 0x00000067, +0x0c244489, 0xe8c35d58, 0x0000007a, 0x071f1f1f, +0xa90fa10f, 0x5502c483, 0xf766e589, 0x00000646, +0x755d0004, 0x9dcb9d02, 0x000004ca, 0x53000000, +0xe8555756, 0x00000000, 0x98ed815d, 0x8b000000, +0x0001bb9d, 0xa3eb8100, 0x8f000002, 0x0002b783, +0xb3838f00, 0x8f000002, 0x0002af83, 0xab838f00, +0x8f000002, 0x0002a383, 0xa7a38900, 0x8b000002, +0x0001b3a5, 0xb7b5ff00, 0xe8000001, 0x00000006, +0xe904c483, 0x535500d9, 0x0000e850, 0x815d0000, +0x0000eeed, 0x9b858d00, 0x89000001, 0x00019d85, +0x44b70f00, 0xe0c11024, 0x24442904, 0xc1c3890c, +0x896604eb, 0x890e245c, 0x04ebc1c3, 0x9d8d5366, +0x0000018e, 0x5366c329, 0x00000868, 0x849d8d00, +0x29000001, 0x896653c3, 0x0001a585, 0x10e8c100, +0x01a78588, 0xa5880000, 0x000001aa, 0x2444b70f, +0x04e0c11e, 0xad858966, 0x89000001, 0x10ebc1c3, +0x01af9d88, 0xbd880000, 0x000001b2, 0x9b95010f, +0x66000001, 0x8e0010bb, 0x8ec429d3, 0x8ec38edb, +0xcbeb8ee3, 0x80c3200f, 0x220ffee3, 0xc166cbc3, +0xd08e04e8, 0x5b665866, 0x17cb5d66, 0x00000000, +0xff000000, 0x000000ff, 0xff00009b, 0x000000ff, +0x00000093, 0x00000000, 0x00000000, 0x30000000, +0x0042e801, 0x000000e8, 0xed815d00, 0x000001c9, +0x02bbbd8b, 0x8d8b0000, 0x000002bf, 0xf3fce689, +0xa7a58ba4, 0xff000002, 0x0002a3b5, 0xab9d8b00, +0x8b000002, 0x0002afb5, 0xb3bd8b00, 0x8b000002, +0x0002b7ad, 0x6afac300, 0x66556600, 0x89506653, +0xdb3166e5, 0xdb8e5b0e, 0x04e3c166, 0x46b70f66, +0xd801660e, 0x0c468966, 0x66dd8966, 0x00e8db31, +0x8d665b00, 0x66005287, 0x8966e801, 0x66005487, +0x003e878d, 0x66e80166, 0x006a8789, 0x16c03166, +0xe0c16658, 0xb70f6604, 0xc50166ec, 0x97010f66, +0x200f0052, 0x0f010cc0, 0xff66c022, 0x66006aaf, +0x8e0010b8, 0x8eec89d0, 0x8ec08ed8, 0x58e88ee0, +0x17c35d5b, 0x00000000, 0xff000000, 0x000000ff, +0xff00cf9f, 0x000000ff, 0x6f00cf93, 0x08000002, +0x00000000, 0x00000000, 0x00000000, 0x00000000, +0x00000000, 0x00000000, 0x00000000, 0x00000000, +0x02000000, 0x0002bd01, 0x00000000, 0x90909090, +0x000097cc, 0xffedffff, 0xf8835858, 0xcb017500, +0x0804c483, 0xcd027502, 0xfb18cd19, 0xfbfa9090, +0x15cdf958, 0xbbf6edfd, 0x0eb4069c, 0x0001bb66, +0x0c10cd00, 0x16cdc031, 0x4bffe430, 0xb407b973, +0x02589c01, 0xfa03e083, 0x31f912cd, 0xf6fff6c9, +0x58d231ee, 0x53515231, 0x66064b50, 0x8907165b, +0x20b866e7, 0xb7fb39e8, 0xba66ffdf, 0x534d4150, +0x4514b966, 0x50096615, 0x9a075b9c, 0x7f197c00, +0x58b77ddb, 0x8d5d1f0e, 0x1500099e, 0x2e1855cb, +0x002d1eff, 0xdf74df9c, 0x891c72fe, 0x027e81e5, +0x95840f3c, 0xc6010800, 0x037e8000, 0xb7fdfdbf, +0x01010788, 0xca5d5d9d, 0x66000002, 0xda02c101, +0x77c32966, 0xfffb6dbb, 0xdb316603, 0x1274ff85, +0x76c23966, 0x07c3132b, 0xd98913cb, 0xdb9bb7df, +0xca1d1eeb, 0xf766d272, 0x76da3928, 0xbb0107e3, +0xcab9db7b, 0xd0891527, 0x56c3c11d, 0x9bbe5292, +0xfffb7b4d, 0x5c8b2e7b, 0xe8045404, 0xc683ffa5, +0xabfe8108, 0x5a66eaa4, 0x21dfffcb, 0x00c35e7b, +0xd33d6600, 0xff72850f, 0x7d832666, 0x5edeef04, +0x680900b6, 0x0d516650, 0x0400458b, 0x3157084d, +0xfb6f976e, 0xffa4e8ff, 0x10890b5f, 0xee596689, +0xf76142e9, 0x0c14dfef, 0xda879100, 0xe90506e8, +0x3357ff33, 0xdb60bf50, 0xaa5be15c, 0x10e1c166, +0x6ced5b30, 0x75b6df4b, 0x10e9c17f, 0x1359cb89, +0x90e8030a, 0xc30a115a, 0x2a6dbfff, 0xc35f4558, +0xffc8e853, 0xfef7e95b, 0x68660130, 0x6e5e0901, +0x6eeb42ee, 0x05070068, 0x2be87850, 0xb7f85f00, +0xcb088017, 0x7556a19c, 0x4eb89d13, 0x40365356, +0xb7640700, 0x1ed76f86, 0x38f8003e, 0x3a2e0f9d, +0x0bfdc1c8, 0x500342dd, 0xc88c66d7, 0x04244487, +0xdda17d03, 0xec837eee, 0x08010f08, 0x02a80f66, +0x435c66a0, 0x7eddb777, 0x600e6616, 0x8938128d, +0x44070c03, 0xae3be850, 0x5dfdbedb, 0x050ced81, +0xd8ad8906, 0x168b0597, 0x6fffbca9, 0x7400fedf, +0x30b58d21, 0xbd8d0733, 0x39054330, 0x390472f4, +0x890d76fc, 0x76fdb9e6, 0x3248bbfc, 0xfc89cf29, +0xe3e8a4f3, 0x362d8b51, 0xb3db6c29, 0xe868bdcd, +0x3f450c4f, 0xb70f1220, 0x6db7240a, 0x5c046ff7, +0x8d502624, 0x50608085, 0x7c548ffa, 0xfb7fd38e, +0xec01fb6d, 0x936158cb, 0x66a102a9, 0xe61f6607, +0x648b9d0c, 0xa37dd424, 0xf79cdcd0, 0xbe852696, +0xca9dcb9d, 0xbff62db5, 0x57565507, 0x10247c8b, +0x61983d2b, 0x8339a810, 0x68affbbb, 0xe8550e88, +0x5b217cba, 0xdbac6fbf, 0x0482a30e, 0x23be7789, +0xf129b4b9, 0x6db7eef7, 0x15732ea3, 0x81f8ea20, +0x10b80008, 0xfedc361c, 0x8ed88e7f, 0x8ed08ec0, +0x5fe88ee0, 0x35c35d5e, 0x35b832e0, 0xf9bbf7e4, +0xe83d05fc, 0xa358ec1d, 0xf4250bf0, 0xbdfdd605, +0x68bb5970, 0x1d0300e9, 0x2868535f, 0xf7e45143, +0xe87bbbbb, 0xa5890bb1, 0xa58d23cc, 0x6ca52fc0, +0xde977b29, 0xe4cf615c, 0x8100768d, 0xa88fbcfc, +0x74d7ba15, 0xed0c6020, 0x02341b22, 0xbb7b1919, +0x17072db7, 0x7e8bd0ff, 0xf23b8b8b, 0x8b8b191c, +0xdca18b15, 0x28d0bb04, 0x8be2ffbc, 0x68d6da4c, +0xfd025189, 0x597ff1b8, 0x08618904, 0x890c6989, +0x14796071, 0x6dc3006f, 0x1bcd0bdb, 0x8b08431f, +0x095a374a, 0xebf4f662, 0x0c6a08bf, 0x8b10728b, +0x051c147a, 0x4389ffb8, 0xb6959c2d, 0xbea29c28, +0x840c5401, 0xce8b664b, 0xb8bb188d, 0xef181f30, +0x21a29687, 0x2e9d5d58, 0xc3c2e428, 0x2b07357b, +0x38815080, 0x0f0d2300, 0x82858907, 0x68956ffa, +0x921b11d7, 0x284f2907, 0xd4bd530c, 0x5350ee68, +0x2c1d9da9, 0x2f024389, 0x03d4bedf, 0x88101f0a, +0x0c020443, 0x0f076388, 0xc231585b, 0x90c3db8d, +0xc6535600, 0x6cd6a10c, 0xbddaddfa, 0x70bb0010, +0x29c62904, 0xb801006a, 0xe6dfc2e8, 0x2d062e66, +0x056850e4, 0x6c0986e8, 0x38de176f, 0x18c03b80, +0xa03903c6, 0xb0050f9a, 0x7f5d6500, 0x0921188d, +0x055a0603, 0x5bd30aa1, 0x145db6eb, 0x047f1887, +0x13026a10, 0x6c7dd7b6, 0x1c065016, 0x4eefb850, +0xe859602d, 0x793d2dbf, 0x66c2892c, 0x010a20f6, +0xb10f0374, 0xb6c730ed, 0x8843bbc6, 0xce961203, +0x3f7cb3c8, 0xefeffc1e, 0x95f7b072, 0x2e2c3f8e, +0x250304bd, 0x282f6cf3, 0x32c8fc23, 0xb0b937b5, +0x2d0c26c0, 0x30be0526, 0xa1e805fb, 0x83063126, +0x19b901f0, 0x01b0b939, 0x0c0c152f, 0xecb0ccb9, +0x29535671, 0x19e4b817, 0x47151539, 0x196d2f57, +0x66287b7e, 0x8dca13c7, 0x0a6a1887, 0xbbeeef4a, +0x2474db57, 0x2a24bb22, 0x3eeb8156, 0x2b186f0d, +0xdcd805f0, 0x01181820, 0x35fb3975, 0x14881dfc, +0x74d28566, 0x16186617, 0x0506e0a9, 0x6e0bad62, +0x017220d2, 0xbd16f9d0, 0x20debec5, 0x24e475c0, +0x10321d12, 0x1b07deeb, 0x0e6dfd73, 0x6cba8800, +0x07b15d56, 0x22c5cdb1, 0x55404d3f, 0x636e8f9c, +0x3b2c2c83, 0x06334440, 0xc36c619e, 0x31657df7, +0x7f1e39ed, 0x1406500c, 0x3dafd986, 0xb0034673, +0x65e805e1, 0x03fdb74b, 0x02d081db, 0xf63a75fb, +0x34b22404, 0xb5deef91, 0x23e4405a, 0xb9fc0adf, +0xa5f34e05, 0xae868343, 0x14c5dffb, 0x850c7d60, +0x21a574db, 0x1b9db206, 0xdb5ae70d, 0x5f87d889, +0x0e070939, 0xb07c08fc, 0xe81c8f5d, 0x140101ed, +0xfffe98e8, 0x0b1addcf, 0x0faaa3ea, 0x960ab4e8, +0x8576fcdb, 0xa30e8b20, 0xff3c1304, 0xf04e10c4, +0x7041b736, 0x05d33284, 0xed9f702a, 0x990a07be, +0xa10814a3, 0x05c70d04, 0x7b640808, 0x09249daf, +0x1009003c, 0x1e66dcf6, 0x0f181589, 0x0911051c, +0xd8dd60ec, 0x09101920, 0x28a32324, 0x9b06fb22, +0x303c2c6c, 0x3159a12c, 0xdc9a2584, 0x867cf86d, +0x14890ff9, 0x1afff6fc, 0x080589b6, 0xeb2b0c4e, +0xc183470c, 0x1ff83914, 0xd3d8fbf6, 0x66b9e7d9, +0x918beb75, 0x31fa837f, 0xdfe1bc36, 0x52779281, +0x772dff3d, 0x8400bd4b, 0xdafef631, 0x941ed7ef, +0x391ba92b, 0x72ce23d6, 0xc4b6770c, 0xc53c0dfb, +0xa98b0676, 0x0729c30d, 0x362f6b0e, 0x09353fc7, +0xcb4b19d2, 0x623dc591, 0x777cff4b, 0xfbfdf0bf, +0x03c38944, 0xd6893999, 0x3b27b113, 0x2e720cab, +0x5bb60677, 0x08a30de3, 0x413b2676, 0x0d724367, +0xcd02bb44, 0xcf3b775d, 0x192111e1, 0x62c583d6, +0x333589b3, 0xf087d8f7, 0x2784611b, 0xa3cc1c86, +0xbee5e918, 0xacceb5ec, 0x792c1434, 0x1481c798, +0xc99074ba, 0xb3eb1809, 0x4f13b84b, 0x90ec1987, +0xb2ef052b, 0xffd6be36, 0x9b1478df, 0x3f811beb, +0x45524621, 0x03662e75, 0x89620457, 0x11db8b86, +0x09044f21, 0x5a953b3d, 0xd3aa6b1c, 0x0bb7f189, +0xdffa16eb, 0xe7c1fa17, 0x66c7290a, 0xbb80fa81, +0x44c38eca, 0x75bbf8ee, 0x0369d389, 0xe2812515, +0x8c8db8ff, 0xd8b86e1a, 0xfc8906fa, 0x893942d6, +0xd4bdbef2, 0x2096a6d1, 0x12ebc946, 0xc7044a5c, +0xef6ee502, 0xc2816cfe, 0x49667c00, 0xe946ec75, +0xb877df70, 0x42e48816, 0x09bdf2ac, 0xcc1bb0a1, +0x0408675e, 0xdc69b8b9, 0x07ddda35, 0xe82c89c9, +0x2404fd33, 0xe0cdbdf7, 0x5723b523, 0xbf770553, +0xeef7f7d3, 0xe88151c2, 0xf989261c, 0xc1390d2b, +0x16be0aeb, 0x760b90ba, 0x83247291, 0x2d6f2dda, +0xcad7e3e6, 0xe2c117d2, 0xbe6428c2, 0x1ecb07b6, +0x1ea7d7f3, 0x7216c0e4, 0x742a8d5f, 0x6c6fa125, +0x9082c6e7, 0x032f0d5b, 0x2c1ca397, 0x82770ed6, +0xa6fc9ee9, 0x779d248a, 0x7c1ba477, 0xd175612e, +0x8d1a6851, 0x5b4ddc10, 0x305d936f, 0x088cfe47, +0x341e05e8, 0xb49bbdb6, 0xb239e810, 0x084657b9, +0xcf7afc37, 0xa71983bc, 0xe8f291e8, 0x7051fed9, +0xc9626285, 0x23c27b23, 0x781d2844, 0x8dd029dc, +0xc1b7050d, 0x00e3813d, 0x0d8be41b, 0xa36d8715, +0xecde86ff, 0xc839ce29, 0xd8390c77, 0x12fb6477, +0xf847fa4c, 0x0476000a, 0x56086e58, 0xe851d129, +0xef7be497, 0x2f4d5afd, 0x1e443529, 0x7899599b, +0x438b1847, 0x0753c829, 0xcdb274dd, 0x6904764f, +0xda34d039, 0xa97b0574, 0xafb1cfd8, 0x0540ff08, +0x573fe852, 0x30af49a3, 0x06d52c08, 0x0d8bdb70, +0xa849602c, 0x2bd835b5, 0x5a847a50, 0x607e5045, +0x8c67d701, 0xb95c0934, 0x165f28e8, 0x2e116c23, +0x0868a4a0, 0x5ad7c620, 0x99cc262d, 0xbe59563d, +0x53d8adaf, 0x2185a412, 0xf530262d, 0x52dfbc23, +0xbe7974ed, 0x89241054, 0x89d729f7, 0xb06bf8fa, +0x540e0715, 0xab898389, 0x750f7b82, 0xf7839fc7, +0x2d89b80b, 0xf4b4550f, 0x2cf474db, 0x21fb8386, +0x2c8a1554, 0x737b6ec7, 0xeac1fe5e, 0x96031304, +0x6e688b89, 0x438df783, 0x352b0257, 0x3e060c59, +0x59bd8a71, 0xaa9d8fd9, 0x6de358a5, 0xfd0f1d3a, +0x95b8061c, 0xbb7318de, 0x53e2f192, 0x6ad1a102, +0x060479db, 0x007e1d0b, 0x77eddf9d, 0x74b5153b, +0xea81d602, 0x52828ba0, 0x03b60284, 0xcb3c585b, +0x81046a16, 0x282219c5, 0xcfac51d0, 0x11048ddb, +0x5a207b7a, 0x47c8defa, 0x00cd87cd, 0x2b9a1915, +0x46346d5a, 0x4f408934, 0x16a72bc7, 0xdf2cb69a, +0xd328fe91, 0x9eee3187, 0x01bf660d, 0xe8560d8f, +0xd74995c1, 0xff0cf60e, 0x01180475, 0xa9170bc6, +0xbb776b73, 0x5502c314, 0x2103f45e, 0x1701c133, +0x8ddcc10c, 0x2da1181b, 0xd5c8e006, 0x17d843a4, +0xf66d4a48, 0x06032f67, 0xcf12f889, 0x85c0a95b, +0xfb4309c1, 0x46c91045, 0x9b8c56da, 0x6203c199, +0xb813181c, 0xd2b78377, 0xc9031c42, 0x76113d03, +0x2b432438, 0x814b3c49, 0x162c0733, 0x6189e7db, +0x2d84d2d6, 0x1db7e86d, 0xb150526e, 0xf7e85708, +0x0c75375c, 0xdaf8e09b, 0x2d17e991, 0x4629a731, +0x1607b6f8, 0xbebbeb42, 0xdf03ec0d, 0x4d5b05c8, +0x2c0ac910, 0x8303014c, 0xc4da97d1, 0x049bfce1, +0xcc291055, 0x96eb5154, 0x845bb498, 0x54f59a7c, +0xc142fbd0, 0x89065dc4, 0x94e85dec, 0x0edc0292, +0x9c8b4c7f, 0x3579a424, 0xbcc4f764, 0x4bb535f0, +0x8d6c60b9, 0x65740899, 0x5c8502b6, 0x05e6979d, +0x91d0b60c, 0x8306ba25, 0x0f83d3c2, 0xa370b6e2, +0x194f75cd, 0x04c2ef8b, 0x6c7f8506, 0x958e886b, +0x02fec1c6, 0xbfd1dd1f, 0x4217bdbb, 0x411b108c, +0xf07cf139, 0x76535250, 0xd2b8477b, 0x817016b0, +0x752a64e3, 0x22c60c27, 0x5b4cf8fd, 0xc775f089, +0x89266f45, 0x42f60c4f, 0xd16cd974, 0x735000e8, +0xa86abf8b, 0x7c106a20, 0x5fd002e4, 0xdf8cf636, +0x20e9e8d0, 0x03c08354, 0xdc911301, 0xb3f56ae9, +0x9a36d182, 0x153490db, 0xbeff2cc5, 0x5f1ac1c9, +0x0e765bb7, 0x16bfc8b3, 0x18a47b10, 0x8ba3f0ec, +0x45bb2500, 0x6841bba9, 0x08ff0908, 0x985b5580, +0x10cf60a1, 0xf3392b7b, 0xb1c15782, 0x4ae20abe, +0x3fa37e0c, 0x3917e261, 0xc109ebd9, 0x01421604, +0xdb8b0fc1, 0x5bf5be06, 0xc85ec10b, 0x1a36e0a1, +0xba24850a, 0xd3306531, 0xa36c309c, 0x084749e5, +0xef4b7d9c, 0x026ebf02, 0xf0e7830f, 0x273d89e5, +0x257eb964, 0x75808603, 0x8d0f97e0, 0xdc36fd83, +0x189d0ef0, 0x8d328e2d, 0x960505b8, 0x3a187667, +0xd00b1ae1, 0xf7851e04, 0x82894098, 0xa2cbad1e, +0x096f5830, 0xa4f0e583, 0xed8d6401, 0x5188efd7, +0x3568046a, 0x5a7bac8d, 0x9df5c605, 0x58caeaeb, +0x1d0707c6, 0x0805d343, 0x2323608d, 0x83a10c0e, +0x7a4c4b62, 0x2b1c2888, 0xd63622a6, 0x107b0add, +0x14281622, 0xa56ddb05, 0x05ff515b, 0x541c5018, +0xd60d071d, 0x1ea3059d, 0x03283ccc, 0x0c5d0f20, +0x2a072db6, 0x13822202, 0x94d8862e, 0x6a260375, +0xb27f1130, 0x1466dabd, 0x7fe43210, 0xaba09905, +0x5f36437b, 0xae437540, 0xf637c836, 0x48054680, +0x054e4a12, 0x37c83534, 0x56521250, 0xfa3158a5, +0x3d012c77, 0x60738d3c, 0xc7054328, 0xdffef104, +0x3a68c32d, 0x59612b19, 0x01064625, 0x0846c602, +0xe9dd242c, 0xae4694c8, 0xd81e1486, 0x0a46edb3, +0x465a0e2c, 0x2046ed12, 0xeb0775d6, 0x46e21403, +0x22160322, 0x30952818, 0x051a3632, 0xac651e1c, +0x46ec2712, 0x2646e924, 0x8f6fac65, 0x2a460704, +0x0fe3833a, 0x6a285e0c, 0xb62ee31e, 0x6870b42c, +0x68094628, 0x6c8c80c7, 0xbf0c1183, 0x68df891c, +0x78ef1363, 0xe824d234, 0x5a375882, 0xbb58df6a, +0x71d43aed, 0x18142c89, 0x613b07f9, 0xdcb90860, +0xd709bac1, 0xf0242ddd, 0xf7fde8d1, 0x001ac225, +0xc6dda705, 0xeb6b47c0, 0xbaf062d9, 0x688ec25f, +0xe9e804e3, 0xf91d21f6, 0x6c182244, 0x235bac02, +0x1b7df836, 0x565615fb, 0x0b745339, 0xbe87dd9a, +0xb0959af4, 0x97047401, 0xe80e68be, 0xdd66241a, +0xf73df8da, 0x6ecfc529, 0xaf144ef0, 0x48cdb503, +0xf4e1810b, 0x8d0a250f, 0x02090a94, 0xcde0cd9a, +0x4e83f8e3, 0xa338de0b, 0x7fd48a17, 0xbad0361e, +0x177544a9, 0x01f3c18e, 0x4c835fd0, 0x83306027, +0x0629d080, 0x5981fc1d, 0x42b46284, 0xd4a0e743, +0xa4d2ae91, 0x9eb1c082, 0xda1c1afb, 0xeb29c811, +0x0bacb85a, 0xe3d0837d, 0x0b899392, 0x31b168c0, +0xd61dba70, 0x178c325c, 0xeb7c4bba, 0xe8671857, +0xdac358c7, 0x235d1621, 0x05527722, 0xfc34222c, +0x36c4e82d, 0x306de3c7, 0x1cefd0fb, 0x7b41688a, +0x02105417, 0x66d08211, 0x0af31910, 0xc0a0de18, +0xdad4a91a, 0x36fbe083, 0xb10cd46c, 0x1204bef6, +0xf6a9e283, 0x100fe06d, 0x040e140a, 0x7c0233bc, +0xb5089480, 0x3430184d, 0xaf46464f, 0x59a138ef, +0xd8bf2d0b, 0xc6d824aa, 0x97d75a06, 0x244114ab, +0xef8ec554, 0x3881c032, 0x7620e22a, 0x43028b46, +0xee0adb15, 0x5c04428b, 0x7a080779, 0xd130605a, +0x23dc04f5, 0x1615c16b, 0x71d14ada, 0x22e26f04, +0x31341bbf, 0xc38bc6b6, 0x5b245d67, 0x07017136, +0x438b0d7d, 0xd40640b2, 0x27d02dae, 0x5b7fe1e9, +0x37760913, 0x72afdb7c, 0xeb0a0310, 0x682d90ba, +0x1c9c9220, 0xd8e6df53, 0x4ea604ec, 0x78504d85, +0x73061558, 0x0b33b364, 0x2454000a, 0x13688d6b, +0x52ee6138, 0x638e5728, 0xdf77e9f1, 0xbe02f8c0, +0x07771a81, 0xe085348b, 0xee147b27, 0xedb6ca36, +0x77181940, 0x1b741e54, 0x703ad848, 0x07760aed, +0x19ff2cb8, 0xd0e8e514, 0x02ba8cf5, 0x1bbb6f86, +0x3e1db75a, 0xb817897a, 0x3a397440, 0x06c9cdeb, +0xa71e707e, 0xa1247b8d, 0xe4b90024, 0x7553b1d9, +0x4e2633ac, 0x70c60cb2, 0x352994ed, 0xc3928e0c, +0xa016d4c8, 0x32866303, 0x0cc4a8fa, 0x037ba053, +0x32b4346d, 0x4b17a344, 0x85e6d315, 0x0b1ef856, +0xd01d244c, 0x0bc78553, 0x23c9816e, 0xbe10c3e7, +0x858e74bd, 0xda89ee12, 0x2a1640ef, 0xfea5f66e, +0x23231af4, 0xed10c2be, 0x85a99e4e, 0x0e78e03b, +0xdc74bba9, 0x45c3725a, 0x30b0fa93, 0xbd4880fb, +0xc0e4d551, 0x56e6ec3e, 0x09566753, 0xec0864c1, +0x41019225, 0x31266463, 0x58a839e4, 0xb1c1ea01, +0x392d3085, 0x77b30ec5, 0xbdd04b7f, 0xb8f21014, +0xea654802, 0x10c1ef66, 0x026afba4, 0x0f6ddfe8, +0xfe8bdd03, 0x89fec50f, 0x6dc8e8ee, 0xf989af49, +0x01a8f8d3, 0xd8f006bb, 0x7523ee37, 0xd892b302, +0x9e66f289, 0x16cb8302, 0xdf6ddb01, 0xd889289f, +0xd8d4f93c, 0xd111bb75, 0x40f26f64, 0x2ca5ed66, +0x2a2f1dd9, 0xc20901e0, 0x79b0794f, 0xd820703f, +0x7c62e877, 0x1bde1200, 0x0521bc37, 0x00b9e277, +0x8f7427ac, 0x1afc25ed, 0x00b81273, 0x02c20801, +0xc04fc32c, 0x0fd96176, 0xeb3412c3, 0x16ae25e9, +0x23d6616c, 0x2cf4fad8, 0x81a2831d, 0x8b25d5ee, +0x2c7e06ee, 0x16058c5b, 0xf1ba0c1c, 0xd50684c0, +0x6a77a6a5, 0x5c70ff28, 0xdb3812b1, 0x8fe3b752, +0x82b01186, 0x8a799b50, 0xa3450540, 0xdf867a56, +0x537ed601, 0x826ef77a, 0x48a34ddb, 0x2c3db911, +0x0f581589, 0x6e5b7b19, 0xf7045ca3, 0x42082d05, +0xbee6dfb6, 0x0d89400c, 0x4c0d0744, 0xa7208016, +0xdc0fd235, 0x540f54f6, 0x538dbf05, 0xa96254de, +0xb0efc8f6, 0x17eef16c, 0x305ffc6c, 0x06eb36d3, +0x64f98341, 0x84ec3c7f, 0xe1b6f5b2, 0xbe0a6b57, +0x5a2e9a9e, 0x73986be0, 0x663bc477, 0x097a64a1, +0x0812d2e8, 0xac96a6b6, 0x561febec, 0x7eec45c3, +0x0a85bbfb, 0x097441d8, 0x10f98141, 0xf27e1927, +0xd8535150, 0xc0851f84, 0xdc4f3126, 0x7bbab6c1, +0x2f9debe1, 0x09cca156, 0x7440148d, 0x9ae1b409, +0x608248dd, 0x1164655d, 0x26047b99, 0x7275b3d0, +0x28365a5a, 0x97bc28d0, 0x601002da, 0x895d2eb7, +0x2450770c, 0x00009585, 0x87901676, 0x4eba561c, +0x4d2fbc71, 0x6d400478, 0x848d0910, 0xda957710, +0x0d0f3059, 0x6ac76b01, 0x6da37777, 0x166c82e3, +0x5d3fff25, 0xb7296441, 0x38c3561b, 0x19700532, +0x1d9cc1d4, 0xe860717e, 0x19b75123, 0x3c367e52, +0x628070f7, 0x5508c070, 0x1d688071, 0x07e5ee84, +0xa36c1277, 0xecc06e80, 0xf808de05, 0x96428d05, +0x544203e0, 0xb61ec5d7, 0x003d03d2, 0xb8b35289, +0x3c022d39, 0x5aef6284, 0x8ef69c77, 0x5cb0085c, +0xbabc04b0, 0xecd95711, 0x7e6203ba, 0x873f4305, +0x794a3edd, 0x0f0a4dd3, 0x4e29b08f, 0x513fb824, +0x09d0e9f1, 0xd84d60d0, 0x59101d49, 0x148a7ae9, +0x4b0b1baf, 0x081e8a2d, 0x14fe0253, 0x1b01cf48, +0x15c169f5, 0xb0ad1f51, 0x4a518de9, 0x05c9ca89, +0x1b8b1838, 0x3a5ba906, 0x8b54f43c, 0x22ad7953, +0x88751a5d, 0x9c943cc4, 0x1de3868c, 0xe68350ed, +0x04c68ffc, 0x702ee574, 0x977f6870, 0x8ac95344, +0x0bfbeded, 0x6c428873, 0x5c001bba, 0x77e8d300, +0x7a9687fb, 0x00794bdd, 0x3d9a0ffe, 0xff287d07, +0x141b0e29, 0x9f0f40bd, 0xdb310180, 0xed8aff31, +0xeb39f14a, 0x11732b7d, 0x833ef009, 0x2435dc5b, +0x0ffb8339, 0xf3057ffd, 0xbf8bdbb5, 0x0143105c, +0x3ec681d7, 0x32d77c2a, 0xfd68d85f, 0x5c508b86, +0xb41f8076, 0xd1d98903, 0xf40b42eb, 0x01e183f8, +0xe1164485, 0x0edfad03, 0x04887dbc, 0x053e431a, +0x99fcd77e, 0x5c72ff58, 0xeed27fa1, 0x578eb468, +0x813f4c38, 0x74babaff, 0xe9364a14, 0x77c71aba, +0x5c1d1a93, 0xac9132f8, 0x68a69c52, 0x78bec57e, +0x8b85e86b, 0x045618f3, 0xec3cd879, 0x4106b81b, +0xb85e8d56, 0x0608c0da, 0xb806f00e, 0x1ed0b78b, +0x878da67f, 0x833397e0, 0x87e12e40, 0x2dee590c, +0x60978df1, 0x6023ada1, 0x38bbe3fc, 0x9b649089, +0x1e3c913e, 0x81472464, 0x915b48c2, 0x4b4d63da, +0xc676be79, 0xfd836069, 0x90adac1b, 0xa3c00862, +0x018dad64, 0x200c86d6, 0x60238798, 0x603200c8, +0xac9812a3, 0xee99c513, 0x4de30001, 0xf6a3ebc3, +0x5c4254aa, 0x341b048a, 0x8360708c, 0xc0ea9735, +0x2f16d01c, 0x6ad4cd6d, 0x9cfa833f, 0x966ebd84, +0x0a0889ed, 0x98eca11b, 0xbb77110f, 0xe805781b, +0x5d09a208, 0xdf9ac4a1, 0x6883bb13, 0xa00f0ca2, +0x68c133c0, 0x7b3bb783, 0x9680c0c2, 0x02860da2, +0x08400206, 0x3c36eeeb, 0x040d4796, 0x1705c607, +0x70064805, 0x1b669668, 0xc5051d80, 0x22caf208, +0x0105e179, 0x12725393, 0x58666679, 0xd5b54c66, +0x3f1cfd44, 0xc2e6ca1f, 0x9a47391c, 0x0ff00b11, +0xe5a8b843, 0x00c7b947, 0x7ef41e1b, 0x40c8defe, +0x061c4748, 0x501b174c, 0x21611ada, 0x69eb14bd, +0x00bd6e5c, 0x33a72701, 0xe9d285c5, 0x1752f7d3, +0xabc0b87e, 0x15881ab8, 0x22cb07c8, 0x842dd404, +0xc329da03, 0x3f57050b, 0x174a22b6, 0x4948d460, +0xeb398175, 0x3a288d3e, 0x9e133b53, 0xfb7513b6, +0xc7ded194, 0x8d4d1f18, 0x5f28e89a, 0x7a3a5c1c, +0xafae9031, 0x0520c0be, 0xf075daa5, 0xbe4f08f6, +0xea565155, 0xd7e91348, 0x726128fe, 0xc15005c8, +0x947606a8, 0x57e6e93d, 0x43212e92, 0xe94393d8, +0xb95734df, 0x5dd84ec0, 0x2efd3e63, 0xc1ba8153, +0x39bb2e0e, 0xc1cd9028, 0x7cf11f40, 0x52fe42b3, +0x1da2db41, 0x9bff68b0, 0x80ec28e4, 0x408b4219, +0xe365e8bb, 0x26621b28, 0xf14a09ad, 0xf50aa120, +0x6b0c89da, 0x088de91c, 0x012b986b, 0xf1068a93, +0x58d8ee6f, 0x3a3c0cb8, 0x1ef3438d, 0x38bff442, +0x265b7712, 0x05407017, 0x28501f73, 0xc3017561, +0x93886637, 0x4aad9e4a, 0x8331fb3c, 0x721e08c7, +0xc1a288e1, 0x597e1f6f, 0x8a94e868, 0x595a0447, +0xec394468, 0x1f36a1d4, 0x31f129ef, 0xdd68b64c, +0x6a51d21f, 0x28f76803, 0x42b9688d, 0xc3d355a0, +0x73ba7550, 0xd5bbaa08, 0x03d4dabf, 0x037a802e, +0x2574b92f, 0x8f82c3d2, 0xe8519495, 0x3ab817c2, +0x18bbbbf0, 0x3a388031, 0x3980311f, 0x8380752f, +0x9f75fbb2, 0x56fb6854, 0x05e889a3, 0x7b585e84, +0xa02871a1, 0xe90405a7, 0x16dbeb73, 0x408dbbfc, +0x6a525f01, 0x52fd8d0a, 0x87c33381, 0x811784ed, +0x10a3144c, 0x2456aceb, 0xe8717e89, 0x84ed1d36, +0xc3558bb3, 0x47315286, 0xb84af0e4, 0x7606eec0, +0xda04ebc3, 0x6d303d40, 0xfa11f572, 0x75ab3456, +0xbbe80865, 0x9a23f165, 0x02c8d260, 0x7d6e0278, +0xb766c52e, 0x9a0462db, 0xbdf34117, 0x1f8ce547, +0x9304ec66, 0xe8aecbff, 0x07e0e19b, 0x3d61db32, +0x607c79c0, 0xb5ed14b6, 0x47854b68, 0x0b0b2110, +0x68c8b363, 0x3a0d1f99, 0xa37afb7e, 0x0f55fc12, +0xfe8eb58e, 0x7b609b08, 0x6f358477, 0xf6854a7f, +0x8ed68609, 0x267eef7a, 0x3c9f1878, 0xff046ca1, +0x62be0c50, 0xffa24ec7, 0x7571f021, 0xfe162198, +0x023331ba, 0x8d09a1c2, 0xc9b8f865, 0x36bb7689, +0x0d06fe66, 0xa28c4a02, 0xdfbb5222, 0x7479feaf, +0x8f07b927, 0xe645992f, 0x7bbbaddf, 0x0233743d, +0x7f2304be, 0x0d783d92, 0x5b896b7e, 0x62229f89, +0x70e39beb, 0xada7dcbc, 0xd5489090, 0x041805cd, +0x9fbf082a, 0x1943e8ca, 0x689970ee, 0x66d731dc, +0x537a185f, 0x4370a346, 0xc5af7b61, 0xb34e22a4, +0xc1956809, 0x0905b24c, 0x998a6064, 0x4253426e, +0x3445532e, 0xbb07b040, 0x46b36876, 0xfb241c89, +0xb84dfdbb, 0x4914433f, 0xff147ab5, 0xf200ee94, +0x9e3a057e, 0xb22bd94d, 0xfbc9856b, 0x6f17e245, +0x74204239, 0xb1e74c1c, 0xeab19644, 0xe991058e, +0x77bebec4, 0x6dfb0f59, 0xc4cab80b, 0xfc637afd, +0x8d43b3ac, 0xfe8c2ddf, 0xc20a02fd, 0xb1b077f6, +0x0974ae03, 0x4218b7e9, 0xc3fb0114, 0xae6cec06, +0xa6a1a753, 0x9e11b6ef, 0x01e25e78, 0x6a36144f, +0x67d46801, 0x8d7378ed, 0x2dec686e, 0x1a26fa3f, +0x427827f9, 0xcf688574, 0x9c5a02ca, 0xc28b607d, +0xf057982c, 0x136f2243, 0xc8cc425e, 0x372be94b, +0x184d2231, 0x29990824, 0xefb3cdb0, 0x34d3880f, +0xfdc9ee01, 0x6031fcd5, 0x5d43e198, 0xacc746e8, +0x06a2f7a3, 0xf1a4a55a, 0xc3e051a0, 0x62950c77, +0xe8d3a3a1, 0x05f12aee, 0x07d7891a, 0x3c03ebc1, +0xb58c3e12, 0x0fa32257, 0x67170a7e, 0xbfd0d19c, +0xc5034f0d, 0xed0a8ba1, 0x7fe60b78, 0xd9625d68, +0xe355b1d7, 0xa6a33140, 0x09d80a8b, 0x8e7abc1a, +0x8fb386a1, 0x317bb5fd, 0x0d105089, 0xa11c5889, +0x67784521, 0xbe8a20bf, 0xd301c703, 0x9ec70691, +0xeb7839a0, 0x6498e9ec, 0x60170030, 0x58153bea, +0x7849c9dc, 0x85dd3634, 0xd12a68fa, 0x480ba81b, +0x81d1584c, 0xeeb748fa, 0x7ca5f81f, 0x0f186924, +0x96201dbe, 0x6f4813b8, 0xf07502c2, 0x30772874, +0x56e455e8, 0x8e12bd8d, 0x1dc5b6e5, 0x8820ce4e, +0x4dbb920d, 0x8c26425b, 0x9d853488, 0xfa2c11ec, +0x74237850, 0x7d9c3a2d, 0x27e8ec3d, 0xf7caeb33, +0x74012757, 0xdb4b748f, 0xe8b712fb, 0xab0bee5c, +0x05d59ed5, 0x5a60fe6f, 0x42fd10dd, 0x502725fc, +0xc589da39, 0x870f34f9, 0x3e060107, 0x885b060c, +0x20d93904, 0xf5187e0d, 0xc4820f24, 0x76cb3936, +0x60aea10e, 0x393151db, 0x780f17f5, 0x803396e1, +0xf4fec235, 0xa268b128, 0xf56c8675, 0x32be1cf6, +0xba05ae80, 0x3cca140b, 0xfeed8030, 0x81cacc27, +0x868bc00c, 0x3db96d01, 0xe40e23bb, 0x1891138a, +0x4d8b2c09, 0x0dd6ddf7, 0x1f1c0339, 0x76b97228, +0x142c0f7c, 0xf01d0776, 0x0a72ad77, 0x77f339ff, +0x106c3ba1, 0x34f0dbad, 0x34781376, 0x072b092b, +0xaa510a2c, 0x906f5b72, 0x7c40f6ac, 0xb08d3eeb, +0x1b80ee44, 0x100bd3e0, 0xc06855d9, 0xd340df10, +0xdb2ce02c, 0x55eb4b3c, 0x35c3dc2c, 0x4f19c561, +0x86099c16, 0xd86fda45, 0x75d36c82, 0x71e9d49f, +0xf4465004, 0x8954d1eb, 0x2c3dd2de, 0x24a90d94, +0x88f0c09d, 0xff448018, 0x4c278a41, 0x7fd07971, +0x04b75166, 0x10e566b9, 0xa9b14fb3, 0x500c07de, +0x4d2d25b8, 0x29a94d7a, 0xe634363e, 0x14d83c17, +0xd8a58838, 0x9a456877, 0xdb64b42a, 0xcf8c3aac, +0xf94ce818, 0xe8544899, 0x16588213, 0xb844a1a6, +0x4611178e, 0x2497248e, 0x08dc96a1, 0xdda24a5d, +0x50291c54, 0xef8d1068, 0x09cf8905, 0x811874d7, +0xdbb6e36e, 0x392e2bee, 0x0e726ff1, 0x0686821c, +0x39d2ec31, 0x037ab0c2, 0x43b04729, 0xa924d2e0, +0x547ab850, 0x01a3a109, 0x0858a177, 0x445d4b3f, +0xa5e1b08a, 0x77d8429b, 0x5352c3df, 0x26034808, +0xbac8d745, 0xf0522084, 0x3163c36f, 0xd82932c3, +0x1d01b701, 0xdeb6ab1d, 0x15a33c58, 0x2b901841, +0xa29ba701, 0x6981b42c, 0xac456d69, 0xbb43ca5e, +0x442fbb16, 0x0269c2ba, 0x03edee6f, 0x131a483d, +0xb923a32d, 0x31054cbb, 0x1ce5c7d2, 0xbb44460d, +0x16fffb95, 0x3920c283, 0x83637ef0, 0x3d4a40ba, +0xdf060082, 0x75b8b5d6, 0xac138be4, 0x60040edd, +0x346ffedb, 0x95393b11, 0x06774048, 0xf939c872, +0xea5fc472, 0x742711d0, 0x05d65716, 0xf444808b, +0x267266fe, 0x404124ea, 0x3589a773, 0x8d8e108b, +0x61104535, 0x9d7f6246, 0x76dcd75b, 0xc11bc267, +0x4c8637e6, 0x6d8bdba3, 0xa48bd8b8, 0x4c8e1d4f, +0x7fd30dae, 0x01b0db3b, 0x29ea11f8, 0x42d319c1, +0x6116db1f, 0x1d8d0d84, 0x40440f99, 0xbb613c50, +0x09392b75, 0x085c8924, 0xf738821a, 0x2910d63d, +0x25f02835, 0x294c0c00, 0x5edf8bb7, 0x014f333d, +0x01fb11c1, 0x4d5c11cd, 0x7dd43b5e, 0xf8ac0ff0, +0x5d0c1d09, 0x7453715b, 0x489e1a85, 0xb4ff383a, +0x5ed1b637, 0x4d829415, 0x43154ea3, 0xb69f706b, +0x0de31dc1, 0x1c6a7918, 0xee0ae409, 0xb7155c6f, +0x8810123d, 0x1ca9b088, 0x468406b0, 0x68683471, +0x4ff88baa, 0xc77fa3e8, 0xa1d105b5, 0x5ab07861, +0x406fc232, 0x0eb05663, 0xbdded50c, 0xb6737705, +0x11b9e82f, 0xd7272dd8, 0x11b68a35, 0xf94234d5, +0x46ff3226, 0x7b690110, 0x7e34688d, 0x38db3169, +0xc00933f2, 0xbb8358c3, 0xf448ea75, 0x831f2687, +0x54b3ff57, 0x2fb165b4, 0x2051236c, 0x50e85569, +0x2f4f6793, 0x726cff56, 0xbb035116, 0xabbd8e86, +0xa87f5738, 0x66df60ae, 0x893a6e39, 0x3474faee, +0x5c315538, 0x3cbee8cb, 0x0702e142, 0x6deb418e, +0x5e0af15d, 0xe9e021b5, 0xd58e4816, 0x897eec2a, +0x671a39c8, 0x20ad59e8, 0x0d0e24c2, 0x08d43017, +0xde400574, 0x8650ab59, 0x50f7013a, 0xc14bab54, +0x5b7e58f8, 0x1b7420ec, 0xe652c0f9, 0x4e6f8c1b, +0xc7d2533b, 0xa9b09ed8, 0xc8bb51d7, 0x19da29de, +0xd2318c8f, 0xa1b3a7a4, 0x0370154a, 0xd7ce3a27, +0xfdebe928, 0x21f89d4b, 0x3d802cdf, 0x813ed7e5, +0x6d130358, 0x209844af, 0x687b3810, 0xc0e00281, +0x1881146c, 0x7681513f, 0xb3e02db5, 0x02ba9f16, +0x825344d7, 0xed85ce48, 0x4b77746f, 0x8a07be82, +0xeb1de41d, 0x4c8ac832, 0x6e27a3fb, 0xaee8a3fc, +0xa3f87dd4, 0xdde206d8, 0x1a9981c2, 0x25231588, +0x995c0eb6, 0xdce2f025, 0xbbf0a8c1, 0x148de9b1, +0x840cf390, 0x26dc152d, 0x4b6d2284, 0x9325c8dc, +0x04fd6e75, 0x4c04dc58, 0x172f7bc0, 0x5f8e22cc, +0x02a211b5, 0x73044a94, 0x42da26f6, 0x47d572a0, +0x8a0c7a8b, 0xd8606d46, 0x366213da, 0xf50a7c03, +0x2bdb0d1b, 0x6c4fad7a, 0x74e88018, 0xb7dff086, +0x74020474, 0x2992a17b, 0xff58e9c8, 0x0e9ae89b, +0x869bbd05, 0xf7087544, 0xf4f002ee, 0xfb3be4df, +0x0476eb89, 0x6f0d18ed, 0xcda1b181, 0x2342488f, +0x927b9eb6, 0x945f973d, 0xab5e4b29, 0x50985744, +0xf6269a25, 0xad1afc35, 0xd3e919a3, 0x01faa1fe, +0x20cda06e, 0x300be9de, 0xdb86717d, 0x1f10c436, +0x461213d5, 0x725a31c6, 0x4cc43b28, 0xfd522a78, +0xda81402e, 0x73c8356f, 0x0344cc35, 0xd2340f03, +0x3f125bb9, 0xb9a08788, 0xefebacd5, 0xdb32148c, +0x522e9077, 0x9b18d029, 0xdf4d60e0, 0xd4c73550, +0xfd5a5846, 0x33183b1e, 0xf69c3a1a, 0x7493c505, +0xe0db9e0a, 0x5106e6d1, 0x5189bb88, 0xd8f50c17, +0x83169e0a, 0x58e00d50, 0x6b77da0a, 0x5031048d, +0x51c8528d, 0x5fc12201, 0x895233a8, 0x5fe2e8d8, +0xd8337b88, 0x92d50f69, 0x2b565026, 0x120f901d, +0x1827c37d, 0x3c70e853, 0x35011861, 0x7bb87db8, +0x5e08314a, 0xc35e6d5b, 0xa752e805, 0x8c326aea, +0x44a3d02d, 0x449e231b, 0xab3deb61, 0x77ff32d2, +0x8d1cbe89, 0x2a66fc42, 0x046d0777, 0xfce890eb, +0x4028ffe4, 0x0bffb383, 0x161df684, 0x19dc0582, +0xf881dbeb, 0xc0da4e64, 0x33ff8c26, 0x34776010, +0x51166b2f, 0x530ac702, 0xab3c058d, 0x3bd38455, +0xdbfc3d1a, 0x7f0dffef, 0x74464c45, 0x2ec0313e, +0x8175d175, 0x1336007d, 0xfa781b03, 0xd6396d18, +0x75d38960, 0xc74bafbc, 0x539e2a5e, 0x74bb4ed6, +0x05c73d31, 0x78b1c1f0, 0xa19bbad6, 0xdada251c, +0x0045dda0, 0x3500013d, 0x581049b1, 0x38fd8d1b, +0xa2bc02e8, 0xa09214a3, 0x99db776c, 0x34082872, +0x8d232000, 0x7742ba36, 0x8c032027, 0x77ee0605, +0x013be60d, 0x6a6b51e8, 0x68115612, 0x5e0b7cc0, +0xf00a2a32, 0x15811c2a, 0xa2d0af11, 0xb844d43d, +0x298cff46, 0x5a7804d3, 0x0414abe0, 0x0dcb6fbf, +0x9d56be64, 0x6ce5203d, 0x04bd9df2, 0xfee6e964, +0x06197463, 0x76baf6dd, 0xba2f1281, 0x84093a1f, +0xc5e226bf, 0xb923c08e, 0x18080a2c, 0x53fbfab3, +0x6855106a, 0x3a99e812, 0x53a0e830, 0x8b0cdc3d, +0x5c7da3a5, 0x8d169f78, 0x52d40590, 0xf4a38da3, +0xb93f182c, 0x31f5b0e8, 0xb5a9845f, 0x0be3c00a, +0x7802fdec, 0x0a62897b, 0x95548d69, 0x80021c3d, +0x5be36ffe, 0x7442be99, 0x3907bd76, 0x514676df, +0xfdde4b8b, 0x439236a5, 0x010814cb, 0x0c5651f1, +0x51044b03, 0x0561fffa, 0x7c745647, 0x0303438a, +0x04a80873, 0x5f671e75, 0x0365db01, 0x54935d55, +0xac19ac75, 0x2124b6b9, 0xb0522682, 0x563487fa, +0xbbd6555c, 0xa1000039, 0xe7ac5dc4, 0x01e8a2c2, +0xccba6e9c, 0x5bc087c0, 0xe901252f, 0x065149df, +0xcb52bb0b, 0x8a525009, 0x10a3cc29, 0x39720e09, +0x1606f7d6, 0x9bd5d50f, 0xa435e0dc, 0x32c6d083, +0x5c3cf6db, 0x817f750e, 0xe913ea1a, 0xe15a28d4, +0x0fc339c6, 0xc250198d, 0xd86e13c1, 0xadf8dce5, +0x8d4a7e3f, 0x7983a488, 0x75daee40, 0xfd988bd9, +0x12b185c2, 0x0b041e49, 0x8dc977f3, 0x60681d5c, +0x0c21b6d9, 0x1550cb0a, 0x8470ff30, 0x75289c1a, +0x00c42444, 0x60eb1572, 0x12db811a, 0x3987082f, +0xfc24c103, 0x0c9be217, 0x8b277330, 0xe0834613, +0x0c4b8dfc, 0x4e9b348d, 0x83633efd, 0xf0010ec0, +0x3930bad9, 0x762eadc5, 0x17c67607, 0x1e74992c, +0xd5741f70, 0x16a0281b, 0xcc032c9e, 0xd2963f66, +0x35c1447a, 0x577adeec, 0xb56d1afb, 0x66dd1fe9, +0x4d00002b, 0x8e12db46, 0x4c0c4809, 0x928cadb2, +0x58092009, 0x0e241dd0, 0xac2c39e9, 0x28340c94, +0x64c11f6d, 0xeb0e753c, 0xae01b8a4, 0x4752e104, +0xc5987d31, 0xd52de1c1, 0x232e11d2, 0x7b2f998d, +0xdbdb6d40, 0x3ca27d3f, 0x9dc181fd, 0x8b505b8b, +0x97490271, 0x408586a2, 0x202203ce, 0x0604ec87, +0x53e378a9, 0xe851c601, 0x84e9f30e, 0x350e1dbe, +0x664a31ed, 0x64a11874, 0xe146f46e, 0x7220ab08, +0x0973a40d, 0x83a7612a, 0x4eeab86d, 0xe37092c4, +0x5a1b92db, 0xf1c54c10, 0x0d8e8626, 0xfd2ae86f, +0xeb3c5853, 0x3c7e4307, 0xdacfa307, 0xb4ac467d, +0x7405e2c1, 0x8d77e575, 0x078da15e, 0x48763c59, +0xb1df0473, 0x132f7297, 0x86b45482, 0x440f7644, +0x6ddcdee8, 0x400c501c, 0xeb40b976, 0x48058bb3, +0x6eeada11, 0xc18540a2, 0xf5451c10, 0xca7bb194, +0x2ba67800, 0x85f98341, 0x383dd182, 0x21348638, +0x20889398, 0xceaf86c0, 0x371561f3, 0x244c4300, +0xed8d5a10, 0xff17ee76, 0x8334572e, 0x33391411, +0x9a011a7b, 0xb8455ae2, 0x01a0dc9e, 0xf120351a, +0xd1560390, 0x92a61300, 0x312d1a13, 0xbd770edb, +0xa7860c10, 0xf8bff789, 0x590526f7, 0xc839d101, +0x3906738d, 0x410276d0, 0x398b7620, 0x730e181e, +0x6ec50c13, 0xd0881ef7, 0x3bc21f23, 0xfc0a7695, +0x3a5b0b73, 0x0b8b0f10, 0x3b0c7609, 0x39c80f15, +0x0d116807, 0x1dfd1b18, 0x490254c5, 0x21d0f71c, +0xfbd139c2, 0xbad81c3e, 0xd1297f0d, 0x320b383b, +0x16086557, 0xbbde644a, 0xc468416c, 0xc0466670, +0xf621067e, 0x0105e3f1, 0x0e8b2893, 0xa3f143ca, +0x7cc911a5, 0xe9de15b8, 0xde396e46, 0x084018c0, +0x7cf19368, 0x3f0035b3, 0xaec00b0e, 0xc1084331, +0xb037b647, 0x481e7749, 0x80049d10, 0x64d8307c, +0x0d0dada0, 0xe92ed98f, 0x2b6e4986, 0x11eacaf0, +0x8bad087d, 0x128f6fc7, 0xee29066d, 0xb157a366, +0x47ec264e, 0x3f5de96e, 0x896d284f, 0x9b80c44e, +0xf4032962, 0x4ca6e999, 0xcc684c7e, 0x17e9c316, +0x9730a1fa, 0x12fc299d, 0x944d2e04, 0x60703570, +0x45b82815, 0xce020b1f, 0x3dbae800, 0xc36ec2ac, +0x09e8ba1f, 0x3582fb39, 0x4d730ca8, 0xadda2d01, +0xdf07b0dc, 0xda222e73, 0xa91ffd58, 0xc1c2f905, +0xc93109ea, 0xcf19d629, 0x3637a542, 0x89d801f6, +0xa33f892c, 0x888b882f, 0xeb29ec45, 0xb8cf3989, +0xc4c2a5e3, 0x72f01b6f, 0xd9dee4ad, 0xfafd91bf, +0xc209f031, 0xa15e4074, 0x5b4daf3e, 0x01498aab, +0x4ec5295a, 0xd63a1058, 0x15535530, 0x6d6141a0, +0x15cfbc63, 0x913305c7, 0x362594a1, 0x92ec1f8b, +0xb577d8a5, 0x3db951e9, 0x3c521d92, 0xe7a805c7, +0x877809ac, 0xe83dc3c5, 0x64a3b9d7, 0x58906bf0, +0x9b08f759, 0x2430fdc3, 0xc749c7e2, 0x909037e9, +0x25889b86, 0xdaddd2e2, 0x37257388, 0xf6c0bf68, +0x04b6a0c1, 0xb903740e, 0x9a81c287, 0x5b0cd1a0, +0x10a69531, 0x0d1bfb46, 0x41d02bfc, 0xdb72d939, +0x827a7e0e, 0x54968233, 0xbb7d0ccb, 0x1c6d2144, +0x7416d2f7, 0xecc48602, 0x5f10ae02, 0x3d02ba1c, +0xdd15633d, 0x062d0577, 0x10c03df7, 0x02f56f0d, +0x697868af, 0xed55b85f, 0xd2e9f713, 0x5f406c1b, +0xc11fc5c8, 0x475a45fb, 0x35c3db6c, 0xd583025b, +0xd0be6f07, 0xc309db7a, 0xc1290286, 0x03e2bbcb, +0xdcdbca29, 0x4f86e0d6, 0x23db16c2, 0xbd158002, +0x1140c8dd, 0x0be2d177, 0x59d18943, 0x27b1ac44, +0x6c5bea78, 0xf6ab69bd, 0x79cc49e8, 0x0f40046d, +0xb60815bf, 0x4141de05, 0x8aeb100c, 0x7f16ab28, +0xc244700d, 0xd6a1b729, 0x8ae346f8, 0x4330841e, +0x8a1c7414, 0x06ff9f41, 0x8818fc4b, 0x1cc888da, +0x38df2bdf, 0x460a75c2, 0xd52ff047, 0xe4751f7e, +0x0fdf7d1b, 0xe183c3be, 0x41321adf, 0xd1be04bf, +0x24d0295e, 0xeef7dbf2, 0x147f3b01, 0x744c5e0a, +0xce5e5b0e, 0x5b06c2f6, 0xbed2229b, 0x118a3842, +0xb438058d, 0x093cfa64, 0xee92ec76, 0xe20dad0e, +0x51952f8e, 0xea8918b0, 0x4a184a4a, 0x31f631f4, +0x644a88ff, 0x170532b8, 0x5ea8e813, 0x8de83e34, +0xd19d6870, 0x779a3b74, 0xb7eb7ffd, 0x7f02ffa8, +0x24684209, 0x752e3980, 0x08e6c126, 0xafc60947, +0x13bf0bdb, 0x89c47e03, 0xc8c17bf0, 0xc6890410, +0x1c371a22, 0xe53089d0, 0xa4e829a2, 0xf10c80fd, +0x328dd107, 0xffb75bcb, 0x1258f812, 0x60e402eb, +0xc09e64e4, 0x8204e1a8, 0xa8a5ee1b, 0x19e809d7, +0xe8726f18, 0x93f1da90, 0x01681861, 0xcb633424, +0x4fbbf70b, 0xb8e8a9d0, 0xe6d1b097, 0x08afe864, +0xf7620f8e, 0x1560e6df, 0xb6d3a6eb, 0xe8b7bd4d, +0x2efb83c6, 0x743a901d, 0x120e890d, 0x4bdbd4dd, +0x064264e9, 0x67d5e80d, 0x6c393c53, 0x3d804a19, +0x7f26c1da, 0x2e2961b3, 0xef10abe8, 0xe8dcbadd, +0x95882877, 0x13c0b602, 0xa039de6f, 0xeb5bbbaf, +0x187507f1, 0xb3b753e8, 0x7423c7dd, 0x0823e8ef, +0x7417c389, 0x240dfbce, 0x74c409e8, 0x0ab3a707, +0x12827777, 0x3c237496, 0x77fb70ab, 0x78a2e8f3, +0x11741bf8, 0x7d740404, 0x9bba0fcc, 0xbadf7578, +0x0aebff93, 0x15f0ba0b, 0x616baacf, 0x1213527c, +0xd0b6b9c9, 0x84103221, 0x110fe0db, 0x07bf1576, +0xe805eb58, 0xc9c6979a, 0x906ee952, 0x140ef2a0, +0xb5681c27, 0x5f01368c, 0x1a2d70f1, 0xb9e9b220, +0x91402088, 0x83c0f68f, 0x8d809f4f, 0xbe8dd086, +0x1dc51d26, 0xe4f8d67c, 0x99688d08, 0x8346a281, +0xfff00a1d, 0xf8873036, 0x3b453d14, 0x83b900b0, +0xc1bb8daf, 0x4914c3a7, 0xbba4a0c0, 0x88c19fc1, +0x938bed3e, 0x3ddc83c8, 0x7ed90e79, 0x17d57740, +0xdfc41418, 0xbd3b3442, 0x1693f726, 0x96978883, +0xf004750a, 0xc239f00a, 0x381b07fc, 0xc7916ac6, +0xf79672ea, 0x6346dec2, 0x1175e403, 0x0aa96569, +0x177efdf8, 0x07ea8130, 0x3b47e281, 0xff6d2c54, +0x67229afb, 0x61c0208d, 0x29ced70b, 0xe9f51d7a, +0xe39e7f56, 0x40335f35, 0xf83974b7, 0xf1f75557, +0xd8afe850, 0x2c6853f0, 0x2c4a2595, 0xe575e894, +0x9154dbbe, 0xc66e775f, 0xe8241c44, 0x277f4b62, +0x89e02930, 0x65e972ba, 0x1c0608ff, 0x391c0f06, +0x3ed6bc21, 0x0937540b, 0x1ed83058, 0x5e018b84, +0xd3f8c993, 0x67fca713, 0x9c2dbb89, 0x267f012b, +0x91484264, 0x75ff85bb, 0xa1ad12e3, 0x3ab38bc3, +0xff09d9a7, 0x30e05db0, 0x39052abb, 0xb7a4f2f7, +0x1ffebbb9, 0x393276f2, 0x392c7311, 0x139a66b4, +0xc2df407a, 0x8ea148fa, 0xb9b7a1f8, 0xd338850d, +0x33093914, 0xd0341789, 0x19d6ddbb, 0x779a3bf0, +0xa581750a, 0x95302579, 0xe8868d7b, 0x0b4463ee, +0xd3a07cb4, 0x58184e6f, 0x1d5e016c, 0xb6ba15cf, +0xd43c7e01, 0x5ebe9f75, 0xbe582b11, 0x7ac13e91, +0xa14be2e1, 0x20d1a328, 0xa2068710, 0xcf87debf, +0x0452e03d, 0xd69c0d99, 0x3aa172e9, 0xb4060745, +0xf8e417e9, 0x2932a1af, 0xfc508dc8, 0xace3c802, +0x726a3f0a, 0x8951d319, 0x5b7b3894, 0x2415de44, +0xb16ec310, 0xea4e131d, 0xe6168b0c, 0x9181da29, +0x8db12fee, 0x0d3ef84a, 0x760a7823, 0xf13e5821, +0xe10afc42, 0xb2ed960a, 0xa8480d89, 0xc980be33, +0xc2d9966f, 0x87fc408b, 0x4188358e, 0x39ce0746, +0x66a8f5c2, 0x767d3c87, 0x3295a05e, 0x3050f1ba, +0x42f8528b, 0x23d7a0b1, 0x828f7a75, 0x2fb3a1d9, +0xd4648cc1, 0xa155e2a7, 0xd6f8cee6, 0x0ea2e1fa, +0x6884bc80, 0x2e28c380, 0xc8a81ae1, 0xf7b04a99, +0x20b94f75, 0x5303281a, 0xa6112304, 0x20cc646b, +0x1ecf086d, 0xdb9e66bf, 0x4ab2fb24, 0x417a38e8, +0x5fd7b00e, 0xd0f015d0, 0x346c1401, 0x7955bbd9, +0x6d0bb796, 0x88115a58, 0x43e100b8, 0xbd0869c5, +0x01331ea1, 0x07bfec8f, 0x0a124f7c, 0x22ffec34, +0x9d032d18, 0x7b7520fb, 0x081a14a1, 0xadb94f5f, +0xe80af508, 0x6cf4a75b, 0xefe86122, 0x282aa7b1, +0xe0ebe80a, 0xc02e02a9, 0x43f728b7, 0x58594fdc, +0x49e2ce9b, 0xc433e836, 0xe8450d3e, 0x61dc80be, +0xbe0028c1, 0x45f7dc30, 0x150b502c, 0x1f1ab9d7, +0xcc22eb19, 0x128eb99e, 0xe3d8cf27, 0xb2e98be4, +0xd0753315, 0x3a20cc8a, 0xa29789e3, 0x189a4b04, +0x0d370806, 0x061e3617, 0x5e055b59, 0x1ce43d12, +0x4a08ef29, 0xcaf176d0, 0x147b8115, 0x46c3ff00, +0x9d7502a5, 0x438daf04, 0x13e8501c, 0x936db02b, +0x18ca4210, 0xe0161406, 0x311be276, 0x00848db6, +0x2ad21ff3, 0x9509b604, 0xa994abee, 0x280e45a5, +0xc1183f54, 0x8c68056f, 0x03c6661c, 0x80597845, +0x4128df5c, 0x03884558, 0x2e891dc6, 0x04e3dde8, +0xc8370500, 0x5ca7c54a, 0x88ac1255, 0xd048c343, +0x0618e7f6, 0xaca1ed09, 0xb540ed01, 0x8906bb1b, +0x6b70dade, 0xe8b314c4, 0x1b90f6aa, 0x219a2070, +0x16eb7687, 0xa28e54ce, 0x51a41363, 0xd40fef42, +0x1040ea0f, 0x643e0539, 0xb445b423, 0x3241fc80, +0x602ee7c0, 0x2df6206a, 0xaa14c294, 0x836a341a, +0xed2d8abf, 0xd46897ed, 0x02ad4194, 0x3c02408a, +0x7866dbf8, 0x3c3c23fb, 0x09e9ec75, 0xee463b68, +0x180fe302, 0xf0304e3b, 0x01b074d4, 0x5588b57b, +0x039173b4, 0xba8768ae, 0x700c407b, 0x51cd54a3, +0xbf8ab6dc, 0xc6110688, 0x55d57943, 0x83439bbd, +0x31e514e8, 0xe88ed90c, 0xe7e8ad47, 0x1e58c6f4, +0xbae0b6ee, 0x56225a98, 0xcde80343, 0x87689619, +0x86c65241, 0x59a1fc95, 0xa39e0bc5, 0x7153a845, +0xd427243a, 0x582647e8, 0xb53f11ca, 0xec707ee8, +0x4b6f8c43, 0x46727e8d, 0xb6edc214, 0xeb8351fb, +0x0edf860c, 0x5f030247, 0x1ceb5d04, 0x7947c3f0, +0x6e3de8f0, 0xf1110ad5, 0x3bd45dba, 0x0623c35f, +0x8e9f4307, 0x00892520, 0x9ce5c263, 0x4f28c7c5, +0xc256e804, 0x1c070169, 0xfcb96c06, 0x782a06ee, +0x4e8ff42c, 0x760df983, 0x5b5015e2, 0x595d1d6f, +0x66e40c42, 0x090d5a07, 0xc855ed09, 0xc066a76c, +0x4988002b, 0x5906fdb4, 0x097d800a, 0xd8640f11, +0xf152a9ec, 0xa9555600, 0x7b0340c4, 0x546573b5, +0xc68f5dce, 0x46083cdf, 0xb0bd4681, 0x07bc2fb3, +0x3974b516, 0x0405663d, 0xf19b778d, 0x5626c10f, +0x0e6f8db6, 0x30fa3ee8, 0x6d006c09, 0x4bbae77d, +0x6d883eca, 0x0f1108c6, 0x8e45143b, 0x1bdddfb1, +0x5f385102, 0xe856531c, 0xde0c310c, 0xffd9ef1b, +0x83561677, 0xe85720c7, 0x041127fa, 0xea743468, +0x60f336ec, 0x0468060f, 0x550fda31, 0xd6b7086a, +0x0792665a, 0x79fb402d, 0xe026c08e, 0x0595e0e9, +0x852cdbf7, 0xdab6d188, 0xc1fb0fc4, 0x430b740c, +0x1b815762, 0x2548c031, 0xbff1bf21, 0x8d38126a, +0x528a0e6a, 0x3cbbc60e, 0x53870f0a, 0xa0c4e28d, +0x932bc6fe, 0x42a7005a, 0xfacd7b89, 0x0b10cdcd, +0x7fbba954, 0x89c5f7fe, 0x823f2c06, 0x5edab074, +0x6194c6b0, 0x70846519, 0x5c627c56, 0x582478d1, +0xef087594, 0x46e91c19, 0x938f3a1e, 0xcd0e1f8d, +0x22c6833a, 0xae544584, 0x56086f6e, 0x86742b04, +0xa02d5cd6, 0x8780bbf0, 0x7e836b13, 0x62db0627, +0xe8977c2c, 0x0f30fd26, 0x277b6c4e, 0x694506bf, +0x1de3240b, 0x86ddb74c, 0x05dc3d0f, 0x13cf8fff, +0xeac8148b, 0x533ff614, 0xae09346c, 0x240c8b74, +0xf308748d, 0xe33c4b80, 0x29312278, 0x0e73cfd1, +0x8dde15cd, 0x0e152962, 0x3b203445, 0x0eb7dbd0, +0xff0f7c03, 0xebfc15fd, 0x3501dfe7, 0x68f8ae81, +0xfdc443e0, 0x60bf10e8, 0x4cf86e8a, 0xb9057e07, +0x97f14b07, 0xc3843762, 0xf6e8e3d3, 0x96c751f2, +0x71e0df4e, 0x99a4071c, 0xb129f9f7, 0x976b125f, +0x44b72849, 0xd6381048, 0x45de2ec1, 0xa173748f, +0xca89d9d4, 0xb18b54a0, 0xfe2423c8, 0x8db196aa, +0xaa4fdb43, 0x460813b8, 0xb56d5b04, 0x07fe76c4, +0x0616fcf3, 0x6274a16e, 0xe0d1c307, 0x7b18bc80, +0x1378b622, 0xf0b40618, 0xebdd0704, 0x61740678, +0x230354c0, 0x132eb468, 0xeb30810f, 0xee031917, +0x2b028fb1, 0x681b54e7, 0x00d48b64, 0xfcc22033, +0x42f8e6f8, 0x0362ee1f, 0x596851df, 0x8722a664, +0x08030680, 0x5dba6638, 0x01a4fbed, 0x6d431206, +0x15040614, 0x9946b630, 0x57176ddd, 0x56e303a9, +0x55241453, 0x51cd252c, 0x1374b22a, 0xd250182a, +0xa9b00669, 0x430ebe22, 0x35a3613d, 0xf876506c, +0xe001b3d6, 0x21c05b82, 0xc3db0ada, 0x2ce6638f, +0xf6812e18, 0xf0c345b6, 0xb41945d5, 0xb1e26b27, +0x6d0f498b, 0xb8a56556, 0x9ad85914, 0xe9c3bb94, +0xb97718ed, 0x5e975f28, 0x78c53906, 0x50b83c6a, +0x7f0db1a6, 0xdca36604, 0x341be882, 0x13789318, +0xcd52ac60, 0x7c3ac214, 0x4f83415d, 0xea699e63, +0x7001a296, 0x4a24e702, 0x1c6f19bc, 0x42748008, +0xb8255006, 0xfff8642b, 0x34756832, 0x2be818a4, +0xe8e85b1e, 0x1b0a1f81, 0x671fbe42, 0x665ac447, +0xec10e7be, 0x3ae7dd22, 0xec11c040, 0x74c20b14, +0x07d9efc7, 0x713a02c4, 0xa068cf04, 0x6a9859b8, +0x13ab3446, 0xb7376227, 0xe80c3544, 0x23e8ff23, +0x6d18bc1e, 0x3de9d99d, 0x46782b8e, 0x2495e303, +0xb1406ec7, 0x634a3152, 0xafeb76c2, 0x500176d1, +0x7ee01319, 0xf1913698, 0x2dd0335c, 0x9b20bdfb, +0x2c3e414b, 0x7245e3c7, 0x6d88e2fa, 0x00b178ad, +0x40b43dc9, 0xa5d92bfa, 0x0ca3afb7, 0x5002efaa, +0x5b053be0, 0xf100f4b6, 0xc0c1ace8, 0x5bdcfb9e, +0xba0750fe, 0x0f0386cc, 0xfe5de87b, 0xcc458468, +0x731d665b, 0x0d028bdf, 0x95dbde48, 0x6058bdc2, +0x5da1b702, 0x0e3d79c3, 0x3a97bab3, 0x8df118c3, +0x1408f668, 0x24835d47, 0x4a5aa3bc, 0x201c19e7, +0x1222adb6, 0xf6204e05, 0x2ce88ed8, 0xe984c060, +0xbac00da8, 0x1309b3a0, 0x63206a5e, 0xb0ee9a02, +0xcd86c21d, 0x0dce04e4, 0x13a00fd4, 0x20c67db8, +0x79fda7b5, 0x7e03ff4d, 0xe9357731, 0x75065d0f, +0x2c578da4, 0x6823a976, 0x1a087349, 0x1a6aff10, +0xd9180978, 0x32105c8d, 0x63063be7, 0xdbf29a13, +0xa098fd61, 0x7660da96, 0x2f16dc87, 0x80d009d8, +0xb3130b4f, 0x38848c8b, 0x384c45ef, 0x222ec884, +0xb03002e5, 0x231f0736, 0x2d4d7576, 0x4c590178, +0x75493812, 0x584428f0, 0x2fbd6888, 0x820a583b, +0xb87d3145, 0x1db05742, 0x391e1069, 0x400249d0, +0x58c6c0f0, 0x06d519c4, 0x16ef7902, 0x6012205e, +0x892e4725, 0x6969a1e7, 0xa636f1b6, 0x41aa3da3, +0x8e528ca5, 0x05fe4276, 0xd8a6e748, 0x0f704d72, +0x1985b19c, 0x887c0ac9, 0x5bb9c141, 0xf19ae988, +0xc70ec1be, 0x1559950b, 0xeaab8321, 0x7eb4771a, +0x0d4f72ff, 0x06416dc5, 0xcece7d8a, 0xdcc03894, +0x63098461, 0x086c0573, 0x97153693, 0x7ae0e8f1, +0x484221c0, 0x7e70bb18, 0x4db8a01e, 0x40c1b1e1, +0x38fc18b6, 0xf0c2a79d, 0x2d06c4e0, 0x7da17b02, +0x10805588, 0xe857c550, 0xfd19ee26, 0x181a514a, +0xe997ab9a, 0x585c22b4, 0x5220ae88, 0x25522ebd, +0x167d383f, 0x1da3a27d, 0xfd756953, 0x09fc5198, +0xe9018b1f, 0x386efd63, 0xf6be0a64, 0x428a9330, +0x041f7283, 0x6dc2450c, 0x04b147d2, 0x74d3ed85, +0x175083ad, 0xfbae06a8, 0x941235ee, 0x03e547b0, +0xd7ba3e33, 0x1a7e1ab1, 0x97cc22a3, 0xc148d0b6, +0x9f257df9, 0xf1fdfa20, 0x8b6c2197, 0x2f8c24bc, +0x068024b4, 0xc1e3249c, 0x83a47e0a, 0x8d98ffff, +0x831e1e2c, 0x9f6fea27, 0x8424841a, 0x3e4474b7, +0xbc6c6d82, 0x8018010a, 0x1774cce3, 0x04d09f4b, +0x9e32be1a, 0xe4020886, 0x0d9c4f76, 0x44afc898, +0x821fc8a1, 0x012845d4, 0x816c7d4a, 0xa6d342d1, +0x83f868a5, 0x41809e56, 0xef61ec3e, 0x8c09bae0, +0x25c4012b, 0x3328c9f5, 0xcb1f47e8, 0x6b948eb7, +0xa004f9b1, 0xa874bc9d, 0x8edb2fc5, 0xb6f4ea0e, +0xee391b88, 0x93bd0b73, 0x77863edd, 0xf5720a46, +0xa82d89b8, 0xafc52854, 0x4c758e05, 0x6a152052, +0x44c22e18, 0xe840bd57, 0x68b86c34, 0x50beb8c8, +0x52f42c6c, 0xbb642e04, 0xb67e5c1e, 0x0dbf0141, +0x047bbab6, 0x225ef130, 0x1bddd1c8, 0x00dd54de, +0x4e546877, 0xfffe42e6, 0x62c615ff, 0xd988d4c3, +0xdf7ea180, 0xa09027ba, 0xac846ad0, 0xd13d804b, +0x304275d8, 0x7f0256c3, 0x1135541a, 0xe5ffe1b6, +0x2b750330, 0x8001568a, 0x177603fa, 0x83468d13, +0xc4fd8b9b, 0x37e8ba68, 0x851bee1e, 0xe027b3c2, +0x0230ff0b, 0x12c122e9, 0x580baf5c, 0x837b576a, +0x9b49156e, 0x84f6caab, 0x1a7f75d2, 0x3608fb35, +0x50ac55bb, 0x841d08c0, 0x65df0801, 0x0e2b1964, +0x8001b381, 0x61dbfdd0, 0x9789a023, 0x9275961a, +0x05c6ff6a, 0xee85dfd8, 0x12467318, 0xe88e006a, +0x01e6fdd0, 0x19b3800f, 0x33360200, 0xb656707c, +0x82028ee9, 0xec7ab7c1, 0x4e7401f7, 0x8f010895, +0xed89eb94, 0xab475256, 0x6fe8c743, 0xa47aa179, +0x4a1f089c, 0x0ba3ffef, 0xc58986cf, 0x11187135, +0x483d32b6, 0x35f8891a, 0xe9cbdb15, 0x8a6eec04, +0x2709fbad, 0x0e19a218, 0x0310108b, 0x708617ad, +0xe78c1409, 0xd22a97b6, 0x7a86feda, 0x8ec9311a, +0x6fe3ba8c, 0x383099e5, 0xb81773d1, 0x396647a0, +0x16dfed18, 0xdd41af16, 0xf3721144, 0x7405f980, +0x83800848, 0x481709b6, 0xc0e931d1, 0x8db50bee, +0x2aa28514, 0x47f23db9, 0x6a2ebbfd, 0x6c4c7ec0, +0x3c3c0241, 0x3cb00276, 0x76ac7b70, 0x8d5051a1, +0xd45003c0, 0x03861c9a, 0x10d51220, 0x85d0323c, +0x03104482, 0x10a21ad5, 0x16a8cf87, 0x075f46e9, +0xc8fe1d3f, 0x80c9fef7, 0x0b57a7fd, 0x017e807c, +0x00ea86a3, 0xe13b303d, 0x62008b60, 0x629a4f6b, +0x8c36e48e, 0x58150625, 0xe91346fe, 0x6d387af6, +0xa328538f, 0x7aa39a16, 0x15746292, 0x27e84769, +0x6d5e971c, 0x933b1f49, 0xeb8323db, 0xf67c9c3d, +0xfc5ae904, 0x0099f43b, 0xdca4b884, 0x3bd5a342, +0x09ce6f80, 0xf20c0af0, 0xd1f81e48, 0x6fd1fbd7, +0x718dc1b8, 0x7e8d7d27, 0xf8018002, 0xaae0c739, +0x8322004f, 0x120e8e5d, 0x80758216, 0x1a25781f, +0x08dd5c18, 0x77ef6e74, 0x21a5b91c, 0xca7b4714, +0x0bb02de0, 0x446fb4c0, 0x47b6105c, 0xbf6f80ae, +0x03877c51, 0x725e7c3b, 0xcafae9a5, 0xba1eea41, +0x09e4c0b6, 0x27570dec, 0x05db910e, 0x340fe8fc, +0xd4fdd336, 0xe80b3d90, 0xbd151af9, 0x6c425895, +0xe9988842, 0xe01b7683, 0xe99cf82b, 0xf0418d81, +0x1c51a2d1, 0x1e21f646, 0x02f1675c, 0xed20ad8c, +0x332674c9, 0x313f8981, 0x31158556, 0x11762a5f, +0xed01b1b4, 0xaf3cf890, 0x0875bf3b, 0x06742cb8, +0x2a7f032b, 0xb8f47502, 0xa1ddf044, 0x43391ad8, +0x2dea7504, 0x0f0f0fab, 0xf269515b, 0xf7ccb000, +0x15260647, 0x73f13eb7, 0x67582e1a, 0xc582e5b4, +0x9856b49f, 0x981c5a59, 0xf5111a8c, 0xf72a9d7f, +0x1422ea09, 0x040ebfac, 0x9643633c, 0x141a0626, +0xdb680918, 0xd2405385, 0x704b5776, 0x3b4890aa, +0xfa94a3e4, 0xb890d9a2, 0x48c108af, 0x5bdde27b, +0xffba7f6b, 0x3d107e21, 0xf7ba77bf, 0x55a83aa5, +0xbc00c58e, 0x805829da, 0x875306c0, 0x8ab5003f, +0xb6a15711, 0x85e2acc4, 0xe8f9b148, 0xf01ddf44, +0x8713fd2a, 0xefc1011a, 0xf8f60285, 0xecea848f, +0x0f6caa49, 0x5a4370ba, 0x962b7268, 0x388c6eb8, +0x18446713, 0x57554a66, 0x47244e27, 0x216e5605, +0xe8068f09, 0x0f27194b, 0xdf731a99, 0xebe9d385, +0x1ea314f2, 0xf30422f5, 0x16bacf60, 0x5952f5d7, +0xb1566c43, 0xedd02b05, 0x5c57a0c5, 0x386eb9a0, +0xec81d7c2, 0xa1c10078, 0xd47c0d0d, 0x88ac1608, +0xfa00a2d6, 0xf7ce16ed, 0x010a84a1, 0xa234081e, +0xf5034602, 0x0386168c, 0x75136ce4, 0x1abf76e5, +0xb90c04a2, 0xef824740, 0xcaedd3e0, 0x013cc279, +0x063e3d04, 0xd8184d0d, 0xd02ab193, 0x2206f351, +0x8614c3db, 0xf018ff10, 0x15a9820e, 0x18050385, +0x072b06f0, 0x0fa3f7d3, 0x15c36cd2, 0x2d2f2241, +0x1b040ce6, 0x34ce8d0c, 0x830b63ae, 0x5416b615, +0x38168c59, 0x232374df, 0x800f1001, 0x680d6a52, +0x232cd0fc, 0xe91799bf, 0xff8dc617, 0x060c7f4e, +0xe814bedc, 0xb73df15c, 0x71010ed9, 0x89ba2e1c, +0x1cba5ff7, 0x284b0e93, 0xb750fe9c, 0x8f13bfbf, +0x242c1f9a, 0x436afb68, 0xe8ffb66a, 0xd58a26bb, +0x7efaf2dc, 0x246a28ff, 0xdca1bd17, 0xc9561ce8, +0xb0e2e8c7, 0xa7f04ff2, 0x68483856, 0x5728eb00, +0x87bc7a0c, 0x0c5386c5, 0x09cfee51, 0xe0dd8ca1, +0x1adc4ddd, 0x892fb2e8, 0x2dc729df, 0x475ed47f, +0x63158228, 0x22043d83, 0x7fb77424, 0x570c0385, +0x8b1c2713, 0x2b1c2bd7, 0x611d16fa, 0x6840ec1a, +0x16e31da1, 0xd2324c04, 0x3d163ac5, 0x821390cc, +0xb5439c8c, 0x8cd84e43, 0x9e991674, 0x9a4cdb31, +0x7ff16708, 0xfb8309eb, 0x858f0f13, 0x8b1455f9, +0xc71c2301, 0x9f5f1802, 0x01d8c25e, 0x50f5f001, +0x89ed4907, 0x11d84ecf, 0xe5b10843, 0x26a87505, +0x47ecb6c4, 0x39f685de, 0x895c81f9, 0x48bd8847, +0x34814375, 0x4ba9186c, 0xe8d38c80, 0x516b7013, +0x970a6d24, 0x32061d8e, 0xe2ed59df, 0x79941d1a, +0xbb408ece, 0xf31aae77, 0x3163b702, 0x5d0031a8, +0xffe53374, 0xe27536b3, 0x838d9903, 0xa0831f1b, +0xfd16f6c0, 0xef0d6807, 0x0412d3e8, 0x17f5ba47, +0x6cd23ca1, 0x483944c3, 0x5022a1cf, 0xc8daf1d7, +0x024c0350, 0x0858c8f0, 0x5abd5177, 0x2b92bc15, +0xaa495a9d, 0x84575a2f, 0x410dc203, 0xad8b87a3, +0x03681535, 0xbe1af0d2, 0x02756df0, 0x418dfdd0, +0x6899682e, 0x4290960c, 0x15cfd61a, 0x0aa3ae1f, +0x2a61830e, 0xcbf79668, 0x77f068a9, 0x048302b0, +0xe82835ff, 0x91e4f028, 0xe89e80f0, 0xb494ee6c, +0x426c84eb, 0x536a8a98, 0xf67d81d0, 0x82e8d960, +0x6845d714, 0x0e46c9e0, 0x146be416, 0xfffe3cbc, +0x11dfec24, 0xbd2c68de, 0x00001184, 0x3ec0f2a7, +0xe81e3f6b, 0xc7a4ef83, 0x25f447ed, 0xe9a20f47, +0xdfc069e2, 0xad736d55, 0x39ba0904, 0xf738e38e, +0x408f51e2, 0xc2029b4d, 0x82e7e944, 0x09337044, +0x3ec03100, 0x144d1380, 0xca3867f2, 0x2c112d52, +0x0fd1d237, 0x3013c474, 0xa3f6fb04, 0xb40bff03, +0xa9132740, 0x3960518b, 0x5c418bf2, 0x6a3a2d77, +0xb5e50e8b, 0x75cdd8ae, 0xada0b114, 0xf10c7fc1, +0x15477a37, 0x8354578b, 0x891c760c, 0x46d889d5, +0x8d6e036d, 0xdf57f5f7, 0xe9a63207, 0x19cfa5b6, +0x6c277c11, 0x5f140b44, 0x396868ea, 0x7764789f, +0x40dfaf78, 0x77f76085, 0x13548b72, 0x208a5842, +0xe222dede, 0x775e7268, 0x5876d819, 0xc5aeba02, +0x10d44da3, 0xadab1c61, 0x03e45e21, 0x10786c47, +0x6cd913fe, 0xe2054def, 0xff5378c7, 0xd0386022, +0xac54b113, 0x0a6c3804, 0x90f10482, 0x036d3c33, +0x29473ff0, 0xe9d619c3, 0xe1a37c4a, 0x8300cd04, +0x034651bd, 0x43119720, 0x48b1dfc4, 0x5288794e, +0xda50ad79, 0x0fc466c3, 0xc50fe0f2, 0x9e09b748, +0xc789da10, 0x2eed3187, 0x51721786, 0x8dbd3bd6, +0xd1e200aa, 0x340d1686, 0x29e80e20, 0x6eb07bd8, +0x071f756c, 0x89ecd65c, 0x59d875c2, 0xeb7a0bb0, +0x89f7de75, 0x06259718, 0x50eb2201, 0xfb9b8aed, +0xff034152, 0x36104c40, 0x1428bc7e, 0x8b30c61f, +0x491c4292, 0x86f80a5c, 0x89480275, 0x42037842, +0x7b3ba274, 0x688b1315, 0x26037c3e, 0x68b50edf, +0xa22eb131, 0x9b042b68, 0x36427838, 0x3ee103e0, +0x40358f55, 0x3445038b, 0x3fb4229c, 0x4cf3a771, +0x003dde3f, 0x4c314877, 0x0fb9d339, 0x71b10672, +0x6f77fc33, 0x6b77c139, 0x7451441a, 0xab6e40e7, +0xd8e604e3, 0x28d0c7d1, 0xaafa5ac4, 0x131ca944, +0x70255518, 0x2c261d6c, 0x60cf78b3, 0x58ec3edf, +0xf6a9f066, 0xbd4b74c3, 0x514674fe, 0x6bb59ddd, +0x5028262b, 0x582b4c86, 0xa7fe535a, 0xe30c9dc2, +0x5c46782c, 0x2960568b, 0x1bec3ec8, 0x194876ee, +0x014c56da, 0xa5da11c8, 0x70ff6ee9, 0xb30f04d7, +0x54825036, 0x58285052, 0xba4afc47, 0xfdd0c0e0, +0xc7bde06e, 0x880f0c0f, 0x20f1a6cd, 0x9fb717c3, +0x8d71dd84, 0xfbec71b1, 0x50415e3d, 0x3db8d4ba, +0x2aa7fe28, 0x24b32360, 0xe4ded341, 0x492703c3, +0xa30dda53, 0x20e1da0b, 0x20bd392b, 0xa0251dc1, +0xa0bb3610, 0x8163924c, 0xe8029657, 0xa8a6a5a7, +0x83fc87bd, 0x6f9b6e5a, 0xe9800f41, 0x01d3747e, +0xe9e7a6ce, 0xdf116257, 0x070afa53, 0x8df6c28f, +0xc629f1f0, 0x01dad719, 0xc09155cf, 0x50d26705, +0x85efdc8b, 0xc9bd8bf0, 0x0a41a279, 0x58539310, +0xe06c8a90, 0x6d164bdc, 0x4bfd9010, 0xb1045b28, +0xf7443d66, 0x19961bd8, 0x281b7633, 0xbaa92a9a, +0xd7625774, 0xf80e8890, 0x467c8d5f, 0x2cdcaf89, +0xc0855d20, 0x227bb1be, 0x8394c602, 0x3d50047a, +0x230fb1c0, 0x02255028, 0x80309cdd, 0xae46ddc8, +0x2b3c2d02, 0xda00edbd, 0x2d3c050f, 0x3a80d507, +0xd75e2e93, 0xbf08ac3e, 0xd67c747b, 0x0805aea2, +0x0904e00f, 0xe0b06e0f, 0x341c9a6c, 0xc6899809, +0x2ddf1566, 0x2d49a930, 0x41cdbab6, 0xa3291af0, +0x155c2820, 0xf472dbf0, 0x723a1d02, 0x1eedf8d7, +0x89276dec, 0xa3059835, 0xfcc23294, 0x8a49be3b, +0x4257be59, 0x93572061, 0xc360f846, 0xdc41e852, +0x63481834, 0x20bf066b, 0x7e5484ab, 0x0f125b98, +0xc7fd983d, 0x4100000b, 0x18644a1c, 0x23087aa4, +0x427d0e91, 0x7909c91c, 0xdbe7061a, 0xa9076002, +0xfee54823, 0xdb71e952, 0xddbe7a0b, 0x97eb6679, +0xb88d8f09, 0x34760431, 0xb7002b66, 0x8ad056c3, +0xdb241ee3, 0x6ee883dc, 0x7a808988, 0xbefe4e1b, +0xa08d778b, 0x720711f7, 0x41d1e915, 0xeeec3efd, +0x2b78387c, 0xfb813b43, 0x118779fe, 0xdf75bfa3, +0x07c3f634, 0x2ba4df75, 0x57530eab, 0x5223d9e8, +0x344c35d8, 0xb910cd8a, 0x82ff0224, 0x8d34ecc7, +0xfdf8fd46, 0x1ddcb877, 0x1daab7d1, 0x10edc124, +0xd46d0899, 0x980468a0, 0xa6d0087b, 0x8d2bd3ca, +0x68ba2d44, 0x58ad402e, 0xfa68bfb7, 0x9db3c580, +0x042cb80a, 0x69185106, 0x17733053, 0x785c02a0, +0x34388256, 0xe9722414, 0x0bfb1678, 0x4274d2c4, +0x35731440, 0x26fb2767, 0x08e9c16e, 0x73280beb, +0xef753f21, 0x8702c11a, 0x3943dbed, 0x08e175d5, +0x1e701583, 0x21df4998, 0x28f17817, 0x88c33f4d, +0x980bba5a, 0x428819e2, 0x6602c32d, 0xa91d0a06, +0x428ddc7b, 0x06072704, 0xdc306a45, 0xc5d91af6, +0x693023c7, 0x93c40ac9, 0xb21758ee, 0x6ae81442, +0xd5a71f14, 0x3c9a0161, 0x52be0564, 0xd6f04dfb, +0x0c241824, 0xfe8608eb, 0x552e7f24, 0xa9ff2956, +0x287da4e0, 0xfce283f1, 0xcda8e174, 0x01ee4ee1, +0x8622dd74, 0x38357926, 0x50f0d0b0, 0x4fd27e10, +0x873d4217, 0x2ddd02d4, 0x04501961, 0x424d551a, +0x47236c43, 0x6a172c8a, 0x8446f5dd, 0x18c30b68, +0x5b547cc4, 0x58d488db, 0xdbbc1af7, 0xafd76b3b, +0xb5e9fded, 0x456110d0, 0x08ad0a58, 0x700319b7, +0xdf2ddd1a, 0xb60dec6a, 0xe8def898, 0x544721f6, +0x9a29ed76, 0xc6f84274, 0x0019036d, 0x2bc6f15d, +0xe9474ffb, 0x5542b4be, 0x90104a0a, 0x8d806b18, +0x5b56db4a, 0x0bdf7280, 0x0a7dd15f, 0x0e0c3941, +0xca44f74c, 0x2d86e166, 0xce0439ea, 0x39d944ae, +0xed8dce44, 0xe06f6da0, 0x3c1cd277, 0x1004c8da, +0xaee1635d, 0x2fd80816, 0x916c1a39, 0x3b843edb, +0x6314fd09, 0xdbd87dc2, 0x2f542fb5, 0xa7d2eb04, +0x96121c92, 0x47053c15, 0xe0031821, 0xf5537003, +0x12809506, 0x115eaebc, 0xf34c2a1c, 0xc0954329, +0x36abbd17, 0x8605ca6f, 0x1874d039, 0x9b375b36, +0x50ac2630, 0x0d180543, 0x203914dc, 0x052d20dd, +0x3584761f, 0x73b81088, 0xb1054f21, 0xe21af8c9, +0x2f17608d, 0x08496a0e, 0x59dd5350, 0x29b8b5f3, +0x8b648246, 0x4b4cf6f4, 0xf4c285d1, 0xfca3891a, +0x614d04d1, 0x21dc1dce, 0x00588324, 0x0643d54c, +0xe027045b, 0xf02307af, 0x0b76daeb, 0x324b6032, +0x1a334e52, 0x975ece2f, 0x2d560b5c, 0xfd51d0ac, +0x18148368, 0x072d5650, 0x8365cd35, 0x5c9da4f9, +0xab585674, 0xe4c780c9, 0xd84c1419, 0x170c1c24, +0xbbb72c0c, 0x349a1e12, 0x63f62d56, 0x9b1178d5, +0xe19913df, 0x1a28d06f, 0x21980d97, 0x34205ed0, +0x12c3b390, 0x330142f0, 0x0a62baf0, 0x7f503b97, +0xd6a04c55, 0x7510c4f2, 0x60bab908, 0x092d7e00, +0xc9b5c19c, 0x0c342980, 0xb49f3c19, 0xe07f6009, +0x08858b84, 0x31df6a55, 0x2934b019, 0x3c083c0a, +0x252fbe3f, 0x2376ab68, 0x07235b76, 0x296c07ef, +0x571388ba, 0xdb2e50e9, 0xedb8041e, 0xef3c0721, +0x80f61d31, 0x240fbdfd, 0x08693e74, 0x4e2a5540, +0xb32bafe8, 0xc6695b67, 0x775f0828, 0x1022b2a9, +0x8a1607b3, 0x007a9b33, 0x8bee3dc4, 0x0ab1bb53, +0xc39d5e38, 0x5829c784, 0x1a1eabe2, 0x6f036773, +0xa029a3ac, 0x5fc3e96c, 0xab811d10, 0xe272f192, +0xee42526a, 0x689a5f83, 0x294284a4, 0x8f6d0a34, +0xff9214c0, 0x4fa35e8d, 0xd00aae3f, 0x1574912d, +0xe2011a43, 0xc2e94b1b, 0x46c7131f, 0xd07d930c, +0x1113e04e, 0x73651ac7, 0x2e05ddd8, 0x3810466c, +0x483e3874, 0x821bcf75, 0x724f8c42, 0x405b5ae4, +0x8b6c59aa, 0x4663f83d, 0x6d4d2224, 0x9783b0bc, +0x05f0147e, 0x135646ff, 0xf2df7088, 0x91b772bb, +0xf0042fb0, 0x02e65f46, 0xcb8b5859, 0xd0560c70, +0x218382b1, 0xea701775, 0x9a20f5d5, 0x3750a88b, +0xba35a062, 0x527ec735, 0x6a28940f, 0xa310b215, +0xfc681b17, 0x50e7922e, 0x89bc1804, 0x6e0b0426, +0x1c1b2163, 0x071cc9ab, 0x2dd54ad6, 0xe2628f20, +0x8ccedf06, 0x4d20d17d, 0xbc03ce78, 0xc3023eeb, +0x8c3f6601, 0x7e060904, 0x98db6744, 0x0884060c, +0x9727cbe4, 0xe0ceae6d, 0x3fdf5340, 0xea0ed50a, +0x5694eb24, 0x731676ff, 0xf7aeb849, 0x2e33371d, +0x12420377, 0x6988750e, 0x68132007, 0x062326c1, +0x508b1c9d, 0x8a43439a, 0x2a30e94b, 0x4b669d4e, +0x1059a74a, 0x0e303377, 0xfe04e851, 0xa84d5bd4, +0x168aa3f3, 0xdff14584, 0xc784eee0, 0xfa801b74, +0xdf2f7425, 0x45c006bb, 0x8829ffed, 0x20464717, +0xc76b4075, 0x39a7e583, 0xb143c603, 0x2506d13a, +0x61f6a028, 0x1f70ab1b, 0x2e3df6a9, 0xa3581c43, +0x15bc0b58, 0x62d8e873, 0x23088501, 0xbdb930f5, +0xb94e0041, 0x011219bc, 0xedcf140a, 0x00b8086c, +0xdb1bad68, 0xf477f5be, 0x783c20c8, 0x6415b20c, +0x65cf2c08, 0xbd40fa64, 0x43f92101, 0x638cba47, +0x30da0177, 0xe8043c88, 0xb345542f, 0x0feb3930, +0xdf0e4583, 0x2862b800, 0x038aa6f2, 0x06430788, +0x47fa8fb3, 0x848be4eb, 0x810683dd, 0xda26d80d, +0x843c1818, 0x6f462e16, 0x4fccc0f0, 0x1ebe902c, +0x6bd34ee8, 0x1d6c576e, 0xfef03046, 0xbba7da08, +0x87954c86, 0xb137534d, 0x0f7b2304, 0x85b11273, +0x0764494e, 0x350132d0, 0x0de0f9eb, 0x80afd476, +0xd884ebc9, 0xbff8e8d3, 0x8a1da5e3, 0x0938cf80, +0x004588d0, 0x04e98345, 0x1d08e879, 0x50e583dc, +0x5088f527, 0xfedeecad, 0x801bf250, 0xd2ed1156, +0xdceb89bf, 0x0d7f762e, 0x1e0ab999, 0x1c38f9f7, +0x0bb6038a, 0x14e6942c, 0x6667f255, 0x7460f700, +0x041e0018, 0xdeaa0c89, 0xc12ebf80, 0x450502fa, +0x96d8c229, 0x75026d1a, 0x0bbd47be, 0xe6870aef, +0x022a6ffe, 0x434a0b88, 0xf177da39, 0xdb7dace9, +0xa3ad6f5e, 0x8358df6f, 0x306402c5, 0xe9310454, +0xb164dd37, 0x9b1ee865, 0xd0301e45, 0xe9c46280, +0x10306973, 0x3fb82c76, 0xe995d20e, 0x182fcb8f, +0x6a2cd530, 0x76d8bac8, 0x41b0d81e, 0xb1034103, +0xe85516e0, 0x226dd67f, 0x3ac501ab, 0xe2771d43, +0xd419e94d, 0x44600ab7, 0x390653ff, 0xae91d9d3, +0xde73aafd, 0xe43f7351, 0xda79fcf9, 0x43b60e5a, +0x3dbf503b, 0x776bfbdb, 0x45af3d86, 0xcdf45cf7, +0xaabfe92d, 0x0e5c83b1, 0xb7d16303, 0x9c1314fd, +0x4e450470, 0x16acf17b, 0x1ec5a12a, 0x50d890c3, +0x1804148d, 0x52db85ba, 0xb808cfe1, 0x8a307414, +0x6d32b907, 0x84d2d2f1, 0x74342628, 0x1b5f3822, +0x0ba5e26f, 0x36c188d2, 0xe720488d, 0xd188c888, +0x776fd10a, 0x38204a0b, 0x0375ca08, 0xe817754b, +0x430d6d05, 0x7a15d202, 0x5eba27e1, 0xcb891508, +0x4201808a, 0x88ac4541, 0x2df62ead, 0x4f09f452, +0x89b94c1b, 0x8bb64ade, 0x74c2b7ba, 0x41034ea6, +0x66f02343, 0x9d34d577, 0xd34c543d, 0x4204eb94, +0x76eec06c, 0x24fa7505, 0x48424102, 0xe976ce4c, +0xc93746d0, 0x1b74fd1f, 0x2cdfa52c, 0x74430307, +0xf3754906, 0x5dda34c6, 0x955760b0, 0x1a2ac34a, +0x15f4161e, 0xf0993a02, 0x0efdc2d3, 0x20da51b5, +0xa8ef05eb, 0x025ed8a9, 0xd738108a, 0xa05728f5, +0xa92db300, 0xbac1b05c, 0xa01ff155, 0xf7aef2df, +0x388449d1, 0x836d4010, 0x3b4827da, 0xab9d19f7, +0xb8574cf8, 0x89d6384a, 0xfa0377c0, 0x801174c8, +0x404a1739, 0xd10505e4, 0x75805bf0, 0xc3c829f4, +0x0744566e, 0xa295cdda, 0xcf7cff31, 0x2d350c05, +0x03f11675, 0xa215748e, 0xf189ed86, 0x6e161a74, +0xafed3810, 0xf5ae76b1, 0xbbc39d5b, 0x3543f374, +0xbbd9a708, 0xebd5b147, 0xf39556e9, 0x5c8c83af, +0x0d4323d8, 0xe8874314, 0x75267e04, 0x815a73e3, +0x09861474, 0x3079f089, 0x04b77542, 0x01d86481, +0xee4c59c3, 0x58f7505f, 0x9b0f3c74, 0x745a5e16, +0xc56bb909, 0xe574822f, 0x3d5d94a3, 0x1deaa5ee, +0x540a1d8b, 0x2bf174db, 0xb2f7efd0, 0xc4753b28, +0x1f05c764, 0x6c410000, 0xf2120821, 0xecf62c1e, +0x10bbf6d8, 0x5a5b3f2f, 0x06895659, 0x088fc353, +0xa4f6902f, 0xd9c206eb, 0x0171e153, 0x36204143, +0xb3205be2, 0x3548c593, 0x6a5b0820, 0x0d8c30a3, +0x65f685a4, 0x856f9282, 0x02016dae, 0xecd01813, +0xef754e4e, 0x62e18c3e, 0x0c371a69, 0xda0b74b1, +0x21d856c6, 0x428cc402, 0xef27f52c, 0x8e20c413, +0x4e5c8b31, 0x0a9a1100, 0xf218154e, 0x5bf68c1f, +0xda89cdf5, 0x03122774, 0x14ebce89, 0x89db750c, +0x7ed49055, 0x80174e30, 0x952f5bd2, 0xe87dee71, +0x6c163d4f, 0x08daf910, 0xf9834978, 0xf7b7e96d, +0x9fb30c58, 0x8aff508d, 0x7e382142, 0xbf1473c1, +0xf275180a, 0x18a284c2, 0x5ef3e2a1, 0x07c6d0b8, +0x77537cf0, 0x628b0df2, 0xb8400ca9, 0xf4433510, +0xd0791045, 0x40c850c8, 0xbf3d8070, 0x52e1c3fd, +0x087256bc, 0xb201c84c, 0x6211403f, 0x088be399, +0xd8ecffd2, 0x37ff8ab0, 0x4601b25c, 0x8c30284f, +0xc7eb85ba, 0x643a8305, 0x00097782, 0x11e235dc, +0xe84f54aa, 0x8a84d212, 0x28075464, 0x9648f150, +0x60caa829, 0x09288a08, 0xf416c1fe, 0x16740301, +0x6d152c3f, 0x76c416f8, 0x3813e811, 0xb608c321, +0x111db1c1, 0x85e89e07, 0x6dedfa10, 0xa6e9ac55, +0xe6eb170a, 0x50a5e5e8, 0xdb2395bc, 0xc8eb010a, +0x6082dd11, 0x016a6c20, 0xfc0420f4, 0x99a4bf6f, +0x0f75fb49, 0x05b50678, 0xb0a76ab6, 0x804bc301, +0xc263e429, 0x04160d8b, 0x66f86ed9, 0xc508eac1, +0xe84075c5, 0x2d98a290, 0xb5990240, 0x49c5822d, +0x9be889a5, 0xe2d41090, 0x53681b8d, 0xfb97881a, +0x0ce8cbee, 0xbe1538f8, 0x38b87535, 0xd407bd05, +0xb0fa2305, 0x93e6dfeb, 0x83b6f106, 0x0c755d41, +0x148c0336, 0xa257ba7d, 0xc031000b, 0x921b6056, +0xfed84714, 0x0899022d, 0x2daa5bdb, 0x16361e7c, +0x1c5fd7c1, 0x0816e374, 0x3d3ec21b, 0xdc544f6c, +0x6c0fd856, 0x54cffa4a, 0x328b02f2, 0x64fdd468, +0xf684399b, 0x30a36b7c, 0x86903f00, 0xb70f07ef, +0x068a0a47, 0x06f56b75, 0x61f80857, 0x03a4680b, +0xbf791f29, 0x7748220b, 0x6c2b1274, 0x02bb77aa, +0x512b6831, 0x348d3202, 0x6f8eba10, 0x80de29ff, +0x8901037f, 0xba0911f5, 0x10a98d14, 0x6b60064e, +0x1fa44c00, 0x151dd5da, 0x1315c826, 0x40bc387e, +0xc5161c35, 0x35b8a929, 0x4c0d8a3b, 0x3ab83bbe, +0x06305155, 0xc25e14bb, 0x3407edce, 0x3dda1e22, +0xeb1f06b8, 0x5c733ede, 0x1c746e22, 0xa9f289e7, +0x18b70e6e, 0xe98944dc, 0x3487eb0e, 0x0f080300, +0x5c414984, 0x8121fcb2, 0xff128278, 0x1c21de02, +0xe2dc69f6, 0x0a24faf8, 0x682b2d3a, 0x5d034484, +0x857205e9, 0xe8a14f62, 0x572a5b39, 0xec1924d1, +0x2b620d0b, 0xdc374137, 0x5f0ae687, 0x3d0843d0, +0x85895c0a, 0x6d44b636, 0x894dde8f, 0x6fc3130c, +0x391c5cb3, 0x8b40d8a1, 0x1e101c00, 0x2c46b6eb, +0x30402e3a, 0xb6ec0001, 0xa43642c8, 0x81c6c20e, +0xfb8c038c, 0x82cd77ef, 0x52c2b902, 0xc3d64249, +0x2ca1ebc3, 0x69fd15ff, 0x4b82e11f, 0x0fb702d8, +0x24a8a126, 0x3b64f5e2, 0x05aa0903, 0x8c28a1a1, +0x482fb56d, 0x37880a07, 0x55887bf5, 0xbd54424c, +0x8708e21c, 0x3d2badae, 0x09420b2a, 0x2e140a76, +0x0da08714, 0x9beb3b1e, 0xeb6011ba, 0x030a0358, +0x08030728, 0x6bd02a2b, 0xbba62409, 0xe221d9e4, +0x85bce057, 0x112b50fa, 0xbbfb0b39, 0x077a2138, +0xea6808b5, 0x02a74191, 0xda037b7c, 0x3f1a7b8d, +0x98968012, 0x4882d583, 0x976f16c5, 0x0e06622f, +0xd8d70420, 0x446a08c1, 0x3f068fab, 0xa50a43a0, +0x91164774, 0x760e35a1, 0x0c4fbb3e, 0x180a08c5, +0xc0531543, 0x0ea0b75b, 0x752b0f03, 0x8108257e, +0x495d7e13, 0x031c0216, 0xef596f6c, 0x98b1f833, +0xf0eba408, 0x5add7548, 0xc5087b18, 0x22d5cb6d, +0x9d024e01, 0x1fc18b15, 0xa752c559, 0xc8841d87, +0xcb3b0e25, 0xb0f03af1, 0xeb6567b3, 0x182224d0, +0x5bb0ca74, 0xeae64630, 0x76247652, 0x582d05e3, +0x26c1b28f, 0x3b3dea03, 0xb7eb3150, 0x877bc11e, +0xf2e46305, 0xd9dd0608, 0x533c2308, 0xff191073, +0x54371213, 0xe8845283, 0x8012f752, 0x0f0b1441, +0x1a027032, 0x93160cd9, 0xabc54888, 0xe18d08eb, +0xfb855ffb, 0x7f547423, 0x08003d45, 0xff084420, +0x8d7cd132, 0xf717e856, 0xb0473818, 0xe9589570, +0xe3051f85, 0xde134b09, 0xe0ca9636, 0xfbabf777, +0x1dcce9d6, 0xbb75983d, 0xb9eb0324, 0x6038c005, +0xb3eb0270, 0xe3f85e79, 0xe04031f7, 0x30557504, +0x5934832e, 0x2f183c43, 0x24120d2e, 0x18dae8d4, +0x136e8b57, 0xe0025648, 0x08441d6e, 0xe08a83cc, +0x0fb4469b, 0x260d0c37, 0x568f2066, 0x08f5018c, +0x02604475, 0x6d8732dc, 0x5750183d, 0x4254d1d7, +0x37c01d82, 0x3ba9eb43, 0xb074eb05, 0xb23dfa02, +0x18a30212, 0x87b497eb, 0x41b1f65c, 0x6dbe7470, +0x0bb14109, 0x718966ac, 0xea9ac7ba, 0x54666b87, +0x12184f78, 0xc1879089, 0x6094a0c6, 0xb4980e1c, +0xd82a0ec2, 0xa50f74ff, 0xdac79c05, 0x8a3ac0da, +0x8aea2ef5, 0xf120065f, 0xf72120c0, 0xe07ec21b, +0xf3af178a, 0x74272df6, 0x2b2adaa0, 0x786d811c, +0xa6bab0f6, 0x08d71f74, 0xd0979e50, 0x87684fbd, +0x1c2e3833, 0x9c828dca, 0x0435e8af, 0xe4c7825b, +0xd9c308ff, 0x0c099882, 0x82c7df5b, 0x03260090, +0xdf0066b1, 0xaf07a3ba, 0x539c156e, 0xc8cde306, +0x123620dd, 0x5152164b, 0x054b60ed, 0xf4f27c21, +0x8e8233ee, 0x56fc1870, 0xab7b4953, 0x509abc07, +0x8b2eb020, 0x07ea7ab2, 0x048dfd88, 0x15793b3e, +0xb3512873, 0xc68c76c9, 0x504a3304, 0xbd12803b, +0x632dbb46, 0x37d5d5e2, 0x940f00e3, 0x53c8d1c1, +0x8310fac0, 0xf5d7498e, 0xd1c960ad, 0x555bbb50, +0x1a2951e3, 0x5ef1ac79, 0x73fb5302, 0x7dd50082, +0x86868b58, 0x18375a14, 0xc11163c2, 0x82968bec, +0x20c20ff4, 0x94ffd24c, 0x79a56808, 0x147630ee, +0x2bd364dd, 0x26846a0e, 0x0e019900, 0x910978de, +0xe39e5b62, 0x65d9f53d, 0x5b04302c, 0x66c06a00, +0x50756f41, 0xc836c37c, 0xd2911e34, 0x359c487f, +0x26c719d2, 0xa001fd00, 0x0b191b14, 0x23898b3c, +0x210ec094, 0x9cf4a06e, 0x8fec2390, 0xa305748d, +0x39013300, 0x21222c66, 0x8225f72d, 0x07900d0c, +0xbc45bc8b, 0xfbe7b56b, 0x473b0b5a, 0x96b6a210, +0x53701382, 0x895ad6b9, 0x126a396a, 0xc5fa2ed2, +0x39f69bd2, 0x87e275d0, 0x018b300c, 0xcd0ab1ed, +0x8dde62de, 0x1d18f870, 0x1081dc07, 0x960f2b41, +0xc2b59b0e, 0x73f039eb, 0x533c7e4e, 0xa39a2814, +0x10ab12a3, 0xf51785a7, 0x51495e30, 0xf7a35208, +0x08b167f1, 0x0e7360a6, 0xc8302c3f, 0xff120761, +0x5a11d9f3, 0x07aa13ec, 0xded08908, 0x6170760d, +0x8f6aeca9, 0xab327ba0, 0xb0558dc8, 0xd993bb08, +0x8ec1460a, 0x2dd230fe, 0x1a89ee6e, 0x677c1d81, +0x9e896014, 0x772b9251, 0x40bf01b0, 0xd305ba89, +0xbfd10a5f, 0xe76d416d, 0x0e0e672b, 0x698d0c77, +0x5d83fd1c, 0xfd819d00, 0x7ec68973, 0x617a3e19, +0x7e0632d4, 0xce1215bb, 0x8e74e9d8, 0x9757f365, +0x23e86cef, 0x39c05628, 0xa211f0ff, 0x01fb7286, +0xba238a55, 0x7791512d, 0x1ecc3e8b, 0x34388a55, +0xc400c0ed, 0x316e47e8, 0x446874c0, 0x64107a4b, +0x412ecfb4, 0x2483ef99, 0x75dbbfa7, 0x4eda4264, +0x00599600, 0xc47b6859, 0x2a7cfb43, 0x838f8bf0, +0x3477831d, 0x9e8df6f2, 0x340fbef5, 0x5e07a84f, +0x1286c6fe, 0xd8bb3202, 0xa50147a8, 0x4618c606, +0x1c5524d1, 0xb6a8c160, 0x073a80cd, 0xf23c8c44, +0x140aa110, 0x2b1814a1, 0xab878118, 0x0c7dac86, +0xd62b16c6, 0x2c4d0ced, 0x1c040800, 0xc8e4776c, +0x68efeffc, 0xec686600, 0xcc0ea818, 0xd6017c73, +0x2fdb0804, 0x449c9154, 0x7404ec0a, 0x4057113f, +0x06aa0753, 0x7dd2c604, 0xd0532942, 0xfa8161cb, +0xf88a56ec, 0x04b941d7, 0xd1890273, 0xc0ef42bf, +0xef93ea4b, 0xf45e5bba, 0xa2840d3e, 0xbc75e21d, +0xa11c4553, 0x895364a8, 0x9b6e8cda, 0x6d22c93b, +0xc6eb4904, 0x01c330ac, 0x56a95e0b, 0xa411c3aa, +0x402540e4, 0x7d44358e, 0xf896e3e8, 0xb7e876a4, +0x1bbb766c, 0xbd76e831, 0x04991d11, 0xa56f8b23, +0xd9afbba8, 0x0965bed6, 0x0fe82a08, 0x1d3b83c0, +0xd329fa04, 0x3ab0dc46, 0x296dc016, 0x93b9c0d0, +0x68f0d427, 0x1e12f581, 0x22c8f074, 0xaba92360, +0x091c5811, 0xdd109cce, 0xacc860c0, 0x161d85b3, +0x3f142914, 0x0c149a16, 0xb612f6f4, 0x3a29b86d, +0x0b0b840f, 0x080e417f, 0x457d010a, 0x6d78d7cf, +0x48b6eea0, 0x368fafdd, 0x030e5201, 0xf58e0f3f, +0x0ab16a1b, 0x52f34dde, 0x55236ce8, 0x80b9d3b3, +0x963026c3, 0x64156bed, 0x200a7a40, 0x45d15172, +0x655340c6, 0x346d849c, 0x0edea0f6, 0x495c3b15, +0xc4db6db1, 0xb4ebb003, 0x17270d18, 0xb65b1936, +0x0a0e5b03, 0x21cb3678, 0x0b1b6fdb, 0xf8c6100e, +0xb71c3f0c, 0xd238a04d, 0x711bf3f2, 0x91b6c6d0, +0x32ab4231, 0x99420f0e, 0x46ddf6e4, 0x02ba0e33, +0xd9427008, 0x30a0cd00, 0x81fc6b0f, 0x839ac6db, +0x1bf38912, 0x4b370f55, 0x1b6c6546, 0x0e103019, +0x09114660, 0x92a458cd, 0x5a49304d, 0xefb11b0e, +0xf3240536, 0x89d63301, 0xbcd984e6, 0x3319b1ec, +0x63627507, 0xfeb7f093, 0xd6e8aeb6, 0x64d684b6, +0xcb760a7b, 0x5d5bb536, 0xef4d3d2b, 0x8c2d3475, +0x57cd236d, 0x222289fd, 0x6ad35d82, 0x238db636, +0x255d050e, 0xec364df0, 0x03024441, 0x4e448f00, +0xfb03dd63, 0xe9fe4472, 0x3112f941, 0x22717357, +0xc475d977, 0x0c45e917, 0xd65eeb09, 0x1516ad9d, +0x41022eee, 0xa6ec0f35, 0xefe99a23, 0xf30612fd, +0xc1041ddc, 0x21a4e651, 0x9cf6135a, 0xfedde9ec, +0xccf0aa10, 0x7759f147, 0x34f8bac2, 0xf62347a7, +0x7d479412, 0x7b723613, 0x91763695, 0xee909c70, +0xf4dd3684, 0xfabe5d12, 0xd2137d84, 0x37f95b4a, +0x909cd612, 0x24f2a8e6, 0x2511f00f, 0x17764245, +0xfcfe12ed, 0xdb09bf65, 0x12ebe992, 0xfcd8974b, +0x65c236bb, 0xccd9fbcf, 0x5ac803cc, 0x137d84df, +0x47a33444, 0xbd9080b4, 0x126139ac, 0x5a7df8f6, +0x0f61efbf, 0x7e49f213, 0x36593a31, 0x37d979d4, +0x364612b9, 0x01c8faf8, 0xab060709, 0x041eebe0, +0x061c5685, 0xa83b6de0, 0x26881a64, 0x712f092d, +0x831d0ba8, 0xe823c1e5, 0x0438b69c, 0xb781fb80, +0x085ac96f, 0xf4073570, 0x344d8950, 0xbde6b68b, +0x5d1cb3d3, 0xc1e8f8bf, 0x0bb308e3, 0xb3e835c2, +0xb7fb96b8, 0x53b108dd, 0x0e2d827c, 0xfcfad6ff, +0x4409a1e8, 0xfaa8df60, 0x0a88e430, 0x5fc4b6d9, +0xb0193cc3, 0x8a38b076, 0x0b3c434c, 0xe4990585, +0x263a643f, 0x77b02ef9, 0x29043a09, 0x416b02e4, +0xb08b78b1, 0x0c2efc87, 0xeb81c63d, 0x49907881, +0x3a0a2bbe, 0xdf24b08b, 0x0d775805, 0xa90c4e3c, +0x7773d858, 0xf05aa870, 0x1f2dd54a, 0x18156ad5, +0x68b08ea7, 0xe0070224, 0x60dfbbd0, 0xb82ca3a3, +0xf3a80f5a, 0x6739f029, 0xd8a01540, 0x6672bef7, +0x1afeb61f, 0x335f3b81, 0xb04c5f32, 0x2510c3f9, +0xef7aaba0, 0x8be67323, 0x0d5b2535, 0x0bbfec3b, +0x24b8db9a, 0xe8494350, 0xe98980c4, 0xc4bdb709, +0x85d689b6, 0x348d97d0, 0x25046f33, 0xdb622215, +0xb7892fc0, 0xdec9d993, 0xb19f997a, 0xb63291e8, +0x444dbc80, 0x7ffe802e, 0xbdc0e810, 0x810c1550, +0x084857fa, 0x8a4f76a8, 0xf0967053, 0x402fe4cc, +0xe8e093b0, 0xf42058a9, 0x587b8191, 0xabe9fd05, +0x17eaa720, 0x51091f0b, 0xbe8c4384, 0x4c055bfd, +0x02107dc2, 0x0742130c, 0xc984f87c, 0xd404d428, +0x008a4d92, 0x2baaaf62, 0xd18189d3, 0xe809f777, +0x04271218, 0x7700433d, 0xe0d0f721, 0x19a35e96, +0x3cd2fee7, 0x34a22489, 0xd66844cc, 0x93083b2a, +0x3596a46f, 0x95d3756b, 0x23bfd52f, 0x80c21f15, +0x528c4374, 0x72006850, 0x68310fbf, 0xe3fc38d4, +0x007047a1, 0xf4d9c0f8, 0x9810880e, 0x19fc686f, +0x11cc89e2, 0xe9ac4f7f, 0xebf08479, 0xf1402ba0, +0x446a8392, 0x61e4534b, 0xbffba088, 0x83fd7b14, +0xd08801ca, 0xb0b261e6, 0xf11a4305, 0x040e8de2, +0xd9df42e6, 0xdf735cd8, 0xe9c3c308, 0x5e29d9d6, +0x153f0510, 0xdf190091, 0xa0d5048d, 0x3b550f6d, +0x028208d0, 0xab6e0b6b, 0x3b0880c9, 0x85041003, +0x02062a5e, 0x4b83baad, 0x23bbec86, 0x8907d840, +0x02b0e953, 0x723d0000, 0xd2ec5ff6, 0xd3ba3a37, +0x2410624d, 0x55020f06, 0xbc578b33, 0x182500bf, +0x3105fa21, 0x0add03c4, 0x8fddbfd5, 0x151868ee, +0x071b05c7, 0xa50e1fb0, 0xb642b9ea, 0x28452209, +0x08c19ee4, 0x0a05c225, 0xc00e7908, 0x07e50015, +0x02ba467c, 0x0409e500, 0x1f158b14, 0x7845056a, +0x3b57d4e5, 0x4234459a, 0x9234687d, 0x2176c6c9, +0x286624a3, 0x42502c40, 0x09306ebe, 0x49374006, +0xfe9eeec6, 0x891d5068, 0x443d401d, 0xbae114ac, +0xdc8c0948, 0x111a9a4e, 0xffff540c, 0x6dd7050c, +0x29fa16f4, 0xc31a5c77, 0xb03efd51, 0xf46854e4, +0x27e84827, 0x83b0eebe, 0x5227ec6b, 0x480209f0, +0x52eec2b0, 0x127131c1, 0x280c3192, 0x1ecc331f, +0x04312836, 0x091eae28, 0xaf90615f, 0x077e3103, +0x2320314c, 0x142324dd, 0x1c070918, 0x35f60a92, +0xac4c3101, 0xb1926ebb, 0x28342442, 0x1b07092c, +0x1f8084e4, 0x01661728, 0x0db19268, 0xc0688e51, +0x00b0b431, 0x5cb86c10, 0x5b0f2806, 0xe85b9e39, +0x68b5c0e5, 0x878468ce, 0xe8e10fc1, 0x7518b01f, +0xb5eae012, 0xe57b1072, 0xd9208b1c, 0x10a3ca6b, +0x093d960e, 0x03201bf8, 0x127b75e8, 0xbe06e990, +0xbe1c0a0e, 0xa64204d5, 0x8c51c037, 0xfbcc5e90, +0x3515891a, 0x4b91447a, 0x720bb638, 0xb2ab96b9, +0x0f754b6e, 0x3e80c305, 0x2ddbf257, 0xeb4a448c, +0xe8208a87, 0x824d0ee8, 0xf2909d43, 0xecf2f423, +0xdeefd046, 0x031d813a, 0x37ed1cde, 0x071f05b0, +0x89038ee3, 0xdfa805ec, 0x008b4032, 0x1605fe00, +0x7445e4f9, 0x351fff68, 0x062b0301, 0xf6f60647, +0x1161a501, 0xefbead5d, 0xe25fff03, 0x035e178f, +0x203cbb01, 0x43455850, 0x6e65696c, 0x75bb3a74, +0x7241fdff, 0x303a6863, 0x4e553a00, 0x320a4944, +0x5f003102, 0x0a7d8412, 0xdc050239, 0xb1b1655b, +0xbd365fc1, 0xc26b0532, 0x3757b7ff, 0x2b0c510e, +0x81803c11, 0x85848382, 0x015e8786, 0x7f45bac0, +0x13ff7301, 0x720d9d92, 0x544146af, 0x203a4c41, +0x5ffd2d4e, 0x72206ffa, 0x6d386165, 0x2065646f, +0x63617473, 0x6c21c46b, 0x50d77fee, 0x564e0300, +0x6143002b, 0x746f6e6e, 0xfa762023, 0x14ae676f, +0x6e252124, 0x64006369, 0xb76b7369, 0xd6dfb6df, +0x70706f6c, 0x27723079, 0x6c6f636f, 0x48445473, +0xfdadfdbd, 0x54205043, 0x26045446, 0x52504545, +0x0085314f, 0x7b7f6469, 0x3205bb1b, 0x0d330639, +0x98383238, 0x006d6163, 0x584c6565, 0x3870b5d7, +0x32162d1f, 0x4c84330d, 0x353484c8, 0xc84d9cdf, +0x38633736, 0x65323635, 0x21d84d74, 0x62610e67, +0x4ee6632c, 0x640d84c8, 0xf50b0065, 0xbfd8f7ec, +0x71313538, 0x6539076d, 0x3536bb72, 0x6c1b360d, +0x6d5d7859, 0x1b033d07, 0x3207b06c, 0x84587a17, +0x4c6b2e19, 0x0da0350d, 0xb5336df8, 0x6e64521b, +0x646120a8, 0x56db7264, 0x254c5868, 0xc4a1566b, +0x6d6e0320, 0x6bc3c35b, 0x83658d20, 0x27730d62, +0xdadb7f64, 0x66741bbf, 0x4c007074, 0x671d2c6f, +0x253a402c, 0xed002073, 0x3aecb75b, 0x0f122f2f, +0x726f2e3c, 0x6f2c3e74, 0x57b5cd0b, 0xec161267, +0x6e550c78, 0x7378b773, 0x18b97585, 0x50412046, +0xfd25229e, 0x63b6a376, 0x69122201, 0x207a616c, +0xc36d203e, 0xcfad6db6, 0x33640f07, 0xfc280565, +0x5a2ab41b, 0x13e90529, 0x3e16d62e, 0xf020006c, +0x20c17267, 0x6f776885, 0x20b0b614, 0x69624afc, +0x424e2867, 0x8085ed49, 0x437f0a2d, 0x44697372, +0x74736d0a, 0x401073cb, 0xb1952a42, 0x13d6b9f6, +0x61cfde3f, 0x0ae6e021, 0x6d69f76d, 0x3c696761, +0xad117f73, 0x462ff63e, 0x5f7469f7, 0x08a7705e, +0x756f6620, 0xddc62cbc, 0x0a1a2edb, 0x404e654d, +0x0a6c2c00, 0x11ec5a1a, 0x1fd90a72, 0xaebdce65, +0x853392e0, 0x4333d020, 0x7b6e6ede, 0x646d1b09, +0xf861472d, 0x36796177, 0x3acfb588, 0x0a6c6552, +0x3526743b, 0x06ed24b6, 0x4d550029, 0x56b1c844, +0x65572c68, 0xb6ed2ef5, 0x6b5b62d0, 0x73ad213e, +0x1e19a4bc, 0x4427adda, 0x949b7261, 0xb6d6ad65, +0x46e5a152, 0x06745c09, 0x861ac110, 0x7a6934b7, +0x0b5a5865, 0x56e946b3, 0x924346a7, 0xb5b64916, +0x2600a458, 0x28a9750a, 0xc2ec5b3b, 0x130a29ec, +0xbd6e7775, 0xec716d4b, 0x5770b5ad, 0x7562a44e, +0x5049c574, 0x885b1b43, 0x0e73a41b, 0xb6613e53, +0x1a04c337, 0x65631719, 0xdd641069, 0xad91860d, +0x6ec76a62, 0x64973a75, 0x0eda453d, 0xb70ab98c, +0xe39a64f7, 0x09798217, 0x25783020, 0x304b136c, +0xc9d687e1, 0x6f66b7eb, 0xcbb59072, 0x0aecd192, +0x6d4a114d, 0xb6ded6f6, 0x27502743, 0x6f4a603d, +0xe6572066, 0x753ded1a, 0x14966c72, 0x0b2f19c7, +0x6ec2b5ce, 0xac90ab1d, 0xadc36b97, 0xd66eb9bd, +0x6976650f, 0x707920a4, 0xb1dcc689, 0x5a62470e, +0x5b9f6173, 0x2790d25b, 0x175d07db, 0x1d696370, +0xd6a50bfd, 0x3d4f0832, 0x43424139, 0xf7464544, +0xd2d6fa4d, 0x6868032e, 0xed353a58, 0x8dd62f00, +0x395f478f, 0x4f8a205b, 0x60de5753, 0x3f70b828, +0x2e351e91, 0xfb2e2e34, 0x7295951a, 0x20350018, +0xc42f8da5, 0x50477f17, 0x7469294c, 0x61c28d52, +0x1c65424d, 0xf0d70a2e, 0x44bc6b40, 0x9755c7c3, +0xdc3a3820, 0x0d0883a1, 0xc1d220ec, 0x6c22dd3e, +0x4f784500, 0x6d0e3a73, 0x276c2f6b, 0x5f6f126d, +0x287b3a77, 0x0c15b657, 0x963d7485, 0x10776da6, +0xc7edec10, 0x3d20f468, 0x0a2e58da, 0x89028d27, +0x8e2691ec, 0x1adb630b, 0x32c7500c, 0x611e78ac, +0xe8e8e882, 0x69306d06, 0x63886cce, 0x5ba3da38, +0x2ce97058, 0x93b4494e, 0x9172c96e, 0x6e499861, +0x3197856b, 0xd74d9702, 0xa1452325, 0x2cb302b5, +0x39f9e20e, 0x8eb9ad79, 0x65625c5b, 0x0e536505, +0x6c20bd35, 0x69d31278, 0xa157be73, 0xe2a9605d, +0x346a381b, 0x6dca3330, 0x7742a5bd, 0x553c635e, +0x3ad68d2c, 0x67654386, 0x174b8f31, 0xb90a9c2b, +0x7ac7ac8f, 0xb63af6a6, 0x74986721, 0xe196ca79, +0x67ecda36, 0x320b6874, 0x380a63f7, 0x8ecc31b7, +0x9d6c1023, 0x186ad604, 0x60911d28, 0x028f8509, +0x1d9e8496, 0x96296181, 0x33340ab0, 0xae29654b, +0xa036a447, 0xb2dc93b0, 0xdb6d8ad7, 0x379a9f79, +0x62c2da6b, 0x67667b0d, 0x31093737, 0xdb3a4102, +0x253d21bb, 0xaf48c0ec, 0x02195375, 0x5a3b42dd, +0x7361ba19, 0x81833970, 0x2a7b0b42, 0x810ccee9, +0x18980e03, 0xd133464b, 0x902afb32, 0x630b70ae, +0x6290b61b, 0x1f0a6b0e, 0x2e65f162, 0xfb48604c, +0x6c69973a, 0xb14ebdcf, 0xa05fafec, 0xb0db1b4d, +0xf72f00b2, 0x69e26e67, 0xa95e963c, 0x6e8d8905, +0x9db032b9, 0x5232d870, 0xbe5fe576, 0x73a1b078, +0xbba62ccd, 0x784578f5, 0x970b7b29, 0x610cbeec, +0x5452453e, 0x5b08ba1f, 0x2b48676c, 0x70cc3d61, +0x2e075ce6, 0xde2dbd1f, 0x5cb1c2f0, 0xe367dadb, +0x9ed27983, 0xc2e876a8, 0x074f9c7d, 0x0a8c7737, +0x85705b56, 0x7419bb15, 0x41eee146, 0x6666ed83, +0xaf8e2119, 0xeb278189, 0x0000f548, 0x4f4f427e, +0x683c081a, 0x339c2d6e, 0xc859cf51, 0x0056833a, +0x83c66bba, 0x1ed0a507, 0x18a617af, 0x632c2db1, +0xb69335df, 0x6db96c18, 0xce2069d0, 0xc58b531f, +0x1d88e7ae, 0xc3797878, 0x30c6f5b8, 0x6c757171, +0xdd4440b8, 0xc0b4d771, 0xe56c7e68, 0x4b623436, +0xba524142, 0x19bef0f1, 0x3a783830, 0xd952c304, +0x0a093a52, 0xd075c35b, 0xb0f86879, 0x0f9e0457, +0xeb1092be, 0x3fee7ae6, 0x4aafb700, 0xcdb3736f, +0x430430e0, 0xdec91621, 0x67c60b46, 0xa33aa468, +0x05af9976, 0x305895cf, 0x8ce0ce2c, 0x854c0d85, +0x3a996431, 0x60b0374a, 0x58582307, 0xb5a12157, +0xed754480, 0xa33f3a2d, 0x2315d4e3, 0x6dd78161, +0xc25a1948, 0x4012a880, 0x76d846c4, 0x6f6f26a1, +0x6f75292e, 0x3e39c117, 0xae55703e, 0xb6c100a0, +0x8d8261ae, 0x98081e83, 0x3b131d02, 0x8b42ef56, +0x1f079780, 0xb207cf9f, 0x933906c1, 0x1f93179b, +0xb6012836, 0x1f5b5000, 0x73eba660, 0x0064035f, +0x1e298086, 0x10efe479, 0x30078d8b, 0x10319210, +0xa2103299, 0x4791e479, 0x34b01033, 0x1035be10, +0x4791e4cc, 0xda10361e, 0x38e81037, 0x3f23f610, +0x1039791f, 0x05103afd, 0x0c103b8e, 0xf23c8f3c, +0x3d1510c8, 0x103e2310, 0x3f105131, 0x23c8f23c, +0x09451059, 0x12274d12, 0x23c8f655, 0x5b12288f, +0x49611229, 0xb02f6a24, 0x247b1e47, 0x245d0772, +0x8210507a, 0x52d8f34f, 0xae078a6c, 0x52010798, +0xd8477ba6, 0x0300086c, 0xf31c1600, 0x5568dffc, +0x0060c399, 0x400048f2, 0x053f80f2, 0x458b20c5, +0x2d82008f, 0x7fd10da0, 0x7255ae41, 0x83d81945, +0x328def42, 0x4f28ddb3, 0x26035c09, 0xecad810f, +0x04054f37, 0x96156747, 0x002d80c2, 0xecb7a8ae, +0x0003417c, 0xdb2b04f3, 0xbaf2c654, 0xec68b72b, +0x8263d3df, 0x0b966353, 0xb17705af, 0x8fd00039, +0x07d902ca, 0x549f5f45, 0x5c24205a, 0x6de03765, +0x00000000, 0x00900000, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, +0xffffffff, 0x6565ffff, 0x316f7270, 0x7a2e3030, +0x206d6f72, 0x2e342e35, 0x47282032, 0x20294c50, +0x65687465, 0x6f6f6272, 0x726f2e74, 0xffff0067, + +}; diff --git a/tools/firmware/etherboot/eb-rtl8139.zrom.h b/tools/firmware/etherboot/eb-rtl8139.zrom.h deleted file mode 100644 index 3141c3dd18..0000000000 --- a/tools/firmware/etherboot/eb-rtl8139.zrom.h +++ /dev/null @@ -1,2051 +0,0 @@ -unsigned etherboot[] = { -0xeb40aa55, 0xbfe96c65, 0x68744500, 0x6f627265, -0x0000746f, 0x00540000, 0x0034001c, 0x52494350, -0x813910ec, 0x00180000, 0x00000200, 0x00010040, -0x00008000, 0x506e5024, 0x00000201, 0x00008a00, -0x00090000, 0x00027fd7, 0x00001400, 0x00cc0000, -0x00000000, 0x49444e55, 0x0000a016, 0x01000201, -0x10001000, 0x43500abe, 0x81265249, 0x5024007d, -0x81260c75, 0x506e027d, 0x20b80475, 0x1e50cb00, -0xd88ec031, 0x3d0304a1, 0x1d74e44c, 0xa30064a1, -0x66a10300, 0x0302a300, 0xa300afb8, 0xc88c0064, -0xb80066a3, 0x04a3e44c, 0xb8581f03, 0x31cb0020, -0xa3d88ec0, 0x02a10304, 0x0066a303, 0xa30300a1, -0x50660064, 0x0aeb026a, 0x06eb006a, 0x016a5066, -0xe78900eb, 0x1e505716, 0xb60f2e0e, 0xc1000206, -0x6a5009e0, 0x012be812, 0x8ec88c58, 0x4a068fd8, -0x48068f06, 0x50581f06, 0x6a0c6a66, 0x0060e900, -0x16e08953, 0x55506650, 0x468be589, 0x02468910, -0x8912468b, 0x685d0446, 0x5066104d, 0x0f2e0e50, -0x000206b6, 0x5009e0c1, 0xe6e8146a, 0x8f2e5800, -0x2e064a06, 0x0648068f, 0xc72e6658, 0x00038006, -0x66000000, 0x00020168, 0x50686600, 0xe8000178, -0xc4830010, 0x89175b12, 0x3ce85bdc, 0x0002ca01, -0x6650006a, 0xc0200f50, 0x586601a8, 0x832d7458, -0x0000247c, 0x44871175, 0x44890424, 0x00b80024, -0x87000500, 0x50042444, 0x0002b4b8, 0x74c08500, -0x011ee805, 0xe9580000, 0x000006c0, 0xe5895550, -0x00067e83, 0x8b501375, 0x46890646, 0x46c76602, -0x05000004, 0xeb5d5800, 0x1e585d02, 0xb8665066, -0x000002b4, 0x74c08566, 0x0f061e2f, 0x83a80fa0, -0x895508ec, 0x46010fe5, 0xe80e1602, 0xd1e803a8, -0xe8000000, 0x0000027e, 0x010f5858, 0x835d0256, -0xa90f08c4, 0x1f07a10f, 0x8cc03166, 0x66d88ec8, -0x6604e0c1, 0x00038005, 0x0ba36600, 0x1f586604, -0x500175e9, 0xbb061e60, 0xc38e0040, 0x131e8b26, -0x06e3c100, 0x0d7feb81, 0x2606ebc1, 0x00131e89, -0x8c06e3c1, 0x89d88ed0, 0x4c8b36e6, 0x78c98518, -0x47878d15, 0xbfc08e0c, 0xc1831000, 0x8ecf291a, -0xfcfc89d0, 0x6066a4f3, 0x1f0ec38e, 0x57afb966, -0x89660000, 0xcf8966ce, 0xf3fd4166, 0x66fca467, -0x66506661, 0xd889c031, 0x04e0c166, 0x80a32666, -0xc7266603, 0xf0038406, 0x660000d7, 0x87e58958, -0x5e89165e, 0x611f0714, 0xb80650cb, 0xc08e0040, -0x0013a126, 0x0506e0c1, 0xe8c10dbe, 0x13a32606, -0xc3580700, 0x0000e860, 0x815d0000, 0x0002baed, -0x56b9fd00, 0x8d000051, 0x06530db4, 0xbc8d0000, -0x00457c0d, 0xfca4f300, 0x457db58d, 0xbd8d0000, -0x00000650, 0xffffffbd, 0xa405ebff, 0x0775db01, -0xee831e8b, 0x72db11fc, 0x40c031f2, 0x0775db01, -0xee831e8b, 0x11db11fc, 0x75db01c0, 0x831e8b07, -0xdb11fcee, 0xc931e673, 0x7203e883, 0x08e0c10d, -0x8346068a, 0x5074fff0, 0xdb01c589, 0x1e8b0775, -0x11fcee83, 0x01c911db, 0x8b0775db, 0xfcee831e, -0xc911db11, 0x01411d75, 0x8b0775db, 0xfcee831e, -0xc911db11, 0x0775db01, 0xee831e8b, 0x73db11fc, -0x814141e6, 0xfff300fd, 0x01d183ff, 0x2f348d56, -0xe95ea4f3, 0xffffff74, 0x9090c361, 0x90909090, -0x00000000, 0x00000000, 0x0feb02eb, 0x89559c50, -0x87c88ce5, 0x46870646, 0x9c9d5d04, 0x0fa80f50, -0x161e06a0, 0x01dee80e, 0x550cec83, 0x24448b50, -0x00000d28, 0x44890006, 0x00e81024, 0x5d000000, -0x003fed81, 0x858b0000, 0x0000008b, 0x0000002d, -0x04dc0500, 0x44890000, 0x858d0824, 0x00000067, -0x0c244489, 0xe8c35d58, 0x0000007a, 0x071f1f1f, -0xa90fa10f, 0x5502c483, 0xf766e589, 0x00000646, -0x755d0004, 0x9dcb9d02, 0x000004ca, 0x53000000, -0xe8555756, 0x00000000, 0x98ed815d, 0x8b000000, -0x0001bb9d, 0xa3eb8100, 0x8f000002, 0x0002b783, -0xb3838f00, 0x8f000002, 0x0002af83, 0xab838f00, -0x8f000002, 0x0002a383, 0xa7a38900, 0x8b000002, -0x0001b3a5, 0xb7b5ff00, 0xe8000001, 0x00000006, -0xe904c483, 0x535500d9, 0x0000e850, 0x815d0000, -0x0000eeed, 0x9b858d00, 0x89000001, 0x00019d85, -0x44b70f00, 0xe0c11024, 0x24442904, 0xc1c3890c, -0x896604eb, 0x890e245c, 0x04ebc1c3, 0x9d8d5366, -0x0000018e, 0x5366c329, 0x00000868, 0x849d8d00, -0x29000001, 0x896653c3, 0x0001a585, 0x10e8c100, -0x01a78588, 0xa5880000, 0x000001aa, 0x2444b70f, -0x04e0c11e, 0xad858966, 0x89000001, 0x10ebc1c3, -0x01af9d88, 0xbd880000, 0x000001b2, 0x9b95010f, -0x66000001, 0x8e0010bb, 0x8ec429d3, 0x8ec38edb, -0xcbeb8ee3, 0x80c3200f, 0x220ffee3, 0xc166cbc3, -0xd08e04e8, 0x5b665866, 0x17cb5d66, 0x00000000, -0xff000000, 0x000000ff, 0xff00009b, 0x000000ff, -0x00000093, 0x00000000, 0x00000000, 0x30000000, -0x0042e801, 0x000000e8, 0xed815d00, 0x000001c9, -0x02bbbd8b, 0x8d8b0000, 0x000002bf, 0xf3fce689, -0xa7a58ba4, 0xff000002, 0x0002a3b5, 0xab9d8b00, -0x8b000002, 0x0002afb5, 0xb3bd8b00, 0x8b000002, -0x0002b7ad, 0x6afac300, 0x66556600, 0x89506653, -0xdb3166e5, 0xdb8e5b0e, 0x04e3c166, 0x46b70f66, -0xd801660e, 0x0c468966, 0x66dd8966, 0x00e8db31, -0x8d665b00, 0x66005287, 0x8966e801, 0x66005487, -0x003e878d, 0x66e80166, 0x006a8789, 0x16c03166, -0xe0c16658, 0xb70f6604, 0xc50166ec, 0x97010f66, -0x200f0052, 0x0f010cc0, 0xff66c022, 0x66006aaf, -0x8e0010b8, 0x8eec89d0, 0x8ec08ed8, 0x58e88ee0, -0x17c35d5b, 0x00000000, 0xff000000, 0x000000ff, -0xff00cf9f, 0x000000ff, 0x6f00cf93, 0x08000002, -0x00000000, 0x00000000, 0x00000000, 0x00000000, -0x00000000, 0x00000000, 0x00000000, 0x00000000, -0x02000000, 0x0002bd01, 0x00000000, 0x90909090, -0x00008008, 0xfffffb7f, 0xc7835f58, 0x5b585e06, -0x89d68e59, 0x00f883fc, 0x53510375, 0x750207cb, -0xcd19cd02, 0xffeefdbb, 0x9090fb18, 0xf958fbfa, -0x069c15cd, 0xbb660eb4, 0xcd000001, 0x5cd20c10, -0xc0317f6e, 0xe43016cd, 0x9c01b407, 0xadff0258, -0xe083fffb, 0x12cdfa03, 0x31c931f9, 0x523158d2, -0xc4835048, 0x165b6606, 0xbff7ed07, 0x66e789fd, -0x39e820b8, 0x4150ba66, 0xb966534d, 0x66154514, -0xeddf7609, 0x5b9c50fe, 0x7c009a07, 0x1f0e5819, -0x099e8d5d, 0x55cb1500, 0xdfffb7dd, 0x1eff2e18, -0x729c002d, 0x81e5891c, 0x0f3c027e, 0x08009584, -0xedff7f01, 0x8000c637, 0x0788037e, 0x5d9d0101, -0x0002ca5d, 0xc1016600, 0x6ffffedb, 0x2966da02, -0x660377c3, 0xff85db31, 0x39661274, 0x132b76c2, -0xe6ed07c3, 0x13cb6ef6, 0x1eebd989, 0xd272ca1d, -0xde28f766, 0x39f7ee76, 0x07e376da, 0x1527ca01, -0xc11dd089, 0xfffe56c3, 0x5292eede, 0x2e4d9bbe, -0x54045c8b, 0xffa5e804, 0x8108c683, 0xc877abfe, -0xeaa4dede, 0x5ecb5a66, 0x660000c3, 0x97b7d33d, -0x850fffed, 0x2666ff72, 0x00047d83, 0x66506809, -0x458b0d51, 0xbbfedbe5, 0x084d0400, 0xe8ff3157, -0x0b5fffa4, 0xfd891089, 0x66dbb7fb, 0x42e9ee59, -0x91000c14, 0x06e8da87, 0xff33e905, 0x56f85757, -0xbf5033d8, 0xc166aa60, 0x5b3010e1, 0x36dfdd6d, -0xc14b6ced, 0xcb8910e9, 0x030a1359, 0xdb6fffe8, -0x115a90b7, 0x45582a0a, 0xe853c35f, 0xe95bffc8, -0x9b30fef7, 0x01f0d0bb, 0x09016866, 0x00686eeb, -0xfe500507, 0x789785ed, 0x80002be8, 0xa19ccb08, -0x9d137556, 0xad564eb8, 0x5317dbe1, 0x07004036, -0x003e1ed7, 0x0f9d38f8, 0xd93c2ff7, 0x42c83a2e, -0x66d55000, 0x4487c88c, 0x76030424, 0x7b05fbbb, -0x0f08ec83, 0x0f660801, 0x66a002a8, 0xfb76dd5a, -0x66164185, 0x128d600e, 0x0c038938, 0xfb6e4407, -0xe850dff6, 0xed815d39, 0x89060514, 0x058138ad, -0x7dbf168b, 0xbaa9bbfb, 0x8d217400, 0x09c470b5, -0xd470bd8d, 0x72f43905, 0x6f8e3904, 0x76fcfeec, -0xb9e6890d, 0xcf293248, 0xe8a4f36d, 0xb9b64fe3, -0x2d8bdfb7, 0x686c2936, 0x450b83e8, 0xed12203f, -0x0f7b6dfe, 0x04240ab7, 0x5026245c, 0x6088858d, -0x6dbffa50, 0x548fb6ff, 0x01d38e7c, 0x6158cbec, -0xa102a993, 0x1f660766, 0x6ffb9a14, 0x8b9d0ce4, -0x9cd42464, 0x832696f7, 0x6fb7fec5, 0x9dcb9dbc, -0x565507ca, 0x247c8b57, 0x983d2b10, 0xb6bfb7b8, -0xafa81061, 0x0480e868, 0x7cbae855, 0x336edd63, -0x0ee05b1f, 0x8904e2a3, 0x6dbfbe77, 0xb9237dfb, -0xa3f129b4, 0x2015732e, 0x7ffe00ea, 0x00a80bf7, -0x10b80008, 0x8ed88e1c, 0x8ed08ec0, 0x5fe88ee0, -0xe6c35d5e, 0x35dbbbf3, 0x3589e620, 0x283d0524, -0xddbf2c1d, 0xa358efdd, 0x34250b30, 0x70bb5905, -0x5f1d033e, 0x770f6853, 0x4328bacf, 0xb1e8e451, -0x0ca5890b, 0xcde9a528, 0x2f00bf75, 0x612974a5, -0x768de4cf, 0x4d7b7f00, 0xbcfc77b7, 0x6020a88f, -0x1b22ed0a, 0xa15bb7b1, 0x35b70234, 0xd0ff0b07, -0x91cf7e8b, 0x8b8b9191, 0x8b158b8b, 0x23bbc28d, -0xff041ca1, 0xda4c8be2, 0xb7ff1bd4, 0x5189680b, -0x89045902, 0x69890861, 0x5e71890c, 0xdcd0bd79, -0x006d148f, 0x431f1bc3, 0xbf4a8b08, 0x37b6dbfe, -0x0862095a, 0x728b0c6a, 0x147a8b10, 0x59b80519, -0xfd4f6b69, 0x9c284389, 0xb664bea0, 0x5401c2d8, -0x208dce0c, 0xb849687e, 0x1f30b8b9, 0x5d5821a2, -0x87bc3c9d, 0x3d282ef1, 0x50802b07, 0x2e4070f0, -0x89003881, 0xb1fa8285, 0x6fd23921, 0x29077095, -0x7ee68d4f, 0x530c281d, 0x9da95350, 0xdd4bed1d, -0x43892a4b, 0x1d0a0302, 0x04438810, 0xfdb84702, -0x63880cf2, 0x585b0f07, 0x560090c3, 0x6cbe72a1, -0x1b0aed6e, 0x0483000d, 0x6a24c629, 0x33736f00, -0xf2b801fd, 0xee2d0629, 0xdd056850, 0xe8efe37a, -0x189008bc, 0x0dbd3b80, 0x057003c6, 0x2f62b63c, -0x00b03cdc, 0x5b060e18, 0x51000c03, 0x1dbe9b63, -0x24046f21, 0x0602026a, 0xcd0c0650, 0x50eebdb3, -0x2d40f9b8, 0x70f24b52, 0xe816e589, 0x1a2d955a, -0x7d550119, 0x79dfd6df, 0x0374c085, 0x6dd5b60f, -0x49509b5a, 0x2f973488, 0x8f0203b6, 0x03060e46, -0xf636b0f9, 0x9229f98c, 0xf7b42f1c, 0x0e722f6b, -0x05212603, 0x672107e8, 0x2625b987, 0x16d861c0, -0x32ee0e23, 0xe30e233c, 0xf7063e4c, 0x872723d0, -0x1f298bcd, 0x2ece1616, 0x4db93ccc, 0xad1f2321, -0x1f46792f, 0x53565795, 0x5b4bee27, 0xc76614ee, -0x6c8dadc5, 0x570a6a04, 0x7778d7ca, 0x2ebb7497, -0xeb81562a, 0x6c05f23e, 0xe8ee7598, 0x24f3375d, -0x34750d83, 0x705eb6d8, 0xd2854c72, 0x3c835b75, -0x7f68eb0a, 0xf51664da, 0x06e0c106, 0xae018c07, -0x702ad7c8, 0xe87414c4, 0x1b060a15, 0xebd2f63b, -0x88006dea, 0x025a5669, 0xc9ec60d8, 0x55cceb92, -0x3b072094, 0xdba3ffee, 0x062b381d, 0x31617d7b, -0x6ae089ed, 0xe102501e, 0xb8c3bdaf, 0xd09f6450, -0x06c4e805, 0x607f78f7, 0x0282811b, 0x8b4175cd, -0xdde3a404, 0x75b14777, 0x4334b22a, 0xd5283c8d, -0x05b9fc0a, 0xffba5eb4, 0x5b14c5f7, 0x0b7da5f3, -0xa874db85, 0x89a106ba, 0xc156b7da, 0xdeada599, -0xf2eb3a14, 0x67eb102f, 0xd4e80c87, 0xabbbd601, -0xbbddfffe, 0xa3bd02f7, 0x0a71ba40, 0x4c68206a, -0x7bbba30b, 0x1044bedb, 0x6cff0f47, 0x0c48a35a, -0xcb737559, 0x6f6fbb67, 0x0af22705, 0x0854a399, -0xc70d44a1, 0xbc1ed7bd, 0x09f42005, 0x336e003c, -0x5009b20f, 0x0f581589, 0xbac1055c, 0x1901b191, -0x64091060, 0xd9360d23, 0x2268a3d8, 0x2c703c6c, -0xafb876a1, 0x082e59e1, 0xe3073916, 0xd7861b73, -0x83351763, 0x18744ebd, 0x9b181aff, 0xfc6bf033, -0x77e7721d, 0x868bebed, 0x95bf0b7f, 0xdbfa837f, -0x52779285, 0x7e24ff3d, 0x77e070ad, 0x8532be4b, -0xb52b941e, 0xfdafe0df, 0x23d3391b, 0x770c72ce, -0x0676c60e, 0x2d8d8b8b, 0x2c0db5bc, 0x3fc70729, -0xc3b1d835, 0x19d209da, 0x629d8b3d, 0xdb7f0db6, -0x228d08fb, 0x2e70870f, 0x0903f981, 0xe9bb1f7b, -0xce89640b, 0xdf894203, 0x5230bd13, 0x70deedbd, -0x04b7d739, 0x1d46820f, 0x0f6c0877, 0xdfec3c86, -0x8009cdc1, 0xc1891b77, 0xc8291577, 0x8c89da19, -0x6c7701db, 0x1de96289, 0x4c0e011e, 0xb03ec990, -0x85c781ba, 0x66580954, 0xe970ddd0, 0x13b8bff0, -0xab05d704, 0x1f12b86d, 0x6a83c39c, 0x2e400a0c, -0x08b221de, 0xe208af48, 0xe07b8376, 0xef4c35ff, -0x74e70d5b, 0x60380310, 0xa337f6f7, 0xfdd2e91e, -0x770f684d, 0x704d3e1e, 0x38ed93bc, 0x0949feeb, -0x2b8520a1, 0xc9b59b30, 0x1d4f4669, 0xf75837f5, -0x59379ae8, 0xda380062, 0xbafc5357, 0x109ffc77, -0x89d6ff05, 0x15c5e8c3, 0x0d8ba6ba, 0x48f16e2d, -0xebc1ca65, 0x91028b46, 0x16a178b6, 0x891f2af6, -0x62dff5c7, 0xcab6df6b, 0xc1d7bd3a, 0x071c0ae2, -0x7625b7cb, 0x896802d1, 0x04aa9cd7, 0xd0a15b5a, -0xf889c5e1, 0xf1516b63, 0x70edbbd6, 0x54689fe8, -0x89587524, 0x78935bd8, 0x56c08fbf, 0x03c28984, -0xe2815d15, 0xb102c575, 0x8c8d921f, 0xd66b801a, -0xcdc5a9a9, 0xf289bdac, 0x4e1d280d, 0x7b7ffbbc, -0x701474c9, 0x02c7044a, 0x45524621, 0x9a00c281, -0xec754966, 0x6e867b19, 0x5c1deb47, 0x04a36965, -0xe8b0df6e, 0x5a5863f8, 0x06fcb5e9, 0xedc75790, -0xb96f81ad, 0x115429ca, 0xe7c1faaa, 0xb77d1bb2, -0xfa81c06f, 0x81580280, 0x53754f3f, 0xed8bb603, -0x5f0457da, 0xc9044f1d, 0xc3c5ebc7, 0xd9846170, -0x53b0fe56, 0xa9998df8, 0x2dfdc184, 0x5900e381, -0xa13b29b9, 0xde1866a3, 0x0c0eafc1, 0x51b5bb1b, -0x6bf37268, 0x03768f00, 0xfba25795, 0x52561882, -0x599161e8, 0x25b929d8, 0x3529eefc, 0xeb5b0046, -0x5ab890e4, 0xbb65b856, 0x08fc4aed, 0x60158b46, -0xbac5b350, 0x74da6f6f, 0xff475b02, 0x41144c39, -0x587421b6, 0x097a05c7, 0xd5b87704, 0xd8eb5ae0, -0x403d3417, 0xd72d4cd1, 0xc774dcd5, 0x22960d39, -0xb1cdbdad, 0xe869df6b, 0x448a24c7, 0x6c2d82d1, -0xeb87b83a, 0x365621db, 0xb62d7b54, 0x1c0777be, -0x477a9639, 0x8b7008d8, 0xb854be9b, 0x37bbfbe3, -0x43900578, 0x938389cf, 0xbd828d07, 0xfa63ba2f, -0xb85d0183, 0xba0f2df2, 0xd1bbdffb, 0x9615be34, -0xa13a148d, 0xc83bc46c, 0x7c4beac1, 0x8b1a5ef8, -0x0d180409, 0x765689b6, 0x7ec103c7, 0x7605ab4f, -0xae8d0001, 0xb0f08d8b, 0xb63e7489, 0x2fc57cbb, -0x53b1a975, 0xb7926702, 0xc229760b, 0x9ec6fd3b, -0xdfa315bd, 0x8294ea81, 0x86038992, 0x509c8789, -0x2bdfeb00, 0xd32b696b, 0x109e4d81, 0xd5b139d0, -0xfc3d3a70, 0xdb001822, 0x7fe9dd1b, 0x89130480, -0x1c2d2bc5, 0x8bda1425, 0xc68ea96e, 0x7adc0c42, -0x1fa291fe, 0x0d9eef64, 0x8f01bf42, 0x84e8560c, -0x6ed9124c, 0xc601e3b1, 0x1cff20c4, 0x6c1730ff, -0x9d76ee15, 0xc31b2c3f, 0xf45e5502, 0x08b0be03, -0xc134b9ef, 0x4e1c4f01, 0x6a61731e, 0xe0304cfb, -0x80972a78, 0x85b5a903, 0x3a0d06ed, 0x07c3248e, -0x7ab84d45, 0x9e084377, 0x10438b14, 0xe08df891, -0x1cded6db, 0x9c979902, 0x1859c541, 0xc05c7a03, -0x033e5df4, 0x675e4d3d, 0x36ff5046, 0x756f847c, -0x4bebe857, 0x730320f8, 0x45e9d70c, 0x3960e857, -0x19744c29, 0xbf4e0873, 0x2d2befc2, 0x06e88933, -0x2a0ee9ec, 0x056f6df4, 0xe0eb0419, 0xd10d9690, -0x82eb7e03, 0xa110a32d, 0x08a5080a, 0xfce18303, -0x2ed1beb6, 0x4355045f, 0x5154cc29, 0xd56bae3e, -0x5f5b99dd, 0x3ef632e8, 0x830655d0, 0x89b89b08, -0xc3415dec, 0x1eb76990, 0x387e1dbc, 0x9024ac8b, -0xf7503658, 0xe0f873c5, 0x4c96e83a, 0x9c47c713, -0x4a274674, 0x18ef9a94, 0x4e601236, 0x898984bc, -0xc3830ffb, 0xe16fc818, 0x75118dd6, 0x108b2029, -0xa12ab9ab, 0x99e056a5, 0x1a8ff9f7, 0xfe10c206, -0x7d7709bb, 0x940e1810, 0xca114208, 0x5553f07c, -0xeb718ef5, 0x29920862, 0xe581ca0b, 0x3db5c06b, -0x087466bb, 0x140a7449, 0xb8956d38, 0x8f69f17b, -0x106a102c, 0xa119e1c3, 0xd02db00f, 0x2900d028, -0xc4ddcba1, 0x8b90d1fe, 0x020d68f3, 0xae07718a, -0xc10a19c5, 0xa0882f72, 0x714719bd, 0x1b0e8ba3, -0xc177ce3b, 0x0972edf5, 0x15154a72, 0xe685ed5e, -0xc308b985, 0xe30b0abe, 0xb8077768, 0xd939d5d1, -0x0b73288b, 0x5fa5ede1, 0x423204c1, 0x72d4c101, -0xc10b5bf5, 0x1931c35e, 0x1007a60a, 0xea4ed4a1, -0xb85bbde5, 0x6e85b75b, 0x840fd848, 0x50bd6a07, -0x942d7c88, 0xb3f0e783, 0xb5e370cb, 0xb9f72724, -0x01a13880, 0xaf94afde, 0x0e838d0f, 0xf7f63759, -0x77982db4, 0xa00505b8, 0xaf081304, 0x5d038607, -0x6e030ada, 0x6b04a77f, 0x8dc2b077, 0xf0e5566c, -0x1febf622, 0x9a28776d, 0x772a6804, 0x05499d29, -0xc6e57598, 0xc65899c6, 0x36880707, 0x38d7ec47, -0x862b666f, 0xb61c18bb, 0x1cec7418, 0x12bf071d, -0xeb2a076e, 0x02d8171e, 0xa166d622, 0x032e1661, -0xac43335c, 0x3e1a3b26, 0xd6da2e0d, 0x285314dd, -0x321b2003, 0x6da9182b, 0x2b127d9b, 0x0330155b, -0x91919a7b, 0x43c770ce, 0x0e080542, 0x91919106, -0x2c14160c, 0xdd236375, 0x1e1805ff, 0x40093670, -0x7609db63, 0x6342435a, 0x48054607, 0x7c83637c, -0x054e4a12, 0x1d521250, 0x5683475b, 0x49f558a9, -0x325d28dc, 0x0543e97c, 0x60738d6a, 0xba082f68, -0x2b584894, 0x14bbff52, 0x2c0846c6, 0x23a7e2bf, -0xd5ad6ec5, 0xf40a466c, 0x917546c4, 0x0320bace, -0x9b8bf714, 0x2bf7220f, 0x1603d739, 0x36fd2ddf, -0x0311fb01, 0x2671ae77, 0xf295fa01, 0x0fe38337, -0xdfb6cf0d, 0x23030c5c, 0x010646c7, 0x910e0402, -0x23221246, 0x18056323, 0xb7761c1a, 0x46e6c76f, -0x285e032a, 0x979e2c6a, 0x0946b1fd, 0x31e0c108, -0x8c80c740, 0x3ea7f40d, 0x98a42372, 0xcde81c04, -0x43318b47, 0x160a6377, 0xd0e85532, 0x91063503, -0x027a4736, 0x38652510, 0xede9b4d8, 0xf8431011, -0x0558c2d3, 0x6eee0981, 0x2d7a8585, 0x4e53deeb, -0xb46eebe8, 0x9c8ae3a0, 0xf71d1cf7, 0x20d9de5b, -0xc3bf3ee0, 0x813256de, 0xbb05ec52, 0x88ba830e, -0x760fd788, 0x98f9044b, 0x2168be6d, 0x188b068d, -0xf8ce54b2, 0x06815fe3, 0x89a4c24f, 0x840b5282, -0xe11dfe13, 0x58824d19, 0x8019840c, 0x1bee5e06, -0x82c7eebc, 0xf9601056, 0xb8da293a, 0x811b31b3, -0x65018df7, 0x83c71689, 0x8393ec69, 0x34ad64f0, -0x7581826f, 0xbd09b908, 0xc87a1fb3, 0x82b865c3, -0xf7380b0e, 0x70928bef, 0x89e81089, 0xd967349a, -0x090d75a8, 0xe835eb44, 0x136bd5e9, 0x1b1e754e, -0xc4132305, 0x04afa1b8, 0xb2c75859, 0x7c4c2d00, -0x833668e8, 0xf78843ba, 0xd9c13add, 0x8b8a5151, -0x601376b5, 0x6d4b0c35, 0xe0e201bd, 0x23720beb, -0xd81f68b4, 0x6a0ee2fa, 0x6fd01aae, 0x8d046780, -0x96600f01, 0x57130835, 0x5f233e2f, 0x5c505067, -0x115e70fa, 0xe8d8f08a, 0x43b01eb0, 0xfea75d38, -0xc283d70c, 0xdb388104, 0x06d318c0, 0x4276d0ae, -0x042d67a6, 0xde0fb8ef, 0x0842af8d, 0x1e045162, -0x4a2581a2, 0xe3e88ebe, 0x0a13b4d1, 0x0a246cd0, -0xac400e50, 0x21431a36, 0x6e25ca55, 0x5bc9cddb, -0x012b518b, 0x75065209, 0x70effba9, 0x1058f42b, -0xc4ebd109, 0x8b7ae068, 0x0bba5ad4, 0x25e8bbb1, -0x3e40043f, 0x097b2013, 0x7343efc0, 0x0a6a13ef, -0xb09e35e8, 0x4d42af0a, 0xb604c1c2, 0x0657a510, -0x77a957cc, 0x77be1cb7, 0x8b07771b, 0xdb121934, -0x7bc5b6ea, 0x7bc574ce, 0x05352218, 0x90b6ede9, -0x1825178d, 0x76012648, 0x00ede007, 0x0f3b91ed, -0xab6942c4, 0x01e8dc97, 0x5a14dd6a, 0xf1dae240, -0x823749fc, 0xc917d19f, 0x755a405f, 0xdc1f81bc, -0x08b302d3, 0x247b8df6, 0x3bc2d42b, 0xeb0024b2, -0x03068797, 0xc868377f, 0xbb535212, 0x594503c7, -0x1bddf2eb, 0xf0850222, 0x5c478b18, 0x0cef1c24, -0x683e0dbf, 0x41e9c578, 0xfce0b953, 0x8e0b4789, -0x8a68dbdb, 0x6c478855, 0xd33aa272, 0x0a145712, -0x5e68da17, 0xee52795d, 0x789fb7b3, 0xc87e4b42, -0xe4293d4f, 0xf0f0c094, 0xf0de02ff, 0x0636748d, -0x8d56ed31, 0x837b0745, 0xdea56786, 0x5750028c, -0x83280b45, 0x1ab4fafd, 0x7e03edfc, 0x684f48e0, -0xec58518d, 0xeef70cb7, 0x51fc2fc7, 0xa9ed6662, -0x7f7cbacf, 0x81ba0575, 0x7b1dc206, 0xb8520029, -0x89b80e86, 0xad770f06, 0x5c77ee5d, 0x6807895e, -0x427d6068, 0x736bdc09, 0x38fe81a6, 0xfebbf496, -0x50965ad6, 0x267504b4, 0x364e07c7, 0xe84147c7, -0x0c48efe7, 0x144c061b, 0x1c14501a, 0x77e0f022, -0x68f75aa4, 0x40fc45a0, 0x60c5fc5b, 0x95eb0fb0, -0x708bdd0c, 0x7fb61768, 0xbf283577, 0x50c6b506, -0x0bd1e7d3, 0xbcb02428, 0x80a97f89, 0x88b0ee99, -0xcb89edee, 0x8833788c, 0x80dddcd9, 0xf8d3895b, -0xfa950ff9, 0x7be0d1c0, 0x7b7eedab, 0xc9f64c8a, -0x0275e688, 0xbf30c888, 0xedb776f6, 0xc883158a, -0x794b088c, 0xbb113dcd, 0xfdddf610, 0x8cb05876, -0xb3e5d10a, 0x56c50901, 0x622df34b, 0xe97ffb40, -0x2a08f7b0, 0x04fe1bb3, 0x5390a46e, 0xb968587f, -0x53dc840e, 0x6db77144, 0x05efca1b, 0x06ff4f08, -0x0b5bef0c, 0x6b98a50f, 0xb4b004b6, 0x3e905bc2, -0x68ee37fa, 0xe0662e9a, 0x45e409a6, 0xe820f570, -0x2df558d9, 0xaefc03d6, 0x74107626, 0x5908e809, -0x460cea2f, 0x8bf685ad, 0x5c1a5c5f, 0x2fc48d8a, -0x31ffa171, 0xf98341ee, 0xd0f37e05, 0xda41b037, -0xdab78dee, 0x444ef76d, 0x897f00b8, 0x405675ca, -0xef03550a, 0x167bbb5b, 0x9588d422, 0x24ef3056, -0x42c2ee28, 0x251e6b17, 0xef534c23, 0x3eda059c, -0x6ecd3fc7, 0x2d3c6f58, 0x8f08c3e9, 0x5067d6ef, -0x76c48665, 0x874789e0, 0x86842425, 0xbe9da106, -0x6820a96e, 0x5a136be8, 0x21abf30f, 0xee6877ce, -0x1cf2040e, 0x86475d1a, 0xf310f46f, 0x315339fc, -0xfec46f2c, 0xd0f668c0, 0xdee80ec3, 0x3bfb6414, -0xddb46a77, 0x83c60def, 0x0c430047, 0xc883f376, -0xd0fc09ef, 0x2c8d069d, 0xc1818690, 0x86e29b1f, -0x55758dd6, 0xcb81efa3, 0x4e558d3d, 0x6d437b78, -0xecf7e8ef, 0x12708db5, 0x7da03e27, 0x829a3573, -0x0c256616, 0xded7c080, 0x33e0b82d, 0xf03920d6, -0x5249de72, 0xbfc2837e, 0x8a548d27, 0x7428b510, -0x01418d11, 0x896f8c42, 0x5818a3d9, 0x09c60566, -0x985bc037, 0xa855f1eb, 0xc17bfb14, 0xe37f6150, -0x836175f8, 0x8fdac4fc, 0x7496f886, 0x0e6e1655, -0x9d0b6dad, 0x6dae1ae8, 0x70fdc3b2, 0x1f27036a, -0xc68969ed, 0xef03f625, 0xee1d4ba0, 0xe93ea910, -0xdefe830d, 0xa25a1b0b, 0x76aaee70, 0xec8d1b1d, -0xbf4f7360, 0xe5751a29, 0x85d231c2, 0x4960da0d, -0x166587d0, 0x7eeeadc5, 0x003dfcf7, 0x644f4520, -0xfcbb6476, 0x53d32955, 0x374d42d3, 0x5658d8b9, -0x0b9ee860, 0x9fd27189, 0x3ad8c2a9, 0x5f036ec3, -0xdfd7f960, 0x1588dc06, 0x8c350322, 0x1707468d, -0x5e2562e6, 0x05f60aa3, 0xefb12fcd, 0xb910db6b, -0x51b6af38, 0xa3cfefc3, 0xebec06c7, 0x415c5185, -0xb7eb0c46, 0xd0fb406f, 0x93015cc6, 0x17081176, -0x00a8b71a, 0xbb528b75, 0xb636c237, 0xeeb11c17, -0x25062d0a, 0x49307fac, 0xad6fbb58, 0x0dc34c07, -0xf64d8053, 0xc60ccb90, 0x0b90b6e6, 0xed5326d9, -0xfe3190c7, 0xe8ef3868, 0x53db55fd, 0x1c9a50f2, -0x7a24562c, 0xbd77134c, 0xfa810183, 0xbeab6948, -0xeb0ed03d, 0x3d8d806d, 0x05c61310, 0x9e261c0d, -0x481a5bb5, 0x7722126f, 0x85dd523a, 0xb024a3ad, -0x0ec50350, 0xcf637823, 0xbb08fde0, 0xffc8c33c, -0x5ffa8954, 0x6d361588, 0x555b3ebd, 0xe8013f56, -0xe24b5c19, 0xb76dc4cb, 0x752e5041, 0x4ce819c2, -0x1f445c68, 0x91c3601e, 0x3d5630b8, 0xd52db62a, -0xc61753e6, 0xf00b4005, 0x175c1637, 0x1833dce8, -0x57a7e803, 0xf81b6fdd, 0xd6c81556, 0x5884665d, -0x1ee85975, 0x3a27e8dc, 0x17a9dd76, 0xe84f6e04, -0xdae880d1, 0xeedba471, 0x13ba2468, 0x3d0ee953, -0xa8fceaff, 0x6716836e, 0xdc0d5f18, 0xbbae0860, -0x5e1763c4, 0x00c3f275, 0x5b572aa9, 0x8ebc0c84, -0x0da1115b, 0x26b63703, 0x1017151c, 0x78e0e7c2, -0x1407c18f, 0xebc73be7, 0x064fa187, 0x25ba23bb, -0xff681cfc, 0x6ea37100, 0x4bc705a0, 0x3369e8fc, -0xafa9043d, 0x7e091a96, 0x0f71be0c, 0xdb20e21b, -0x440802fb, 0xdbc1d58f, 0x6c36ed74, 0x7e035cb7, -0x27e48417, 0xff54eca1, 0x43a15b50, 0x17cba72c, -0xc0fd2728, 0x74f0f7ee, 0x613b6826, 0xf43d796d, -0xb5bb0220, 0x0b376cff, 0x0e097f58, 0x31d47ef8, -0xe1d0ebdb, 0xf6360895, 0xf4eb030c, 0xc3c5a209, -0xe022a21f, 0x0fe85d74, 0x5bd87e23, 0x893cf4c2, -0x2818ab75, 0x5d0db91c, 0x51d900b8, 0x38f0a3a2, -0x9b30fd82, 0xc77c4e5d, 0x8025e405, 0x2fe8125d, -0x300939a8, 0xb6348d33, 0x265436d9, 0xcfe74303, -0xe7f876b2, 0xe604b5b6, 0x7c04008b, 0x77fb8111, -0xb9d72110, 0xe92857dd, 0xe4280430, 0xc1890e7d, -0x53575f62, 0xba04f873, 0xb7f12c5b, 0x5916158b, -0x5bf17a83, 0xc6ffa107, 0x66e884ec, 0x1939eb22, -0x7420423b, 0x3bb76814, 0x124487d8, 0xe9ad3a5a, -0x02bb78ce, 0x66c1df09, 0xa204c5cf, 0xf0b1e9b6, -0xd4c15e83, 0x208edb00, 0x6a37716a, 0x82abd76f, -0x5e23a158, 0xc200a6d6, 0x907bfdf7, 0x0c8d4362, -0xe1a1359d, 0x6a162cd3, 0xe62e8174, 0x079efd0f, -0xb61ac70f, 0x89b6035a, 0x62158924, 0xb0b84f7e, -0xc46a0a84, 0x039e0975, 0x7a6c0a74, 0x08fe52ad, -0xf8397fc1, 0x0b52c533, 0xa2d4eca9, 0xdf8b1ce4, -0x770a8bec, 0x89d440c7, 0xb6fbf448, 0x1c705b0b, -0xbb75200c, 0x8400e94b, 0xd40de2bb, 0x1378e802, -0xfdf1e9f6, 0xf70b1833, 0x5cfd8a70, 0xd5ed35a4, -0xc2664777, 0x0f970832, 0x3d25c588, 0x5d001f76, -0xc709bbe9, 0xb1c28105, 0xe80ef88d, 0x328b4293, -0x8d8cf685, 0x72dcdee1, 0x8e0fb21c, 0x618c076a, -0xeadd830e, 0x0001b12d, 0xb48d5652, 0x0fd09e86, -0x99788321, 0x05872724, 0x85ce4bbe, 0x03018c39, -0x3bdbf004, 0x2c68eed2, 0x2abb59bf, 0x4b1ee913, -0x01baeb86, 0x53d7ae47, 0x4aa1bdf3, 0x7b719fc4, -0x3c89b10c, 0xbcd88a24, 0x31078a50, 0xc2fe25ba, -0x10d284f6, 0x0c743a3c, 0x0b3e5446, 0x81b76d04, -0xbbf4755f, 0xfbd37548, 0x1e730550, 0x7a463a7f, -0x4ac0338a, 0x30020c70, 0x0db3c6df, 0x721d08c8, -0x5a354be2, 0xdcd03e68, 0x5306568f, 0xda8a0938, -0x89d81bfa, 0x699d01d6, 0xa9764a4f, 0x6ad33f75, -0x27656803, 0xfbf8698d, 0x02d04e3a, 0x881e0a34, -0x5ffdda01, 0x894e94aa, 0x78802414, 0x1a742f03, -0x5250a88d, 0x5827a9fd, 0x081e1223, 0x3a388025, -0x737a705e, 0x2a2fec4b, 0x89752f09, 0xd78b6ceb, -0x4c69d26d, 0x37357ea3, 0x5d02eb79, 0xcc40bd11, -0xb61b0453, 0x81f13e06, 0x8d0ab240, 0x9f7152c6, -0xebc0fe9f, 0xe2faa34e, 0x21e890b6, 0xddfb0887, -0x9b086ac6, 0x6a00902e, 0xe0b3ebfe, 0xe4c1b167, -0x8005ffff, 0x833e653d, 0x5f14301b, 0x1f74288e, -0xe0563ccd, 0x1652d454, 0x551d860f, 0xac36fde1, -0x8112ee81, 0x8ed705c7, 0xdfb6b97d, 0x298e88c7, -0xb6852460, 0xedc860ad, 0x0b64a005, 0x230f68ff, -0x25801eee, 0x89105c29, 0xbe822bea, 0x1ed59c2a, -0x4a11a35a, 0xd0708db4, 0x8af284f6, 0xaa16ddbd, -0x88d5192b, 0x893803e8, 0x8dba370d, 0x48a24ff7, -0x3c53d63c, 0x09c8840b, 0x077cb1f7, 0x5434ac02, -0xefbb201a, 0x68a3775f, 0x8a04a106, 0x13a3240c, -0x58a34403, 0x7ab90b7a, 0x15f7696f, 0x73685b42, -0x57ee1455, 0x02904e3c, 0x7a57ec3d, 0x4ec9842a, -0xb55b7490, 0x4b764a84, 0xcec41734, 0x74ce7c51, -0xfdbb1a37, 0x39179995, 0xf3aa76f3, 0x6c575d53, -0xaab044b7, 0xde76398f, 0x3a232029, 0x1d0177e2, -0xefdf011a, 0x144b97ef, 0x5ec7c072, 0x50825dec, -0x5fc3843f, 0xffffe361, 0x72377603, 0x701caed1, -0x036d47e9, 0x8ebc1b1d, 0xe941a3c5, 0x14b4a53b, -0x87bf8847, 0x92444806, 0x7b507958, 0xb76f4090, -0x52d115b1, 0x0515507e, 0x7da082ec, 0xf34844a0, -0xc733e23e, 0x24dd13e2, 0xc02e7c20, 0x05f61935, -0xbd4bbec1, 0xbba89045, 0x08dbd0fe, 0x06dd7b6e, -0x68057095, 0x21483c49, 0x60a9f740, 0x53e95442, -0x0644901a, 0x37ca3058, 0xd230ce14, 0xa2128876, -0xd04b1810, 0x182a3407, 0x1b29ca2e, 0x084466d0, -0x662907cd, 0x34efe1e2, 0x32e80557, 0x602807ec, -0x8a5df886, 0x35628068, 0x4851b64e, 0x60a6bd1b, -0x508d0310, 0xd358a515, 0x0375ba2d, 0x4dc753c2, -0xaa608efe, 0x2a367134, 0xdc3d95e2, 0xad7285ad, -0x141a4c0f, 0x3502bb07, 0x7710eef5, 0x7614050f, -0xad546609, 0x581b6868, 0x5231c31d, 0x2974ed03, -0xdf89c8ee, 0xfb398303, 0x35882b54, 0x01dc9103, -0x6a170683, 0x7308acff, 0x8d138b29, 0x8d468042, -0x6db1d64b, 0x348d0ce3, 0xc0e74386, 0x77302c0e, -0xff6f8e6f, 0xfa830b77, 0x083e7408, 0xd772eb89, -0x29743218, 0x4cea7783, 0x74403cb7, 0x28579e23, -0xa3fb079d, 0x4e245dd8, 0xd1787520, 0x3433e967, -0x6f77ac0b, 0x68080624, 0xe8511a8e, 0x2d0836f2, -0xae3b40b4, 0x6cf83d66, 0xda16d540, 0x147704da, -0x03e89e83, 0x5d5ddb78, 0x75d312a2, 0xeb04aa93, -0xfd03188d, 0x75ab7d86, 0x2b068bb6, 0x66e5bc74, -0x7c0ec3a3, 0x3589f2f8, 0xc866e90b, 0x7fd21d37, -0x0e57654b, 0x4fe92434, 0x6e1ccdff, 0x95c03e81, -0xc48631a6, 0x88466b32, 0x93e5ff8d, 0x4bd0ad00, -0xfeab946f, 0x74c809d8, 0xf8c82534, 0x2d03d339, -0x0e72fa6d, 0xd8c4870f, 0xbc2cc139, 0xc21ec183, -0xc7253d5f, 0x053ed405, 0x8bba09d0, 0xd8a1dc06, -0x6b442308, 0x77fb2934, 0x772d4a14, 0x343ef229, -0x576cfa01, 0xc0a1e0b0, 0xd48ee4ad, 0x720b2d35, -0x2efc11a9, 0x683aadc0, 0xa36f1268, 0xac610713, -0xed0cd62a, 0x62ed312b, 0x7e70ab62, 0x69adf1df, -0xa12e740a, 0xcc15aec8, 0xcb80bc7b, 0x83cce376, -0xd0e6c0be, 0x61a007ff, 0x624517b0, 0x3920c683, -0xa1e67cc5, 0x78574437, 0x9beb3e3d, 0xe6c1c677, -0xf75ff7da, 0xcc868b05, 0x897aa32c, 0xc48e8bf8, -0x09efdb69, 0x9435f23f, 0xc1291358, 0x1189d319, -0x84f742d9, 0x25d0861d, 0xa534f23b, 0xe9820f78, -0x3245ba82, 0x0c0025c8, 0x584c2fb7, 0x5e493499, -0xdf11c601, 0x3b350116, 0x4f7e7c2d, 0xac0f3d11, -0x2c3d8958, 0x6e5336d6, 0x4afba1ff, 0xfe3f8238, -0x1537a2da, 0xd9985e34, 0xee9215b7, 0x290719ba, -0xdf1031e6, 0xc22f750c, 0x0aba1a90, 0x2f5b7e09, -0x13cc0d14, 0x40269cdd, 0xaf6da555, 0x9a4e0957, -0xe06a6c66, 0x34a4f5e8, 0x0b0a696b, 0x6943ee43, -0x056e4deb, 0x52e82691, 0xa21da216, 0x2a65de00, -0xd6211680, 0x2c710e60, 0x36e77f09, 0x4b29d05a, -0x788dd539, 0x5c1a7d34, 0x2db04270, 0x5a494576, -0xc15a15e8, 0x817fa5c3, 0x68f08f5c, 0xaf5a99a8, -0xb6ff5c4d, 0x30bb2cd4, 0xf1f2a984, 0x4d6f09e2, -0x214b63bc, 0xbe03941a, 0x1beb2921, 0xa9b4381a, -0x43735c5f, 0xc1968d47, 0x84be15d0, 0xf991f887, -0xbbe29514, 0x1366c271, 0x77a8d339, 0x261c8290, -0x876e087b, 0x07148290, 0xb41674de, 0xb7ddc6c5, -0x8b22808b, 0x40423937, 0x048ff4b0, 0x890ddbf7, -0xe9e9202d, 0x3ce9d30a, 0x73d48d7c, 0x405b923f, -0x43d48b6e, 0xa6f210a0, 0x7037ddba, 0x86418abf, -0x261020a1, 0x7ab75206, 0x988dee89, 0xc7502600, -0xeb50501e, 0x8a7000a1, 0xf4c0623b, 0x592b566c, -0xedd2215e, 0x32f3179a, 0x8336ffd8, 0xe8190a0d, -0x035b462d, 0xe29a8cf4, 0xec41bf5e, 0xe2c3e894, -0xa3603c53, 0x61344abc, 0xe0715a23, 0x2d50e81f, -0x6ce67460, 0x0cec91b7, 0x90046a0d, 0xb5b80729, -0xa0c0456a, 0x236deeeb, 0x68c5fa1e, 0x2fd77b96, -0x014258fa, 0xd984a814, 0xd4281027, 0xe95bf683, -0xd2077f07, 0xc740bad6, 0x03c0246c, 0x46e0ce2c, -0x013ee893, 0xc28152c4, 0x2781f82b, 0x7612d51f, -0x7ddc050f, 0xc5d7056a, 0x3461bb59, 0x54ece0be, -0x34181ced, 0x3bb1d818, 0x105c24b9, 0x000c0b10, -0x9f020809, 0x257304ae, 0x65035d51, 0x6db8a024, -0x750a8855, 0x134a815b, 0x3d0c3014, 0x19aadbb1, -0x3b573e15, 0xc5137691, 0x5e76eb6d, 0x2b092b2c, -0x89e00807, 0xace046e9, 0x140c1b2a, 0xe0345531, -0x80480be1, 0x034deaa0, 0xe3468bb8, 0x888be2c7, -0x00964edb, 0x32988bb3, 0x025bb8b0, 0x70da4eee, -0x2e857228, 0x6dd6b6c8, 0x9d7b639d, 0x71fdfa13, -0xc6137209, 0xf5db8468, 0x2bff6709, 0xdf6ca910, -0x0ce42bd2, 0xc0396878, 0x03a38168, 0xe91420f6, -0x7d001a76, 0x7b1e27f6, 0x9c68e3b8, 0x5a215f77, -0xc42d56e9, 0x650f0dc2, 0x8d1c6353, 0x01cabd45, -0x67bc22b7, 0x262575e8, 0x4bc7390b, 0x7b75384f, -0x140d4514, 0x66143e47, 0x3b837741, 0x28ee7235, -0xf7ef0059, 0xcc3595fb, 0x8bc48603, 0x9613d296, -0x6ed7e2c8, 0xcf778901, 0xd3891c10, 0x11df847f, -0x249e031c, 0xc37d818d, 0xc2390676, 0x307b4273, -0xc20f6903, 0xc7090c76, 0x2ff606ee, 0x34a1c215, -0x0a1e24be, 0x8df4153b, 0x1ccd1dfe, 0xd8f7e889, -0x21ff1521, 0x41fd57c2, 0x3e225ca1, 0x843bd329, -0x69ef409a, 0x61cc5a82, 0xb43b2ad7, 0x2e2b8d04, -0x27f1e1bf, 0x5970073b, 0x330f4974, 0x05ad7501, -0x68f0e1e0, 0x714d11ac, 0xe1a3995e, 0x582080b3, -0x2d2924b8, 0x430781d4, 0x018a3534, 0x0aad2360, -0xb3e84b1f, 0x0d91e82d, 0xaf5b8169, 0x39db982c, -0xde283bd6, 0xe00ded12, 0x77c3615d, 0xd20c0f57, -0xa1de9605, 0x9709d510, 0x3b5aa930, 0x203f8370, -0x0155c529, 0x2015d8c7, 0xb1101dbe, 0x3f3bc0af, -0x208520c7, 0x0c5a6300, 0xa04653b8, 0x61476a95, -0x06396f64, 0x21c7dfed, 0x3d8bad72, 0x73ef3907, -0xc0de182d, 0x05de17ed, 0xeac1071a, 0xfac93109, -0x8d8dce19, 0xdbc78a5d, 0x898a8938, 0xad6ca39b, -0x2930fbd5, 0xc9f8052d, 0x2587286a, 0x2c0982d9, -0xf836e87e, 0x40cdb82e, 0xa0a35e11, 0xa519ca5a, -0x638787c7, 0x2c321ab2, 0xfe36922c, 0x1163bab3, -0x3e815457, 0x1b031336, 0xf3d2f174, 0xaf0b6add, -0xcc682bd0, 0xc46f0928, 0x8159619f, 0x10ba9b28, -0xbfe03a22, 0xf418fb40, 0xb9c0a107, 0x106a372c, -0x41116856, 0xadd68e03, 0x454a9181, 0x379c2289, -0x25422d48, 0x360e86be, 0x5207908e, 0x7e87b570, -0xc750a3df, 0xfbef315c, 0xf7a2208a, 0x598fbc06, -0x44a18674, 0x250f5ae8, 0xf52f5cf0, 0xe51d2996, -0xf73c8d96, 0xdfbb003f, 0x3d7d5b78, 0x07864274, -0x8a5a72c4, 0x16216f47, 0x3ac003a9, 0xc7db47c2, -0x1b7df021, 0xea5659a1, 0x3a2d03f7, 0x81553076, -0x02ea53e2, 0xdeacfc67, 0x0182550b, 0x013a2805, -0x7c221cba, 0xad23138b, 0x0374d8e9, 0x60500847, -0x142b5aad, 0x06fe0704, 0xfd881ecf, 0xe80477ff, -0x3c60ae40, 0x5c5f037d, 0x08abd3ec, 0x078ac441, -0xdb73b2b7, 0x97c5a46c, 0x1b5597b5, 0xb98f48b4, -0x46e9a527, 0x96e9b10e, 0xbc0ba7fe, 0x57573a60, -0x332061d8, 0x245e9577, 0x9242715e, 0xfe32dc34, -0x366e0035, 0x0d3dbac0, 0x464c457f, 0x026e0fbb, -0xa1d6ebd6, 0x004c2595, 0x0be0f63d, 0xd00001b4, -0x90a166eb, 0x2d487ebf, 0x77a981f1, 0x6794b1dc, -0xdb7016d9, 0x08a838d3, 0xc72320d0, 0x44eeeef8, -0x740320cc, 0x75060506, 0x30d268b5, 0xe47d18df, -0xd7782a24, 0xf4a2180b, 0xaac4693b, 0xd0af06ac, -0x12e8e5e9, 0x5e78de70, 0xb51d493b, 0x97abb00c, -0x76a20a61, 0xefa6bc6d, 0x36dd6815, 0xd7b85be1, -0x241d3753, 0x5295d47e, 0xdfc801e7, 0x85df2c72, -0x72c38b6f, 0x1403a33d, 0x3d860151, 0x7d180ec1, -0x05fb005d, 0x986b09c4, 0x3074c488, 0xf7354247, -0xfdb03df1, 0x04407a83, 0x15c6f235, 0x358e4218, -0xf5f82080, 0xedd07c0f, 0x4dcb64d9, 0xc12b2d43, -0xd84344e2, 0x788291d6, 0x405eed40, 0x5f64d1d3, -0x05c7d642, 0xb0cc90c8, 0x5794a303, 0x3709d86b, -0xb8786a1e, 0x3fd025ea, 0xb22f4075, 0xf0687ecc, -0x300c2b0f, 0xd0240c89, 0x405a8ba6, 0x350bc5bd, -0x03f56a0d, 0x55536d6a, 0x30ee0151, 0xf8f8a86e, -0xdb101847, 0x22337208, 0x4ef3b213, 0xdbd28459, -0xe94b823d, 0x8852fdec, 0xbb3743c4, 0x7e8609dd, -0x5268f87d, 0xe8243651, 0xb11b1076, 0xe5b635a6, -0xf83d8bfe, 0xa48c307d, 0xbecb0448, 0xecfd0b01, -0xfe261342, 0xe1c1d189, 0x1184b952, 0x98a3460e, -0x0cc71000, 0x9c6fa54b, 0x89a68dda, 0x6ec721f7, -0x6d037dd8, 0x1e8675d5, 0x2b63565d, 0x681b8451, -0x72f9a1ee, 0x894c76c0, 0x1acb46c1, 0xc72b1a2d, -0x842967de, 0x267dc21f, 0xcc8801bf, 0x0e01b5a9, -0x01dae8f1, 0x8dce640d, 0x5dc56b15, 0x2799e86a, -0xdfb8fc8f, 0xeea56d1d, 0x8c998d49, 0xfa40433f, -0x4aa9fbe0, 0x8103b0cc, 0xc6e844d4, 0xfa36dfd3, -0x395018c5, 0x3e860ff0, 0x0579c6b5, 0x71235f98, -0x01fd6cb1, 0x5d8c0a26, 0xd87c4cd2, 0x5d770e02, -0x0ec1f729, 0xda263163, 0x9b3235ba, 0xfa120108, -0x742dbf21, 0x400b76c0, 0xa0105f10, 0xd93941d0, -0xa3805a72, 0xf70fd7b7, 0x7f215bd0, 0x28605d73, -0x79f7cb45, 0xe8bae73d, 0x1ad2f7f6, 0xd28e0274, -0x68213320, 0x423d58ef, 0x1a062d05, 0x28d8afe6, -0xf08eecc4, 0x5eb78265, 0x08474c83, 0xd1a4b952, -0x1c2eff6f, 0xc96933ad, 0x29da890a, 0xd269b2ca, -0xa1b5684e, 0x690b9cb7, 0x2934b3f6, 0xa8d15cf2, -0x2d1857f7, 0x06a10978, 0xddfa967a, 0xab82472e, -0x0ea37f58, 0xd419eaeb, 0x097ba057, 0xc4440596, -0x0660bfc4, 0x0159d2a0, 0x26991a5d, 0xf4b42c48, -0x7501e4a4, 0xa05b1727, 0xf674fa01, 0xf886eee8, -0xd0041ad3, 0x047806e9, 0xe2b31574, 0x859dfdba, -0xc09e1b7f, 0xcac9d368, 0xebed17ff, 0x77da90e6, -0x2abae829, 0x12ef6b5e, 0x0c1de84f, 0x7eef4274, -0x0773d839, 0xeb31a2e8, 0xe3c35bf0, 0xdb92dcf5, -0xeff3edf1, 0xed0e8958, 0x744d1dc6, 0x6a7bcbf7, -0x7453e82e, 0x43f5eb58, 0x0dc42808, 0x84118af4, -0x1074ebd2, 0x2f16318a, 0xe26e2370, 0x38df1ddf, -0x52b774c2, 0x138afb9d, 0x100a018a, 0xd202cd0f, -0xb6dd8c29, 0x41c36f0b, 0x742f432e, 0x4cde2be4, -0xe893c08c, 0x5127d2eb, 0x168b71ab, 0x242c4597, -0x1c8bc5ba, 0x1c239b5e, 0x50b59d4e, 0x4c142a16, -0xe80795ae, 0x07ffe25e, 0x77c6b9b5, 0x02ff8337, -0x428d0b7f, 0xfedf8501, 0x3a80efef, 0xc127752e, -0x094708e6, 0x7e0315ce, 0xc0f089c1, 0xed0a1ba3, -0x0410c8c1, 0x891cdb81, 0x81a11d30, 0xe829b548, -0xc1f65dea, 0x94aa7ba2, 0xc50a29ef, 0x4c15ad0c, -0x05741d7c, 0x50a18e2e, 0xff77d83e, 0x77093cd0, -0x0ac36b14, 0x5c8d41b5, 0x7613d002, 0x0df685ec, -0x18370a05, 0x9dea0e89, 0x4b06de4b, 0xbcd28ef5, -0x64e41258, 0x841988ec, 0xe0edcb77, 0x0775d301, -0xe80de002, 0x6b5bd2c1, 0x047ea978, 0xdeeb60e4, -0x24016895, 0xbf14fe54, 0xbe85c1e1, 0xb054bdc1, -0xe864e6d1, 0xdda1b8b4, 0xe6df087e, 0x4753ae26, -0x0afb836f, 0xb71384e1, 0x09bcd00d, 0x6cc3137e, -0x6aad889b, 0xeb42de50, 0x31bb77ec, 0x881377e8, -0x4ad34fe8, 0x9a681875, 0x74db0680, 0x360d36ef, -0xdc85bb12, 0x2debae1b, 0x200ae8f5, 0xac55627f, -0x8edfebc5, 0xa93a9329, 0x0c9f0ac3, 0xa90dc68f, -0x815f5d0f, 0xc581bcc6, 0xf0530a4e, 0x8de8f142, -0x28a36b78, 0x00795e94, 0x8d83fff0, 0xc2d19cdc, -0x60bb3f02, 0x83260051, 0xf7c3dc51, 0xec6d8f53, -0xdd2dc381, 0x56882b74, 0xc1670555, 0xcc85d7ee, -0x9404e068, 0xebe50423, 0x0daee807, 0x1acf9484, -0xa93ec7e8, 0x1521c833, 0xcf839315, 0x9eefdb21, -0x97778b3d, 0x86545817, 0x220553e8, 0x8b8b6e30, -0xc7bf6e17, 0x9303cab4, 0xc3c1831a, 0xf08ef0e1, -0xa9b75539, 0x0573caf7, 0x828c25ba, 0x16f72753, -0x83cadd6a, 0x0211750a, 0xf16ba990, 0x740af896, -0x3e07ea7b, 0x6bdc2826, 0x6d2cca19, 0xff47ab1e, -0x2083f8dd, 0xd689c50b, 0xdd9e17e9, 0x0c5237fa, -0x8de2a818, 0xc8d470b0, 0x9eb2c22a, 0xab10a32b, -0x73087f09, 0xbcdca13e, 0x13abda5f, 0x123fc216, -0xac503dbf, 0x042d59c3, 0xe6abc7fa, 0x1ef5674a, -0x3826a35e, 0x12bc38a3, 0x63d597a7, 0xbe34a33b, -0xacfe68a8, 0x81812e28, 0x5daf4c46, 0xa2a7dbe6, -0xd9ebf26d, 0xa7757d58, 0x3cfc5808, 0x8b9e23c2, -0x03cb1a8f, 0x73cb399f, 0x47785ff6, 0x76ce39f0, -0x0e739e12, 0x3877cd39, 0xa9e8de39, 0x75cf1b81, -0xc82943f1, 0x06001089, 0x055e0dba, 0x3b155faa, -0xde0b9dfc, 0x1f558202, 0xc0890d1f, 0x9d4a2276, -0xa673375d, 0x101bad1a, 0x35d9c889, 0x758df5f1, -0xeb42c083, 0xa5a145be, 0x1b7c4529, 0xfc48ed2e, -0xc40d3b85, 0x2c5df673, 0x3102ade2, 0x8d1889d0, -0x06754841, 0x280dd8f0, 0xb9e5ebd0, 0x28478114, -0xf843854e, 0xb06ff129, 0x217fb1a7, 0xf8598dc1, -0x06411d3b, 0x2d435fa2, 0xd8e696e5, 0x4106fc30, -0xd19858c8, 0x1533352b, 0x40b69003, 0x223b7034, -0x83405c24, 0x8d4bb106, 0x03f09ffc, 0x0e071336, -0xc25d80c6, 0xb52fa65d, 0x03343c18, 0x8b27b72d, -0x44b6bb42, 0x8939fc89, 0xc27824f8, 0x939acd03, -0xd1300db1, 0x46afc1c1, 0x47335a26, 0x32a00489, -0xd3598941, 0x0b5a991f, 0xb6ec084b, 0x882c5b2a, -0x4d5a5905, 0xdd7dec1c, 0x0314160c, 0x8c1f0453, -0x9a604a82, 0x08bac022, 0x0e62b545, 0xa69ce496, -0x8039a21d, 0x594edb01, 0x3b904dc3, 0xbc14d753, -0x7e20684d, 0x21042003, 0x02bbbae2, 0x8314da34, -0x11791968, 0x09e3ba45, 0xff6a16ec, 0xa6cd74f3, -0xe64035ff, 0x2a2ebe66, 0x0f281c2a, 0xc8348210, -0x18329e6d, 0x2a1e5ea1, 0x350b7cda, 0x3dc20d21, -0x58590116, 0x2cefd475, 0xef114563, 0xf3582d1f, -0xefc0a675, 0x155027fd, 0x733befd9, 0x54a12737, -0x155c3d26, 0x07d12bc3, 0xfe5a8237, 0xac2dfb36, -0x5def754b, 0x42745807, 0x172608b8, 0x655fdba7, -0x689d1dbe, 0x3d972b69, 0x991ca3eb, 0x7f6818ef, -0xcb9d8610, 0xb1730f05, 0xca7c78e8, 0xe144cca9, -0xbf7ffd5d, 0x109f6653, 0xff740806, 0xa0e12ddc, -0xa47a463f, 0xf17629cd, 0x4b007752, 0x8174a07a, -0xa97e147b, 0x75f886ed, 0x0d046ae3, 0x6c1c438d, -0xa20dec08, 0x232e3681, 0x22decacd, 0x1643f1d1, -0x0aba6b50, 0x21c31e59, 0x44135200, 0xadd76402, -0x1deb46d3, 0x3c7d240c, 0x5d10558b, 0x582edae6, -0x342414e8, 0xb020b646, 0x0e356b04, 0x05230837, -0xf729324e, 0x0e9f6d88, 0x8bf6c203, 0xb019b827, -0x5f036341, 0xfefd6446, 0x6da8e8ae, 0xc904f37a, -0xb016f5f5, 0x6bdbfef4, 0xbc800ac6, 0x06847303, -0xf47dd17c, 0xed7e05f6, 0x28740604, 0x681c3c11, -0xec1d13d9, 0xfdcd9301, 0x7b96b8bc, 0x24d2341f, -0x012566de, 0xaedefd06, 0x23c955ab, 0x04090406, -0xdbc4d610, 0xd8010436, 0x14253b68, 0xf672cc3f, -0x0403efc7, 0x26104068, 0x6160b6de, 0x3a8d8f89, -0xd6d9e316, 0xc701a245, 0x24045004, 0x082c7b1e, -0x03bbbfcd, 0x681c6a16, 0xe1a84664, 0x75649982, -0xb4b03f7a, 0x1fdff80e, 0x00139e91, 0x50383300, -0x3a386856, 0x8faeab05, 0x28340cbe, 0x430333c8, -0x0362d8dc, 0x0f14fbbc, 0xb5eb9f8f, 0x60a58c79, -0xb3d27a01, 0x1f495aec, 0xe9d073f6, 0x68ee0d31, -0x10e95c00, 0xc28c10ff, 0xe0b58b35, 0x577f68ae, -0x45408d70, 0x43c60388, 0xb90f5891, 0x98b712a2, -0x42bd8895, 0x9c43a1ed, 0xda310610, 0xa045b785, -0x10062a15, 0x22fb723f, 0x433d452e, 0x0506be04, -0x14c2ed03, 0xf5e3301a, 0x0526a6bb, 0x585b0c37, -0x516c4911, 0x09171573, 0x18a31136, 0x5bdc4329, -0x88bbf578, 0x704917b7, 0xbe147e8d, 0x6c35eb83, -0x8014b1bf, 0x024782df, 0x476d5f03, 0xca5c45cd, -0x0b23c05c, 0x68230b77, 0xc36689ef, 0xc33e1506, -0xd18deef8, 0x68a61c87, 0x6a565318, 0xbfc7bd3c, -0x0450dd06, 0xb028a366, 0x236bf1d5, 0x9341b08a, -0x3fc3e6e3, 0x14563839, 0xc40c6823, 0x28a9ea0e, -0x4610c037, 0x88bb63c6, 0x25744214, 0x3910404f, -0x1106a37b, 0x97c8ec29, 0x1a9c40ed, 0x13602ac0, -0x1ef54f8e, 0x892ec1b9, 0x715796e3, 0x453418e4, -0x1e059800, 0x85a21e00, 0x59393f11, 0xd586c989, -0xd603915d, 0xb457adc8, 0x39ff0997, 0xe0ba193f, -0xc1a868c3, 0x5e021bf1, 0x711e081f, 0x7132aec8, -0xf108c7d1, 0x1c93529f, 0xd42e2239, 0x0c18f708, -0x7eedae1c, 0x9d86e6f6, 0xd8500642, 0xc56832ff, -0x401e6849, 0x18ddda26, 0xdf1b8ce8, 0xf7ab1fc0, -0xca688975, 0x91b40d93, 0x03611b00, 0xb82305b9, -0x5241ae0a, 0xb759b75f, 0xc90c1758, 0x15108a51, -0xd82bddb6, 0xba5fe34e, 0xa8bc08b7, 0x0722d9ee, -0x7c5b02c0, 0xfa7d6b1d, 0x74ed30f7, 0x75171c0b, -0x19e28c0a, 0xeb5f0eb1, 0x361145c7, 0x3a1780d6, -0xc2504a48, 0xddbea267, 0x36b83dc0, 0xb72be80b, -0x39eb61f4, 0x24d57f23, 0x7a09a194, 0x428aea0d, -0x3c7a7444, 0x39b1b7ec, 0x29fa3f6d, 0x50770ca3, -0x2f64ba4b, 0xff66f834, 0xb844d005, 0x774833b3, -0xd1b4b607, 0x4837b63d, 0x82ae14e9, 0xaf638358, -0x09120cd8, 0x950b325d, 0xe1d63db4, 0x5840e9c2, -0x0e4b8dde, 0x9a11417c, 0x8d12ddc3, 0xaa08f670, -0xa584127d, 0x1c0b6c62, 0x1505de0d, 0x96d58d2d, -0x0512ca46, 0x84efb88f, 0x08db382d, 0xa8a1644a, -0x6c759b00, 0x1e926a2f, 0xe6369ba3, 0xf3c64218, -0xc5ad20c2, 0x1fc9d436, 0x8b66dee9, 0xaeb6ecee, -0x1e7cf211, 0x397d424c, 0xb18960d0, 0xc00d5f5d, -0x028dd616, 0x5c0b85c2, 0x6f8e7725, 0x8d73892e, -0xb76d2b47, 0x2fa3d9da, 0x427b0ec0, 0xf70805fe, -0x0bad40b1, 0xbc9c2003, 0xe1141685, 0xb10c5b04, -0x88b5925c, 0x190d0fad, 0x06f8114d, 0xb850445c, -0x43586dc3, 0x01d5562c, 0xf112c6d0, 0xbb92a5b6, -0x241ff677, 0xbd1a3428, 0x19428fed, 0xe1eeb09c, -0x5850ad52, 0x7672782b, 0x014352ae, 0x0efe505e, -0xbb78477e, 0x47148a35, 0x0f9c0641, 0xcb0eed8e, -0x682dec7e, 0xae2098dc, 0x1f1942f1, 0xa4171d6f, -0xaa18e1e8, 0x14479b21, 0xa5cc0842, 0x081b861b, -0x8ee91c58, 0x0eea3728, 0x3b4fa91e, 0x59e8f2e1, -0xba210975, 0x80e82e6f, 0x967e077a, 0x8901508d, -0xe115380e, 0xf22d36ae, 0xd272d0c6, 0x85412c53, -0xc51de560, 0xde8f0767, 0xb7a3ec12, 0xb7ef9b12, -0x67c9c3f0, 0x6a2e538d, 0xf2688352, 0x40fba05d, -0xcb9f57b8, 0xb8721be9, 0x7dc20474, 0x093be9a4, -0x5f3b8011, 0xd5b6f0a0, 0x743c0415, 0x8d4d6116, -0x93801804, 0x78d5c258, 0xeb1fa702, 0xb0c0563c, -0xe6096ac0, 0x6f5e417a, 0xe8b3123a, 0x0c061ae1, -0x01a3ce75, 0x2dabb40a, 0xe29b1cd6, 0xc9a0d0a3, -0x817feda6, 0x46efa65e, 0x8d21156d, 0x11762a5f, -0xb8add208, 0x874ad1d0, 0x0774ee3b, 0xddbdd04e, -0x7f804d15, 0xa1f3632a, 0xb8391b24, 0x922f0b85, -0x7b66e975, 0x2a990fab, 0xbb6c9a37, 0x756c961d, -0x723e473e, 0x0d46e06e, 0xc0c7ab46, 0x005746f3, -0x71cec30b, 0xd7d88b55, 0xdbb0fb85, 0x211443ef, -0xbf64a314, 0xa958044e, 0x068e6c88, 0x781a1a21, -0x5854cf21, 0x6b3a1053, 0xb40e28de, 0xa3b53333, -0xc5a38218, 0x0baacc07, 0x1858fbc1, 0x7f717fa8, -0x117e7aba, 0x00debf3d, 0xd3136e6f, 0x0706057e, -0x2705c068, 0xfa30039a, 0xaaf73fa1, 0xe8f8210b, -0x0000199c, 0xe2a4c3f7, 0x2f513108, 0x469e04e9, -0xa377dc88, 0x0462885e, 0x150fd0cc, 0x6888ec7e, -0x6c43a580, 0x47e801b2, 0x52c59ba2, 0x57f16b19, -0x9b66e8b3, 0x19849680, 0xe921f007, 0xd7dd590a, -0x1a87ee1f, 0x10328d01, 0xf733205a, 0xae9fc7b2, -0x3807e89a, 0xb3c5935d, 0xb99687d7, 0xd118f160, -0x07ebb018, 0x326ce9dc, 0x50ec81ad, 0x8d48a0e0, -0x03dbb7d7, 0xa00420a2, 0x3b210944, 0x7df60d1b, -0x0c4505df, 0x09461622, 0xd9471623, 0x0cf5e860, -0x59737724, 0xe9fe0240, 0x2c771176, 0x2e2d0401, -0xc3e0e806, 0xa3e27c3e, 0xc6934627, 0x6de8f568, -0xe048682f, 0x1beb7783, 0x167aba2c, 0xa3a83032, -0x4cdb9d0f, 0x41e012d1, 0xdb143e2b, 0x677dcfbe, -0x2df45984, 0x75db5413, 0x19bc0013, 0x8d193c19, -0xed942494, 0x6e7fddd3, 0x680d6a24, 0xe852311c, -0xc6ed0202, 0x14fe8425, 0x8b1889b9, 0xfffff8b0, -0x1f86c20f, 0x17dfc531, 0x65c44094, 0x6da0cf09, -0x06ca28c6, 0x1aff7f53, 0x17c0ec45, 0x6ae0418a, -0x8b446a43, 0x7546e29f, 0x20b633e8, 0xd41b6a55, -0xa86abfb7, 0xc2f9e833, 0x3c8d4511, 0x5fe24703, -0x05c6ef6f, 0x7e5a7a0c, 0xa4b6531f, 0xee6c4f41, -0x037f4676, 0xd2e8fb26, 0xdb46c329, 0xf7ae883b, -0x3d83e17f, 0xf5e19576, 0xc0ef303d, 0x02f4742e, -0xf1011ce3, 0xeef6dd20, 0x05c7de89, 0x8e31c71b, -0xe068616a, 0x37b64efb, 0x131d3072, 0x93411031, -0x13c660ed, 0x18160809, 0x91c221c2, 0x2616f22f, -0x50d2230d, 0x13de4dc2, 0x9da223da, 0x18745330, -0xf744eefc, 0x086c0712, 0x09af89e4, 0x3bada608, -0x2e9ee02c, 0x712c3c43, 0xb3e85fd0, 0x7405cb09, -0x7e13ef34, 0xc1dde8b1, 0x6c7f1ba1, 0xd1f112e9, -0xf7acf029, 0xc0b132f1, 0x83c8c04b, 0x6b6513fd, -0xc171e8c5, 0xc4817683, 0x0b72cb81, 0x5e3cbb09, -0x2e1269c4, 0x22255098, 0x40552bb4, 0x636a09a8, -0x5feeceae, 0xc1dbe874, 0x315f73ee, 0x33741cff, -0x20b3ffc7, 0xc08ef5bd, 0xbce2e7a6, 0x07e08383, -0x6be6e110, 0x47472ce0, 0x759eb60f, 0x82dfebdd, -0x3944c383, 0xa1cf7cc7, 0x03408e72, 0xa382433c, -0x81c33b19, 0x318f4be8, 0x3815b9c2, 0x6a0c5f28, -0x73766949, 0x3b0dbc4f, 0x685ea166, 0x1b7c0ec7, -0xe877068c, 0x71492692, 0x6b85686d, 0x49c28068, -0xa100ca91, 0x1ac8429a, 0x5eaa59eb, 0xc10673ab, -0x0d685c0a, 0x27083904, 0xe82fbfa9, 0x3b62f5c6, -0x0a817308, 0x012a4e43, 0xc846f723, 0x8c6e83fe, -0xfffedbe9, 0x0192beff, 0xe80f0de3, 0x45d314f3, -0x3d766068, 0xde19a1da, 0xf6b914df, 0x231c786e, -0xadf99d20, 0x0918921c, 0x59a35978, 0xab8f8120, -0x80e46707, 0x979265c5, 0x9f0f1000, 0xa6499068, -0x83346810, 0x6f8a31c3, 0xe9581844, 0x1403fe02, -0xecd48a94, 0xafab1010, 0xc2c0505c, 0x76bcf785, -0x00d4a009, 0x09b2c58a, 0xcf561366, 0x83c7a3b8, -0x0a3014e8, 0xdb31806a, 0x2ce87d51, 0x58c626ea, -0x62352d1f, 0x5022d97b, 0xb712cc54, 0x19c24ed4, -0xec94c684, 0x0e230e49, 0xc0230064, 0x066368d1, -0xbf0d0530, 0x157000fb, 0x3a34ac41, 0x2e27a50c, -0xf05f1984, 0xf8915f8f, 0xfb803a0f, 0x83cf0d66, -0xe0760df9, 0x341e3741, 0x423ae0ca, 0x92e1410c, -0x3bfc2cab, 0xf833c509, 0xb9b16edf, 0x737506fd, -0x6e762121, 0x8a0e5a8d, 0x8ddb0e52, 0xbb9c97e8, -0xb1770a3c, 0x290fe065, 0x9a2a5502, 0x7e52d572, -0xeadb7467, 0x5e590a77, 0xf7669875, 0x85a03f7e, -0xc78b6279, 0x66bcf55c, 0x808bdc3d, 0x6e25bf16, -0x14ea83fd, 0x8b66a148, 0xff70010c, 0x0174edd9, -0x8122784b, 0xf739d129, 0x3235830f, 0x0a5df8a9, -0x121529cd, 0xef1bf631, 0x4c7f80c1, 0x11097b80, -0x3de44675, 0x063d358b, 0x83ec1eed, 0x8b5922c6, -0x86f70456, 0xdc5f9fd6, 0xeb2bc5c2, 0xfd1587d1, -0xdb91b683, 0x74727e8d, 0xfe7d9610, 0xabca8d5a, -0xf70270ad, 0x8bc5281c, 0xec654628, 0xd1540338, -0xda9dbb61, 0xea4da31f, 0xd4290806, 0xf45c24d1, -0x860f6fd9, 0xfef9e5c7, 0x2f406f18, 0xc2562677, -0xe80e6f8d, 0xb683128d, 0x81e4a11d, 0x3401697d, -0x2299b798, 0x0ef357d2, 0x16da7790, 0x1a69a95b, -0x391c2602, 0xae8fc0b1, 0x776c5ded, 0xb6567216, -0xe52fc061, 0x4ee85720, 0x41a5a012, 0xc60416dd, -0x2bb1244b, 0xf0550f31, 0x81019b70, 0xdfeec12a, -0x8ac1c71c, 0x68122f43, 0x00366743, 0x67f2851f, -0x31743624, 0xdab617b1, 0xfd7f7c03, 0xbde9fc3c, -0x6c7c7dc0, 0x890cc4a7, 0xeea09506, 0xd6352d2d, -0x05c72ddb, 0xe5c65c16, 0xc2f40ae8, 0x292c3218, -0x831ee80f, 0x01f82f80, 0xfdd58648, 0x9c2a9567, -0x9228f136, 0x68560d8a, 0x37e37faf, 0xca38dfe1, -0xc2171473, 0x6644c06b, 0xb8149839, 0x74edf02d, -0x72134205, 0x06fa80ec, 0x1d74081e, 0x6ece9c6e, -0x50034623, 0xc6d70522, 0xaebd1165, 0xc37b204e, -0x134aa22d, 0x41832380, 0x8fcceb89, 0x6053359e, -0x1c363668, 0x5c00908d, 0xb97abeae, 0xa6bc649c, -0x8a6a3ffe, 0x3c3c0246, 0x3cb00276, 0x588b5050, -0xf90b8810, 0x81fc10e4, 0x4349c52e, 0x6f4833b3, -0x53448368, 0xf3490af4, 0x29715f64, 0xa2279318, -0x20607403, 0x0a74832e, 0x03220152, 0x75fb4360, -0x13048006, 0x1f76b882, 0xd0f81aea, 0x0dc468b2, -0xc618c805, 0xd045ad80, 0x487cc1dd, 0x4c6b66bf, -0x558e067a, 0xd80135a1, 0xbdc35fe8, 0xd39a06a3, -0x85c5892c, 0x636bb5ff, 0x01ceeb2c, 0xee397e3f, -0xdff16b76, 0x7358071e, 0x841e8a0b, 0x0f5c75db, -0xc286f572, 0x893bdaf4, 0x3505382d, 0xaa1d2e1a, -0xc73f0827, 0x1b5001bb, 0x979b6a8d, 0x0bfb02c0, -0xd6c0e858, 0x18f20ce9, 0x6e047310, 0x04a225ba, -0x22a17fd7, 0x454b8a68, 0x7b3fd093, 0xfffff0c9, -0x6eef51c3, 0xfbdddb60, 0x1038dcff, 0x60d0158a, -0x2875d284, 0x06c18dae, 0x0996d179, 0x0cb0f81b, -0x020fd8c8, 0xe2031215, 0x7ed99d20, 0x0812fbbe, -0x483e1ed0, 0x353146d9, 0x9d4a0121, 0xc45eca61, -0x4a017e84, 0xa015640c, 0x7ddb1efb, 0xdb6d3c10, -0x840d2200, 0x102b1dc0, 0x668db7ef, 0x6102fe9d, -0x4974810c, 0x54a33d80, 0x386d876d, 0x1605410e, -0x97e0fe96, 0x46b6afba, 0x023074ec, 0xff26c8e9, -0xc35405c6, 0x0125fbc0, 0x7b16c515, 0xecdd8282, -0x16fffe08, 0x0d14cecd, 0x8e82c7b7, 0xa3231abc, -0xa6ebcc68, 0xbbb50bb7, 0x809a7c49, 0x947605a2, -0xf524c3a9, 0x007560ec, 0x9a0eba39, 0xeeec2e79, -0x0969ae6e, 0x0500ff6f, 0x8337b02c, 0x0317c980, -0x0003902e, 0xeed17acb, 0x8d1e79dd, 0xfb2cd1fd, -0xe73b7408, 0xc236d1fb, 0x097a1885, 0x5ef90f08, -0xc436c202, 0x183c1f02, 0x2e15fb39, 0xb7d4e82f, -0x6200b95a, 0x185c50c4, 0xb7eca646, 0x72581503, -0x2916e9ed, 0x733b4204, 0xec834990, 0x8200e1fe, -0x20dd8917, 0xd6e90804, 0xc0589343, 0xd956a116, -0xbf70140d, 0xfebeef70, 0xe99c2e3f, 0xe1760db0, -0xe905a1bb, 0x01edfea7, 0x389d86eb, 0x5c3d837f, -0x0cc52a54, 0x89b8ff20, 0xc49237f5, 0x083589ef, -0xa3fd4b5f, 0x170d83d1, 0xe2520370, 0x04c3a1e9, -0x65ada883, 0xb955ebb7, 0x089d24fc, 0x10f0061d, -0x94b02c98, 0x1c18d8bc, 0xd6970986, 0xdc014c36, -0x8d9c1c9f, 0xbae9332c, 0xb410b20a, 0xae0ca0da, -0xfc54c807, 0x00807453, 0xe3d3c320, 0x8a5456e8, -0xbaf7bf42, 0x071c71c7, 0x295164a0, 0x8f9f6ab6, -0x41880f12, 0x51c363f0, 0x80c8b951, 0xf785aa51, -0x8128ce85, 0xc70de0f9, 0x6d775430, 0x02138c13, -0x13732c12, 0xdfd98501, 0x7401393e, 0x18c18365, -0x166c5c24, 0x7fcb725b, 0x26134020, 0x9901aa44, -0xed6e5812, 0xd21df442, 0x75cb3908, 0x39e2b0e6, -0xb82dc1a8, 0xdc742ce9, 0xeac1209f, 0xbe14410a, -0xbebe2d45, 0x4f89cd75, 0x0847092a, 0x81bdcdeb, -0x932bc19b, 0x21718b8f, 0x867df339, 0xa0d737fe, -0x94a3731c, 0x74d02c3b, 0xf239420a, 0x0bdcdf7c, -0x8d6ede16, 0xd06c14a4, 0x81317502, 0x7eeab776, -0xeb4704d0, 0x8a14cbb9, 0x236e757f, 0x428b3c07, -0x83f66a1c, 0xc0574b51, 0x800675bf, 0x0bbd1b7a, -0x39d51e8e, 0x70f61a10, 0xb6826ade, 0x09580319, -0x6af04923, 0x89b58e0e, 0xddf8e325, 0x4c471ece, -0xf753aac7, 0xc6353fd7, 0x19031a42, 0xf5177e39, -0xdd897247, 0xfe815773, 0x77f7896f, 0xd8c7f742, -0x781d2d7d, 0x7c127301, 0xb01e797a, 0xf020dd50, -0x5515561c, 0x6bc5c8f1, 0x9b914a72, 0x16a2dfea, -0x24759637, 0xfeff8147, 0x7b77e800, 0xbe765492, -0xfd81a345, 0x00a97258, 0xfd10500c, 0x4745cd09, -0x0684b5d1, 0x78ac4c72, 0x9208955d, 0x9bc24eb0, -0x4c770589, 0xdb4664ff, 0x232248e2, 0x50897771, -0x11560836, 0x371be85c, 0xdffb7728, 0x7883de7e, -0x899174bf, 0x195088fa, 0x1a04ea89, 0xce6d5566, -0x50de06c5, 0x58069b04, 0xee93bd30, 0x306a0f18, -0xf72856a8, 0xbbba0fdd, 0x0a890a78, 0x2e144289, -0x361f146a, 0x2735b517, 0x0c185c34, 0x516374b7, -0x53202e80, 0x2d00161f, 0x89209f7e, 0xfce2eac2, -0xf75aa68e, 0x0b74152e, 0x6d10c386, 0xe06f749b, -0x24fb014b, 0x0fabcd7e, 0x483d6a53, 0xbab75844, -0x5019a80d, 0x5a261a04, 0xf6c39a1d, 0xc4408602, -0x368a1075, 0x9219c10f, 0x4288fdcd, 0xd0e9e918, -0xd62a3c2f, 0xeb3c2215, 0x82b9bbd5, 0x70fb1217, -0x7ee97a3f, 0x18505389, 0x751c0cc6, 0x2941d7cd, -0x30433743, 0x128d6624, 0x1295d76e, 0x2e05caa8, -0x17665872, 0xc21f11b6, 0xb04bc126, 0x43e5d603, -0xb2180dc8, 0xa216a71c, 0x1f01f015, 0x9a2053e4, -0x1fc26c1a, 0x0be5974c, 0x86a83856, 0xaf043f87, -0xcd675a14, 0x65262ae7, 0x46e74626, 0x48d54d8b, -0x05a91f74, 0x68fc0018, 0x1c670c21, 0x5bbc4bca, -0x866e026a, 0x06e015d6, 0x6f6009e0, 0xe344a9ff, -0x89dcebf0, 0x0453dae0, 0xd00b4c52, 0x279a3208, -0x60fdd7a9, 0x9c3f51cb, 0x0629f860, 0x41822573, -0x008ff6a5, 0x58d53b6c, 0x8f685c8f, 0x0ac0b656, -0x425706cc, 0x136614c1, 0x89f8e4f6, 0x152c2ae0, -0xf6072608, 0x80cb1666, 0x49415c36, 0x6afc3a0d, -0xa9efb36b, 0x21daf7c2, 0xbf11cad0, 0x0f0ebaec, -0x069cf486, 0x211c7514, 0x6016c072, 0x1b8f4706, -0x828c69a3, 0x10e0f8db, 0x1913084a, 0xb74418ba, -0x0bed0537, 0x2f80c98e, 0xe0cd3121, 0xa1840ba0, -0x7e21087f, 0x0628b109, 0xdea5db35, 0xb01c87f0, -0x1af03034, 0xbe3f3c04, 0x4146d12f, 0x75044d17, -0x826b839d, 0x887bbf1a, 0x49db5c17, 0x50c06c06, -0x3c03bd32, 0xc88fd2f7, 0x391d77b5, 0x062e74f8, -0x59c6f52a, 0x2c40b01b, 0x832dc14e, 0xf6b5d886, -0x65a774ec, 0x1c5ea377, 0x8134e929, 0xc43d8f8f, -0x68e91492, 0x30bba7ff, 0xd681155b, 0xff0f3657, -0x836826e3, 0xcc611d73, 0x91e810c3, 0x51ccf815, -0x725a1af0, 0xed4f41e6, 0xe8a319a8, 0x4a105768, -0x7a9626f7, 0x1614fb1f, 0x78745a24, 0x50d12f09, -0x7b760153, 0x100a0a1f, 0xefc246c7, 0xa42a688e, -0x41fa8113, 0x7f9743c7, 0x733f816c, 0x10468b4c, -0x2dd23539, 0x2046ff03, 0x300872ff, 0x6a716df4, -0x06e2fb4e, 0xe754adea, 0x0c701534, 0xa5c06356, -0x75f300da, 0xdf5cd90a, 0x5d50b6a2, 0x7eed9e81, -0x410e3b54, 0x4c897ddb, 0xf8eb5c31, 0x50eed8b3, -0x24466085, 0xe6c87667, 0x6fa50220, 0x29bec8df, -0xe81843e4, 0x906f038a, 0x0616bd6a, 0xdf591feb, -0x728ace58, 0xe3620db6, 0xf07b17b5, 0x741c056a, -0xd5e8c6c9, 0xce586d20, 0x76e901c1, 0x042d02c0, -0x0904465f, 0x6ce8fe06, 0x0878061b, 0x43c914e6, -0xc80c531c, 0x7ae1c2f3, 0x9020a0de, 0x5397c2ec, -0x388d76ff, 0x30aedc1b, 0x826912d8, 0x03f2c679, -0xbbb2e2a4, 0x001c8819, 0xa754fd00, 0x106c75d5, -0x54c9408f, 0x355b58d8, 0x3e6003d4, 0x8a3f5c41, -0xf47c1682, 0x74253c06, 0xcee254cd, 0x86bbdd76, -0x89420288, 0x75214606, 0x150717e2, 0xcd27831c, -0x29548bc6, 0x8ba0c414, 0x2040b1a9, 0xa377edad, -0xddc59758, 0x4c46ccb4, 0x87b4d883, 0x0ab8046d, -0x46f67609, 0x6e8f656e, 0xd70d849f, 0x53297b1b, -0x1c73b6ec, 0x233cbeb5, 0xcceafbe9, 0xc2b90ef6, -0x6c228e18, 0x33db7d40, 0x07683cb0, 0xed161162, -0x1abea607, 0x783c20c8, 0x64fae912, 0xdbcb1208, -0x4000bccf, 0x21047e74, 0x5a634974, 0xf53a1e89, -0x8c471788, 0x83a3319e, 0xc8175e15, 0xe2ede017, -0xb9aadd43, 0xe7721c6f, 0xc41d13e9, 0x6f00e8b2, -0xc4de3440, 0x89eaeb58, 0x88041e0e, 0xadbb4407, -0x0abeebdb, 0x06e2188b, 0x88d3390d, 0x35bf7e1b, -0xeb4f0372, 0x82682aab, 0x3de857bf, 0x47ed1b70, -0xc7010c22, 0x371c1c3b, 0x02eb2fe1, 0x78ff2077, -0xc438104d, 0xc3fa5748, 0x3271ca73, 0x9b770a88, -0x31e322db, 0xc03b268d, 0xebe0721f, 0xb9ffadc1, -0x852c38a8, 0x893778d2, 0xb9995efb, 0x4c85ee45, -0xc2832d40, 0xada3c630, 0xa0a1a2de, 0x994f8dea, -0xf6fd03d9, 0xad286c6e, 0x8801c311, 0xd9c14913, -0x14e9f177, 0xdd6f556e, 0x2d07c613, 0xc1eb47de, -0x5620e2f0, 0x4ae562d0, 0xb53dbd9e, 0x74e15b0b, -0x301d2f0c, 0xd3475832, 0xbe8fc002, 0x880fc94c, -0xd3d85ae4, 0xb77d481a, 0x808a0ffb, 0xd009978c, -0x04e98319, 0xe0b9e979, 0xfa86e03e, 0xc60cb968, -0x40820e8f, 0x462003f7, 0xc70a84e9, 0xc33b0d54, -0x43640ddb, 0x3b806a1e, 0x0b72cdab, 0x63fd8439, -0x1d061d18, 0xe9761784, 0x9b64fdae, 0x053d54db, -0xe9ebedb8, 0x6311ed40, 0x12a878ff, 0xf90c6a27, -0x02a90ce4, 0x085a1ef5, 0x72535e15, 0x135828cc, -0x1c0dbc2f, 0x7e481d1b, 0xab3bbbf6, 0x7650be37, -0x5d8a3a74, 0x47451711, 0x7b7103b0, 0x842f747b, -0xd3382beb, 0x08d88823, 0xe0a17d9f, 0x4bb2d988, -0x0dd08820, 0x63d188cb, 0x0f776fe1, 0x0838204a, -0x4e0375ca, 0xc396c675, 0xc06a2dc1, 0x5fd2045b, -0x7ab72329, 0xd81e8ee1, 0x8ad389c3, 0x4241025a, -0xba201062, 0x5423f6f9, 0x231000dd, 0xd689b0a8, -0xdbefd049, 0x0a9de51a, 0xf02443e1, 0x0f66b65b, -0x3f5eb0b6, 0x42003a80, 0x801e421a, 0x750bed85, -0x14a34afa, 0xf46baddc, 0x1027634d, 0x2622744b, -0xc8fec9b1, 0x4b0d742c, 0xf3390f74, 0xc41ef75f, -0xeb41c6a5, 0x1c3eedf6, 0x76a836f0, 0x1d1a2ac3, -0xb78241d8, 0x5aad89df, 0x84c3c3ca, 0x809d1038, -0xad002e38, 0x09405575, 0x57c33677, 0xf5d86fd3, -0xffc95133, 0xaef20833, 0xc249d1f7, 0xeec16f6e, -0x092ac801, 0x73087f48, 0xc35f1ef5, 0xf88ae017, -0x7e634a3d, 0x7c15bbb5, 0x801174c8, 0x404a9739, -0xae05740d, 0x321ddee0, 0xc3c829f4, 0xdf1b85e1, -0xb1107d76, 0xf289271f, 0x38028a26, 0xdfdd8001, -0xd3f4c860, 0x22434107, 0x7889e175, 0x904e07b1, -0x9da632b9, 0x19a3b60c, 0x32da8913, 0x37004110, -0xe72cf053, 0xfaeb789c, 0x621df015, 0x3e6225cd, -0xb1db96ed, 0x01e3855f, 0x75f238c3, 0xb05c260f, -0x9e1f152a, 0x8846d75d, 0x7c9c1ee8, 0x22f9ce59, -0x04c0075e, 0x8521a3c8, 0x265ef006, 0x091d8bde, -0x7e882dcf, 0xebb6e04f, 0x1e8bdbd0, 0xb018740f, -0xbac6c767, 0x5a593d5e, 0xb3068938, 0xd1d76337, -0x8bfc4a2f, 0x05b1195c, 0x03697734, 0x4143774a, -0xcb6bb113, 0x5b18d605, 0xfe030125, 0x331ceb25, -0x3b43080e, 0x377dc973, 0x4b11c157, 0x1602165d, -0x0bf41729, 0xc5efc2a5, 0x75494346, 0x746b5fef, -0x854d3f78, 0xb731fcd2, 0x7c2c5621, 0xd839017b, -0x754a4197, 0x675b18f5, 0x37bb4e11, 0x894c6bca, -0x5ace02d1, 0x576d5b6b, 0x53dfc289, 0xb0550512, -0x3910c7f5, 0x7dce89e9, 0x9a5bf909, 0x9a880bad, -0x75e81cfd, 0x46b7ed4e, 0x3b07738a, 0xebe87dee, -0x811f2fdd, 0xdbebdf18, 0x20d6109c, 0x01428a4a, -0xe31bfc78, 0xc7443a42, 0xee751608, 0x9ebfdb31, -0xa722c608, 0x0977eab8, 0x30b704fe, 0x34fb403d, -0x6c7f3d80, 0xb1d88fd2, 0x3d623d74, 0xc095ff80, -0x03815fc5, 0xa3ff00f8, 0x55528d54, 0xa8cf0449, -0x14754cdb, 0x8cc152de, 0x3100027a, 0x80cc1bad, -0x8554d285, 0x162b9048, 0x06696135, 0xc05e0edc, -0x4569aedc, 0x430458e8, 0x8026bc1b, 0xf5dc7b0d, -0xe28440d4, 0x53603823, 0x42e24c75, 0x24ce551b, -0x72760102, 0xe65bae11, 0x0f21fd3d, 0xbf4282a4, -0x54e81797, 0xf3eb0eb7, 0xc45c8d27, 0xe8e6343b, -0xdaadb6c0, 0x8d55b0e8, 0x50812401, 0x3ec7b5a4, -0xffa4b617, 0x66840e75, 0x758603c7, 0x6c4a97b0, -0x02438a2a, 0xd8538aeb, 0x09a860bd, 0x1538298f, -0x4c740f7e, 0x2850487b, 0x82584e8e, 0x156208a0, -0x3064bf3c, 0x9343b641, 0x841cc004, 0xc2363d8b, -0x883f05c6, 0x827da23f, 0x00752e66, 0x95ebfdfe, -0x750e0538, 0x57edebac, 0x530cf603, 0x0c75e91b, -0x85c6c38f, 0xf52f61d9, 0xfeee2825, 0x896e4ad1, -0xc84b252c, 0xc80600fe, 0xc8a225b6, 0x2596cf61, -0xe874638a, 0x2db0e931, 0x7d707600, 0xb2574a3f, -0x3d25bec1, 0xffffd984, 0x58f75b2c, 0x1cec8901, -0x5adec953, 0xf3562edf, 0x255b28fd, 0x006a071c, -0x8a49e283, 0x47b70f18, 0xf828c780, 0x5706046d, -0x020c8d08, 0x63d92913, 0x66f0b05b, 0x5f067983, -0x1c040643, 0xf6f74951, 0x348d02ff, 0x80de2902, -0x8901037f, 0x74090ef5, 0x25063771, 0x63a96d82, -0xf2da1a14, 0x0aa5d4f5, 0x5174dafa, 0x5d7435df, -0x29c04740, 0x6c6e07e1, 0x6f151d40, 0x35b88fba, -0x047a519b, 0x8001bbea, 0x5107c7d8, 0xb577e910, -0x6f099070, 0x8515275a, 0xd105351a, 0xd897a110, -0xf2196d00, 0x7c0e6ede, 0xfd0aeb0e, 0x1da9041a, -0xaa23bac3, 0x06e88bdb, 0x003f3d98, 0x421e4103, -0x1237db90, 0xb30b01fd, 0x37e00408, 0x4f447a06, -0x35ff4c37, 0x418e6c9c, 0xa996c229, 0x23c00163, -0xdd8538e7, 0xeb07065c, 0xfcbc55d1, 0x403c407e, -0x0ca8a15f, 0x37230243, 0xac95006b, 0x0acb3e0b, -0xdc602dda, 0x2a0843ab, 0xe0bb3689, 0x066a40ee, -0x6dcf8379, 0xe87ecb96, 0xfffffaea, 0xa1d91c10, -0xbeeb1c98, 0x2c3f6407, 0x30392e33, 0x8826b201, -0x90f7e961, 0x51b0e49b, 0x00bb0f96, 0x46578c0d, -0x49d73aa1, 0x847b0069, 0xf9fbc23d, 0xe152b9a1, -0x31e6c3c3, 0x01c60de1, 0xc960a394, 0xbd0ce24d, -0x366bb543, 0x0392c413, 0x84d00908, 0x0be1ae0b, -0x2e1ed869, 0xea2c68a1, 0x03ed93d7, 0xa1056a09, -0x54e8c103, 0x6056df68, 0x880aa033, 0xfd0a5437, -0x5cf38874, 0x08e2c1e7, 0xdb7c418a, 0x4e0b2aeb, -0x0d520a03, 0x38add40c, 0x7ce99d54, 0x5d22db45, -0x0db41724, 0x10b40df2, 0x4d01502c, 0xa1beae9d, -0xf6a15583, 0x801243ad, 0xc6119896, 0x16bfeba4, -0x8d585faa, 0x10821a7b, 0x08f06216, 0x5690cb7c, -0xc085534a, 0xf021c673, 0x0974e6a1, 0x28620d79, -0x5e034cb8, 0xba0df441, 0xed830b87, 0x030e0508, -0xbddb140f, 0x1e6b38db, 0x74483b7f, 0x96024337, -0xd5db3bc2, 0x628fc012, 0x180faed5, 0xe999f4f5, -0x1aaaeb4e, 0xeb5e2e95, 0x2fb9d6e7, 0x80032517, -0x362b1b14, 0x36d9eeb8, 0x2108375e, 0x64fac6eb, -0x758add14, 0x25eef00b, 0xce811e0c, 0xf045d68b, -0xfa81b947, 0x7c1074ea, 0x4b415e16, 0xa482c2a0, -0x30ed7d8b, 0x1db489b9, 0x03b4b803, 0xfb58ec71, -0x05f5ff52, 0x62008390, 0xf82ce0c1, 0x0f0a0f5d, -0xc2b29388, 0x20b49034, 0xb2b4934c, 0x72711036, -0x2ace6415, 0x2aa25b1e, 0x7f0a40f3, 0x1a9e3d2c, -0x1f4e7875, 0x56c85610, 0x369044a1, 0x158df89d, -0x3b41ba23, 0xac01e975, 0x3ddf641e, 0xfddddc60, -0x0cd47529, 0x05d2eb03, 0x93cceb02, 0xb7190d60, -0x93f92ef8, 0x8025ed04, 0x6f577113, 0x60c258dd, -0x29040d0d, 0xcd55aa10, 0xcc2e8990, 0x00e128e6, -0x053b5a36, 0xde36d812, 0x02bf2323, 0x0a2c18a3, -0x226c0700, 0xd4838bae, 0x11b83da8, 0xfe0d040a, -0x55353e66, 0x75871eb8, 0xc40283da, 0x98488011, -0x87d87425, 0x158df858, 0x3b031b5a, 0x8e268797, -0x6e1048b5, 0x82c73e34, 0x1f82a646, 0x78546640, -0xb622ea59, 0x9482e831, 0x98091415, 0x9110de28, -0x810cb9b1, 0x289a9cc2, 0xb5509f49, 0x390baaf6, -0x28749e0c, 0xf8229f9d, 0x002376a5, 0x2818e889, -0x3ecff7f9, 0x0f0a1390, 0x96c35b10, 0x3436ba81, -0x748f61e2, 0xaf644954, 0xd87588d7, 0xcdc4f684, -0x18f1c821, 0x2e08f3a1, 0x0757e2f0, 0xfe532036, -0x61d0018f, 0x6b394483, 0x0eb103f3, 0xaa225de0, -0x6cc9828d, 0x6281d880, 0x31eadaea, 0x11e00821, -0x91151438, 0x92e463b3, 0x70839753, 0x750fb3ec, -0x013b2f74, 0x72393bd8, 0x20991e05, 0x3323f54a, -0xc6c5b8c4, 0x7c3f0319, 0xf153f586, 0xa863bd44, -0xdd199801, 0xcd466114, 0xe3c7f201, 0x69a92c11, -0x8ff6e7b2, 0x0523c706, 0x5eb9148f, 0x3ab65302, -0x7711092c, 0x86868b4b, 0x36f69691, 0x69896c55, -0xc4828626, 0x2821f590, 0x8284c736, 0x183e668a, -0x02c61d89, 0xfe5a6cd6, 0x51786806, 0x9ceb5edc, -0x28989750, 0xbd43c180, 0x92adf664, 0xbe41086d, -0xd698090b, 0x605848e6, 0x3b9eeb9d, 0x69718c66, -0xa5c711e6, 0x1b110500, 0xb16deb1b, 0x89338b47, -0x024e401b, 0xdd9c1687, 0xb3fbf5e4, 0x0d1b149c, -0x40a30540, 0x91183ac4, 0x39e12ec3, 0x914077aa, -0x77bf460a, 0xa31aa440, 0x741c8cd2, 0x630b520e, -0x57061e5b, 0x3208ca47, 0x2ab404ab, 0xd8332bfd, -0xd6602140, 0x418b15d2, 0x09404a22, 0xdb11dc3c, -0xe2afdea5, 0x465f478b, 0xb5011202, 0xc05ceac7, -0x8d580419, 0x7518f858, 0x2d2b5eeb, 0x0c192b47, -0x050e4613, 0x2003060a, 0xdf305958, 0x0e75b8e8, -0x10560312, 0x8d8f5392, 0xc3520851, 0x7321e2ae, -0x0e5e6ff3, 0x1c24e4b2, 0x80ebfe23, 0xadf4e003, -0x0ef64ec5, 0xd089c9ba, 0xa00a0fcb, 0x49056f1d, -0x08684868, 0x9ecfdf37, 0x89fd1c44, 0xd2ebdc74, -0xe02c62eb, 0x555dd3a1, 0xc8f1743f, 0x53170916, -0x10755f8c, 0x80a031fb, 0x5e8b2f5a, 0xefdf860a, -0x41035017, 0xb8d91574, 0x4eedfab5, 0x0c7e130e, -0x8a1c698d, 0x05fd81e3, 0xa41fb064, 0xd17ec789, -0x088f8bc5, 0xcd51d0b6, 0x8b3bc061, 0x9db055fa, -0x550c86f2, 0x43a2b739, 0xe80c4940, 0x938c1910, -0x75d0d3aa, 0xc1118076, 0x79e90770, 0x16e0fd2d, -0x11351a19, 0xd3b802ab, 0x0283a249, 0x05062a58, -0x3882c104, 0xadf4a88c, 0x6c4563bf, 0xb2548bd3, -0x9e8dd9f3, 0x1f524c30, 0x07f75a9d, 0xf406c4fd, -0x86c6cd6d, 0x01230216, 0xd685159a, 0x220306e7, -0x0583c876, 0x10071a03, 0x44864aa1, 0xa114f231, -0x71441854, 0xd6258830, 0xac862480, 0x52307c44, -0x2c13f1f7, 0x8a45b233, 0xfc199452, 0xbb3e799e, -0x15049a05, 0x017cbf2c, 0x168a5888, 0x24834084, -0x1e8df46c, 0xecd8c7a4, 0xca317504, 0x1860f07f, -0xd8892adc, 0xe951a4b4, 0x57b77d76, 0x260647cc, -0x0abc1e04, 0xc70f9082, 0x8c42d1e1, 0xded042d8, -0x2dd7807b, 0x6fec4531, 0x997c04b9, 0xd12f25ed, -0x186f5351, 0x094ac2e3, 0x8e5164e4, 0x776da0f2, -0x2d46bc04, 0x21a0a0e8, 0x578da92d, 0x3f9809e9, -0x50992364, 0x54419815, 0x1f1d4270, 0xd07500bf, -0xb0aa5ce8, 0xe9c46003, 0x11be8033, 0x03a3c3aa, -0xc6b68dd1, 0x035d4035, 0x40687435, 0xa8f4e037, -0xfbb13908, 0xb43775dd, 0x20e8c73f, 0x50e50fc9, -0xee9e48e8, 0x04d9afbe, 0x1396b60f, 0x28100905, -0x77cac7e8, 0xe6b914fa, 0x54d6297d, 0xc70b5cfa, -0xdbd0296d, 0x4931a602, 0xcf1973cf, 0xe8b7313a, -0x6a2cc085, 0x8a0c0c55, 0xc2382247, 0x8dc1a76f, -0x5b601354, 0x63b71046, 0xc116fc11, 0x164619e9, -0x76124e03, 0x47145b18, 0xcbc15f14, 0x20985ad8, -0xc718db56, 0xbb8899be, 0x90840ffc, 0x8f0f0d93, -0xf57d0131, 0x0808fb6c, 0x7f081d11, 0x896e4a7b, -0x04da3eaf, 0x287c357f, 0x751d0b63, 0x256e0c15, -0x5d0b359e, 0x076ddb0c, 0xeb2744c1, 0xb2521aec, -0x7507e3eb, 0xdc67a017, 0x277474db, 0xad857c04, -0x068c50b5, 0x68070470, 0x6e6b6796, 0xbff2b81b, -0x22b78207, 0x796796fb, 0xeca74caf, 0xcd2c9f3b, -0x0d6dcfdb, 0x0d008988, 0x0a04407f, 0x9b7c3074, -0x209797b6, 0x0c10740b, 0xce298675, 0x1972e91b, -0xdc5436f9, 0x670ab3e8, 0x67a01f52, 0x51575ce4, -0xb6740f3d, 0x34b92b40, 0x0d045904, 0xd6330414, -0x0f11fb1c, 0x74224285, 0x3b0a2ef4, 0xc8cf233c, -0x15181023, 0xf639b70d, 0x024eea8d, 0xf7f2190a, -0xbcfd59fe, 0xa730db9d, 0x8f080142, 0x7420008d, -0x66cd2e7d, 0x707f04d7, 0x7c147414, 0xd8fed115, -0x39fcd637, 0x0abdf6a7, 0x0ab25abc, 0xe6b1be79, -0x4fa7f503, 0x2322a922, 0xedb1cd63, 0x22983825, -0x0a84f938, 0x462ed8a9, 0x6479f89a, 0x0a6ee966, -0xcf237d8d, 0x6468637f, 0xdf714e58, 0xec558bb6, -0x04447f08, 0xe6325c32, 0x333cf2d8, 0x55303b70, -0xcd66fbfb, 0x9c0a27b1, 0x72511cfa, 0x7bae0a11, -0x153e1bec, 0x74755106, 0x3e7f043f, 0x977e6cff, -0x1dfdfc73, 0xfde8fc72, 0x3d167476, 0x36467b4d, -0xe11ad653, 0x910acdcb, 0xb419e467, 0x1cb799c2, -0x0abec6fb, 0xd50aac7a, 0xec0aa1d7, 0x030105f2, -0x11c396d4, 0x052f5137, 0xb62c35f9, 0x97cce803, -0x6ff725a0, 0xd6ff0e16, 0xf1e8fcfa, 0x8dc85e09, -0x9a17d56a, 0x80c1832e, 0xd82ba1b1, 0xb857ad54, -0xc2ea43e5, 0x8149b679, 0x2fc013f4, 0x914da5e2, -0x37ebeb83, 0xa8e6eb1a, 0x858b3e23, 0xba08e3c1, -0x7003bb0b, 0x30350d1b, 0x08b86662, 0xbf4030b1, -0x6962ac9b, 0x02720987, 0x0a88e430, 0xdec899e4, -0xc35fc4a6, 0x24093d90, 0x99052b0d, 0xf93e8b49, -0x3d85b362, 0x0a3d4339, 0xf21c8361, 0x890b96e6, -0xd65ef97b, 0x334c8a0e, 0x3d0bb87f, 0x26c0b9a8, -0x3b96cd27, 0x9e49908b, 0x916c0c0b, 0x839e4992, -0xad55300d, 0x5b1444be, 0x49435024, 0xdef513d3, -0x85c6ac44, 0x1134a3f6, 0x5f90e411, 0x95f83701, -0x20054a1d, 0x8b128017, 0x837b92c1, 0xfa810853, -0x7c15573a, 0x7eb76886, 0xe8672c80, 0x54003f1f, -0xe949e04f, 0x534c90c3, 0xd56e05b8, 0xbb00fb6e, -0xd329f108, 0x5b07ff50, 0x2cc7398a, 0x811a7725, -0x32335f3b, 0x9823745f, 0x2362ab41, 0xc6a26149, -0xe69a205e, 0x75253d83, 0xf51cab60, 0x09b3a479, -0x6c013ff6, 0x4ad47492, 0x02087dc2, 0x07421a0c, -0xffdb61d5, 0xc984f87c, 0x7b80c075, 0x33272a08, -0xc2a36fb1, 0x313d552d, 0x5511a3c1, 0xebf7ea19, -0xa34068a0, 0xccc0e7c3, 0xc3c258d7, 0x12925069, -0x044f0fb0, 0xc00a4faf, 0x87608311, 0xc43db140, -0xa9102786, 0x35ab554d, 0x217aa72c, 0xd2bae99d, -0x218936e8, 0x032c0e89, 0x9354b5e0, 0xfc2390e8, -0xe4702d4b, 0x96fdf761, 0xb061e601, 0x1243e6b0, -0x5600d81c, 0xd8e142e6, 0xb6d83514, 0xc01dc308, -0xa06d5372, 0xe95fa338, 0x5fa17dcf, 0xba1d3fe2, -0x3b9aca00, 0xdcc0694c, 0x48521234, 0xf7b00dd5, -0x8ae967f1, 0xe4b85f02, 0x8cbad6ef, 0xa91d0000, -0x706c0004, 0xf00e8247, 0x40bff1ae, 0xb901d0a3, -0x28c4bd05, 0x7fb60a41, 0x68e94fbb, 0x05c71558, -0x1fb0071b, 0x1144090e, 0x2267a236, 0x16844847, -0x0874c151, 0xd76c3d4a, 0x07b9470a, 0x3c099e56, -0x0448cd05, 0xe9d90554, 0x22c11508, 0xc6475727, -0xe9a09b76, 0xa3217468, 0xbf686664, 0x40c9926e, -0x0609706c, 0x20e8f540, 0x68207d40, 0xd92cb690, -0x89f6324d, 0x843d801d, 0x028c0988, 0xec5d35e1, -0xb73d9a8c, 0x1cc81368, 0xba6ebb05, 0xe8179c04, -0x82b02aa3, 0x344ec1df, 0xb9282eb9, 0x3bafb1a5, -0x304cb9ec, 0x74420209, 0x35f23280, 0x31c5cc14, -0x33af404c, 0xb9444ecc, 0x030918a8, 0xbe464931, -0x076042bf, 0x602ecb68, 0x466bef54, 0x070958ba, -0x132e015c, 0x485632a3, 0x3118a042, 0xd09c8368, -0x80096c4d, 0x25e1b913, 0xe7b3d003, 0x6e680192, -0x0f64d847, 0x31f4b645, 0x613d59f8, 0xb9222289, -0x5aafe84f, 0x31d0f0e8, 0xd368c068, 0xf0f8bd43, -0xe3f62bd0, 0x0975cfa3, 0x41175e99, 0x21b8f7d8, -0x1e201be3, 0x91363e52, 0xc0e9c311, 0xd1c7096f, -0x99547398, 0xe0977705, 0xfb1e28cf, 0xf339db53, -0x5a060372, 0x6eff187c, 0x5aea0d43, 0xe8e22de0, -0xf3f1be2b, 0xe69f7258, 0xabeee2bf, 0x5a144949, -0x746285e8, 0xbb510807, 0xeb1e1742, 0x52ed33f0, -0x51da1bc5, 0x9f037851, 0x548a37b0, 0x00755002, -0x7445e400, 0x9026a568, 0x3500ff91, 0xec0e2338, -0x050239ff, 0x001161dc, 0xefbeadde, 0xff025d03, -0x9195a85f, 0x50203c21, 0x6c434558, 0x746e6569, -0xff75bf3a, 0x637241fd, 0x00303a68, 0x444e553a, -0x02320a49, 0x010d3731, 0xec2fbe03, 0x3c2b0cff, -0x83828180, 0x87868584, 0x0436035f, 0x033d3208, -0x6b05c580, 0x09b2110e, 0xdf6c812c, 0x5f627303, -0x2b5fab64, 0xffdb4706, 0x63ca2c27, 0x544146a4, -0x203a4c41, 0x4b756f4e, 0x7220ffff, 0x2d6c6165, -0x65646f6d, 0x61747320, 0x215e6b63, 0xdcd90041, -0x4e03dc6f, 0x612d2b56, 0x746f6e6e, 0xbf762023, -0x145ccedd, 0x50252124, 0x636f1772, 0xfe736c6f, -0x446ffb5b, 0x50434844, 0x54465420, 0x696e1604, -0x69640063, 0x1bdb6b73, 0x6c81b7d4, 0x3170706f, -0x0b202d20, 0xb6b6e675, 0xda6c6cc6, 0x30ca6666, -0x6b7f0302, 0x7872fdbd, 0x40726520, 0xca252072, -0x6c747233, 0xb7323138, 0x39b3edfa, 0x62393307, -0x35656640, 0x6d863833, 0xb0dbb563, 0x3131166f, -0x1809312d, 0x5d7e6c65, 0x23e17b6c, 0x74646403, -0x2e0b6e40, 0x6ec6b436, 0x743039fb, 0x65686478, -0xa27630e1, 0x8ff6b16b, 0x1d640235, 0x33776e66, -0x1e333036, 0xb7b07d09, 0x303038e6, 0x656e9c63, -0x52006f2d, 0xb6f14c54, 0x55078fb5, 0xb375736e, -0x20397495, 0xbdd65041, 0x22032f6d, 0x22016325, -0x62613c9f, 0xfb083e14, 0x57ddedb7, 0x69206771, -0x0c78866e, 0x70746674, 0x886f4c00, 0x6efb7b2d, -0x40251369, 0xe873253a, 0x122f2f3a, 0xd60217b6, -0x3f0c0a0f, 0x3f697372, 0x8285c23a, 0x693c0be6, -0xc2406f42, 0xbab5d6ff, 0x69980a87, 0x7a73656c, -0x6d203e20, 0xb0d84567, 0x280f07b5, 0x21002968, -0xa1ed6dbe, 0x3d617f2e, 0x699569d1, 0x5b67616d, -0x2fef6dc2, 0x49424e28, 0x7b44281f, 0x0ad0002e, -0x8c2061ff, 0x6d617267, 0x9bcb6820, 0xa142f75b, -0x62d69855, 0x73b96769, 0xd08b6558, 0xb970b9bd, -0x5f746983, 0x08f2701d, 0xfdb6bad7, 0x756f6620, -0x0f1a2ec8, 0x089d3353, 0x11336f77, 0x654d0a10, -0x2c0040a4, 0xeeb83bd8, 0x28200ab1, 0x12290626, -0x60e11de6, 0x8c520617, 0x470b7961, 0x50ad3461, -0x0d776d78, 0x752e450c, 0x76ebd9bd, 0xfc6c2083, -0x0965db20, 0xb735b62d, 0x25bf6d1b, 0x97d873c9, -0x6b76de38, 0x726135f3, 0x5735748e, 0x62176237, -0x6e771647, 0x706d603d, 0x6b5b52ba, 0x62615b16, -0x6c73380b, 0x90146b6d, 0x06740e74, 0x2f4b6b2d, -0x7a4e2e18, 0x52f6a265, 0x38ae4346, 0x8cec1663, -0x19005332, 0xf4926649, 0x284905b6, 0x000a293b, -0xbdb18c1c, 0x63d3e5d1, 0x64f66965, 0xe87662d5, -0x7d8c306e, 0x643a756e, 0x61a3ae64, 0xb4b1b473, -0x2b6a4249, 0x6b76b473, 0x4455b6a5, 0x5e36510c, -0xdc586d75, 0x06691876, 0x61cfe062, 0xb6d93c35, -0x5b128c19, 0x70175d07, 0x6dda6963, 0xeceb8634, -0x002e5d3a, 0x5fb7f0a0, 0x34333284, 0x39b23635, -0x44434241, 0xe870c545, 0x4f3b66be, 0x5f2f0083, -0xbdb0ceac, 0xe520f7f0, 0xd633534f, 0xb2f40064, -0x9a0df6de, 0x2e342e35, 0x18435b33, 0x4d8b7c1f, -0x24204216, 0x4c5047ef, 0x68eb0e29, 0xa474e92c, -0x2e1c6594, 0xd1bba998, 0x724416b3, 0x3fb872f7, -0x1da3dc3a, 0x155cea20, 0xdd3e205c, 0x175a3822, -0x11784500, 0x53873a73, 0x9f0ec158, 0x6d276f69, -0xeb6da178, 0x69ace423, 0x2c737172, 0x370de120, -0x0121129c, 0x5370624d, 0x75642d73, 0x57188fcf, -0x3f0a78b6, 0x35133543, 0xe10ab58c, 0xb920ef73, -0x42c6c66f, 0x1249b9e3, 0x40613f6b, 0xc2d817d6, -0x7f0a8975, 0x9b4d4f52, 0xe1afb5b6, 0x74c36765, -0x09337884, 0xdbb63c67, 0x350bb368, 0x780a634d, -0x7468bf0a, 0x770314a5, 0x6db78964, 0x708dda41, -0x6e74344c, 0x8849866e, 0x36c935d0, 0x7bff1e0a, -0xf71cec63, 0xa13d2157, 0x1819ac75, 0x67096576, -0x051b9c0a, 0x6c1ed857, 0xe59c0321, 0xa5488165, -0x09190549, 0xbae6d76b, 0x6f017c5a, 0x2b677b83, -0x30361362, 0x3f203e45, 0x06a5d26c, 0x70827292, -0x0c18cf73, 0xe4b604b2, 0xb2047e3f, 0x11441e64, -0xd0bb6162, 0x0e45d486, 0x6e679407, 0x82946c52, -0x2900cb14, 0xb2b65277, 0x666fac37, 0x3f823220, -0xc618230c, 0xf8d37632, 0x04bdeb66, 0x7bb59dd6, -0xb83fbf64, 0xde60ad1b, 0x64698fa6, 0xad83e133, -0x4373666d, 0x52b56f3d, 0xa78586e2, 0x5f7385d6, -0xd654788e, 0xc60a19d0, 0x6d78d08b, 0x0085ed78, -0x6f74ecb6, 0x40ff610c, 0xfb0a15ec, 0x088a3ec2, -0x119c0e07, 0xbf620128, 0xb6c42214, 0x295f63a6, -0x92c08bb2, 0xea50a92b, 0xb11f8120, 0x405b0229, -0x78f9ea6e, 0xdee72d79, 0x71e61222, 0x79a16575, -0xc8112c4d, 0x8d004462, 0xd845b045, 0x67af871a, -0x2861bb48, 0xad88e898, 0x9f6e7056, 0x9a3db4d8, -0xf2a07245, 0x79200267, 0x561b0ee1, 0x4fcaa302, -0x7dce1b0b, 0x48777334, 0xcdc48a76, 0x176a5874, -0x66374a68, 0x41821966, 0x3dcb1600, 0x008a9fc3, -0x830f8161, 0x4f4f42a9, 0x20402d36, 0x439a0f02, -0x6051b5ae, 0x00b3cd91, 0x6ee3bbf6, 0x6c75e02b, -0x623436b1, 0x524142cf, 0xee6e0335, 0x7838307d, -0x133c043a, 0x6113736f, 0xb45e2d81, 0x648d6522, -0x01ee6491, 0x23623a69, 0x64003f58, 0x0b0247c7, -0x4d70433f, 0x06651855, 0xb15d9f2a, 0x21b810c0, -0xad523a52, 0x39e0c479, 0x0fe781a0, 0xc360185c, -0x8a106f0e, 0x19e04172, 0x709c8298, 0x60c37482, -0x67316aa5, 0xeb58b468, 0xb346d4b0, 0x8ce24276, -0x02c0dd16, 0x6b75b93f, 0x02d68441, 0x826b36c0, -0x79d5e9a9, 0x6d82bd61, 0x342ec018, 0x7719b743, -0x9b266340, 0xa6aa2e6f, 0x7529db06, 0x9c831b57, -0x9704ccfd, 0x7e81608c, 0xe0003700, 0x47672080, -0x9f7f07ea, 0xc89307cf, 0x9bd83656, 0x001f9317, -0x26ceaeba, 0xde670610, 0xf770036b, 0xec6fb1f3, -0x9b812910, 0x13813907, 0xa3813878, 0xbbbe690f, -0x13ac8651, 0x111307ac, 0x12b31211, 0xa6f9b2d8, -0x601500bd, 0x4033c513, 0xdf3627cf, 0x1340f77c, -0x13d107db, 0x59e5ab06, 0xeea11712, 0x7b7014ea, -0xf90fdb1f, 0x03ab0707, 0x0d5fbf78, 0x82ba8078, -0xd0614108, 0xb6803766, 0x6a933c8c, 0xecaf9339, -0x0517fd95, 0x7777b204, 0x51826313, 0x53dfeff6, -0x0b960763, 0x003705af, 0xfa0302b1, 0xd80ab0ad, -0xe8ed0b01, 0x00857b2d, 0x000338cc, 0x819176ca, -0xb042135b, 0x2a40002b, 0x4507d0fb, 0x0000014f, -0x00000000, 0xffffff20, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, 0x72ffffff, 0x31386c74, 0x7a2e3933, -0x206d6f72, 0x2e342e35, 0x47282033, 0x20294c50, -0x65687465, 0x6f6f6272, 0x726f2e74, 0xffff0067, -0100000, -}; diff --git a/tools/firmware/etherboot/etherboot-5.4.2.tar.gz b/tools/firmware/etherboot/etherboot-5.4.2.tar.gz Binary files differnew file mode 100644 index 0000000000..fc94cc8768 --- /dev/null +++ b/tools/firmware/etherboot/etherboot-5.4.2.tar.gz diff --git a/tools/firmware/etherboot/make-eb-rom-list b/tools/firmware/etherboot/make-eb-rom-list new file mode 100755 index 0000000000..276affc554 --- /dev/null +++ b/tools/firmware/etherboot/make-eb-rom-list @@ -0,0 +1,11 @@ +#!/bin/bash +set -e +roms=$1; shift +echo "/* autogenerated - do not edit */" +echo "#define ETHERBOOT_ROM_LIST \\" +for nic in "$@"; do + makerom=`grep "^MAKEROM_ID_$nic *= *-p *" <$roms` + echo " ETHERBOOT_ROM($nic,${makerom#*-p}) \\" +done +echo +echo "/*end.*/" diff --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmloader/Makefile index 2234005221..f34bcb3880 100644 --- a/tools/firmware/hvmloader/Makefile +++ b/tools/firmware/hvmloader/Makefile @@ -50,12 +50,12 @@ hvmloader: roms.h acpi/acpi.a $(SRCS) acpi/acpi.a: $(MAKE) -C acpi -roms.h: ../rombios/BIOS-bochs-latest ../vgabios/VGABIOS-lgpl-latest.bin ../vgabios/VGABIOS-lgpl-latest.cirrus.bin ../vmxassist/vmxassist.bin ../etherboot/eb-rtl8139.zrom.h +roms.h: ../rombios/BIOS-bochs-latest ../vgabios/VGABIOS-lgpl-latest.bin ../vgabios/VGABIOS-lgpl-latest.cirrus.bin ../vmxassist/vmxassist.bin ../etherboot/eb-roms.h ../extboot/extboot.bin sh ./mkhex rombios ../rombios/BIOS-bochs-latest > roms.h sh ./mkhex vgabios_stdvga ../vgabios/VGABIOS-lgpl-latest.bin >> roms.h sh ./mkhex vgabios_cirrusvga ../vgabios/VGABIOS-lgpl-latest.cirrus.bin >> roms.h sh ./mkhex vmxassist ../vmxassist/vmxassist.bin >> roms.h - cat ../etherboot/eb-rtl8139.zrom.h >> roms.h + cat ../etherboot/eb-roms.h >> roms.h sh ./mkhex extboot ../extboot/extboot.bin >> roms.h .PHONY: clean diff --git a/tools/firmware/hvmloader/hvmloader.c b/tools/firmware/hvmloader/hvmloader.c index ce6f8a063c..9316ff81a1 100644 --- a/tools/firmware/hvmloader/hvmloader.c +++ b/tools/firmware/hvmloader/hvmloader.c @@ -345,27 +345,58 @@ static void pci_setup(void) } } +static int must_load_extboot(void) +{ + return (inb(0x404) == 1); +} + /* - * If the network card is in the boot order, load the Etherboot option ROM. - * Read the boot order bytes from CMOS and check if any of them are 0x4. + * Scan the PCI bus for the first NIC supported by etherboot, and copy + * the corresponding rom data to *copy_rom_dest. Returns the length of the + * selected rom, or 0 if no NIC found. */ -static int must_load_nic(void) +static int scan_etherboot_nic(void *copy_rom_dest) { - uint8_t boot_order; + static struct etherboots_table_entry { + char *name; + void *etherboot_rom; + int etherboot_sz; + uint16_t vendor, device; + } etherboots_table[] = { +#define ETHERBOOT_ROM(name, vendor, device) \ + { #name, etherboot_##name, sizeof(etherboot_##name), vendor, device }, + ETHERBOOT_ROM_LIST + { 0 } + }; + + uint32_t devfn; + uint16_t class, vendor_id, device_id; + struct etherboots_table_entry *eb; - /* Read CMOS register 0x3d (boot choices 0 and 1). */ - boot_order = cmos_inb(0x3d); - if ( ((boot_order & 0xf) == 0x4) || ((boot_order & 0xf0) == 0x40) ) - return 1; + for ( devfn = 0; devfn < 128; devfn++ ) + { + class = pci_readw(devfn, PCI_CLASS_DEVICE); + vendor_id = pci_readw(devfn, PCI_VENDOR_ID); + device_id = pci_readw(devfn, PCI_DEVICE_ID); - /* Read CMOS register 0x38 (boot choice 2 and FDD test flag). */ - boot_order = cmos_inb(0x38); - return ((boot_order & 0xf0) == 0x40); -} + if ( (vendor_id == 0xffff) && (device_id == 0xffff) ) + continue; -static int must_load_extboot(void) -{ - return (inb(0x404) == 1); + if ( class != 0x0200 ) /* Not a NIC */ + continue; + + for ( eb = etherboots_table; eb->name; eb++ ) + if (eb->vendor == vendor_id && + eb->device == device_id) + goto found; + } + + return 0; + + found: + printf("Loading %s Etherboot PXE ROM ...\n", eb->name); + memcpy(copy_rom_dest, eb->etherboot_rom, eb->etherboot_sz); + return eb->etherboot_sz; } /* Replace possibly erroneous memory-size CMOS fields with correct values. */ @@ -443,13 +474,7 @@ int main(void) vgabios_sz = sizeof(vgabios_stdvga); } - if ( must_load_nic() ) - { - printf("Loading ETHERBOOT ...\n"); - memcpy((void *)ETHERBOOT_PHYSICAL_ADDRESS, - etherboot, sizeof(etherboot)); - etherboot_sz = sizeof(etherboot); - } + etherboot_sz = scan_etherboot_nic((void*)ETHERBOOT_PHYSICAL_ADDRESS); if ( must_load_extboot() ) { diff --git a/tools/ioemu/hw/pc.c b/tools/ioemu/hw/pc.c index 8c17c25477..5d982016a6 100644 --- a/tools/ioemu/hw/pc.c +++ b/tools/ioemu/hw/pc.c @@ -31,10 +31,8 @@ #define VGABIOS_CIRRUS_FILENAME "vgabios-cirrus.bin" #define LINUX_BOOT_FILENAME "linux_boot.bin" -#define KERNEL_LOAD_ADDR 0x00100000 -#define INITRD_LOAD_ADDR 0x00600000 -#define KERNEL_PARAMS_ADDR 0x00090000 -#define KERNEL_CMDLINE_ADDR 0x00099000 +/* Leave a chunk of memory at the top of RAM for the BIOS ACPI tables. */ +#define ACPI_DATA_SIZE 0x10000 static fdctrl_t *floppy_controller; static RTCState *rtc_state; @@ -363,36 +361,362 @@ void bochs_bios_init(void) register_ioport_write(0x503, 1, 1, bochs_bios_write, NULL); } +/* Generate an initial boot sector which sets state and jump to + a specified vector */ +static void generate_bootsect(uint32_t gpr[8], uint16_t segs[6], uint16_t ip) +{ + uint8_t bootsect[512], *p; + int i; + + if (bs_table[0] == NULL) { + fprintf(stderr, "A disk image must be given for 'hda' when booting " + "a Linux kernel\n"); + exit(1); + } + + memset(bootsect, 0, sizeof(bootsect)); + + /* Copy the MSDOS partition table if possible */ + bdrv_read(bs_table[0], 0, bootsect, 1); + + /* Make sure we have a partition signature */ + bootsect[510] = 0x55; + bootsect[511] = 0xaa; + + /* Actual code */ + p = bootsect; + *p++ = 0xfa; /* CLI */ + *p++ = 0xfc; /* CLD */ + + for (i = 0; i < 6; i++) { + if (i == 1) /* Skip CS */ + continue; + + *p++ = 0xb8; /* MOV AX,imm16 */ + *p++ = segs[i]; + *p++ = segs[i] >> 8; + *p++ = 0x8e; /* MOV <seg>,AX */ + *p++ = 0xc0 + (i << 3); + } + + for (i = 0; i < 8; i++) { + *p++ = 0x66; /* 32-bit operand size */ + *p++ = 0xb8 + i; /* MOV <reg>,imm32 */ + *p++ = gpr[i]; + *p++ = gpr[i] >> 8; + *p++ = gpr[i] >> 16; + *p++ = gpr[i] >> 24; + } + + *p++ = 0xea; /* JMP FAR */ + *p++ = ip; /* IP */ + *p++ = ip >> 8; + *p++ = segs[1]; /* CS */ + *p++ = segs[1] >> 8; + + bdrv_set_boot_sector(bs_table[0], bootsect, sizeof(bootsect)); +} + +/* + * Evil helper for non-relocatable kernels + * + * So it works out like this: + * + * 0x100000 - Xen HVM firmware lives here. Kernel wants to boot here + * + * You can't both live there and HVM firmware is needed first, thus + * our plan is + * + * 0x200000 - kernel is loaded here by QEMU + * 0x200000+kernel_size - helper code is put here by QEMU + * + * code32_switch in kernel header is set to point at out helper + * code at 0x200000+kernel_size + * + * Our helper basically does memmove(0x100000,0x200000,kernel_size) + * and then jmps to 0x1000000. + * + * So we've overwritten the HVM firmware (which was no longer + * needed) and the non-relocatable kernel can happily boot + * at its usual address. + * + * Simple, eh ? + * + * Well the assembler needed to do this is fairly short: + * + * # Load segments + * cld + * cli + * movl $0x18,%eax + * mov %ax,%ds + * mov %ax,%es + * mov %ax,%fs + * mov %ax,%gs + * mov %ax,%ss + * + * # Move the kernel into position + * xor %edx,%edx + *_doloop: + * movzbl 0x600000(%edx),%eax + * mov %al,0x100000(%edx) + * add $0x1,%edx + * cmp $0x500000,%edx + * jne _doloop + * + * # start kernel + * xorl %ebx,%ebx + * mov $0x100000,%ecx + * jmp *%ecx + * + */ +static void setup_relocator(target_phys_addr_t addr, target_phys_addr_t src, target_phys_addr_t dst, size_t len) +{ + /* Now this assembler corresponds to follow machine code, with our args from QEMU spliced in :-) */ + unsigned char buf[] = { + /* Load segments */ + 0xfc, /* cld */ + 0xfa, /* cli */ + 0xb8, 0x18, 0x00, 0x00, 0x00, /* mov $0x18,%eax */ + 0x8e, 0xd8, /* mov %eax,%ds */ + 0x8e, 0xc0, /* mov %eax,%es */ + 0x8e, 0xe0, /* mov %eax,%fs */ + 0x8e, 0xe8, /* mov %eax,%gs */ + 0x8e, 0xd0, /* mov %eax,%ss */ + 0x31, 0xd2, /* xor %edx,%edx */ + + /* Move the kernel into position */ + 0x0f, 0xb6, 0x82, (src&0xff), ((src>>8)&0xff), ((src>>16)&0xff), ((src>>24)&0xff), /* movzbl $src(%edx),%eax */ + 0x88, 0x82, (dst&0xff), ((dst>>8)&0xff), ((dst>>16)&0xff), ((dst>>24)&0xff), /* mov %al,$dst(%edx) */ + 0x83, 0xc2, 0x01, /* add $0x1,%edx */ + 0x81, 0xfa, (len&0xff), ((len>>8)&0xff), ((len>>16)&0xff), ((len>>24)&0xff), /* cmp $len,%edx */ + 0x75, 0xe8, /* jne 13 <_doloop> */ + + /* Start kernel */ + 0x31, 0xdb, /* xor %ebx,%ebx */ + 0xb9, (dst&0xff), ((dst>>8)&0xff), ((dst>>16)&0xff), ((dst>>24)&0xff), /* mov $dst,%ecx */ + 0xff, 0xe1, /* jmp *%ecx */ + }; + cpu_physical_memory_rw(addr, buf, sizeof(buf), 1); + fprintf(stderr, "qemu: helper at 0x%x of size %d bytes, to move kernel of %d bytes from 0x%x to 0x%x\n", + (int)addr, (int)sizeof(buf), (int)len, (int)src, (int)dst); +} + -int load_kernel(const char *filename, uint8_t *addr, - uint8_t *real_addr) +static long get_file_size(FILE *f) { - int fd, size; - int setup_sects; - - fd = open(filename, O_RDONLY | O_BINARY); - if (fd < 0) - return -1; - - /* load 16 bit code */ - if (read(fd, real_addr, 512) != 512) - goto fail; - setup_sects = real_addr[0x1F1]; - if (!setup_sects) - setup_sects = 4; - if (read(fd, real_addr + 512, setup_sects * 512) != - setup_sects * 512) - goto fail; - - /* load 32 bit code */ - size = read(fd, addr, 16 * 1024 * 1024); - if (size < 0) - goto fail; - close(fd); + long where, size; + + /* XXX: on Unix systems, using fstat() probably makes more sense */ + + where = ftell(f); + fseek(f, 0, SEEK_END); + size = ftell(f); + fseek(f, where, SEEK_SET); + return size; - fail: - close(fd); - return -1; +} + +static int fread2guest(target_phys_addr_t dst_addr, size_t nbytes, FILE *f) +{ + size_t offset = 0; + while (nbytes) { + uint8_t buf[4096]; + size_t count = nbytes > sizeof(buf) ? sizeof(buf) : nbytes; + if (fread(buf, 1, count, f) != count) + return -1; + + cpu_physical_memory_rw(dst_addr+offset, buf, count, 1); + offset += count; + nbytes -= count; + } + return 0; +} + +static void load_linux(const char *kernel_filename, + const char *initrd_filename, + const char *kernel_cmdline) +{ + uint16_t protocol; + uint32_t gpr[8]; + uint16_t seg[6]; + uint16_t real_seg; + int setup_size, kernel_size, initrd_size, cmdline_size; + uint32_t initrd_max; + uint8_t header[1024]; + target_phys_addr_t real_addr, reloc_prot_addr, prot_addr, cmdline_addr, initrd_addr; + size_t ncmdline; + FILE *f, *fi; + + /* Align to 16 bytes as a paranoia measure */ + cmdline_size = (strlen(kernel_cmdline)+16) & ~15; + + /* load the kernel header */ + f = fopen(kernel_filename, "rb"); + if (!f || !(kernel_size = get_file_size(f)) || + fread(header, 1, 1024, f) != 1024) { + fprintf(stderr, "qemu: could not load kernel '%s'\n", + kernel_filename); + exit(1); + } + + /* kernel protocol version */ + fprintf(stderr, "header magic: %#x\n", ldl_p(header+0x202)); + if (ldl_p(header+0x202) == 0x53726448) + protocol = lduw_p(header+0x206); + else + protocol = 0; + fprintf(stderr, "header protocol: %x\n", protocol); + if (protocol < 0x200 || !(header[0x211] & 0x01)) { + /* Low kernel */ + real_addr = 0x90000; + cmdline_addr = 0x9a000 - cmdline_size; + prot_addr = 0x10000; + reloc_prot_addr = prot_addr; + } else if (protocol < 0x202) { + /* High but ancient kernel */ + real_addr = 0x90000; + cmdline_addr = 0x9a000 - cmdline_size; + prot_addr = 0x100000; + reloc_prot_addr = 0x200000; + } else { + /* High and recent kernel */ + real_addr = 0x10000; + cmdline_addr = 0x20000; + prot_addr = 0x100000; + reloc_prot_addr = 0x200000; + } + + fprintf(stderr, + "qemu: real_addr = %#zx\n" + "qemu: cmdline_addr = %#zx\n" + "qemu: prot_addr = %#zx\n", + real_addr, + cmdline_addr, + prot_addr); + + /* highest address for loading the initrd */ + if (protocol >= 0x203) + initrd_max = ldl_p(header+0x22c); + else + initrd_max = 0x37ffffff; + + if (initrd_max >= ram_size-ACPI_DATA_SIZE) + initrd_max = ram_size-ACPI_DATA_SIZE-1; + + + /* kernel command line */ + ncmdline = strlen(kernel_cmdline); + if (ncmdline > 4095) { + ncmdline = 4095; + ((uint8_t*)kernel_cmdline)[4095] = '\0'; + } + fprintf(stderr, "qemu: kernel_cmdline: %#zx ('%s')\n", ncmdline, kernel_cmdline); + cpu_physical_memory_rw(cmdline_addr, (uint8_t*)kernel_cmdline, ncmdline+1, 1); + + if (protocol >= 0x202) { + stl_p(header+0x228, cmdline_addr); + } else { + stw_p(header+0x20, 0xA33F); + stw_p(header+0x22, cmdline_addr-real_addr); + } + + /* loader type */ + /* High nybble = B reserved for Qemu; low nybble is revision number. + If this code is substantially changed, you may want to consider + incrementing the revision. */ + if (protocol >= 0x200) + header[0x210] = 0xB0; + + /* heap */ + if (protocol >= 0x201) { + header[0x211] |= 0x80; /* CAN_USE_HEAP */ + stw_p(header+0x224, cmdline_addr-real_addr-0x200); + } + + /* load initrd */ + if (initrd_filename) { + if (protocol < 0x200) { + fprintf(stderr, "qemu: linux kernel too old to load a ram disk\n"); + exit(1); + } + + fi = fopen(initrd_filename, "rb"); + if (!fi) { + fprintf(stderr, "qemu: could not load initial ram disk '%s'\n", + initrd_filename); + exit(1); + } + + initrd_size = get_file_size(fi); + initrd_addr = ((initrd_max-initrd_size) & ~4095); + + fprintf(stderr, "qemu: loading initrd (%#x bytes) at %#zx\n", + initrd_size, initrd_addr); + + if (fread2guest(initrd_addr, initrd_size, fi) < 0) { + fprintf(stderr, "qemu: read error on initial ram disk '%s'\n", + initrd_filename); + exit(1); + } + fclose(fi); + + stl_p(header+0x218, initrd_addr); + stl_p(header+0x21c, initrd_size); + } + + + setup_size = header[0x1f1]; + if (setup_size == 0) + setup_size = 4; + + setup_size = (setup_size+1)*512; + kernel_size -= setup_size; /* Size of protected-mode code */ + + /* Urgh, Xen's HVM firmware lives at 0x100000, but that's also the + * address Linux wants to start life at prior to relocatable support + */ + if (prot_addr != reloc_prot_addr) { + if (protocol >= 0x205 && (header[0x234] & 1)) { + /* Relocatable automatically */ + stl_p(header+0x214, reloc_prot_addr); + fprintf(stderr, "qemu: kernel is relocatable\n"); + } else { + /* Setup a helper which moves kernel back to + * its expected addr after firmware has got out + * of the way. We put a helper at reloc_prot_addr+kernel_size. + * It moves kernel from reloc_prot_addr to prot_addr and + * then jumps to prot_addr. Yes this is sick. + */ + fprintf(stderr, "qemu: kernel is NOT relocatable\n"); + stl_p(header+0x214, reloc_prot_addr + kernel_size); + setup_relocator(reloc_prot_addr + kernel_size, reloc_prot_addr, prot_addr, kernel_size); + } + } + + + fprintf(stderr, "qemu: loading kernel real mode (%#x bytes) at %#zx\n", + setup_size-1024, real_addr); + fprintf(stderr, "qemu: loading kernel protected mode (%#x bytes) at %#zx\n", + kernel_size, reloc_prot_addr); + + /* store the finalized header and load the rest of the kernel */ + cpu_physical_memory_rw(real_addr, header, 1024, 1); + if (fread2guest(real_addr+1024, setup_size-1024, f) < 0 || + fread2guest(reloc_prot_addr, kernel_size, f) < 0) { + fprintf(stderr, "qemu: loading kernel protected mode (%#x bytes) at %#zx\n", + kernel_size, reloc_prot_addr); + exit(1); + } + fclose(f); + + /* generate bootsector to set up the initial register state */ + real_seg = (real_addr) >> 4; + seg[0] = seg[2] = seg[3] = seg[4] = seg[4] = real_seg; + seg[1] = real_seg+0x20; /* CS */ + memset(gpr, 0, sizeof gpr); + gpr[4] = cmdline_addr-real_addr-16; /* SP (-16 is paranoia) */ + + generate_bootsect(gpr, seg, 0); } static void main_cpu_reset(void *opaque) @@ -577,63 +901,8 @@ static void pc_init1(uint64_t ram_size, int vga_ram_size, char *boot_device, bochs_bios_init(); -#ifndef CONFIG_DM - if (linux_boot) { - uint8_t bootsect[512]; - uint8_t old_bootsect[512]; - - if (bs_table[0] == NULL) { - fprintf(stderr, "A disk image must be given for 'hda' when booting a Linux kernel\n"); - exit(1); - } - snprintf(buf, sizeof(buf), "%s/%s", bios_dir, LINUX_BOOT_FILENAME); - ret = load_image(buf, bootsect); - if (ret != sizeof(bootsect)) { - fprintf(stderr, "qemu: could not load linux boot sector '%s'\n", - buf); - exit(1); - } - - if (bdrv_read(bs_table[0], 0, old_bootsect, 1) >= 0) { - /* copy the MSDOS partition table */ - memcpy(bootsect + 0x1be, old_bootsect + 0x1be, 0x40); - } - - bdrv_set_boot_sector(bs_table[0], bootsect, sizeof(bootsect)); - - /* now we can load the kernel */ - ret = load_kernel(kernel_filename, - phys_ram_base + KERNEL_LOAD_ADDR, - phys_ram_base + KERNEL_PARAMS_ADDR); - if (ret < 0) { - fprintf(stderr, "qemu: could not load kernel '%s'\n", - kernel_filename); - exit(1); - } - - /* load initrd */ - initrd_size = 0; - if (initrd_filename) { - initrd_size = load_image(initrd_filename, phys_ram_base + INITRD_LOAD_ADDR); - if (initrd_size < 0) { - fprintf(stderr, "qemu: could not load initial ram disk '%s'\n", - initrd_filename); - exit(1); - } - } - if (initrd_size > 0) { - stl_raw(phys_ram_base + KERNEL_PARAMS_ADDR + 0x218, INITRD_LOAD_ADDR); - stl_raw(phys_ram_base + KERNEL_PARAMS_ADDR + 0x21c, initrd_size); - } - pstrcpy(phys_ram_base + KERNEL_CMDLINE_ADDR, 4096, - kernel_cmdline); - stw_raw(phys_ram_base + KERNEL_PARAMS_ADDR + 0x20, 0xA33F); - stw_raw(phys_ram_base + KERNEL_PARAMS_ADDR + 0x22, - KERNEL_CMDLINE_ADDR - KERNEL_PARAMS_ADDR); - /* loader type */ - stw_raw(phys_ram_base + KERNEL_PARAMS_ADDR + 0x210, 0x01); - } -#endif /* !CONFIG_DM */ + if (linux_boot) + load_linux(kernel_filename, initrd_filename, kernel_cmdline); if (pci_enabled) { pci_bus = i440fx_init(&i440fx_state); diff --git a/tools/ioemu/target-i386-dm/helper2.c b/tools/ioemu/target-i386-dm/helper2.c index d3668ac64c..d45ac7a999 100644 --- a/tools/ioemu/target-i386-dm/helper2.c +++ b/tools/ioemu/target-i386-dm/helper2.c @@ -637,7 +637,6 @@ int main_loop(void) int evtchn_fd = xce_handle == -1 ? -1 : xc_evtchn_fd(xce_handle); char *qemu_file; fd_set fds; - int ret = 0; buffered_io_timer = qemu_new_timer(rt_clock, handle_buffered_io, cpu_single_env); @@ -648,15 +647,10 @@ int main_loop(void) xenstore_record_dm_state("running"); while (1) { - while (!((vm_running && suspend_requested) || shutdown_requested)) + while (!(vm_running && suspend_requested)) /* Wait up to 10 msec. */ main_loop_wait(10); - if (shutdown_requested) { - ret = EXCP_INTERRUPT; - break; - } - fprintf(logfile, "device model saving state\n"); /* Pull all outstanding ioreqs through the system */ @@ -682,7 +676,7 @@ int main_loop(void) xenstore_record_dm_state("running"); } - return ret; + return 0; } void destroy_hvm_domain(void) diff --git a/tools/libxc/xc_tbuf.c b/tools/libxc/xc_tbuf.c index 266732608a..3948d0af7d 100644 --- a/tools/libxc/xc_tbuf.c +++ b/tools/libxc/xc_tbuf.c @@ -103,7 +103,7 @@ int xc_tbuf_set_cpu_mask(int xc_handle, uint32_t mask) sysctl.interface_version = XEN_SYSCTL_INTERFACE_VERSION; sysctl.u.tbuf_op.cmd = XEN_SYSCTL_TBUFOP_set_cpu_mask; - bitmap_64_to_byte(bytemap, &mask64, sizeof (mask64)); + bitmap_64_to_byte(bytemap, &mask64, sizeof (mask64) * 8); set_xen_guest_handle(sysctl.u.tbuf_op.cpu_mask.bitmap, bytemap); sysctl.u.tbuf_op.cpu_mask.nr_cpus = sizeof(bytemap) * 8; diff --git a/tools/python/xen/xend/XendCheckpoint.py b/tools/python/xen/xend/XendCheckpoint.py index a70df6f785..adc63c0e63 100644 --- a/tools/python/xen/xend/XendCheckpoint.py +++ b/tools/python/xen/xend/XendCheckpoint.py @@ -67,6 +67,8 @@ def save(fd, dominfo, network, live, dst, checkpoint=False): # thing is useful for debugging. dominfo.setName('migrating-' + domain_name) + done_suspend = 0 + try: dominfo.migrateDevices(network, dst, DEV_MIGRATE_STEP1, domain_name) @@ -94,6 +96,7 @@ def save(fd, dominfo, network, live, dst, checkpoint=False): log.debug("Suspending %d ...", dominfo.getDomid()) dominfo.shutdown('suspend') dominfo.waitForShutdown() + done_suspend = 1 dominfo.migrateDevices(network, dst, DEV_MIGRATE_STEP2, domain_name) log.info("Domain %d suspended.", dominfo.getDomid()) @@ -140,9 +143,14 @@ def save(fd, dominfo, network, live, dst, checkpoint=False): log.exception("Save failed on domain %s (%s).", domain_name, dominfo.getDomid()) - dominfo.resumeDomain() - log.debug("XendCheckpoint.save: resumeDomain") - + # If we didn't get as far as suspending the domain (for + # example, we couldn't balloon enough memory for the new + # domain), then we don't want to re-plumb the devices, as the + # domU will not be expecting it. + if done_suspend: + log.debug("XendCheckpoint.save: resumeDomain") + dominfo.resumeDomain() + try: dominfo.setName(domain_name) except: diff --git a/tools/python/xen/xend/XendConfig.py b/tools/python/xen/xend/XendConfig.py index 3a1419cbdc..8e5d258f02 100644 --- a/tools/python/xen/xend/XendConfig.py +++ b/tools/python/xen/xend/XendConfig.py @@ -124,7 +124,7 @@ XENAPI_CFG_TO_LEGACY_CFG = { LEGACY_CFG_TO_XENAPI_CFG = reverse_dict(XENAPI_CFG_TO_LEGACY_CFG) # Platform configuration keys. -XENAPI_PLATFORM_CFG = [ 'acpi', 'apic', 'boot', 'device_model', 'display', +XENAPI_PLATFORM_CFG = [ 'acpi', 'apic', 'boot', 'device_model', 'loader', 'display', 'fda', 'fdb', 'keymap', 'isa', 'localtime', 'monitor', 'nographic', 'pae', 'rtc_timeoffset', 'serial', 'sdl', 'soundhw','stdvga', 'usb', 'usbdevice', 'vnc', @@ -404,6 +404,17 @@ class XendConfig(dict): self['platform']['device_model'] = xen.util.auxbin.pathTo("qemu-dm") if self.is_hvm(): + if 'loader' not in self['platform']: + log.debug("No loader present") + # Old configs may have hvmloder set as PV_kernel param, + # so lets migrate them.... + if self['PV_kernel'] == "/usr/lib/xen/boot/hvmloader": + self['platform']['loader'] = self['PV_kernel'] + log.debug("Loader copied from kernel %s" % str(self['platform']['loader'])) + else: + self['platform']['loader'] = "/usr/lib/xen/boot/hvmloader" + log.debug("Loader %s" % str(self['platform']['loader'])) + # Compatibility hack, can go away soon. if 'soundhw' not in self['platform'] and \ self['platform'].get('enable_audio'): @@ -503,8 +514,8 @@ class XendConfig(dict): int(sxp.child_value(sxp_cfg, "cpu_cap", 0)) # Only extract options we know about. - extract_keys = LEGACY_UNSUPPORTED_BY_XENAPI_CFG - extract_keys += XENAPI_CFG_TO_LEGACY_CFG.values() + extract_keys = LEGACY_UNSUPPORTED_BY_XENAPI_CFG + \ + XENAPI_CFG_TO_LEGACY_CFG.values() for key in extract_keys: val = sxp.child_value(sxp_cfg, key) diff --git a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py index 96f65287b7..97f51d2383 100644 --- a/tools/python/xen/xend/XendDomainInfo.py +++ b/tools/python/xen/xend/XendDomainInfo.py @@ -481,7 +481,6 @@ class XendDomainInfo: hvm_pvdrv = xc.hvm_get_param(self.domid, HVM_PARAM_CALLBACK_IRQ) if not hvm_pvdrv: code = REVERSE_DOMAIN_SHUTDOWN_REASONS[reason] - xc.domain_destroy_hook(self.domid) log.info("HVM save:remote shutdown dom %d!", self.domid) xc.domain_shutdown(self.domid, code) diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/image.py index 80252345c1..38b090f897 100644 --- a/tools/python/xen/xend/image.py +++ b/tools/python/xen/xend/image.py @@ -127,7 +127,7 @@ class ImageHandler: """ # Set params and call buildDomain(). - if not os.path.isfile(self.kernel): + if self.kernel and not os.path.isfile(self.kernel): raise VmError('Kernel image does not exist: %s' % self.kernel) if self.ramdisk and not os.path.isfile(self.ramdisk): raise VmError('Kernel ramdisk does not exist: %s' % self.ramdisk) @@ -187,6 +187,10 @@ class ImageHandler: def parseDeviceModelArgs(self, vmConfig): ret = ["-domain-name", str(self.vm.info['name_label'])] + # Tell QEMU how large the guest's memory allocation is + # to help it when loading the initrd (if neccessary) + ret += ["-m", str(self.getRequiredInitialReservation() / 1024)] + # Find RFB console device, and if it exists, make QEMU enable # the VNC console. if int(vmConfig['platform'].get('nographic', 0)) != 0: @@ -325,7 +329,7 @@ class ImageHandler: return if self.pid: try: - os.kill(self.pid, signal.SIGTERM) + os.kill(self.pid, signal.SIGHUP) except OSError, exn: log.exception(exn) try: @@ -420,8 +424,7 @@ class HVMImageHandler(ImageHandler): def configure(self, vmConfig): ImageHandler.configure(self, vmConfig) - if not self.kernel: - self.kernel = '/usr/lib/xen/boot/hvmloader' + self.loader = vmConfig['platform'].get('loader') info = xc.xeninfo() if 'hvm' not in info['xen_caps']: @@ -446,6 +449,17 @@ class HVMImageHandler(ImageHandler): ret = ImageHandler.parseDeviceModelArgs(self, vmConfig) ret = ret + ['-vcpus', str(self.vm.getVCpuCount())] + if self.kernel and self.kernel != "/usr/lib/xen/boot/hvmloader": + log.debug("kernel = %s", self.kernel) + ret = ret + ['-kernel', self.kernel] + if self.ramdisk: + log.debug("ramdisk = %s", self.ramdisk) + ret = ret + ['-initrd', self.ramdisk] + if self.cmdline: + log.debug("cmdline = %s", self.cmdline) + ret = ret + ['-append', self.cmdline] + + dmargs = [ 'boot', 'fda', 'fdb', 'soundhw', 'localtime', 'serial', 'stdvga', 'isa', 'acpi', 'usb', 'usbdevice', 'pci' ] @@ -521,7 +535,7 @@ class HVMImageHandler(ImageHandler): mem_mb = self.getRequiredInitialReservation() / 1024 log.debug("domid = %d", self.vm.getDomid()) - log.debug("image = %s", self.kernel) + log.debug("image = %s", self.loader) log.debug("store_evtchn = %d", store_evtchn) log.debug("memsize = %d", mem_mb) log.debug("vcpus = %d", self.vm.getVCpuCount()) @@ -529,7 +543,7 @@ class HVMImageHandler(ImageHandler): log.debug("apic = %d", self.apic) rc = xc.hvm_build(domid = self.vm.getDomid(), - image = self.kernel, + image = self.loader, memsize = mem_mb, vcpus = self.vm.getVCpuCount(), acpi = self.acpi, diff --git a/tools/python/xen/xm/create.py b/tools/python/xen/xm/create.py index 417589b07c..c65afb26d0 100644 --- a/tools/python/xen/xm/create.py +++ b/tools/python/xen/xm/create.py @@ -158,6 +158,10 @@ gopts.var('ramdisk', val='FILE', fn=set_value, default='', use="Path to ramdisk.") +gopts.var('loader', val='FILE', + fn=set_value, default='', + use="Path to HVM firmware.") + gopts.var('features', val='FEATURES', fn=set_value, default='', use="Features to enable in guest kernel") @@ -561,6 +565,8 @@ def configure_image(vals): config_image.append([ 'kernel', os.path.abspath(vals.kernel) ]) if vals.ramdisk: config_image.append([ 'ramdisk', os.path.abspath(vals.ramdisk) ]) + if vals.loader: + config_image.append([ 'loader', os.path.abspath(vals.loader) ]) if vals.cmdline_ip: cmdline_ip = strip('ip=', vals.cmdline_ip) config_image.append(['ip', cmdline_ip]) diff --git a/tools/xenstore/Makefile b/tools/xenstore/Makefile index 3d6700c0b8..bf0ae4ed64 100644 --- a/tools/xenstore/Makefile +++ b/tools/xenstore/Makefile @@ -24,7 +24,7 @@ CLIENTS_OBJS := $(patsubst xenstore-%,xenstore_%.o,$(CLIENTS)) XENSTORED_OBJS = xenstored_core.o xenstored_watch.o xenstored_domain.o xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o XENSTORED_OBJS_$(CONFIG_Linux) = xenstored_linux.o -XENSTORED_OBJS_$(CONFIG_SunOS) = xenstored_solaris.o +XENSTORED_OBJS_$(CONFIG_SunOS) = xenstored_solaris.o xenstored_probes.o XENSTORED_OBJS_$(CONFIG_NetBSD) = xenstored_netbsd.o XENSTORED_OBJS += $(XENSTORED_OBJS_y) @@ -32,6 +32,18 @@ XENSTORED_OBJS += $(XENSTORED_OBJS_y) .PHONY: all all: libxenstore.so libxenstore.a xenstored $(CLIENTS) xs_tdb_dump xenstore-control xenstore-ls +ifeq ($(CONFIG_SunOS),y) +xenstored_probes.h: xenstored_probes.d + dtrace -C -h -s xenstored_probes.d + +xenstored_solaris.o: xenstored_probes.h + +xenstored_probes.o: xenstored_solaris.o + dtrace -C -G -s xenstored_probes.d xenstored_solaris.o + +CFLAGS += -DHAVE_DTRACE=1 +endif + xenstored: $(XENSTORED_OBJS) $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) $(LDFLAGS_libxenctrl) $(SOCKET_LIBS) -o $@ @@ -63,7 +75,7 @@ libxenstore.a: xs.o xs_lib.o .PHONY: clean clean: - rm -f *.a *.o *.opic *.so* + rm -f *.a *.o *.opic *.so* xenstored_probes.h rm -f xenstored xs_random xs_stress xs_crashme rm -f xs_tdb_dump xenstore-control xenstore-ls rm -f $(CLIENTS) diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c index 7f20e30ca0..a643f2d969 100644 --- a/tools/xenstore/xenstored_core.c +++ b/tools/xenstore/xenstored_core.c @@ -154,20 +154,25 @@ void trace(const char *fmt, ...) } static void trace_io(const struct connection *conn, - const char *prefix, - const struct buffered_data *data) + const struct buffered_data *data, + int out) { unsigned int i; time_t now; struct tm *tm; +#ifdef HAVE_DTRACE + dtrace_io(conn, data, out); +#endif + if (tracefd < 0) return; now = time(NULL); tm = localtime(&now); - trace("%s %p %04d%02d%02d %02d:%02d:%02d %s (", prefix, conn, + trace("%s %p %04d%02d%02d %02d:%02d:%02d %s (", + out ? "OUT" : "IN", conn, tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, sockmsg_string(data->hdr.msg.type)); @@ -257,7 +262,7 @@ static bool write_messages(struct connection *conn) if (out->used != out->hdr.msg.len) return true; - trace_io(conn, "OUT", out); + trace_io(conn, out, 1); list_del(&out->list); talloc_free(out); @@ -1316,7 +1321,7 @@ static void handle_input(struct connection *conn) if (in->used != in->hdr.msg.len) return; - trace_io(conn, "IN ", in); + trace_io(conn, in, 0); consider_message(conn); return; diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h index 975a97226f..c487089c2f 100644 --- a/tools/xenstore/xenstored_core.h +++ b/tools/xenstore/xenstored_core.h @@ -160,12 +160,12 @@ struct connection *new_connection(connwritefn_t *write, connreadfn_t *read); /* Is this a valid node name? */ bool is_valid_nodename(const char *node); - /* Tracing infrastructure. */ void trace_create(const void *data, const char *type); void trace_destroy(const void *data, const char *type); void trace_watch_timeout(const struct connection *conn, const char *node, const char *token); void trace(const char *fmt, ...); +void dtrace_io(const struct connection *conn, const struct buffered_data *data, int out); extern int event_fd; diff --git a/tools/xenstore/xenstored_probes.d b/tools/xenstore/xenstored_probes.d new file mode 100644 index 0000000000..f72d38f935 --- /dev/null +++ b/tools/xenstore/xenstored_probes.d @@ -0,0 +1,28 @@ +/* + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + * + * 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, version 2 of the License. + */ + +#include <sys/types.h> + +provider xenstore { + /* tx id, dom id, pid, type, msg */ + probe msg(uint32_t, unsigned int, pid_t, int, const char *); + /* tx id, dom id, pid, type, reply */ + probe reply(uint32_t, unsigned int, pid_t, int, const char *); + /* tx id, dom id, pid, reply */ + probe error(uint32_t, unsigned int, pid_t, const char *); + /* dom id, pid, watch details */ + probe watch_event(unsigned int, pid_t, const char *); +}; + +#pragma D attributes Evolving/Evolving/Common provider xenstore provider +#pragma D attributes Private/Private/Unknown provider xenstore module +#pragma D attributes Private/Private/Unknown provider xenstore function +#pragma D attributes Evolving/Evolving/Common provider xenstore name +#pragma D attributes Evolving/Evolving/Common provider xenstore args + diff --git a/tools/xenstore/xenstored_solaris.c b/tools/xenstore/xenstored_solaris.c index 376a00081b..ef6b51533c 100644 --- a/tools/xenstore/xenstored_solaris.c +++ b/tools/xenstore/xenstored_solaris.c @@ -15,9 +15,15 @@ #include <unistd.h> #include <stdlib.h> #include <sys/mman.h> +#include <strings.h> +#include <ucred.h> +#include <stdio.h> + #include <xen/sys/xenbus.h> +#include "talloc.h" #include "xenstored_core.h" +#include "xenstored_probes.h" evtchn_port_t xenbus_evtchn(void) { @@ -64,3 +70,98 @@ void xenbus_notify_running(void) close(fd); } + +static pid_t cred(const struct connection *conn) +{ + ucred_t *ucred = NULL; + pid_t pid; + + if (conn->domain) + return (0); + + if (getpeerucred(conn->fd, &ucred) == -1) + return (0); + + pid = ucred_getpid(ucred); + + ucred_free(ucred); + return (pid); +} + +/* + * The strings are often a number of nil-separated strings. We'll just + * replace the separators with spaces - not quite right, but good + * enough. + */ +static char * +mangle(const struct connection *conn, const struct buffered_data *in) +{ + char *str; + int i; + + if (in->hdr.msg.len == 0) + return (talloc_strdup(conn, "")); + + if ((str = talloc_zero_size(conn, in->hdr.msg.len + 1)) == NULL) + return (NULL); + + memcpy(str, in->buffer, in->hdr.msg.len); + + /* + * The protocol is absurdly inconsistent in whether the length + * includes the terminating nil or not; replace all nils that + * aren't the last one. + */ + for (i = 0; i < (in->hdr.msg.len - 1); i++) { + if (str[i] == '\0') + str[i] = ' '; + } + + return (str); +} + +void +dtrace_io(const struct connection *conn, const struct buffered_data *in, + int io_out) +{ + if (!io_out) { + if (XENSTORE_MSG_ENABLED()) { + char *mangled = mangle(conn, in); + XENSTORE_MSG(in->hdr.msg.tx_id, conn->id, cred(conn), + in->hdr.msg.type, mangled); + } + + goto out; + } + + switch (in->hdr.msg.type) { + case XS_ERROR: + if (XENSTORE_ERROR_ENABLED()) { + char *mangled = mangle(conn, in); + XENSTORE_ERROR(in->hdr.msg.tx_id, conn->id, + cred(conn), mangled); + } + break; + + case XS_WATCH_EVENT: + if (XENSTORE_WATCH_EVENT_ENABLED()) { + char *mangled = mangle(conn, in); + XENSTORE_WATCH_EVENT(conn->id, cred(conn), mangled); + } + break; + + default: + if (XENSTORE_REPLY_ENABLED()) { + char *mangled = mangle(conn, in); + XENSTORE_REPLY(in->hdr.msg.tx_id, conn->id, cred(conn), + in->hdr.msg.type, mangled); + } + break; + } + +out: + /* + * 6589130 dtrace -G fails for certain tail-calls on x86 + */ + asm("nop"); +} diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index c94f4bd081..d793ae7a2d 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -124,9 +124,6 @@ void hvm_do_resume(struct vcpu *v) { ioreq_t *p; - if ( !v->fpu_dirtied ) - hvm_funcs.stts(v); - pt_restore_timer(v); /* NB. Optimised for common case (p->state == STATE_IOREQ_NONE). */ diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 4634be4648..ff7d5be231 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -426,6 +426,34 @@ static int svm_load_vmcb_ctxt(struct vcpu *v, struct hvm_hw_cpu *ctxt) return 0; } +static void svm_fpu_enter(struct vcpu *v) +{ + struct vmcb_struct *vmcb = v->arch.hvm_svm.vmcb; + + setup_fpu(v); + vmcb->exception_intercepts &= ~(1U << TRAP_no_device); +} + +static void svm_fpu_leave(struct vcpu *v) +{ + struct vmcb_struct *vmcb = v->arch.hvm_svm.vmcb; + + ASSERT(!v->fpu_dirtied); + ASSERT(read_cr0() & X86_CR0_TS); + + /* + * If the guest does not have TS enabled then we must cause and handle an + * exception on first use of the FPU. If the guest *does* have TS enabled + * then this is not necessary: no FPU activity can occur until the guest + * clears CR0.TS, and we will initialise the FPU when that happens. + */ + if ( !(v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS) ) + { + v->arch.hvm_svm.vmcb->exception_intercepts |= 1U << TRAP_no_device; + vmcb->cr0 |= X86_CR0_TS; + } +} + static enum hvm_intblk svm_interrupt_blocked( struct vcpu *v, struct hvm_intack intack) { @@ -470,19 +498,22 @@ static void svm_update_guest_cr(struct vcpu *v, unsigned int cr) switch ( cr ) { - case 0: - /* TS cleared? Then initialise FPU now. */ - if ( (v == current) && !(v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS) && - (vmcb->cr0 & X86_CR0_TS) ) + case 0: { + unsigned long hw_cr0_mask = 0; + + if ( !(v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS) ) { - setup_fpu(v); - vmcb->exception_intercepts &= ~(1U << TRAP_no_device); + if ( v != current ) + hw_cr0_mask |= X86_CR0_TS; + else if ( vmcb->cr0 & X86_CR0_TS ) + svm_fpu_enter(v); } - vmcb->cr0 = v->arch.hvm_vcpu.guest_cr[0]; + vmcb->cr0 = v->arch.hvm_vcpu.guest_cr[0] | hw_cr0_mask; if ( !paging_mode_hap(v->domain) ) vmcb->cr0 |= X86_CR0_PG | X86_CR0_WP; break; + } case 2: vmcb->cr2 = v->arch.hvm_vcpu.guest_cr[2]; break; @@ -664,24 +695,6 @@ static void svm_set_segment_register(struct vcpu *v, enum x86_segment seg, svm_vmload(vmcb); } -/* Make sure that xen intercepts any FP accesses from current */ -static void svm_stts(struct vcpu *v) -{ - struct vmcb_struct *vmcb = v->arch.hvm_svm.vmcb; - - /* - * If the guest does not have TS enabled then we must cause and handle an - * exception on first use of the FPU. If the guest *does* have TS enabled - * then this is not necessary: no FPU activity can occur until the guest - * clears CR0.TS, and we will initialise the FPU when that happens. - */ - if ( !(v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS) ) - { - v->arch.hvm_svm.vmcb->exception_intercepts |= 1U << TRAP_no_device; - vmcb->cr0 |= X86_CR0_TS; - } -} - static void svm_set_tsc_offset(struct vcpu *v, u64 offset) { v->arch.hvm_svm.vmcb->tsc_offset = offset; @@ -711,6 +724,8 @@ static void svm_ctxt_switch_from(struct vcpu *v) { int cpu = smp_processor_id(); + svm_fpu_leave(v); + svm_save_dr(v); svm_sync_vmcb(v); @@ -883,7 +898,6 @@ static struct hvm_function_table svm_function_table = { .update_guest_cr = svm_update_guest_cr, .update_guest_efer = svm_update_guest_efer, .flush_guest_tlbs = svm_flush_guest_tlbs, - .stts = svm_stts, .set_tsc_offset = svm_set_tsc_offset, .inject_exception = svm_inject_exception, .init_hypercall_page = svm_init_hypercall_page, @@ -964,12 +978,11 @@ static void svm_do_nested_pgfault(paddr_t gpa, struct cpu_user_regs *regs) static void svm_do_no_device_fault(struct vmcb_struct *vmcb) { - struct vcpu *v = current; + struct vcpu *curr = current; - setup_fpu(v); - vmcb->exception_intercepts &= ~(1U << TRAP_no_device); + svm_fpu_enter(curr); - if ( !(v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS) ) + if ( !(curr->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS) ) vmcb->cr0 &= ~X86_CR0_TS; } @@ -1647,11 +1660,8 @@ static void svm_cr_access( break; case INSTR_CLTS: - /* TS being cleared means that it's time to restore fpu state. */ - setup_fpu(current); - vmcb->exception_intercepts &= ~(1U << TRAP_no_device); - vmcb->cr0 &= ~X86_CR0_TS; /* clear TS */ - v->arch.hvm_vcpu.guest_cr[0] &= ~X86_CR0_TS; /* clear TS */ + v->arch.hvm_vcpu.guest_cr[0] &= ~X86_CR0_TS; + svm_update_guest_cr(v, 0); HVMTRACE_0D(CLTS, current); break; diff --git a/xen/arch/x86/hvm/svm/vmcb.c b/xen/arch/x86/hvm/svm/vmcb.c index 563e481833..790e8fc800 100644 --- a/xen/arch/x86/hvm/svm/vmcb.c +++ b/xen/arch/x86/hvm/svm/vmcb.c @@ -212,7 +212,7 @@ static int construct_vmcb(struct vcpu *v) vmcb->tr.base = 0; vmcb->tr.limit = 0xff; - v->arch.hvm_vcpu.guest_cr[0] = X86_CR0_PE | X86_CR0_TS; + v->arch.hvm_vcpu.guest_cr[0] = X86_CR0_PE | X86_CR0_ET; hvm_update_guest_cr(v, 0); v->arch.hvm_vcpu.guest_cr[4] = 0; @@ -220,12 +220,13 @@ static int construct_vmcb(struct vcpu *v) paging_update_paging_modes(v); + vmcb->exception_intercepts = HVM_TRAP_MASK | (1U << TRAP_no_device); + if ( paging_mode_hap(v->domain) ) { vmcb->np_enable = 1; /* enable nested paging */ vmcb->g_pat = 0x0007040600070406ULL; /* guest PAT */ vmcb->h_cr3 = pagetable_get_paddr(v->domain->arch.phys_table); - vmcb->exception_intercepts = HVM_TRAP_MASK; /* * No point in intercepting CR3 reads, because the hardware will return @@ -241,7 +242,7 @@ static int construct_vmcb(struct vcpu *v) } else { - vmcb->exception_intercepts = HVM_TRAP_MASK | (1U << TRAP_page_fault); + vmcb->exception_intercepts |= (1U << TRAP_page_fault); } return 0; diff --git a/xen/arch/x86/hvm/vmx/realmode.c b/xen/arch/x86/hvm/vmx/realmode.c index b5952953c4..9c92ec1df5 100644 --- a/xen/arch/x86/hvm/vmx/realmode.c +++ b/xen/arch/x86/hvm/vmx/realmode.c @@ -109,6 +109,13 @@ static void realmode_deliver_exception( csr->base = (uint32_t)csr->sel << 4; regs->eip = (uint16_t)cs_eip; regs->eflags &= ~(X86_EFLAGS_TF | X86_EFLAGS_IF | X86_EFLAGS_RF); + + /* Exception delivery clears STI and MOV-SS blocking. */ + if ( rm_ctxt->intr_shadow & (VMX_INTR_SHADOW_STI|VMX_INTR_SHADOW_MOV_SS) ) + { + rm_ctxt->intr_shadow &= ~(VMX_INTR_SHADOW_STI|VMX_INTR_SHADOW_MOV_SS); + __vmwrite(GUEST_INTERRUPTIBILITY_INFO, rm_ctxt->intr_shadow); + } } static int @@ -410,6 +417,55 @@ realmode_write_cr( return X86EMUL_OKAY; } +static int +realmode_read_msr( + unsigned long reg, + uint64_t *val, + struct x86_emulate_ctxt *ctxt) +{ + struct cpu_user_regs _regs; + + _regs.ecx = (uint32_t)reg; + + if ( !vmx_msr_read_intercept(&_regs) ) + { + struct realmode_emulate_ctxt *rm_ctxt = + container_of(ctxt, struct realmode_emulate_ctxt, ctxt); + rm_ctxt->exn_vector = (uint8_t)__vmread(VM_ENTRY_INTR_INFO); + rm_ctxt->exn_insn_len = 0; + __vmwrite(VM_ENTRY_INTR_INFO, 0); + return X86EMUL_EXCEPTION; + } + + *val = ((uint64_t)(uint32_t)_regs.edx << 32) || (uint32_t)_regs.eax; + return X86EMUL_OKAY; +} + +static int +realmode_write_msr( + unsigned long reg, + uint64_t val, + struct x86_emulate_ctxt *ctxt) +{ + struct cpu_user_regs _regs; + + _regs.edx = (uint32_t)(val >> 32); + _regs.eax = (uint32_t)val; + _regs.ecx = (uint32_t)reg; + + if ( !vmx_msr_write_intercept(&_regs) ) + { + struct realmode_emulate_ctxt *rm_ctxt = + container_of(ctxt, struct realmode_emulate_ctxt, ctxt); + rm_ctxt->exn_vector = (uint8_t)__vmread(VM_ENTRY_INTR_INFO); + rm_ctxt->exn_insn_len = 0; + __vmwrite(VM_ENTRY_INTR_INFO, 0); + return X86EMUL_EXCEPTION; + } + + return X86EMUL_OKAY; +} + static int realmode_write_rflags( unsigned long val, struct x86_emulate_ctxt *ctxt) @@ -495,6 +551,8 @@ static struct x86_emulate_ops realmode_emulator_ops = { .write_io = realmode_write_io, .read_cr = realmode_read_cr, .write_cr = realmode_write_cr, + .read_msr = realmode_read_msr, + .write_msr = realmode_write_msr, .write_rflags = realmode_write_rflags, .wbinvd = realmode_wbinvd, .cpuid = realmode_cpuid, @@ -604,7 +662,7 @@ void vmx_realmode(struct cpu_user_regs *regs) { struct vcpu *curr = current; struct realmode_emulate_ctxt rm_ctxt; - unsigned long intr_info; + unsigned long intr_info = __vmread(VM_ENTRY_INTR_INFO); int i; rm_ctxt.ctxt.regs = regs; @@ -623,7 +681,6 @@ void vmx_realmode(struct cpu_user_regs *regs) curr->arch.hvm_vmx.real_mode_io_completed ) realmode_emulate_one(&rm_ctxt); - intr_info = __vmread(VM_ENTRY_INTR_INFO); if ( intr_info & INTR_INFO_VALID_MASK ) { realmode_deliver_exception((uint8_t)intr_info, 0, &rm_ctxt); diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c index 4ecbccef66..cd0c844887 100644 --- a/xen/arch/x86/hvm/vmx/vmcs.c +++ b/xen/arch/x86/hvm/vmx/vmcs.c @@ -489,7 +489,8 @@ static int construct_vmcs(struct vcpu *v) __vmwrite(HOST_GS_BASE, 0); /* Host control registers. */ - __vmwrite(HOST_CR0, read_cr0() | X86_CR0_TS); + v->arch.hvm_vmx.host_cr0 = read_cr0() | X86_CR0_TS; + __vmwrite(HOST_CR0, v->arch.hvm_vmx.host_cr0); __vmwrite(HOST_CR4, mmu_cr4_features); /* Host CS:RIP. */ @@ -569,7 +570,9 @@ static int construct_vmcs(struct vcpu *v) __vmwrite(VMCS_LINK_POINTER_HIGH, ~0UL); #endif - __vmwrite(EXCEPTION_BITMAP, HVM_TRAP_MASK | (1U << TRAP_page_fault)); + __vmwrite(EXCEPTION_BITMAP, (HVM_TRAP_MASK | + (1U << TRAP_page_fault) | + (1U << TRAP_no_device))); v->arch.hvm_vcpu.guest_cr[0] = X86_CR0_PE | X86_CR0_ET; hvm_update_guest_cr(v, 0); diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index 7994af937d..11d8550eca 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -740,8 +740,42 @@ static int vmx_load_vmcs_ctxt(struct vcpu *v, struct hvm_hw_cpu *ctxt) return 0; } +static void vmx_fpu_enter(struct vcpu *v) +{ + setup_fpu(v); + __vm_clear_bit(EXCEPTION_BITMAP, TRAP_no_device); + v->arch.hvm_vmx.host_cr0 &= ~X86_CR0_TS; + __vmwrite(HOST_CR0, v->arch.hvm_vmx.host_cr0); +} + +static void vmx_fpu_leave(struct vcpu *v) +{ + ASSERT(!v->fpu_dirtied); + ASSERT(read_cr0() & X86_CR0_TS); + + if ( !(v->arch.hvm_vmx.host_cr0 & X86_CR0_TS) ) + { + v->arch.hvm_vmx.host_cr0 |= X86_CR0_TS; + __vmwrite(HOST_CR0, v->arch.hvm_vmx.host_cr0); + } + + /* + * If the guest does not have TS enabled then we must cause and handle an + * exception on first use of the FPU. If the guest *does* have TS enabled + * then this is not necessary: no FPU activity can occur until the guest + * clears CR0.TS, and we will initialise the FPU when that happens. + */ + if ( !(v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS) ) + { + v->arch.hvm_vcpu.hw_cr[0] |= X86_CR0_TS; + __vmwrite(GUEST_CR0, v->arch.hvm_vcpu.hw_cr[0]); + __vm_set_bit(EXCEPTION_BITMAP, TRAP_no_device); + } +} + static void vmx_ctxt_switch_from(struct vcpu *v) { + vmx_fpu_leave(v); vmx_save_guest_msrs(v); vmx_restore_host_msrs(); vmx_save_dr(v); @@ -944,26 +978,6 @@ static void vmx_set_segment_register(struct vcpu *v, enum x86_segment seg, vmx_vmcs_exit(v); } -/* Make sure that xen intercepts any FP accesses from current */ -static void vmx_stts(struct vcpu *v) -{ - /* VMX depends on operating on the current vcpu */ - ASSERT(v == current); - - /* - * If the guest does not have TS enabled then we must cause and handle an - * exception on first use of the FPU. If the guest *does* have TS enabled - * then this is not necessary: no FPU activity can occur until the guest - * clears CR0.TS, and we will initialise the FPU when that happens. - */ - if ( !(v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS) ) - { - v->arch.hvm_vcpu.hw_cr[0] |= X86_CR0_TS; - __vmwrite(GUEST_CR0, v->arch.hvm_vcpu.hw_cr[0]); - __vm_set_bit(EXCEPTION_BITMAP, TRAP_no_device); - } -} - static void vmx_set_tsc_offset(struct vcpu *v, u64 offset) { vmx_vmcs_enter(v); @@ -1035,21 +1049,24 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr) switch ( cr ) { - case 0: - /* TS cleared? Then initialise FPU now. */ - if ( (v == current) && !(v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS) && - (v->arch.hvm_vcpu.hw_cr[0] & X86_CR0_TS) ) + case 0: { + unsigned long hw_cr0_mask = + X86_CR0_NE | X86_CR0_PG | X86_CR0_WP | X86_CR0_PE; + + if ( !(v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS) ) { - setup_fpu(v); - __vm_clear_bit(EXCEPTION_BITMAP, TRAP_no_device); + if ( v != current ) + hw_cr0_mask |= X86_CR0_TS; + else if ( v->arch.hvm_vcpu.hw_cr[0] & X86_CR0_TS ) + vmx_fpu_enter(v); } v->arch.hvm_vcpu.hw_cr[0] = - v->arch.hvm_vcpu.guest_cr[0] | - X86_CR0_NE | X86_CR0_PG | X86_CR0_WP | X86_CR0_PE; + v->arch.hvm_vcpu.guest_cr[0] | hw_cr0_mask; __vmwrite(GUEST_CR0, v->arch.hvm_vcpu.hw_cr[0]); __vmwrite(CR0_READ_SHADOW, v->arch.hvm_vcpu.guest_cr[0]); break; + } case 2: /* CR2 is updated in exit stub. */ break; @@ -1146,7 +1163,6 @@ static struct hvm_function_table vmx_function_table = { .update_guest_cr = vmx_update_guest_cr, .update_guest_efer = vmx_update_guest_efer, .flush_guest_tlbs = vmx_flush_guest_tlbs, - .stts = vmx_stts, .set_tsc_offset = vmx_set_tsc_offset, .inject_exception = vmx_inject_exception, .init_hypercall_page = vmx_init_hypercall_page, @@ -1227,16 +1243,15 @@ static void __update_guest_eip(unsigned long inst_len) void vmx_do_no_device_fault(void) { - struct vcpu *v = current; + struct vcpu *curr = current; - setup_fpu(current); - __vm_clear_bit(EXCEPTION_BITMAP, TRAP_no_device); + vmx_fpu_enter(curr); /* Disable TS in guest CR0 unless the guest wants the exception too. */ - if ( !(v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS) ) + if ( !(curr->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS) ) { - v->arch.hvm_vcpu.hw_cr[0] &= ~X86_CR0_TS; - __vmwrite(GUEST_CR0, v->arch.hvm_vcpu.hw_cr[0]); + curr->arch.hvm_vcpu.hw_cr[0] &= ~X86_CR0_TS; + __vmwrite(GUEST_CR0, curr->arch.hvm_vcpu.hw_cr[0]); } } @@ -2215,15 +2230,8 @@ static int vmx_cr_access(unsigned long exit_qualification, mov_from_cr(cr, gp, regs); break; case TYPE_CLTS: - /* We initialise the FPU now, to avoid needing another vmexit. */ - setup_fpu(v); - __vm_clear_bit(EXCEPTION_BITMAP, TRAP_no_device); - - v->arch.hvm_vcpu.hw_cr[0] &= ~X86_CR0_TS; /* clear TS */ - __vmwrite(GUEST_CR0, v->arch.hvm_vcpu.hw_cr[0]); - - v->arch.hvm_vcpu.guest_cr[0] &= ~X86_CR0_TS; /* clear TS */ - __vmwrite(CR0_READ_SHADOW, v->arch.hvm_vcpu.guest_cr[0]); + v->arch.hvm_vcpu.guest_cr[0] &= ~X86_CR0_TS; + vmx_update_guest_cr(v, 0); HVMTRACE_0D(CLTS, current); break; case TYPE_LMSW: @@ -2315,7 +2323,7 @@ static int is_last_branch_msr(u32 ecx) return 0; } -static int vmx_do_msr_read(struct cpu_user_regs *regs) +int vmx_msr_read_intercept(struct cpu_user_regs *regs) { u64 msr_content = 0; u32 ecx = regs->ecx, eax, edx; @@ -2507,7 +2515,7 @@ extern bool_t mtrr_fix_range_msr_set(struct mtrr_state *v, extern bool_t mtrr_def_type_msr_set(struct mtrr_state *v, u64 msr_content); extern bool_t pat_msr_set(u64 *pat, u64 msr); -static int vmx_do_msr_write(struct cpu_user_regs *regs) +int vmx_msr_write_intercept(struct cpu_user_regs *regs) { u32 ecx = regs->ecx; u64 msr_content; @@ -2949,12 +2957,12 @@ asmlinkage void vmx_vmexit_handler(struct cpu_user_regs *regs) break; case EXIT_REASON_MSR_READ: inst_len = __get_instruction_length(); /* Safe: RDMSR */ - if ( vmx_do_msr_read(regs) ) + if ( vmx_msr_read_intercept(regs) ) __update_guest_eip(inst_len); break; case EXIT_REASON_MSR_WRITE: inst_len = __get_instruction_length(); /* Safe: WRMSR */ - if ( vmx_do_msr_write(regs) ) + if ( vmx_msr_write_intercept(regs) ) __update_guest_eip(inst_len); break; diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c index 6a8d5e1a15..f12a97fbde 100644 --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -2588,19 +2588,15 @@ sh_map_and_validate_gl1e(struct vcpu *v, mfn_t gl1mfn, * easier. */ /* Look to see if this is the second emulated write in a row to this - * page, and unshadow/unhook if it is */ + * page, and unshadow if it is */ static inline void check_for_early_unshadow(struct vcpu *v, mfn_t gmfn) { #if SHADOW_OPTIMIZATIONS & SHOPT_EARLY_UNSHADOW if ( v->arch.paging.shadow.last_emulated_mfn == mfn_x(gmfn) && sh_mfn_is_a_page_table(gmfn) ) { - u32 flags = mfn_to_page(gmfn)->shadow_flags; - if ( !(flags & (SHF_L2_32|SHF_L2_PAE|SHF_L2H_PAE|SHF_L4_64)) ) - { - perfc_incr(shadow_early_unshadow); - sh_remove_shadows(v, gmfn, 1, 0 /* Fast, can fail to unshadow */ ); - } + perfc_incr(shadow_early_unshadow); + sh_remove_shadows(v, gmfn, 1, 0 /* Fast, can fail to unshadow */ ); } v->arch.paging.shadow.last_emulated_mfn = mfn_x(gmfn); #endif @@ -3487,12 +3483,6 @@ sh_set_toplevel_shadow(struct vcpu *v, } ASSERT(mfn_valid(smfn)); -#if SHADOW_OPTIMIZATIONS & SHOPT_EARLY_UNSHADOW - /* Once again OK to unhook entries from this table if we see fork/exit */ - ASSERT(sh_mfn_is_a_page_table(gmfn)); - mfn_to_page(gmfn)->shadow_flags &= ~SHF_unhooked_mappings; -#endif - /* Pin the shadow and put it (back) on the list of pinned shadows */ if ( sh_pin(v, smfn) == 0 ) { @@ -4076,7 +4066,7 @@ static void *emulate_map_dest(struct vcpu *v, sh_ctxt->mfn2 = emulate_gva_to_mfn(v, (vaddr + bytes - 1) & PAGE_MASK, sh_ctxt); if ( !mfn_valid(sh_ctxt->mfn2) ) - return ((mfn_x(sh_ctxt->mfn1) == BAD_GVA_TO_GFN) ? + return ((mfn_x(sh_ctxt->mfn2) == BAD_GVA_TO_GFN) ? MAPPING_EXCEPTION : MAPPING_UNHANDLEABLE); /* Cross-page writes mean probably not a pagetable */ diff --git a/xen/arch/x86/mm/shadow/private.h b/xen/arch/x86/mm/shadow/private.h index 72a41d9a74..82d1e9e9b8 100644 --- a/xen/arch/x86/mm/shadow/private.h +++ b/xen/arch/x86/mm/shadow/private.h @@ -334,9 +334,6 @@ static inline int sh_type_is_pinnable(struct vcpu *v, unsigned int t) #define SHF_PAE (SHF_L1_PAE|SHF_FL1_PAE|SHF_L2_PAE|SHF_L2H_PAE) #define SHF_64 (SHF_L1_64|SHF_FL1_64|SHF_L2_64|SHF_L2H_64|SHF_L3_64|SHF_L4_64) -/* Used for hysteresis when automatically unhooking mappings on fork/exit */ -#define SHF_unhooked_mappings (1u<<31) - /****************************************************************************** * Various function declarations diff --git a/xen/arch/x86/oprofile/nmi_int.c b/xen/arch/x86/oprofile/nmi_int.c index 7fb72eb718..999a63be4c 100644 --- a/xen/arch/x86/oprofile/nmi_int.c +++ b/xen/arch/x86/oprofile/nmi_int.c @@ -291,13 +291,15 @@ static int __init p4_init(char ** cpu_type) } +extern int ppro_has_global_ctrl; static int __init ppro_init(char ** cpu_type) { __u8 cpu_model = current_cpu_data.x86_model; - if (cpu_model == 15 || cpu_model == 23) + if (cpu_model == 15 || cpu_model == 23) { *cpu_type = "i386/core_2"; - else if (cpu_model == 14) + ppro_has_global_ctrl = 1; + } else if (cpu_model == 14) *cpu_type = "i386/core"; else if (cpu_model > 13) { printk("xenoprof: Initialization failed. " diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 7ac4bb2c32..09217029a1 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -823,6 +823,15 @@ asmlinkage void do_machine_check(struct cpu_user_regs *regs) machine_check_vector(regs, regs->error_code); } +static void reserved_bit_page_fault( + unsigned long addr, struct cpu_user_regs *regs) +{ + printk("d%d:v%d: reserved bit in page table (ec=%04X)\n", + current->domain->domain_id, current->vcpu_id, regs->error_code); + show_page_walk(addr); + show_execution_state(regs); +} + void propagate_page_fault(unsigned long addr, u16 error_code) { struct trap_info *ti; @@ -848,10 +857,13 @@ void propagate_page_fault(unsigned long addr, u16 error_code) tb->flags |= TBF_INTERRUPT; if ( unlikely(null_trap_bounce(v, tb)) ) { - printk("Unhandled page fault in domain %d on VCPU %d (ec=%04X)\n", + printk("d%d:v%d: unhandled page fault (ec=%04X)\n", v->domain->domain_id, v->vcpu_id, error_code); show_page_walk(addr); } + + if ( unlikely(error_code & PFEC_reserved_bit) ) + reserved_bit_page_fault(addr, guest_cpu_user_regs()); } static int handle_gdt_ldt_mapping_fault( @@ -1047,7 +1059,8 @@ static int fixup_page_fault(unsigned long addr, struct cpu_user_regs *regs) trace_trap_two_addr(TRC_PV_PAGING_FIXUP, regs->eip, addr); return ret; } - if ( (addr >= GDT_LDT_VIRT_START) && (addr < GDT_LDT_VIRT_END) ) + if ( !(regs->error_code & PFEC_reserved_bit) && + (addr >= GDT_LDT_VIRT_START) && (addr < GDT_LDT_VIRT_END) ) return handle_gdt_ldt_mapping_fault( addr - GDT_LDT_VIRT_START, regs); return 0; @@ -1057,7 +1070,8 @@ static int fixup_page_fault(unsigned long addr, struct cpu_user_regs *regs) guest_kernel_mode(v, regs) && /* Do not check if access-protection fault since the page may legitimately be not present in shadow page tables */ - ((regs->error_code & PFEC_write_access) == PFEC_write_access) && + ((regs->error_code & (PFEC_write_access|PFEC_reserved_bit)) == + PFEC_write_access) && ptwr_do_page_fault(v, addr, regs) ) return EXCRET_fault_fixed; @@ -1101,6 +1115,8 @@ asmlinkage void do_page_fault(struct cpu_user_regs *regs) if ( likely((fixup = search_exception_table(regs->eip)) != 0) ) { perfc_incr(copy_user_faults); + if ( unlikely(regs->error_code & PFEC_reserved_bit) ) + reserved_bit_page_fault(addr, regs); regs->eip = fixup; return; } diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h index 28f0d3df24..d04691ead6 100644 --- a/xen/include/asm-x86/hvm/hvm.h +++ b/xen/include/asm-x86/hvm/hvm.h @@ -105,12 +105,6 @@ struct hvm_function_table { */ void (*flush_guest_tlbs)(void); - /* - * Update specifics of the guest state: - * 1) TS bit in guest cr0 - * 2) TSC offset in guest - */ - void (*stts)(struct vcpu *v); void (*set_tsc_offset)(struct vcpu *v, u64 offset); void (*inject_exception)(unsigned int trapnr, int errcode, diff --git a/xen/include/asm-x86/hvm/vmx/cpu.h b/xen/include/asm-x86/hvm/vmx/cpu.h index c988b13343..decd01e829 100644 --- a/xen/include/asm-x86/hvm/vmx/cpu.h +++ b/xen/include/asm-x86/hvm/vmx/cpu.h @@ -19,19 +19,6 @@ #ifndef __ASM_X86_HVM_VMX_CPU_H__ #define __ASM_X86_HVM_VMX_CPU_H__ -/* - * Virtual CPU - */ -struct arch_state_struct { - unsigned long mode_flags; /* vm86, 32-bit, 64-bit, etc. */ - /* debug registers */ - /* MSRs */ -}; - -#define VMX_MF_VM86 0 -#define VMX_MF_32 1 -#define VMX_MF_64 2 - #define NUM_CORES_RESET_MASK 0x00003FFF #define NUM_THREADS_RESET_MASK 0xFF00FFFF diff --git a/xen/include/asm-x86/hvm/vmx/vmcs.h b/xen/include/asm-x86/hvm/vmx/vmcs.h index 2b92b30446..7f8080739c 100644 --- a/xen/include/asm-x86/hvm/vmx/vmcs.h +++ b/xen/include/asm-x86/hvm/vmx/vmcs.h @@ -92,6 +92,8 @@ struct arch_vmx_struct { unsigned int host_msr_count; struct vmx_msr_entry *host_msr_area; + unsigned long host_cr0; + #ifdef VMXASSIST unsigned long vmxassist_enabled:1; unsigned long irqbase_mode:1; diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h index ec03e75d9c..f15975a097 100644 --- a/xen/include/asm-x86/hvm/vmx/vmx.h +++ b/xen/include/asm-x86/hvm/vmx/vmx.h @@ -37,6 +37,8 @@ void vmx_do_no_device_fault(void); void vmx_cpuid_intercept( unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx); +int vmx_msr_read_intercept(struct cpu_user_regs *regs); +int vmx_msr_write_intercept(struct cpu_user_regs *regs); void vmx_wbinvd_intercept(void); void vmx_realmode(struct cpu_user_regs *regs); int vmx_realmode_io_complete(void); |